From gmaruzz at freeswitch.org Sun Feb 1 00:36:43 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 02:36:43 -0600 Subject: [Freeswitch-svn] [commit] r11585 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 1 02:36:43 2009 New Revision: 11585 Log: skypiax: FS: give back NORMAL_TEMPORARY_FAILURE when trying to originate a call using a non-idle channel Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Sun Feb 1 02:36:43 2009 @@ -500,6 +500,10 @@ (strncmp (globals.SKYPIAX_INTERFACES[i].name, interface_name, strlen(interface_name)) == 0)) { + if (strlen(globals.SKYPIAX_INTERFACES[i].session_uuid_str)){ + DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s||| session_uuid_str=|||%s||| is BUSY\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name, globals.SKYPIAX_INTERFACES[i].session_uuid_str); + return SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE ; + } DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name); From gmaruzz at freeswitch.org Sun Feb 1 00:54:26 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 02:54:26 -0600 Subject: [Freeswitch-svn] [commit] r11586 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 1 02:54:26 2009 New Revision: 11586 Log: skypiax: FS: added a clearing of session_uuid_string on channel_on_hangup, just to be sure Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Sun Feb 1 02:54:26 2009 @@ -175,6 +175,7 @@ switch_core_codec_destroy(&tech_pvt->write_codec); } + memset(tech_pvt->session_uuid_str, '\0', sizeof(tech_pvt->session_uuid_str)); DEBUGA_SKYPE("%s CHANNEL HANGUP\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); switch_mutex_lock(globals.mutex); globals.calls--; From gmaruzz at freeswitch.org Sun Feb 1 02:01:04 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 04:01:04 -0600 Subject: [Freeswitch-svn] [commit] r11587 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 1 04:01:04 2009 New Revision: 11587 Log: skypiax: FS: oooops, added a session_destroy when giving back NORMAL_TEMPORARY_FAILURE when trying to originate a call using a non-idle channel Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Sun Feb 1 04:01:04 2009 @@ -503,6 +503,7 @@ strlen(interface_name)) == 0)) { if (strlen(globals.SKYPIAX_INTERFACES[i].session_uuid_str)){ DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s||| session_uuid_str=|||%s||| is BUSY\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name, globals.SKYPIAX_INTERFACES[i].session_uuid_str); + switch_core_session_destroy(new_session); return SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE ; } From gmaruzz at freeswitch.org Sun Feb 1 02:37:51 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 04:37:51 -0600 Subject: [Freeswitch-svn] [commit] r11588 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Sun Feb 1 04:37:51 2009 New Revision: 11588 Log: skypiax: incoming audio works on asterisk. Only one interface, no configuration Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c Sun Feb 1 04:37:51 2009 @@ -481,6 +481,9 @@ } #endif /* WIN32 */ +/* the pipe is the audio fd for asterisk to poll on during a call */ + tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; + if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } From brian at freeswitch.org Sun Feb 1 13:59:50 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 15:59:50 -0600 Subject: [Freeswitch-svn] [commit] r11589 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: brian Date: Sun Feb 1 15:59:50 2009 New Revision: 11589 Log: make sure sip->sip_request->rq_url->url_user exists before you strncmp on it. Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Sun Feb 1 15:59:50 2009 @@ -103,7 +103,7 @@ */ if (profile->manage_shared_appearance) { - if (!strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { + if (sip->sip_request->rq_url->url_user && !strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { int sub_state; tl_gets(tags, NUTAG_SUBSTATE_REF(sub_state), TAG_END()); From gmaruzz at freeswitch.org Sun Feb 1 15:43:35 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 17:43:35 -0600 Subject: [Freeswitch-svn] [commit] r11590 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Sun Feb 1 17:43:35 2009 New Revision: 11590 Log: skypiax: now multichannel on *, at least on linux. Need tests Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile Sun Feb 1 17:43:35 2009 @@ -21,7 +21,7 @@ #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_160/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_12/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include -AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include +AST_INCLUDE_DIR=/home/user/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include #ASTERISK CFLAGS+=-DASTERISK Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Sun Feb 1 17:43:35 2009 @@ -1278,6 +1278,9 @@ M_STR("context", tmp->context) M_STR("language", tmp->language) M_STR("extension", tmp->exten) + M_STR("X11_display", tmp->X11_display) + M_UINT("tcp_cli_port", tmp->tcp_cli_port) + M_UINT("tcp_srv_port", tmp->tcp_srv_port) M_F("playback_boost", skypiax_store_boost(v->value, &tmp->playback_boost)) M_F("capture_boost", skypiax_store_boost(v->value, &tmp->capture_boost)) M_UINT("skypiax_dir_entry_extension_prefix", @@ -1388,29 +1391,6 @@ DEBUGA_SOUND("playback_boost is %f\n", SKYPIAX_TMP_LOG, tmp->playback_boost); DEBUGA_SOUND("capture_boost is %f\n", SKYPIAX_TMP_LOG, tmp->capture_boost); } - /* if skype is true for this interface, let's check if another interface has skype true */ - if (tmp->skype) { - struct skypiax_pvt *p = NULL, *p2 = NULL; - /* lock the skypiax_iflock, maybe unneeded */ - LOKKA(&skypiax_iflock); - p = skypiax_iflist; - /* for each pvt in the interfaces list (skypiax_iflist) */ - while (p) { - p2 = p->next; - /* if another interface has skype true */ - if (p->skype) { - ERRORA - ("This interface (category '[%s]') has 'skype=yes' in config, but up in skypiax.conf config file the interface category '[%s]' has yet 'skype=yes'. Only one interface at time can support skype. I'm sure, I wrote it ;). Setting 'skype=no' for interface category '[%s] and continuing\n", - SKYPIAX_P_LOG, tmp->name, p->name, tmp->name); - /* set this interface's skype to false */ - tmp->skype = 0; - } - /* next interface, please */ - p = p2; - } - /* unlock the skypiax_iflock */ - UNLOCKA(&skypiax_iflock); - } /* initialize the soundcard channels (input and output) used by this interface (a multichannel soundcard can be used by multiple interfaces), optionally starting the sound managing threads */ res = skypiax_sound_init(tmp); if (res == -1) { From gmaruzz at freeswitch.org Sun Feb 1 16:59:20 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 01 Feb 2009 18:59:20 -0600 Subject: [Freeswitch-svn] [commit] r11591 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Sun Feb 1 18:59:20 2009 New Revision: 11591 Log: skypiax: on *, incoming and outbound calls, multichannel. Concurrent calls work. Audio only on the first call for each channel. Probably because the audio threads with the skype client are not killed when call is ended, etc etc. Anyway, it is working as a proof of concept. Now is too late, let's leave something for tomorrow night ;-) Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Sun Feb 1 18:59:20 2009 @@ -684,6 +684,7 @@ DEBUGA_PBX("skypiax_call dialing idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG, idest, timeout, dstr); + strcpy(p->session_uuid_str, "dialing"); status = skypiax_skype_call(p, dstr, timeout); if (status) { WARNINGA("skypiax_call dialing failed: %d!\n", SKYPIAX_P_LOG, status); @@ -2203,6 +2204,11 @@ switch_core_session_rwunlock(session); #endif + + if (p->owner) { + ast_queue_control(p->owner, AST_CONTROL_ANSWER); + } + NOTICA("HERE!\n", SKYPIAX_P_LOG); return 0; Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf Sun Feb 1 18:59:20 2009 @@ -50,6 +50,62 @@ ;debug_monitorlocks=yes skype=yes ; legacy setting, leave it to yes +X11_display=:101 +tcp_cli_port=11234 +tcp_srv_port=11235 +;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;; +; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels +; tweak it if you get horrible (or not hearable) sound +; +;boost can be positive or negative (-40 to +40) in db +;experiment to find which values are best for your computer +playback_boost=0 ; +capture_boost=0 ; + +[skypeclient2] +;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;; +; general settings, valid on all platforms +; +; +; Default language +; +language=en +; +; Default context (in extensions.conf, can be overridden with @context syntax) +; +context=default +; +; Default extension (in extensions.conf) where incoming calls land +; +extension=s +; +;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;; +; Debugging settings, valid globally for all interfaces on all platforms +; +; the debug values are global for all the interfaces. +; +; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax +; +; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch +; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages +; +; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all +; debug_all activate all possible debugging info +; +;debug_all=yes +debug_skype=yes +debug_pbx=yes +;debug_sound=yes +;debug_locks=yes +;debug_monitorlocks=yes + +skype=yes ; legacy setting, leave it to yes +X11_display=:102 +tcp_cli_port=11236 +tcp_srv_port=11237 ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels From brian at freeswitch.org Sun Feb 1 23:27:04 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 01:27:04 -0600 Subject: [Freeswitch-svn] [commit] r11592 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: brian Date: Mon Feb 2 01:27:04 2009 New Revision: 11592 Log: segfault if these are empty... found this playing with the Cisco 7975 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Mon Feb 2 01:27:04 2009 @@ -1517,7 +1517,7 @@ /* the following could be refactored back to the calling event handler in sofia.c XXX MTK */ if (profile->manage_shared_appearance) { - if (!strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { + if (sip->sip_request->rq_url->url_user && !strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { /* only fire this on <200 to try to avoid resubscribes. probably better ways to do this? */ if (status < 200) { sofia_sla_handle_sip_i_subscribe(nua, contact_str, profile, nh, sip, tags); @@ -1837,7 +1837,7 @@ /* the following could instead be refactored back to the calling event handler in sofia.c XXX MTK */ if (profile->manage_shared_appearance) { /* also it probably is unsafe to dereference so many things in a row without testing XXX MTK */ - if (!strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { + if (sip->sip_request->rq_url->url_user && !strncmp(sip->sip_request->rq_url->url_user, "sla-agent", sizeof("sla-agent"))) { sofia_sla_handle_sip_i_publish(nua, profile, nh, sip, tags); return; } From mikej at freeswitch.org Mon Feb 2 08:14:45 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 10:14:45 -0600 Subject: [Freeswitch-svn] [commit] r11593 - freeswitch/trunk/libs/libg722_1/src/generated Message-ID: Author: mikej Date: Mon Feb 2 10:14:45 2009 New Revision: 11593 Log: fixing windows build 1/2 Added: freeswitch/trunk/libs/libg722_1/src/generated/ freeswitch/trunk/libs/libg722_1/src/generated/dct4.h freeswitch/trunk/libs/libg722_1/src/generated/g722_1.h Added: freeswitch/trunk/libs/libg722_1/src/generated/dct4.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/libg722_1/src/generated/dct4.h Mon Feb 2 10:14:45 2009 @@ -0,0 +1,1515 @@ +static const float max_dct_core_a[] = +{ + 5.572937315437795e-02f, + 5.435713103213160e-02f, + 5.164643594289910e-02f, + 4.766403419605858e-02f, + 4.250798573945089e-02f, + 3.630524959802148e-02f, + 2.920855772127337e-02f, + 2.139265421578210e-02f, + 1.304999256534943e-02f, + 4.385996787515619e-03f, + 5.435713103213160e-02f, + 4.250798573945089e-02f, + 2.139265421578210e-02f, + -4.385996787515612e-03f, + -2.920855772127336e-02f, + -4.766403419605858e-02f, + -5.572937315437795e-02f, + -5.164643594289911e-02f, + -3.630524959802151e-02f, + -1.304999256534941e-02f, + 5.164643594289910e-02f, + 2.139265421578210e-02f, + -2.139265421578209e-02f, + -5.164643594289910e-02f, + -5.164643594289911e-02f, + -2.139265421578213e-02f, + 2.139265421578211e-02f, + 5.164643594289909e-02f, + 5.164643594289910e-02f, + 2.139265421578213e-02f, + 4.766403419605858e-02f, + -4.385996787515612e-03f, + -5.164643594289910e-02f, + -4.250798573945090e-02f, + 1.304999256534939e-02f, + 5.435713103213161e-02f, + 3.630524959802152e-02f, + -2.139265421578210e-02f, + -5.572937315437795e-02f, + -2.920855772127336e-02f, + 4.250798573945089e-02f, + -2.920855772127336e-02f, + -5.164643594289911e-02f, + 1.304999256534939e-02f, + 5.572937315437795e-02f, + 4.385996787515657e-03f, + -5.435713103213161e-02f, + -2.139265421578214e-02f, + 4.766403419605858e-02f, + 3.630524959802153e-02f, + 3.630524959802148e-02f, + -4.766403419605858e-02f, + -2.139265421578213e-02f, + 5.435713103213161e-02f, + 4.385996787515657e-03f, + -5.572937315437795e-02f, + 1.304999256534937e-02f, + 5.164643594289910e-02f, + -2.920855772127332e-02f, + -4.250798573945090e-02f, + 2.920855772127337e-02f, + -5.572937315437795e-02f, + 2.139265421578211e-02f, + 3.630524959802152e-02f, + -5.435713103213161e-02f, + 1.304999256534937e-02f, + 4.250798573945089e-02f, + -5.164643594289908e-02f, + 4.385996787515504e-03f, + 4.766403419605861e-02f, + 2.139265421578210e-02f, + -5.164643594289911e-02f, + 5.164643594289909e-02f, + -2.139265421578210e-02f, + -2.139265421578214e-02f, + 5.164643594289910e-02f, + -5.164643594289908e-02f, + 2.139265421578208e-02f, + 2.139265421578216e-02f, + -5.164643594289915e-02f, + 1.304999256534943e-02f, + -3.630524959802151e-02f, + 5.164643594289910e-02f, + -5.572937315437795e-02f, + 4.766403419605858e-02f, + -2.920855772127332e-02f, + 4.385996787515504e-03f, + 2.139265421578216e-02f, + -4.250798573945092e-02f, + 5.435713103213160e-02f, + 4.385996787515619e-03f, + -1.304999256534941e-02f, + 2.139265421578213e-02f, + -2.920855772127336e-02f, + 3.630524959802153e-02f, + -4.250798573945090e-02f, + 4.766403419605861e-02f, + -5.164643594289915e-02f, + 5.435713103213160e-02f, + -5.572937315437796e-02f +}; + +static const float dct_core_a[] = +{ + 7.881323533747238e-02f, + 7.687259191733195e-02f, + 7.303909015868119e-02f, + 6.740712359748102e-02f, + 6.011536994189358e-02f, + 5.134337636686234e-02f, + 4.130713846678219e-02f, + 3.025378172711701e-02f, + 1.845547647478522e-02f, + 6.202736141429415e-03f, + 7.687259191733195e-02f, + 6.011536994189358e-02f, + 3.025378172711701e-02f, + -6.202736141429404e-03f, + -4.130713846678218e-02f, + -6.740712359748102e-02f, + -7.881323533747238e-02f, + -7.303909015868121e-02f, + -5.134337636686238e-02f, + -1.845547647478519e-02f, + 7.303909015868119e-02f, + 3.025378172711701e-02f, + -3.025378172711701e-02f, + -7.303909015868119e-02f, + -7.303909015868121e-02f, + -3.025378172711705e-02f, + 3.025378172711703e-02f, + 7.303909015868118e-02f, + 7.303909015868119e-02f, + 3.025378172711706e-02f, + 6.740712359748102e-02f, + -6.202736141429404e-03f, + -7.303909015868119e-02f, + -6.011536994189359e-02f, + 1.845547647478516e-02f, + 7.687259191733196e-02f, + 5.134337636686239e-02f, + -3.025378172711702e-02f, + -7.881323533747238e-02f, + -4.130713846678218e-02f, + 6.011536994189358e-02f, + -4.130713846678218e-02f, + -7.303909015868121e-02f, + 1.845547647478516e-02f, + 7.881323533747238e-02f, + 6.202736141429469e-03f, + -7.687259191733196e-02f, + -3.025378172711707e-02f, + 6.740712359748102e-02f, + 5.134337636686240e-02f, + 5.134337636686234e-02f, + -6.740712359748102e-02f, + -3.025378172711705e-02f, + 7.687259191733196e-02f, + 6.202736141429469e-03f, + -7.881323533747238e-02f, + 1.845547647478515e-02f, + 7.303909015868119e-02f, + -4.130713846678212e-02f, + -6.011536994189359e-02f, + 4.130713846678219e-02f, + -7.881323533747238e-02f, + 3.025378172711703e-02f, + 5.134337636686239e-02f, + -7.687259191733196e-02f, + 1.845547647478515e-02f, + 6.011536994189358e-02f, + -7.303909015868118e-02f, + 6.202736141429252e-03f, + 6.740712359748108e-02f, + 3.025378172711701e-02f, + -7.303909015868121e-02f, + 7.303909015868118e-02f, + -3.025378172711702e-02f, + -3.025378172711707e-02f, + 7.303909015868119e-02f, + -7.303909015868118e-02f, + 3.025378172711699e-02f, + 3.025378172711710e-02f, + -7.303909015868128e-02f, + 1.845547647478522e-02f, + -5.134337636686238e-02f, + 7.303909015868119e-02f, + -7.881323533747238e-02f, + 6.740712359748102e-02f, + -4.130713846678212e-02f, + 6.202736141429252e-03f, + 3.025378172711710e-02f, + -6.011536994189360e-02f, + 7.687259191733195e-02f, + 6.202736141429415e-03f, + -1.845547647478519e-02f, + 3.025378172711706e-02f, + -4.130713846678218e-02f, + 5.134337636686240e-02f, + -6.011536994189359e-02f, + 6.740712359748108e-02f, + -7.303909015868128e-02f, + 7.687259191733195e-02f, + -7.881323533747239e-02f +}; + +static const cos_msin_t cos_msin_5[5] = +{ + {9.969173337331280e-01f, -7.845909572784494e-02f}, + {9.723699203976766e-01f, -2.334453638559054e-01f}, + {9.238795325112867e-01f, -3.826834323650898e-01f}, + {8.526401643540922e-01f, -5.224985647159488e-01f}, + {7.604059656000309e-01f, -6.494480483301837e-01f} +}; + +static const cos_msin_t cos_msin_10[10] = +{ + {9.992290362407229e-01f, -3.925981575906861e-02f}, + {9.930684569549263e-01f, -1.175373974578376e-01f}, + {9.807852804032304e-01f, -1.950903220161282e-01f}, + {9.624552364536473e-01f, -2.714404498650743e-01f}, + {9.381913359224842e-01f, -3.461170570774930e-01f}, + {9.081431738250813e-01f, -4.186597375374281e-01f}, + {8.724960070727972e-01f, -4.886212414969549e-01f}, + {8.314696123025452e-01f, -5.555702330196022e-01f}, + {7.853169308807449e-01f, -6.190939493098340e-01f}, + {7.343225094356856e-01f, -6.788007455329417e-01f} +}; + +static const cos_msin_t cos_msin_20[20] = +{ + {9.998072404820648e-01f, -1.963369246062830e-02f}, + {9.982656101847159e-01f, -5.887080365118903e-02f}, + {9.951847266721969e-01f, -9.801714032956060e-02f}, + {9.905693404435773e-01f, -1.370123416819680e-01f}, + {9.844265680898916e-01f, -1.757962799343545e-01f}, + {9.767658813208724e-01f, -2.143091530650507e-01f}, + {9.675990923602598e-01f, -2.524915770151580e-01f}, + {9.569403357322088e-01f, -2.902846772544623e-01f}, + {9.448060464668780e-01f, -3.276301795616935e-01f}, + {9.312149347588036e-01f, -3.644704998791496e-01f}, + {9.161879571171360e-01f, -4.007488331031410e-01f}, + {8.997482840522215e-01f, -4.364092406733421e-01f}, + {8.819212643483550e-01f, -4.713967368259976e-01f}, + {8.627343859777918e-01f, -5.056573733779846e-01f}, + {8.422172337162865e-01f, -5.391383229110002e-01f}, + {8.204014435255136e-01f, -5.717879602276122e-01f}, + {7.973206537727071e-01f, -6.035559419535714e-01f}, + {7.730104533627370e-01f, -6.343932841636455e-01f}, + {7.475083268625968e-01f, -6.642524379112817e-01f}, + {7.208535967029188e-01f, -6.930873625456359e-01f} +}; + +static const cos_msin_t cos_msin_40[40] = +{ + {9.999518089593280e-01f, -9.817319337149617e-03f}, + {9.995663085020212e-01f, -2.944817324796316e-02f}, + {9.987954562051724e-01f, -4.906767432741801e-02f}, + {9.976395492470157e-01f, -6.866825888437376e-02f}, + {9.960990332516871e-01f, -8.824237052036951e-02f}, + {9.941745021174282e-01f, -1.077824630427593e-01f}, + {9.918666977876260e-01f, -1.272810033739132e-01f}, + {9.891765099647810e-01f, -1.467304744553617e-01f}, + {9.861049757675088e-01f, -1.661233781457655e-01f}, + {9.826532793307118e-01f, -1.854522381115909e-01f}, + {9.788227513490724e-01f, -2.047096027093796e-01f}, + {9.746148685640450e-01f, -2.238880478584984e-01f}, + {9.700312531945440e-01f, -2.429801799032639e-01f}, + {9.650736723115474e-01f, -2.619786384633375e-01f}, + {9.597440371568574e-01f, -2.808760992712921e-01f}, + {9.540444024062804e-01f, -2.996652769962566e-01f}, + {9.479769653775104e-01f, -3.183389280525497e-01f}, + {9.415440651830208e-01f, -3.368898533922201e-01f}, + {9.347481818282924e-01f, -3.553109012804161e-01f}, + {9.275919352557240e-01f, -3.735949700525164e-01f}, + {9.200780843345949e-01f, -3.917350108519559e-01f}, + {9.122095257974677e-01f, -4.097240303476953e-01f}, + {9.039892931234433e-01f, -4.275550934302821e-01f}, + {8.954205553686970e-01f, -4.452213258854682e-01f}, + {8.865066159447464e-01f, -4.627159170443501e-01f}, + {8.772509113449243e-01f, -4.800321224090111e-01f}, + {8.676570098195440e-01f, -4.971632662526544e-01f}, + {8.577286100002721e-01f, -5.141027441932217e-01f}, + {8.474695394742344e-01f, -5.308440257395095e-01f}, + {8.368837533084094e-01f, -5.473806568087964e-01f}, + {8.259753325248732e-01f, -5.637062622150167e-01f}, + {8.147484825274894e-01f, -5.798145481265136e-01f}, + {8.032075314806449e-01f, -5.956993044924334e-01f}, + {7.913569286406602e-01f, -6.113544074368165e-01f}, + {7.792012426405167e-01f, -6.267738216194696e-01f}, + {7.667451597285615e-01f, -6.419516025627030e-01f}, + {7.539934819618694e-01f, -6.568818989430414e-01f}, + {7.409511253549591e-01f, -6.715589548470183e-01f}, + {7.276231179845748e-01f, -6.859771119901928e-01f}, + {7.140145980512683e-01f, -7.001308118985236e-01f} +}; + +static const cos_msin_t cos_msin_80[80] = +{ + {9.999879521672569e-01f, -4.908718807997990e-03f}, + {9.998915712471080e-01f, -1.472568331145852e-02f}, + {9.996988186962042e-01f, -2.454122852291229e-02f}, + {9.994097130924373e-01f, -3.435440839968228e-02f}, + {9.990242823004072e-01f, -4.416427712706736e-02f}, + {9.985425634687357e-01f, -5.396988920950188e-02f}, + {9.979646030264866e-01f, -6.377029956168449e-02f}, + {9.972904566786902e-01f, -7.356456359966743e-02f}, + {9.965201894009746e-01f, -8.335173733189745e-02f}, + {9.956538754333033e-01f, -9.313087745019979e-02f}, + {9.946915982728195e-01f, -1.029010414206961e-01f}, + {9.936334506657989e-01f, -1.126612875746478e-01f}, + {9.924795345987100e-01f, -1.224106751992162e-01f}, + {9.912299612883853e-01f, -1.321482646281301e-01f}, + {9.898848511713010e-01f, -1.418731173322532e-01f}, + {9.884443338919700e-01f, -1.515842960100411e-01f}, + {9.869085482904458e-01f, -1.612808646778805e-01f}, + {9.852776423889412e-01f, -1.709618887603012e-01f}, + {9.835517733775615e-01f, -1.806264351800528e-01f}, + {9.817311075991542e-01f, -1.902735724480359e-01f}, + {9.798158205332763e-01f, -1.999023707530817e-01f}, + {9.778060967792817e-01f, -2.095119020515688e-01f}, + {9.757021300385286e-01f, -2.191012401568698e-01f}, + {9.735041230957107e-01f, -2.286694608286194e-01f}, + {9.712122877993118e-01f, -2.382156418617946e-01f}, + {9.688268450411880e-01f, -2.477388631755984e-01f}, + {9.663480247352773e-01f, -2.572382069021397e-01f}, + {9.637760657954398e-01f, -2.667127574748984e-01f}, + {9.611112161124317e-01f, -2.761616017169707e-01f}, + {9.583537325300114e-01f, -2.855838289290823e-01f}, + {9.555038808201862e-01f, -2.949785309773635e-01f}, + {9.525619356575953e-01f, -3.043448023808773e-01f}, + {9.495281805930367e-01f, -3.136817403988915e-01f}, + {9.464029080261377e-01f, -3.229884451178863e-01f}, + {9.431864191771733e-01f, -3.322640195382908e-01f}, + {9.398790240580331e-01f, -3.415075696609363e-01f}, + {9.364810414423427e-01f, -3.507182045732232e-01f}, + {9.329927988347390e-01f, -3.598950365349881e-01f}, + {9.294146324393044e-01f, -3.690371810640665e-01f}, + {9.257468871271640e-01f, -3.781437570215405e-01f}, + {9.219899164032445e-01f, -3.872138866966656e-01f}, + {9.181440823722039e-01f, -3.962466958914656e-01f}, + {9.142097557035307e-01f, -4.052413140049899e-01f}, + {9.101873155958178e-01f, -4.141968741172237e-01f}, + {9.060771497402148e-01f, -4.231125130726441e-01f}, + {9.018796542830616e-01f, -4.319873715634118e-01f}, + {8.975952337877069e-01f, -4.408205942121939e-01f}, + {8.932243011955153e-01f, -4.496113296546065e-01f}, + {8.887672777860675e-01f, -4.583587306212713e-01f}, + {8.842245931365562e-01f, -4.670619540194765e-01f}, + {8.795966850803829e-01f, -4.757201610144369e-01f}, + {8.748839996649583e-01f, -4.843325171101412e-01f}, + {8.700869911087115e-01f, -4.928981922297840e-01f}, + {8.652061217573113e-01f, -5.014163607957690e-01f}, + {8.602418620391045e-01f, -5.098862018092806e-01f}, + {8.551946904197751e-01f, -5.183068989294132e-01f}, + {8.500650933562288e-01f, -5.266776405518521e-01f}, + {8.448535652497071e-01f, -5.349976198870972e-01f}, + {8.395606083981356e-01f, -5.432660350382236e-01f}, + {8.341867329477124e-01f, -5.514820890781694e-01f}, + {8.287324568437381e-01f, -5.596449901265460e-01f}, + {8.231983057806959e-01f, -5.677539514259605e-01f}, + {8.175848131515837e-01f, -5.758081914178453e-01f}, + {8.118925199965048e-01f, -5.838069338177863e-01f}, + {8.061219749505210e-01f, -5.917494076903429e-01f}, + {8.002737341907743e-01f, -5.996348475233523e-01f}, + {7.943483613828813e-01f, -6.074624933017110e-01f}, + {7.883464276266063e-01f, -6.152315905806268e-01f}, + {7.822685114008164e-01f, -6.229413905583340e-01f}, + {7.761151985077279e-01f, -6.305911501482637e-01f}, + {7.698870820164444e-01f, -6.381801320506653e-01f}, + {7.635847622057965e-01f, -6.457076048236672e-01f}, + {7.572088465064846e-01f, -6.531728429537768e-01f}, + {7.507599494425343e-01f, -6.605751269258050e-01f}, + {7.442386925720670e-01f, -6.679137432922161e-01f}, + {7.376457044273930e-01f, -6.751879847418903e-01f}, + {7.309816204544317e-01f, -6.823971501682968e-01f}, + {7.242470829514670e-01f, -6.895405447370668e-01f}, + {7.174427410072399e-01f, -6.966174799529642e-01f}, + {7.105692504383896e-01f, -7.036272737262429e-01f} +}; + +static const cos_msin_t cos_msin_160[160] = +{ + {9.999969880372782e-01f, -2.454366796460292e-03f}, + {9.999728924443673e-01f, -7.363041249779567e-03f}, + {9.999247018391445e-01f, -1.227153828571993e-02f}, + {9.998524173827948e-01f, -1.717973963077875e-02f}, + {9.997560408170603e-01f, -2.208752701857829e-02f}, + {9.996355744641984e-01f, -2.699478219271537e-02f}, + {9.994910212269259e-01f, -3.190138690961086e-02f}, + {9.993223845883495e-01f, -3.680722294135883e-02f}, + {9.991296686118811e-01f, -4.171217207857533e-02f}, + {9.989128779411404e-01f, -4.661611613324671e-02f}, + {9.986720177998429e-01f, -5.151893694157748e-02f}, + {9.984070939916740e-01f, -5.642051636683749e-02f}, + {9.981181129001492e-01f, -6.132073630220858e-02f}, + {9.978050814884601e-01f, -6.621947867363034e-02f}, + {9.974680072993071e-01f, -7.111662544264533e-02f}, + {9.971068984547168e-01f, -7.601205860924312e-02f}, + {9.967217636558474e-01f, -8.090566021470375e-02f}, + {9.963126121827780e-01f, -8.579731234443989e-02f}, + {9.958794538942858e-01f, -9.068689713083816e-02f}, + {9.954222992276077e-01f, -9.557429675609919e-02f}, + {9.949411591981900e-01f, -1.004593934550765e-01f}, + {9.944360453994218e-01f, -1.053420695181141e-01f}, + {9.939069700023561e-01f, -1.102222072938831e-01f}, + {9.933539457554167e-01f, -1.150996891922159e-01f}, + {9.927769859840909e-01f, -1.199743976869403e-01f}, + {9.921761045906085e-01f, -1.248462153187112e-01f}, + {9.915513160536062e-01f, -1.297150246978405e-01f}, + {9.909026354277800e-01f, -1.345807085071262e-01f}, + {9.902300783435211e-01f, -1.394431495046788e-01f}, + {9.895336610065398e-01f, -1.443022305267465e-01f}, + {9.888134001974757e-01f, -1.491578344905386e-01f}, + {9.880693132714919e-01f, -1.540098443970461e-01f}, + {9.873014181578584e-01f, -1.588581433338614e-01f}, + {9.865097333595187e-01f, -1.637026144779952e-01f}, + {9.856942779526452e-01f, -1.685431410986913e-01f}, + {9.848550715861784e-01f, -1.733796065602395e-01f}, + {9.839921344813541e-01f, -1.782118943247859e-01f}, + {9.831054874312163e-01f, -1.830398879551410e-01f}, + {9.821951518001156e-01f, -1.878634711175852e-01f}, + {9.812611495231950e-01f, -1.926825275846723e-01f}, + {9.803035031058607e-01f, -1.974969412380297e-01f}, + {9.793222356232406e-01f, -2.023065960711564e-01f}, + {9.783173707196277e-01f, -2.071113761922186e-01f}, + {9.772889326079104e-01f, -2.119111658268416e-01f}, + {9.762369460689896e-01f, -2.167058493209000e-01f}, + {9.751614364511810e-01f, -2.214953111433043e-01f}, + {9.740624296696047e-01f, -2.262794358887845e-01f}, + {9.729399522055602e-01f, -2.310581082806711e-01f}, + {9.717940311058891e-01f, -2.358312131736727e-01f}, + {9.706246939823230e-01f, -2.405986355566504e-01f}, + {9.694319690108180e-01f, -2.453602605553894e-01f}, + {9.682158849308760e-01f, -2.501159734353663e-01f}, + {9.669764710448521e-01f, -2.548656596045146e-01f}, + {9.657137572172489e-01f, -2.596092046159851e-01f}, + {9.644277738739964e-01f, -2.643464941709040e-01f}, + {9.631185520017188e-01f, -2.690774141211269e-01f}, + {9.617861231469886e-01f, -2.738018504719892e-01f}, + {9.604305194155658e-01f, -2.785196893850531e-01f}, + {9.590517734716243e-01f, -2.832308171808502e-01f}, + {9.576499185369652e-01f, -2.879351203416211e-01f}, + {9.562249883902162e-01f, -2.926324855140505e-01f}, + {9.547770173660172e-01f, -2.973227995119985e-01f}, + {9.533060403541939e-01f, -3.020059493192281e-01f}, + {9.518120927989161e-01f, -3.066818220921279e-01f}, + {9.502952106978444e-01f, -3.113503051624320e-01f}, + {9.487554306012626e-01f, -3.160112860399338e-01f}, + {9.471927896111967e-01f, -3.206646524151973e-01f}, + {9.456073253805213e-01f, -3.253102921622629e-01f}, + {9.439990761120522e-01f, -3.299480933413494e-01f}, + {9.423680805576258e-01f, -3.345779442015508e-01f}, + {9.407143780171653e-01f, -3.391997331835298e-01f}, + {9.390380083377340e-01f, -3.438133489222048e-01f}, + {9.373390119125750e-01f, -3.484186802494346e-01f}, + {9.356174296801376e-01f, -3.530156161966958e-01f}, + {9.338733031230915e-01f, -3.576040459977578e-01f}, + {9.321066742673269e-01f, -3.621838590913509e-01f}, + {9.303175856809415e-01f, -3.667549451238308e-01f}, + {9.285060804732156e-01f, -3.713171939518375e-01f}, + {9.266722022935726e-01f, -3.758704956449495e-01f}, + {9.248159953305278e-01f, -3.804147404883323e-01f}, + {9.229375043106232e-01f, -3.849498189853822e-01f}, + {9.210367744973499e-01f, -3.894756218603648e-01f}, + {9.191138516900578e-01f, -3.939920400610481e-01f}, + {9.171687822228516e-01f, -3.984989647613298e-01f}, + {9.152016129634744e-01f, -4.029962873638600e-01f}, + {9.132123913121788e-01f, -4.074838995026576e-01f}, + {9.112011652005843e-01f, -4.119616930457218e-01f}, + {9.091679830905224e-01f, -4.164295600976372e-01f}, + {9.071128939728691e-01f, -4.208873930021739e-01f}, + {9.050359473663644e-01f, -4.253350843448814e-01f}, + {9.029371933164189e-01f, -4.297725269556770e-01f}, + {9.008166823939081e-01f, -4.341996139114278e-01f}, + {8.986744656939538e-01f, -4.386162385385277e-01f}, + {8.965105948346932e-01f, -4.430222944154668e-01f}, + {8.943251219560346e-01f, -4.474176753753967e-01f}, + {8.921180997184014e-01f, -4.518022755086881e-01f}, + {8.898895813014630e-01f, -4.561759891654830e-01f}, + {8.876396204028539e-01f, -4.605387109582400e-01f}, + {8.853682712368793e-01f, -4.648903357642744e-01f}, + {8.830755885332088e-01f, -4.692307587282903e-01f}, + {8.807616275355579e-01f, -4.735598752649081e-01f}, + {8.784264440003567e-01f, -4.778775810611837e-01f}, + {8.760700941954066e-01f, -4.821837720791227e-01f}, + {8.736926348985243e-01f, -4.864783445581868e-01f}, + {8.712941233961736e-01f, -4.907611950177941e-01f}, + {8.688746174820854e-01f, -4.950322202598127e-01f}, + {8.664341754558650e-01f, -4.992913173710469e-01f}, + {8.639728561215868e-01f, -5.035383837257176e-01f}, + {8.614907187863783e-01f, -5.077733169879345e-01f}, + {8.589878232589904e-01f, -5.119960151141624e-01f}, + {8.564642298483565e-01f, -5.162063763556797e-01f}, + {8.539199993621391e-01f, -5.204042992610306e-01f}, + {8.513551931052652e-01f, -5.245896826784689e-01f}, + {8.487698728784481e-01f, -5.287624257583958e-01f}, + {8.461641009766995e-01f, -5.329224279557898e-01f}, + {8.435379401878270e-01f, -5.370695890326298e-01f}, + {8.408914537909229e-01f, -5.412038090603096e-01f}, + {8.382247055548381e-01f, -5.453249884220465e-01f}, + {8.355377597366458e-01f, -5.494330278152808e-01f}, + {8.328306810800937e-01f, -5.535278282540700e-01f}, + {8.301035348140438e-01f, -5.576092910714722e-01f}, + {8.273563866508998e-01f, -5.616773179219247e-01f}, + {8.245893027850253e-01f, -5.657318107836131e-01f}, + {8.218023498911473e-01f, -5.697726719608341e-01f}, + {8.189955951227504e-01f, -5.737998040863485e-01f}, + {8.161691061104588e-01f, -5.778131101237274e-01f}, + {8.133229509604062e-01f, -5.818124933696910e-01f}, + {8.104571982525948e-01f, -5.857978574564389e-01f}, + {8.075719170392435e-01f, -5.897691063539708e-01f}, + {8.046671768431229e-01f, -5.937261443724019e-01f}, + {8.017430476558816e-01f, -5.976688761642677e-01f}, + {7.987995999363579e-01f, -6.015972067268220e-01f}, + {7.958369046088836e-01f, -6.055110414043255e-01f}, + {7.928550330615741e-01f, -6.094102858903271e-01f}, + {7.898540571446090e-01f, -6.132948462299359e-01f}, + {7.868340491684999e-01f, -6.171646288220856e-01f}, + {7.837950819023488e-01f, -6.210195404217892e-01f}, + {7.807372285720945e-01f, -6.248594881423863e-01f}, + {7.776605628587479e-01f, -6.286843794577813e-01f}, + {7.745651588966166e-01f, -6.324941222046724e-01f}, + {7.714510912715192e-01f, -6.362886245847729e-01f}, + {7.683184350189877e-01f, -6.400677951670226e-01f}, + {7.651672656224590e-01f, -6.438315428897914e-01f}, + {7.619976590114568e-01f, -6.475797770630733e-01f}, + {7.588096915597616e-01f, -6.513124073706714e-01f}, + {7.556034400835709e-01f, -6.550293438723744e-01f}, + {7.523789818396478e-01f, -6.587304970061237e-01f}, + {7.491363945234594e-01f, -6.624157775901718e-01f}, + {7.458757562673048e-01f, -6.660850968252301e-01f}, + {7.425971456384329e-01f, -6.697383662966099e-01f}, + {7.393006416371488e-01f, -6.733754979763520e-01f}, + {7.359863236949099e-01f, -6.769964042253483e-01f}, + {7.326542716724128e-01f, -6.806009977954530e-01f}, + {7.293045658576685e-01f, -6.841891918315852e-01f}, + {7.259372869640676e-01f, -6.877608998738217e-01f}, + {7.225525161284360e-01f, -6.913160358594803e-01f}, + {7.191503349090794e-01f, -6.948545141251936e-01f}, + {7.157308252838186e-01f, -6.983762494089729e-01f}, + {7.122940696480137e-01f, -7.018811568522627e-01f}, + {7.088401508125785e-01f, -7.053691520019861e-01f} +}; + +static const cos_msin_t cos_msin_320[320] = +{ + {9.999992470090361e-01f, -1.227184322288852e-03f}, + {9.999932230881285e-01f, -3.681545574399692e-03f}, + {9.999811752826011e-01f, -6.135884649154475e-03f}, + {9.999631036650289e-01f, -8.590186761797602e-03f}, + {9.999390083442741e-01f, -1.104443712779613e-02f}, + {9.999088894654848e-01f, -1.349862096292883e-02f}, + {9.998727472100952e-01f, -1.595272348337527e-02f}, + {9.998305817958234e-01f, -1.840672990580482e-02f}, + {9.997823934766707e-01f, -2.086062544746576e-02f}, + {9.997281825429201e-01f, -2.331439532627430e-02f}, + {9.996679493211340e-01f, -2.576802476090363e-02f}, + {9.996016941741530e-01f, -2.822149897087298e-02f}, + {9.995294175010931e-01f, -3.067480317663663e-02f}, + {9.994511197373437e-01f, -3.312792259967294e-02f}, + {9.993668013545645e-01f, -3.558084246257342e-02f}, + {9.992764628606833e-01f, -3.803354798913168e-02f}, + {9.991801047998923e-01f, -4.048602440443251e-02f}, + {9.990777277526454e-01f, -4.293825693494082e-02f}, + {9.989693323356542e-01f, -4.539023080859068e-02f}, + {9.988549192018848e-01f, -4.784193125487429e-02f}, + {9.987344890405533e-01f, -5.029334350493095e-02f}, + {9.986080425771219e-01f, -5.274445279163603e-02f}, + {9.984755805732948e-01f, -5.519524434968993e-02f}, + {9.983371038270131e-01f, -5.764570341570704e-02f}, + {9.981926131724506e-01f, -6.009581522830464e-02f}, + {9.980421094800079e-01f, -6.254556502819182e-02f}, + {9.978855936563085e-01f, -6.499493805825848e-02f}, + {9.977230666441916e-01f, -6.744391956366405e-02f}, + {9.975545294227081e-01f, -6.989249479192657e-02f}, + {9.973799830071135e-01f, -7.234064899301137e-02f}, + {9.971994284488623e-01f, -7.478836741942015e-02f}, + {9.970128668356021e-01f, -7.723563532627951e-02f}, + {9.968202992911657e-01f, -7.968243797143013e-02f}, + {9.966217269755658e-01f, -8.212876061551522e-02f}, + {9.964171510849874e-01f, -8.457458852206962e-02f}, + {9.962065728517802e-01f, -8.701990695760831e-02f}, + {9.959899935444517e-01f, -8.946470119171543e-02f}, + {9.957674144676598e-01f, -9.190895649713272e-02f}, + {9.955388369622040e-01f, -9.435265814984850e-02f}, + {9.953042624050182e-01f, -9.679579142918618e-02f}, + {9.950636922091622e-01f, -9.923834161789306e-02f}, + {9.948171278238128e-01f, -1.016802940022289e-01f}, + {9.945645707342554e-01f, -1.041216338720546e-01f}, + {9.943060224618753e-01f, -1.065623465209208e-01f}, + {9.940414845641478e-01f, -1.090024172461564e-01f}, + {9.937709586346295e-01f, -1.114418313489574e-01f}, + {9.934944463029486e-01f, -1.138805741344751e-01f}, + {9.932119492347945e-01f, -1.163186309119048e-01f}, + {9.929234691319088e-01f, -1.187559869945741e-01f}, + {9.926290077320739e-01f, -1.211926277000318e-01f}, + {9.923285668091033e-01f, -1.236285383501360e-01f}, + {9.920221481728309e-01f, -1.260637042711424e-01f}, + {9.917097536690995e-01f, -1.284981107937932e-01f}, + {9.913913851797506e-01f, -1.309317432534049e-01f}, + {9.910670446226119e-01f, -1.333645869899571e-01f}, + {9.907367339514870e-01f, -1.357966273481804e-01f}, + {9.904004551561425e-01f, -1.382278496776452e-01f}, + {9.900582102622971e-01f, -1.406582393328492e-01f}, + {9.897100013316084e-01f, -1.430877816733065e-01f}, + {9.893558304616609e-01f, -1.455164620636352e-01f}, + {9.889956997859536e-01f, -1.479442658736455e-01f}, + {9.886296114738869e-01f, -1.503711784784285e-01f}, + {9.882575677307495e-01f, -1.527971852584434e-01f}, + {9.878795707977051e-01f, -1.552222715996064e-01f}, + {9.874956229517791e-01f, -1.576464228933781e-01f}, + {9.871057265058446e-01f, -1.600696245368518e-01f}, + {9.867098838086088e-01f, -1.624918619328416e-01f}, + {9.863080972445987e-01f, -1.649131204899699e-01f}, + {9.859003692341464e-01f, -1.673333856227558e-01f}, + {9.854867022333751e-01f, -1.697526427517024e-01f}, + {9.850670987341841e-01f, -1.721708773033852e-01f}, + {9.846415612642334e-01f, -1.745880747105397e-01f}, + {9.842100923869290e-01f, -1.770042204121487e-01f}, + {9.837726947014075e-01f, -1.794192998535309e-01f}, + {9.833293708425197e-01f, -1.818332984864276e-01f}, + {9.828801234808157e-01f, -1.842462017690910e-01f}, + {9.824249553225278e-01f, -1.866579951663718e-01f}, + {9.819638691095552e-01f, -1.890686641498062e-01f}, + {9.814968676194470e-01f, -1.914781941977041e-01f}, + {9.810239536653852e-01f, -1.938865707952361e-01f}, + {9.805451300961683e-01f, -1.962937794345212e-01f}, + {9.800603997961936e-01f, -1.986998056147138e-01f}, + {9.795697656854405e-01f, -2.011046348420919e-01f}, + {9.790732307194523e-01f, -2.035082526301433e-01f}, + {9.785707978893183e-01f, -2.059106444996538e-01f}, + {9.780624702216568e-01f, -2.083117959787937e-01f}, + {9.775482507785956e-01f, -2.107116926032057e-01f}, + {9.770281426577544e-01f, -2.131103199160914e-01f}, + {9.765021489922255e-01f, -2.155076634682986e-01f}, + {9.759702729505557e-01f, -2.179037088184086e-01f}, + {9.754325177367266e-01f, -2.202984415328229e-01f}, + {9.748888865901355e-01f, -2.226918471858500e-01f}, + {9.743393827855759e-01f, -2.250839113597928e-01f}, + {9.737840096332177e-01f, -2.274746196450351e-01f}, + {9.732227704785874e-01f, -2.298639576401283e-01f}, + {9.726556687025479e-01f, -2.322519109518786e-01f}, + {9.720827077212779e-01f, -2.346384651954331e-01f}, + {9.715038909862518e-01f, -2.370236059943672e-01f}, + {9.709192219842182e-01f, -2.394073189807704e-01f}, + {9.703287042371799e-01f, -2.417895897953334e-01f}, + {9.697323413023714e-01f, -2.441704040874346e-01f}, + {9.691301367722388e-01f, -2.465497475152259e-01f}, + {9.685220942744174e-01f, -2.489276057457201e-01f}, + {9.679082174717095e-01f, -2.513039644548766e-01f}, + {9.672885100620635e-01f, -2.536788093276874e-01f}, + {9.666629757785506e-01f, -2.560521260582643e-01f}, + {9.660316183893426e-01f, -2.584239003499241e-01f}, + {9.653944416976894e-01f, -2.607941179152755e-01f}, + {9.647514495418958e-01f, -2.631627644763044e-01f}, + {9.641026457952987e-01f, -2.655298257644607e-01f}, + {9.634480343662435e-01f, -2.678952875207434e-01f}, + {9.627876191980606e-01f, -2.702591354957875e-01f}, + {9.621214042690416e-01f, -2.726213554499490e-01f}, + {9.614493935924158e-01f, -2.749819331533909e-01f}, + {9.607715912163253e-01f, -2.773408543861692e-01f}, + {9.600880012238011e-01f, -2.796981049383182e-01f}, + {9.593986277327383e-01f, -2.820536706099365e-01f}, + {9.587034748958716e-01f, -2.844075372112719e-01f}, + {9.580025469007496e-01f, -2.867596905628075e-01f}, + {9.572958479697103e-01f, -2.891101164953470e-01f}, + {9.565833823598556e-01f, -2.914588008500998e-01f}, + {9.558651543630251e-01f, -2.938057294787664e-01f}, + {9.551411683057708e-01f, -2.961508882436238e-01f}, + {9.544114285493304e-01f, -2.984942630176104e-01f}, + {9.536759394896021e-01f, -3.008358396844112e-01f}, + {9.529347055571170e-01f, -3.031756041385431e-01f}, + {9.521877312170133e-01f, -3.055135422854393e-01f}, + {9.514350209690083e-01f, -3.078496400415349e-01f}, + {9.506765793473728e-01f, -3.101838833343510e-01f}, + {9.499124109209025e-01f, -3.125162581025802e-01f}, + {9.491425202928909e-01f, -3.148467502961706e-01f}, + {9.483669121011018e-01f, -3.171753458764112e-01f}, + {9.475855910177411e-01f, -3.195020308160157e-01f}, + {9.467985617494289e-01f, -3.218267910992075e-01f}, + {9.460058290371707e-01f, -3.241496127218040e-01f}, + {9.452073976563291e-01f, -3.264704816913009e-01f}, + {9.444032724165956e-01f, -3.287893840269567e-01f}, + {9.435934581619604e-01f, -3.311063057598764e-01f}, + {9.427779597706842e-01f, -3.334212329330963e-01f}, + {9.419567821552687e-01f, -3.357341516016679e-01f}, + {9.411299302624264e-01f, -3.380450478327413e-01f}, + {9.402974090730516e-01f, -3.403539077056500e-01f}, + {9.394592236021899e-01f, -3.426607173119944e-01f}, + {9.386153788990080e-01f, -3.449654627557252e-01f}, + {9.377658800467635e-01f, -3.472681301532278e-01f}, + {9.369107321627741e-01f, -3.495687056334055e-01f}, + {9.360499403983871e-01f, -3.518671753377630e-01f}, + {9.351835099389476e-01f, -3.541635254204903e-01f}, + {9.343114460037683e-01f, -3.564577420485457e-01f}, + {9.334337538460973e-01f, -3.587498114017393e-01f}, + {9.325504387530866e-01f, -3.610397196728160e-01f}, + {9.316615060457607e-01f, -3.633274530675394e-01f}, + {9.307669610789837e-01f, -3.656129978047739e-01f}, + {9.298668092414279e-01f, -3.678963401165684e-01f}, + {9.289610559555410e-01f, -3.701774662482391e-01f}, + {9.280497066775131e-01f, -3.724563624584523e-01f}, + {9.271327668972442e-01f, -3.747330150193071e-01f}, + {9.262102421383114e-01f, -3.770074102164183e-01f}, + {9.252821379579349e-01f, -3.792795343489985e-01f}, + {9.243484599469451e-01f, -3.815493737299417e-01f}, + {9.234092137297489e-01f, -3.838169146859046e-01f}, + {9.224644049642953e-01f, -3.860821435573893e-01f}, + {9.215140393420420e-01f, -3.883450466988262e-01f}, + {9.205581225879205e-01f, -3.906056104786556e-01f}, + {9.195966604603021e-01f, -3.928638212794095e-01f}, + {9.186296587509630e-01f, -3.951196654977946e-01f}, + {9.176571232850496e-01f, -3.973731295447735e-01f}, + {9.166790599210427e-01f, -3.996241998456468e-01f}, + {9.156954745507232e-01f, -4.018728628401348e-01f}, + {9.147063730991362e-01f, -4.041191049824593e-01f}, + {9.137117615245548e-01f, -4.063629127414251e-01f}, + {9.127116458184452e-01f, -4.086042726005015e-01f}, + {9.117060320054299e-01f, -4.108431710579039e-01f}, + {9.106949261432513e-01f, -4.130795946266749e-01f}, + {9.096783343227359e-01f, -4.153135298347656e-01f}, + {9.086562626677570e-01f, -4.175449632251170e-01f}, + {9.076287173351980e-01f, -4.197738813557405e-01f}, + {9.065957045149153e-01f, -4.220002707997997e-01f}, + {9.055572304297014e-01f, -4.242241181456904e-01f}, + {9.045133013352465e-01f, -4.264454099971220e-01f}, + {9.034639235201017e-01f, -4.286641329731982e-01f}, + {9.024091033056408e-01f, -4.308802737084970e-01f}, + {9.013488470460220e-01f, -4.330938188531520e-01f}, + {9.002831611281501e-01f, -4.353047550729321e-01f}, + {8.992120519716374e-01f, -4.375130690493225e-01f}, + {8.981355260287659e-01f, -4.397187474796043e-01f}, + {8.970535897844474e-01f, -4.419217770769352e-01f}, + {8.959662497561852e-01f, -4.441221445704292e-01f}, + {8.948735124940346e-01f, -4.463198367052365e-01f}, + {8.937753845805634e-01f, -4.485148402426236e-01f}, + {8.926718726308122e-01f, -4.507071419600526e-01f}, + {8.915629832922548e-01f, -4.528967286512617e-01f}, + {8.904487232447579e-01f, -4.550835871263438e-01f}, + {8.893290992005409e-01f, -4.572677042118265e-01f}, + {8.882041179041357e-01f, -4.594490667507513e-01f}, + {8.870737861323454e-01f, -4.616276616027529e-01f}, + {8.859381106942048e-01f, -4.638034756441384e-01f}, + {8.847970984309378e-01f, -4.659764957679662e-01f}, + {8.836507562159172e-01f, -4.681467088841250e-01f}, + {8.824990909546231e-01f, -4.703141019194129e-01f}, + {8.813421095846011e-01f, -4.724786618176158e-01f}, + {8.801798190754208e-01f, -4.746403755395864e-01f}, + {8.790122264286335e-01f, -4.767992300633221e-01f}, + {8.778393386777302e-01f, -4.789552123840445e-01f}, + {8.766611628880995e-01f, -4.811083095142767e-01f}, + {8.754777061569843e-01f, -4.832585084839222e-01f}, + {8.742889756134398e-01f, -4.854057963403425e-01f}, + {8.730949784182901e-01f, -4.875501601484360e-01f}, + {8.718957217640854e-01f, -4.896915869907146e-01f}, + {8.706912128750582e-01f, -4.918300639673830e-01f}, + {8.694814590070804e-01f, -4.939655781964152e-01f}, + {8.682664674476190e-01f, -4.960981168136327e-01f}, + {8.670462455156926e-01f, -4.982276669727819e-01f}, + {8.658208005618273e-01f, -5.003542158456112e-01f}, + {8.645901399680118e-01f, -5.024777506219491e-01f}, + {8.633542711476541e-01f, -5.045982585097801e-01f}, + {8.621132015455357e-01f, -5.067157267353229e-01f}, + {8.608669386377673e-01f, -5.088301425431070e-01f}, + {8.596154899317437e-01f, -5.109414931960489e-01f}, + {8.583588629660989e-01f, -5.130497659755299e-01f}, + {8.570970653106597e-01f, -5.151549481814718e-01f}, + {8.558301045664012e-01f, -5.172570271324139e-01f}, + {8.545579883654005e-01f, -5.193559901655896e-01f}, + {8.532807243707908e-01f, -5.214518246370019e-01f}, + {8.519983202767152e-01f, -5.235445179215000e-01f}, + {8.507107838082801e-01f, -5.256340574128560e-01f}, + {8.494181227215095e-01f, -5.277204305238395e-01f}, + {8.481203448032972e-01f, -5.298036246862946e-01f}, + {8.468174578713608e-01f, -5.318836273512150e-01f}, + {8.455094697741939e-01f, -5.339604259888194e-01f}, + {8.441963883910193e-01f, -5.360340080886280e-01f}, + {8.428782216317413e-01f, -5.381043611595366e-01f}, + {8.415549774368984e-01f, -5.401714727298929e-01f}, + {8.402266637776148e-01f, -5.422353303475707e-01f}, + {8.388932886555529e-01f, -5.442959215800456e-01f}, + {8.375548601028652e-01f, -5.463532340144698e-01f}, + {8.362113861821453e-01f, -5.484072552577465e-01f}, + {8.348628749863800e-01f, -5.504579729366048e-01f}, + {8.335093346389004e-01f, -5.525053746976744e-01f}, + {8.321507732933324e-01f, -5.545494482075597e-01f}, + {8.307871991335484e-01f, -5.565901811529141e-01f}, + {8.294186203736174e-01f, -5.586275612405148e-01f}, + {8.280450452577558e-01f, -5.606615761973360e-01f}, + {8.266664820602777e-01f, -5.626922137706231e-01f}, + {8.252829390855451e-01f, -5.647194617279668e-01f}, + {8.238944246679176e-01f, -5.667433078573766e-01f}, + {8.225009471717026e-01f, -5.687637399673542e-01f}, + {8.211025149911046e-01f, -5.707807458869673e-01f}, + {8.196991365501750e-01f, -5.727943134659226e-01f}, + {8.182908203027607e-01f, -5.748044305746390e-01f}, + {8.168775747324537e-01f, -5.768110851043212e-01f}, + {8.154594083525400e-01f, -5.788142649670318e-01f}, + {8.140363297059484e-01f, -5.808139580957645e-01f}, + {8.126083473651983e-01f, -5.828101524445172e-01f}, + {8.111754699323488e-01f, -5.848028359883638e-01f}, + {8.097377060389469e-01f, -5.867919967235272e-01f}, + {8.082950643459751e-01f, -5.887776226674516e-01f}, + {8.068475535437993e-01f, -5.907597018588742e-01f}, + {8.053951823521167e-01f, -5.927382223578977e-01f}, + {8.039379595199031e-01f, -5.947131722460625e-01f}, + {8.024758938253601e-01f, -5.966845396264172e-01f}, + {8.010089940758625e-01f, -5.986523126235920e-01f}, + {7.995372691079050e-01f, -6.006164793838690e-01f}, + {7.980607277870492e-01f, -6.025770280752539e-01f}, + {7.965793790078698e-01f, -6.045339468875478e-01f}, + {7.950932316939014e-01f, -6.064872240324176e-01f}, + {7.936022947975847e-01f, -6.084368477434675e-01f}, + {7.921065773002124e-01f, -6.103828062763095e-01f}, + {7.906060882118751e-01f, -6.123250879086344e-01f}, + {7.891008365714072e-01f, -6.142636809402826e-01f}, + {7.875908314463325e-01f, -6.161985736933142e-01f}, + {7.860760819328091e-01f, -6.181297545120795e-01f}, + {7.845565971555752e-01f, -6.200572117632891e-01f}, + {7.830323862678940e-01f, -6.219809338360844e-01f}, + {7.815034584514979e-01f, -6.239009091421072e-01f}, + {7.799698229165344e-01f, -6.258171261155689e-01f}, + {7.784314889015095e-01f, -6.277295732133219e-01f}, + {7.768884656732324e-01f, -6.296382389149270e-01f}, + {7.753407625267603e-01f, -6.315431117227246e-01f}, + {7.737883887853415e-01f, -6.334441801619028e-01f}, + {7.722313538003597e-01f, -6.353414327805670e-01f}, + {7.706696669512773e-01f, -6.372348581498091e-01f}, + {7.691033376455797e-01f, -6.391244448637757e-01f}, + {7.675323753187178e-01f, -6.410101815397373e-01f}, + {7.659567894340514e-01f, -6.428920568181569e-01f}, + {7.643765894827926e-01f, -6.447700593627579e-01f}, + {7.627917849839481e-01f, -6.466441778605931e-01f}, + {7.612023854842618e-01f, -6.485144010221124e-01f}, + {7.596084005581580e-01f, -6.503807175812309e-01f}, + {7.580098398076831e-01f, -6.522431162953969e-01f}, + {7.564067128624476e-01f, -6.541015859456593e-01f}, + {7.547990293795690e-01f, -6.559561153367355e-01f}, + {7.531867990436125e-01f, -6.578066932970786e-01f}, + {7.515700315665336e-01f, -6.596533086789452e-01f}, + {7.499487366876190e-01f, -6.614959503584616e-01f}, + {7.483229241734281e-01f, -6.633346072356920e-01f}, + {7.466926038177344e-01f, -6.651692682347043e-01f}, + {7.450577854414661e-01f, -6.669999223036375e-01f}, + {7.434184788926470e-01f, -6.688265584147679e-01f}, + {7.417746940463380e-01f, -6.706491655645758e-01f}, + {7.401264408045760e-01f, -6.724677327738116e-01f}, + {7.384737290963160e-01f, -6.742822490875620e-01f}, + {7.368165688773699e-01f, -6.760927035753159e-01f}, + {7.351549701303474e-01f, -6.778990853310308e-01f}, + {7.334889428645953e-01f, -6.797013834731973e-01f}, + {7.318184971161379e-01f, -6.814995871449060e-01f}, + {7.301436429476156e-01f, -6.832936855139119e-01f}, + {7.284643904482252e-01f, -6.850836677727004e-01f}, + {7.267807497336585e-01f, -6.868695231385515e-01f}, + {7.250927309460417e-01f, -6.886512408536060e-01f}, + {7.234003442538740e-01f, -6.904288101849290e-01f}, + {7.217035998519666e-01f, -6.922022204245754e-01f}, + {7.200025079613817e-01f, -6.939714608896540e-01f}, + {7.182970788293696e-01f, -6.957365209223924e-01f}, + {7.165873227293083e-01f, -6.974973898902004e-01f}, + {7.148732499606411e-01f, -6.992540571857347e-01f}, + {7.131548708488146e-01f, -7.010065122269625e-01f}, + {7.114321957452164e-01f, -7.027547444572253e-01f}, + {7.097052350271130e-01f, -7.044987433453024e-01f}, + {7.079739990975870e-01f, -7.062384983854745e-01f} +}; + +static const cos_msin_t cos_msin_640[640] = +{ + {9.999998117522413e-01f, -6.135922766517967e-04f}, + {9.999983057705969e-01f, -1.840775905896510e-03f}, + {9.999952938095762e-01f, -3.067956762965976e-03f}, + {9.999907758737150e-01f, -4.295132999748002e-03f}, + {9.999847519698173e-01f, -5.522302768137352e-03f}, + {9.999772221069551e-01f, -6.749464220038533e-03f}, + {9.999681862964679e-01f, -7.976615507368575e-03f}, + {9.999576445519639e-01f, -9.203754782059819e-03f}, + {9.999455968893185e-01f, -1.043088019606269e-02f}, + {9.999320433266753e-01f, -1.165798990134850e-02f}, + {9.999169838844458e-01f, -1.288508204991220e-02f}, + {9.999004185853092e-01f, -1.411215479377519e-02f}, + {9.998823474542126e-01f, -1.533920628498810e-02f}, + {9.998627705183706e-01f, -1.656623467563356e-02f}, + {9.998416878072659e-01f, -1.779323811782898e-02f}, + {9.998190993526487e-01f, -1.902021476372936e-02f}, + {9.997950051885367e-01f, -2.024716276553004e-02f}, + {9.997694053512153e-01f, -2.147408027546951e-02f}, + {9.997422998792375e-01f, -2.270096544583216e-02f}, + {9.997136888134235e-01f, -2.392781642895110e-02f}, + {9.996835721968610e-01f, -2.515463137721094e-02f}, + {9.996519500749053e-01f, -2.638140844305051e-02f}, + {9.996188224951786e-01f, -2.760814577896574e-02f}, + {9.995841895075704e-01f, -2.883484153751236e-02f}, + {9.995480511642375e-01f, -3.006149387130874e-02f}, + {9.995104075196035e-01f, -3.128810093303862e-02f}, + {9.994712586303591e-01f, -3.251466087545394e-02f}, + {9.994306045554617e-01f, -3.374117185137758e-02f}, + {9.993884453561358e-01f, -3.496763201370620e-02f}, + {9.993447810958722e-01f, -3.619403951541294e-02f}, + {9.992996118404286e-01f, -3.742039250955028e-02f}, + {9.992529376578290e-01f, -3.864668914925275e-02f}, + {9.992047586183639e-01f, -3.987292758773981e-02f}, + {9.991550747945901e-01f, -4.109910597831850e-02f}, + {9.991038862613305e-01f, -4.232522247438635e-02f}, + {9.990511930956741e-01f, -4.355127522943403e-02f}, + {9.989969953769761e-01f, -4.477726239704831e-02f}, + {9.989412931868569e-01f, -4.600318213091462e-02f}, + {9.988840866092031e-01f, -4.722903258482004e-02f}, + {9.988253757301669e-01f, -4.845481191265589e-02f}, + {9.987651606381658e-01f, -4.968051826842070e-02f}, + {9.987034414238826e-01f, -5.090614980622282e-02f}, + {9.986402181802653e-01f, -5.213170468028332e-02f}, + {9.985754910025268e-01f, -5.335718104493870e-02f}, + {9.985092599881454e-01f, -5.458257705464371e-02f}, + {9.984415252368637e-01f, -5.580789086397409e-02f}, + {9.983722868506889e-01f, -5.703312062762941e-02f}, + {9.983015449338929e-01f, -5.825826450043575e-02f}, + {9.982292995930115e-01f, -5.948332063734863e-02f}, + {9.981555509368452e-01f, -6.070828719345561e-02f}, + {9.980802990764579e-01f, -6.193316232397920e-02f}, + {9.980035441251777e-01f, -6.315794418427960e-02f}, + {9.979252861985960e-01f, -6.438263092985747e-02f}, + {9.978455254145679e-01f, -6.560722071635666e-02f}, + {9.977642618932119e-01f, -6.683171169956714e-02f}, + {9.976814957569091e-01f, -6.805610203542757e-02f}, + {9.975972271303040e-01f, -6.928038988002828e-02f}, + {9.975114561403035e-01f, -7.050457338961386e-02f}, + {9.974241829160772e-01f, -7.172865072058610e-02f}, + {9.973354075890570e-01f, -7.295262002950662e-02f}, + {9.972451302929369e-01f, -7.417647947309980e-02f}, + {9.971533511636731e-01f, -7.540022720825540e-02f}, + {9.970600703394830e-01f, -7.662386139203149e-02f}, + {9.969652879608459e-01f, -7.784738018165707e-02f}, + {9.968690041705026e-01f, -7.907078173453497e-02f}, + {9.967712191134545e-01f, -8.029406420824454e-02f}, + {9.966719329369642e-01f, -8.151722576054453e-02f}, + {9.965711457905548e-01f, -8.274026454937569e-02f}, + {9.964688578260101e-01f, -8.396317873286374e-02f}, + {9.963650691973739e-01f, -8.518596646932200e-02f}, + {9.962597800609497e-01f, -8.640862591725426e-02f}, + {9.961529905753015e-01f, -8.763115523535747e-02f}, + {9.960447009012520e-01f, -8.885355258252460e-02f}, + {9.959349112018836e-01f, -9.007581611784729e-02f}, + {9.958236216425376e-01f, -9.129794400061877e-02f}, + {9.957108323908140e-01f, -9.251993439033654e-02f}, + {9.955965436165716e-01f, -9.374178544670515e-02f}, + {9.954807554919269e-01f, -9.496349532963899e-02f}, + {9.953634681912550e-01f, -9.618506219926506e-02f}, + {9.952446818911883e-01f, -9.740648421592572e-02f}, + {9.951243967706169e-01f, -9.862775954018151e-02f}, + {9.950026130106879e-01f, -9.984888633281383e-02f}, + {9.948793307948056e-01f, -1.010698627548278e-01f}, + {9.947545503086307e-01f, -1.022906869674551e-01f}, + {9.946282717400804e-01f, -1.035113571321563e-01f}, + {9.945004952793278e-01f, -1.047318714106244e-01f}, + {9.943712211188022e-01f, -1.059522279647869e-01f}, + {9.942404494531879e-01f, -1.071724249568088e-01f}, + {9.941081804794248e-01f, -1.083924605490956e-01f}, + {9.939744143967076e-01f, -1.096123329042957e-01f}, + {9.938391514064855e-01f, -1.108320401853034e-01f}, + {9.937023917124622e-01f, -1.120515805552615e-01f}, + {9.935641355205953e-01f, -1.132709521775643e-01f}, + {9.934243830390962e-01f, -1.144901532158602e-01f}, + {9.932831344784294e-01f, -1.157091818340545e-01f}, + {9.931403900513129e-01f, -1.169280361963119e-01f}, + {9.929961499727171e-01f, -1.181467144670601e-01f}, + {9.928504144598651e-01f, -1.193652148109914e-01f}, + {9.927031837322318e-01f, -1.205835353930663e-01f}, + {9.925544580115441e-01f, -1.218016743785162e-01f}, + {9.924042375217801e-01f, -1.230196299328457e-01f}, + {9.922525224891693e-01f, -1.242374002218357e-01f}, + {9.920993131421918e-01f, -1.254549834115462e-01f}, + {9.919446097115779e-01f, -1.266723776683190e-01f}, + {9.917884124303086e-01f, -1.278895811587802e-01f}, + {9.916307215336136e-01f, -1.291065920498434e-01f}, + {9.914715372589731e-01f, -1.303234085087122e-01f}, + {9.913108598461154e-01f, -1.315400287028831e-01f}, + {9.911486895370180e-01f, -1.327564508001479e-01f}, + {9.909850265759061e-01f, -1.339726729685971e-01f}, + {9.908198712092535e-01f, -1.351886933766218e-01f}, + {9.906532236857811e-01f, -1.364045101929175e-01f}, + {9.904850842564571e-01f, -1.376201215864860e-01f}, + {9.903154531744962e-01f, -1.388355257266385e-01f}, + {9.901443306953601e-01f, -1.400507207829983e-01f}, + {9.899717170767560e-01f, -1.412657049255036e-01f}, + {9.897976125786367e-01f, -1.424804763244102e-01f}, + {9.896220174632009e-01f, -1.436950331502945e-01f}, + {9.894449319948911e-01f, -1.449093735740556e-01f}, + {9.892663564403953e-01f, -1.461234957669190e-01f}, + {9.890862910686448e-01f, -1.473373979004386e-01f}, + {9.889047361508148e-01f, -1.485510781464996e-01f}, + {9.887216919603238e-01f, -1.497645346773215e-01f}, + {9.885371587728330e-01f, -1.509777656654608e-01f}, + {9.883511368662461e-01f, -1.521907692838135e-01f}, + {9.881636265207087e-01f, -1.534035437056180e-01f}, + {9.879746280186079e-01f, -1.546160871044581e-01f}, + {9.877841416445722e-01f, -1.558283976542652e-01f}, + {9.875921676854704e-01f, -1.570404735293217e-01f}, + {9.873987064304122e-01f, -1.582523129042630e-01f}, + {9.872037581707463e-01f, -1.594639139540810e-01f}, + {9.870073232000616e-01f, -1.606752748541265e-01f}, + {9.868094018141855e-01f, -1.618863937801118e-01f}, + {9.866099943111839e-01f, -1.630972689081137e-01f}, + {9.864091009913611e-01f, -1.643078984145762e-01f}, + {9.862067221572588e-01f, -1.655182804763130e-01f}, + {9.860028581136556e-01f, -1.667284132705107e-01f}, + {9.857975091675675e-01f, -1.679382949747312e-01f}, + {9.855906756282459e-01f, -1.691479237669144e-01f}, + {9.853823578071785e-01f, -1.703572978253813e-01f}, + {9.851725560180883e-01f, -1.715664153288364e-01f}, + {9.849612705769328e-01f, -1.727752744563706e-01f}, + {9.847485018019042e-01f, -1.739838733874638e-01f}, + {9.845342500134284e-01f, -1.751922103019880e-01f}, + {9.843185155341647e-01f, -1.764002833802096e-01f}, + {9.841012986890054e-01f, -1.776080908027924e-01f}, + {9.838825998050751e-01f, -1.788156307508001e-01f}, + {9.836624192117303e-01f, -1.800229014056995e-01f}, + {9.834407572405590e-01f, -1.812299009493628e-01f}, + {9.832176142253802e-01f, -1.824366275640705e-01f}, + {9.829929905022433e-01f, -1.836430794325141e-01f}, + {9.827668864094273e-01f, -1.848492547377989e-01f}, + {9.825393022874412e-01f, -1.860551516634466e-01f}, + {9.823102384790224e-01f, -1.872607683933984e-01f}, + {9.820796953291370e-01f, -1.884661031120172e-01f}, + {9.818476731849786e-01f, -1.896711540040907e-01f}, + {9.816141723959685e-01f, -1.908759192548340e-01f}, + {9.813791933137546e-01f, -1.920803970498924e-01f}, + {9.811427362922112e-01f, -1.932845855753442e-01f}, + {9.809048016874382e-01f, -1.944884830177032e-01f}, + {9.806653898577611e-01f, -1.956920875639216e-01f}, + {9.804245011637294e-01f, -1.968953974013927e-01f}, + {9.801821359681174e-01f, -1.980984107179536e-01f}, + {9.799382946359226e-01f, -1.993011257018880e-01f}, + {9.796929775343657e-01f, -2.005035405419289e-01f}, + {9.794461850328897e-01f, -2.017056534272613e-01f}, + {9.791979175031598e-01f, -2.029074625475249e-01f}, + {9.789481753190622e-01f, -2.041089660928169e-01f}, + {9.786969588567044e-01f, -2.053101622536946e-01f}, + {9.784442684944136e-01f, -2.065110492211783e-01f}, + {9.781901046127370e-01f, -2.077116251867540e-01f}, + {9.779344675944409e-01f, -2.089118883423760e-01f}, + {9.776773578245099e-01f, -2.101118368804696e-01f}, + {9.774187756901469e-01f, -2.113114689939341e-01f}, + {9.771587215807717e-01f, -2.125107828761450e-01f}, + {9.768971958880210e-01f, -2.137097767209575e-01f}, + {9.766341990057480e-01f, -2.149084487227085e-01f}, + {9.763697313300211e-01f, -2.161067970762195e-01f}, + {9.761037932591240e-01f, -2.173048199767996e-01f}, + {9.758363851935545e-01f, -2.185025156202481e-01f}, + {9.755675075360243e-01f, -2.196998822028567e-01f}, + {9.752971606914583e-01f, -2.208969179214133e-01f}, + {9.750253450669941e-01f, -2.220936209732035e-01f}, + {9.747520610719810e-01f, -2.232899895560143e-01f}, + {9.744773091179798e-01f, -2.244860218681361e-01f}, + {9.742010896187618e-01f, -2.256817161083659e-01f}, + {9.739234029903089e-01f, -2.268770704760098e-01f}, + {9.736442496508120e-01f, -2.280720831708857e-01f}, + {9.733636300206708e-01f, -2.292667523933261e-01f}, + {9.730815445224936e-01f, -2.304610763441808e-01f}, + {9.727979935810960e-01f, -2.316550532248194e-01f}, + {9.725129776235006e-01f, -2.328486812371343e-01f}, + {9.722264970789363e-01f, -2.340419585835434e-01f}, + {9.719385523788376e-01f, -2.352348834669925e-01f}, + {9.716491439568440e-01f, -2.364274540909583e-01f}, + {9.713582722487994e-01f, -2.376196686594509e-01f}, + {9.710659376927513e-01f, -2.388115253770169e-01f}, + {9.707721407289504e-01f, -2.400030224487415e-01f}, + {9.704768817998493e-01f, -2.411941580802516e-01f}, + {9.701801613501028e-01f, -2.423849304777186e-01f}, + {9.698819798265667e-01f, -2.435753378478606e-01f}, + {9.695823376782966e-01f, -2.447653783979458e-01f}, + {9.692812353565485e-01f, -2.459550503357946e-01f}, + {9.689786733147769e-01f, -2.471443518697825e-01f}, + {9.686746520086348e-01f, -2.483332812088429e-01f}, + {9.683691718959728e-01f, -2.495218365624697e-01f}, + {9.680622334368384e-01f, -2.507100161407201e-01f}, + {9.677538370934755e-01f, -2.518978181542170e-01f}, + {9.674439833303232e-01f, -2.530852408141520e-01f}, + {9.671326726140158e-01f, -2.542722823322882e-01f}, + {9.668199054133816e-01f, -2.554589409209625e-01f}, + {9.665056821994423e-01f, -2.566452147930884e-01f}, + {9.661900034454125e-01f, -2.578311021621590e-01f}, + {9.658728696266987e-01f, -2.590166012422493e-01f}, + {9.655542812208985e-01f, -2.602017102480191e-01f}, + {9.652342387078005e-01f, -2.613864273947156e-01f}, + {9.649127425693828e-01f, -2.625707508981763e-01f}, + {9.645897932898128e-01f, -2.637546789748313e-01f}, + {9.642653913554462e-01f, -2.649382098417065e-01f}, + {9.639395372548267e-01f, -2.661213417164257e-01f}, + {9.636122314786845e-01f, -2.673040728172135e-01f}, + {9.632834745199362e-01f, -2.684864013628985e-01f}, + {9.629532668736839e-01f, -2.696683255729151e-01f}, + {9.626216090372143e-01f, -2.708498436673069e-01f}, + {9.622885015099981e-01f, -2.720309538667289e-01f}, + {9.619539447936892e-01f, -2.732116543924507e-01f}, + {9.616179393921240e-01f, -2.743919434663584e-01f}, + {9.612804858113206e-01f, -2.755718193109581e-01f}, + {9.609415845594780e-01f, -2.767512801493782e-01f}, + {9.606012361469752e-01f, -2.779303242053718e-01f}, + {9.602594410863711e-01f, -2.791089497033199e-01f}, + {9.599161998924024e-01f, -2.802871548682339e-01f}, + {9.595715130819845e-01f, -2.814649379257579e-01f}, + {9.592253811742094e-01f, -2.826422971021723e-01f}, + {9.588778046903456e-01f, -2.838192306243950e-01f}, + {9.585287841538368e-01f, -2.849957367199857e-01f}, + {9.581783200903017e-01f, -2.861718136171474e-01f}, + {9.578264130275329e-01f, -2.873474595447295e-01f}, + {9.574730634954960e-01f, -2.885226727322305e-01f}, + {9.571182720263292e-01f, -2.896974514098006e-01f}, + {9.567620391543418e-01f, -2.908717938082443e-01f}, + {9.564043654160141e-01f, -2.920456981590233e-01f}, + {9.560452513499964e-01f, -2.932191626942586e-01f}, + {9.556846974971080e-01f, -2.943921856467341e-01f}, + {9.553227044003364e-01f, -2.955647652498983e-01f}, + {9.549592726048367e-01f, -2.967368997378675e-01f}, + {9.545944026579306e-01f, -2.979085873454284e-01f}, + {9.542280951091057e-01f, -2.990798263080405e-01f}, + {9.538603505100144e-01f, -3.002506148618392e-01f}, + {9.534911694144735e-01f, -3.014209512436381e-01f}, + {9.531205523784633e-01f, -3.025908336909318e-01f}, + {9.527484999601259e-01f, -3.037602604418984e-01f}, + {9.523750127197659e-01f, -3.049292297354024e-01f}, + {9.520000912198481e-01f, -3.060977398109971e-01f}, + {9.516237360249976e-01f, -3.072657889089275e-01f}, + {9.512459477019986e-01f, -3.084333752701328e-01f}, + {9.508667268197933e-01f, -3.096004971362489e-01f}, + {9.504860739494817e-01f, -3.107671527496115e-01f}, + {9.501039896643201e-01f, -3.119333403532583e-01f}, + {9.497204745397203e-01f, -3.130990581909318e-01f}, + {9.493355291532494e-01f, -3.142643045070820e-01f}, + {9.489491540846281e-01f, -3.154290775468691e-01f}, + {9.485613499157303e-01f, -3.165933755561658e-01f}, + {9.481721172305820e-01f, -3.177571967815606e-01f}, + {9.477814566153607e-01f, -3.189205394703594e-01f}, + {9.473893686583942e-01f, -3.200834018705895e-01f}, + {9.469958539501598e-01f, -3.212457822310009e-01f}, + {9.466009130832835e-01f, -3.224076788010699e-01f}, + {9.462045466525394e-01f, -3.235690898310011e-01f}, + {9.458067552548478e-01f, -3.247300135717307e-01f}, + {9.454075394892756e-01f, -3.258904482749284e-01f}, + {9.450068999570345e-01f, -3.270503921930005e-01f}, + {9.446048372614803e-01f, -3.282098435790925e-01f}, + {9.442013520081122e-01f, -3.293688006870915e-01f}, + {9.437964448045717e-01f, -3.305272617716291e-01f}, + {9.433901162606417e-01f, -3.316852250880838e-01f}, + {9.429823669882458e-01f, -3.328426888925837e-01f}, + {9.425731976014469e-01f, -3.339996514420094e-01f}, + {9.421626087164466e-01f, -3.351561109939961e-01f}, + {9.417506009515846e-01f, -3.363120658069366e-01f}, + {9.413371749273369e-01f, -3.374675141399838e-01f}, + {9.409223312663159e-01f, -3.386224542530535e-01f}, + {9.405060705932683e-01f, -3.397768844068269e-01f}, + {9.400883935350755e-01f, -3.409308028627527e-01f}, + {9.396693007207513e-01f, -3.420842078830508e-01f}, + {9.392487927814420e-01f, -3.432370977307140e-01f}, + {9.388268703504251e-01f, -3.443894706695110e-01f}, + {9.384035340631081e-01f, -3.455413249639891e-01f}, + {9.379787845570278e-01f, -3.466926588794764e-01f}, + {9.375526224718491e-01f, -3.478434706820849e-01f}, + {9.371250484493645e-01f, -3.489937586387129e-01f}, + {9.366960631334929e-01f, -3.501435210170474e-01f}, + {9.362656671702783e-01f, -3.512927560855671e-01f}, + {9.358338612078891e-01f, -3.524414621135448e-01f}, + {9.354006458966176e-01f, -3.535896373710499e-01f}, + {9.349660218888781e-01f, -3.547372801289512e-01f}, + {9.345299898392064e-01f, -3.558843886589194e-01f}, + {9.340925504042590e-01f, -3.570309612334300e-01f}, + {9.336537042428116e-01f, -3.581769961257653e-01f}, + {9.332134520157588e-01f, -3.593224916100174e-01f}, + {9.327717943861125e-01f, -3.604674459610909e-01f}, + {9.323287320190009e-01f, -3.616118574547051e-01f}, + {9.318842655816681e-01f, -3.627557243673972e-01f}, + {9.314383957434725e-01f, -3.638990449765241e-01f}, + {9.309911231758859e-01f, -3.650418175602657e-01f}, + {9.305424485524929e-01f, -3.661840403976272e-01f}, + {9.300923725489892e-01f, -3.673257117684415e-01f}, + {9.296408958431813e-01f, -3.684668299533723e-01f}, + {9.291880191149847e-01f, -3.696073932339162e-01f}, + {9.287337430464239e-01f, -3.707473998924054e-01f}, + {9.282780683216301e-01f, -3.718868482120106e-01f}, + {9.278209956268415e-01f, -3.730257364767432e-01f}, + {9.273625256504011e-01f, -3.741640629714579e-01f}, + {9.269026590827565e-01f, -3.753018259818559e-01f}, + {9.264413966164585e-01f, -3.764390237944864e-01f}, + {9.259787389461599e-01f, -3.775756546967501e-01f}, + {9.255146867686148e-01f, -3.787117169769015e-01f}, + {9.250492407826776e-01f, -3.798472089240512e-01f}, + {9.245824016893013e-01f, -3.809821288281689e-01f}, + {9.241141701915373e-01f, -3.821164749800858e-01f}, + {9.236445469945337e-01f, -3.832502456714969e-01f}, + {9.231735328055345e-01f, -3.843834391949643e-01f}, + {9.227011283338786e-01f, -3.855160538439188e-01f}, + {9.222273342909986e-01f, -3.866480879126634e-01f}, + {9.217521513904198e-01f, -3.877795396963752e-01f}, + {9.212755803477590e-01f, -3.889104074911081e-01f}, + {9.207976218807237e-01f, -3.900406895937958e-01f}, + {9.203182767091106e-01f, -3.911703843022539e-01f}, + {9.198375455548048e-01f, -3.922994899151824e-01f}, + {9.193554291417789e-01f, -3.934280047321689e-01f}, + {9.188719281960914e-01f, -3.945559270536903e-01f}, + {9.183870434458861e-01f, -3.956832551811160e-01f}, + {9.179007756213905e-01f, -3.968099874167103e-01f}, + {9.174131254549152e-01f, -3.979361220636348e-01f}, + {9.169240936808526e-01f, -3.990616574259509e-01f}, + {9.164336810356757e-01f, -4.001865918086229e-01f}, + {9.159418882579371e-01f, -4.013109235175197e-01f}, + {9.154487160882678e-01f, -4.024346508594184e-01f}, + {9.149541652693762e-01f, -4.035577721420057e-01f}, + {9.144582365460469e-01f, -4.046802856738814e-01f}, + {9.139609306651395e-01f, -4.058021897645602e-01f}, + {9.134622483755878e-01f, -4.069234827244749e-01f}, + {9.129621904283982e-01f, -4.080441628649787e-01f}, + {9.124607575766490e-01f, -4.091642284983474e-01f}, + {9.119579505754890e-01f, -4.102836779377824e-01f}, + {9.114537701821365e-01f, -4.114025094974132e-01f}, + {9.109482171558779e-01f, -4.125207214922996e-01f}, + {9.104412922580672e-01f, -4.136383122384345e-01f}, + {9.099329962521239e-01f, -4.147552800527466e-01f}, + {9.094233299035327e-01f, -4.158716232531024e-01f}, + {9.089122939798419e-01f, -4.169873401583093e-01f}, + {9.083998892506623e-01f, -4.181024290881177e-01f}, + {9.078861164876663e-01f, -4.192168883632239e-01f}, + {9.073709764645862e-01f, -4.203307163052724e-01f}, + {9.068544699572136e-01f, -4.214439112368585e-01f}, + {9.063365977433983e-01f, -4.225564714815306e-01f}, + {9.058173606030460e-01f, -4.236683953637931e-01f}, + {9.052967593181188e-01f, -4.247796812091088e-01f}, + {9.047747946726327e-01f, -4.258903273439013e-01f}, + {9.042514674526569e-01f, -4.270003320955576e-01f}, + {9.037267784463131e-01f, -4.281096937924305e-01f}, + {9.032007284437731e-01f, -4.292184107638414e-01f}, + {9.026733182372588e-01f, -4.303264813400826e-01f}, + {9.021445486210405e-01f, -4.314339038524199e-01f}, + {9.016144203914357e-01f, -4.325406766330948e-01f}, + {9.010829343468079e-01f, -4.336467980153277e-01f}, + {9.005500912875654e-01f, -4.347522663333197e-01f}, + {9.000158920161603e-01f, -4.358570799222555e-01f}, + {8.994803373370870e-01f, -4.369612371183058e-01f}, + {8.989434280568812e-01f, -4.380647362586298e-01f}, + {8.984051649841186e-01f, -4.391675756813778e-01f}, + {8.978655489294136e-01f, -4.402697537256935e-01f}, + {8.973245807054183e-01f, -4.413712687317167e-01f}, + {8.967822611268210e-01f, -4.424721190405857e-01f}, + {8.962385910103452e-01f, -4.435723029944398e-01f}, + {8.956935711747483e-01f, -4.446718189364220e-01f}, + {8.951472024408204e-01f, -4.457706652106809e-01f}, + {8.945994856313827e-01f, -4.468688401623742e-01f}, + {8.940504215712870e-01f, -4.479663421376699e-01f}, + {8.935000110874138e-01f, -4.490631694837502e-01f}, + {8.929482550086714e-01f, -4.501593205488127e-01f}, + {8.923951541659944e-01f, -4.512547936820739e-01f}, + {8.918407093923427e-01f, -4.523495872337709e-01f}, + {8.912849215227001e-01f, -4.534436995551644e-01f}, + {8.907277913940732e-01f, -4.545371289985410e-01f}, + {8.901693198454897e-01f, -4.556298739172159e-01f}, + {8.896095077179980e-01f, -4.567219326655349e-01f}, + {8.890483558546646e-01f, -4.578133035988772e-01f}, + {8.884858651005743e-01f, -4.589039850736579e-01f}, + {8.879220363028281e-01f, -4.599939754473306e-01f}, + {8.873568703105417e-01f, -4.610832730783892e-01f}, + {8.867903679748451e-01f, -4.621718763263714e-01f}, + {8.862225301488806e-01f, -4.632597835518601e-01f}, + {8.856533576878016e-01f, -4.643469931164871e-01f}, + {8.850828514487716e-01f, -4.654335033829341e-01f}, + {8.845110122909626e-01f, -4.665193127149364e-01f}, + {8.839378410755541e-01f, -4.676044194772847e-01f}, + {8.833633386657316e-01f, -4.686888220358279e-01f}, + {8.827875059266853e-01f, -4.697725187574754e-01f}, + {8.822103437256089e-01f, -4.708555080101994e-01f}, + {8.816318529316984e-01f, -4.719377881630376e-01f}, + {8.810520344161502e-01f, -4.730193575860958e-01f}, + {8.804708890521608e-01f, -4.741002146505500e-01f}, + {8.798884177149244e-01f, -4.751803577286489e-01f}, + {8.793046212816323e-01f, -4.762597851937166e-01f}, + {8.787195006314716e-01f, -4.773384954201548e-01f}, + {8.781330566456232e-01f, -4.784164867834454e-01f}, + {8.775452902072614e-01f, -4.794937576601530e-01f}, + {8.769562022015515e-01f, -4.805703064279270e-01f}, + {8.763657935156495e-01f, -4.816461314655044e-01f}, + {8.757740650387004e-01f, -4.827212311527123e-01f}, + {8.751810176618363e-01f, -4.837956038704698e-01f}, + {8.745866522781761e-01f, -4.848692480007911e-01f}, + {8.739909697828232e-01f, -4.859421619267875e-01f}, + {8.733939710728648e-01f, -4.870143440326701e-01f}, + {8.727956570473698e-01f, -4.880857927037520e-01f}, + {8.721960286073888e-01f, -4.891565063264507e-01f}, + {8.715950866559510e-01f, -4.902264832882912e-01f}, + {8.709928320980644e-01f, -4.912957219779071e-01f}, + {8.703892658407133e-01f, -4.923642207850446e-01f}, + {8.697843887928577e-01f, -4.934319781005636e-01f}, + {8.691782018654314e-01f, -4.944989923164409e-01f}, + {8.685707059713409e-01f, -4.955652618257725e-01f}, + {8.679619020254642e-01f, -4.966307850227757e-01f}, + {8.673517909446490e-01f, -4.976955603027919e-01f}, + {8.667403736477115e-01f, -4.987595860622885e-01f}, + {8.661276510554351e-01f, -4.998228606988624e-01f}, + {8.655136240905691e-01f, -5.008853826112407e-01f}, + {8.648982936778269e-01f, -5.019471501992850e-01f}, + {8.642816607438848e-01f, -5.030081618639924e-01f}, + {8.636637262173812e-01f, -5.040684160074983e-01f}, + {8.630444910289141e-01f, -5.051279110330795e-01f}, + {8.624239561110406e-01f, -5.061866453451552e-01f}, + {8.618021223982749e-01f, -5.072446173492910e-01f}, + {8.611789908270876e-01f, -5.083018254522002e-01f}, + {8.605545623359034e-01f, -5.093582680617462e-01f}, + {8.599288378651004e-01f, -5.104139435869457e-01f}, + {8.593018183570085e-01f, -5.114688504379703e-01f}, + {8.586735047559073e-01f, -5.125229870261497e-01f}, + {8.580438980080262e-01f, -5.135763517639729e-01f}, + {8.574129990615412e-01f, -5.146289430650919e-01f}, + {8.567808088665750e-01f, -5.156807593443229e-01f}, + {8.561473283751945e-01f, -5.167317990176499e-01f}, + {8.555125585414098e-01f, -5.177820605022260e-01f}, + {8.548765003211730e-01f, -5.188315422163763e-01f}, + {8.542391546723761e-01f, -5.198802425796005e-01f}, + {8.536005225548502e-01f, -5.209281600125748e-01f}, + {8.529606049303636e-01f, -5.219752929371544e-01f}, + {8.523194027626210e-01f, -5.230216397763758e-01f}, + {8.516769170172609e-01f, -5.240671989544601e-01f}, + {8.510331486618554e-01f, -5.251119688968137e-01f}, + {8.503880986659081e-01f, -5.261559480300321e-01f}, + {8.497417680008525e-01f, -5.271991347819013e-01f}, + {8.490941576400509e-01f, -5.282415275814013e-01f}, + {8.484452685587929e-01f, -5.292831248587072e-01f}, + {8.477951017342936e-01f, -5.303239250451923e-01f}, + {8.471436581456926e-01f, -5.313639265734305e-01f}, + {8.464909387740521e-01f, -5.324031278771979e-01f}, + {8.458369446023557e-01f, -5.334415273914767e-01f}, + {8.451816766155068e-01f, -5.344791235524554e-01f}, + {8.445251358003272e-01f, -5.355159147975332e-01f}, + {8.438673231455553e-01f, -5.365518995653215e-01f}, + {8.432082396418454e-01f, -5.375870762956454e-01f}, + {8.425478862817651e-01f, -5.386214434295480e-01f}, + {8.418862640597948e-01f, -5.396549994092906e-01f}, + {8.412233739723254e-01f, -5.406877426783570e-01f}, + {8.405592170176576e-01f, -5.417196716814542e-01f}, + {8.398937941959995e-01f, -5.427507848645159e-01f}, + {8.392271065094661e-01f, -5.437810806747042e-01f}, + {8.385591549620770e-01f, -5.448105575604123e-01f}, + {8.378899405597550e-01f, -5.458392139712668e-01f}, + {8.372194643103249e-01f, -5.468670483581293e-01f}, + {8.365477272235120e-01f, -5.478940591731002e-01f}, + {8.358747303109401e-01f, -5.489202448695194e-01f}, + {8.352004745861303e-01f, -5.499456039019702e-01f}, + {8.345249610644997e-01f, -5.509701347262801e-01f}, + {8.338481907633595e-01f, -5.519938357995242e-01f}, + {8.331701647019132e-01f, -5.530167055800275e-01f}, + {8.324908839012561e-01f, -5.540387425273663e-01f}, + {8.318103493843727e-01f, -5.550599451023716e-01f}, + {8.311285621761358e-01f, -5.560803117671306e-01f}, + {8.304455233033046e-01f, -5.570998409849897e-01f}, + {8.297612337945230e-01f, -5.581185312205561e-01f}, + {8.290756946803191e-01f, -5.591363809397010e-01f}, + {8.283889069931020e-01f, -5.601533886095610e-01f}, + {8.277008717671618e-01f, -5.611695526985409e-01f}, + {8.270115900386670e-01f, -5.621848716763159e-01f}, + {8.263210628456635e-01f, -5.631993440138341e-01f}, + {8.256292912280727e-01f, -5.642129681833185e-01f}, + {8.249362762276903e-01f, -5.652257426582692e-01f}, + {8.242420188881840e-01f, -5.662376659134664e-01f}, + {8.235465202550933e-01f, -5.672487364249718e-01f}, + {8.228497813758264e-01f, -5.682589526701315e-01f}, + {8.221518032996592e-01f, -5.692683131275782e-01f}, + {8.214525870777344e-01f, -5.702768162772331e-01f}, + {8.207521337630588e-01f, -5.712844606003090e-01f}, + {8.200504444105025e-01f, -5.722912445793115e-01f}, + {8.193475200767969e-01f, -5.732971666980422e-01f}, + {8.186433618205335e-01f, -5.743022254416005e-01f}, + {8.179379707021619e-01f, -5.753064192963863e-01f}, + {8.172313477839882e-01f, -5.763097467501014e-01f}, + {8.165234941301740e-01f, -5.773122062917532e-01f}, + {8.158144108067338e-01f, -5.783137964116556e-01f}, + {8.151040988815345e-01f, -5.793145156014319e-01f}, + {8.143925594242929e-01f, -5.803143623540171e-01f}, + {8.136797935065747e-01f, -5.813133351636602e-01f}, + {8.129658022017924e-01f, -5.823114325259262e-01f}, + {8.122505865852039e-01f, -5.833086529376983e-01f}, + {8.115341477339112e-01f, -5.843049948971807e-01f}, + {8.108164867268581e-01f, -5.853004569039005e-01f}, + {8.100976046448293e-01f, -5.862950374587097e-01f}, + {8.093775025704479e-01f, -5.872887350637883e-01f}, + {8.086561815881750e-01f, -5.882815482226452e-01f}, + {8.079336427843067e-01f, -5.892734754401222e-01f}, + {8.072098872469734e-01f, -5.902645152223945e-01f}, + {8.064849160661379e-01f, -5.912546660769743e-01f}, + {8.057587303335938e-01f, -5.922439265127122e-01f}, + {8.050313311429637e-01f, -5.932322950397998e-01f}, + {8.043027195896973e-01f, -5.942197701697721e-01f}, + {8.035728967710708e-01f, -5.952063504155093e-01f}, + {8.028418637861839e-01f, -5.961920342912395e-01f}, + {8.021096217359593e-01f, -5.971768203125404e-01f}, + {8.013761717231402e-01f, -5.981607069963423e-01f}, + {8.006415148522891e-01f, -5.991436928609294e-01f}, + {7.999056522297859e-01f, -6.001257764259429e-01f}, + {7.991685849638264e-01f, -6.011069562123827e-01f}, + {7.984303141644207e-01f, -6.020872307426096e-01f}, + {7.976908409433912e-01f, -6.030665985403482e-01f}, + {7.969501664143711e-01f, -6.040450581306880e-01f}, + {7.962082916928030e-01f, -6.050226080400867e-01f}, + {7.954652178959369e-01f, -6.059992467963715e-01f}, + {7.947209461428283e-01f, -6.069749729287426e-01f}, + {7.939754775543372e-01f, -6.079497849677736e-01f}, + {7.932288132531257e-01f, -6.089236814454155e-01f}, + {7.924809543636567e-01f, -6.098966608949977e-01f}, + {7.917319020121923e-01f, -6.108687218512306e-01f}, + {7.909816573267918e-01f, -6.118398628502083e-01f}, + {7.902302214373100e-01f, -6.128100824294097e-01f}, + {7.894775954753960e-01f, -6.137793791277018e-01f}, + {7.887237805744907e-01f, -6.147477514853411e-01f}, + {7.879687778698258e-01f, -6.157151980439765e-01f}, + {7.872125884984216e-01f, -6.166817173466510e-01f}, + {7.864552135990858e-01f, -6.176473079378039e-01f}, + {7.856966543124112e-01f, -6.186119683632733e-01f}, + {7.849369117807745e-01f, -6.195756971702979e-01f}, + {7.841759871483340e-01f, -6.205384929075197e-01f}, + {7.834138815610288e-01f, -6.215003541249855e-01f}, + {7.826505961665757e-01f, -6.224612793741500e-01f}, + {7.818861321144691e-01f, -6.234212672078768e-01f}, + {7.811204905559779e-01f, -6.243803161804418e-01f}, + {7.803536726441443e-01f, -6.253384248475345e-01f}, + {7.795856795337824e-01f, -6.262955917662607e-01f}, + {7.788165123814760e-01f, -6.272518154951441e-01f}, + {7.780461723455767e-01f, -6.282070945941292e-01f}, + {7.772746605862029e-01f, -6.291614276245828e-01f}, + {7.765019782652373e-01f, -6.301148131492967e-01f}, + {7.757281265463254e-01f, -6.310672497324895e-01f}, + {7.749531065948739e-01f, -6.320187359398091e-01f}, + {7.741769195780490e-01f, -6.329692703383341e-01f}, + {7.733995666647743e-01f, -6.339188514965771e-01f}, + {7.726210490257291e-01f, -6.348674779844861e-01f}, + {7.718413678333470e-01f, -6.358151483734467e-01f}, + {7.710605242618138e-01f, -6.367618612362842e-01f}, + {7.702785194870657e-01f, -6.377076151472665e-01f}, + {7.694953546867879e-01f, -6.386524086821050e-01f}, + {7.687110310404124e-01f, -6.395962404179578e-01f}, + {7.679255497291163e-01f, -6.405391089334316e-01f}, + {7.671389119358204e-01f, -6.414810128085832e-01f}, + {7.663511188451869e-01f, -6.424219506249224e-01f}, + {7.655621716436182e-01f, -6.433619209654138e-01f}, + {7.647720715192542e-01f, -6.443009224144792e-01f}, + {7.639808196619715e-01f, -6.452389535579994e-01f}, + {7.631884172633813e-01f, -6.461760129833163e-01f}, + {7.623948655168271e-01f, -6.471120992792355e-01f}, + {7.616001656173835e-01f, -6.480472110360278e-01f}, + {7.608043187618542e-01f, -6.489813468454321e-01f}, + {7.600073261487703e-01f, -6.499145053006563e-01f}, + {7.592091889783881e-01f, -6.508466849963809e-01f}, + {7.584099084526877e-01f, -6.517778845287601e-01f}, + {7.576094857753715e-01f, -6.527081024954242e-01f}, + {7.568079221518612e-01f, -6.536373374954818e-01f}, + {7.560052187892974e-01f, -6.545655881295217e-01f}, + {7.552013768965365e-01f, -6.554928529996153e-01f}, + {7.543963976841503e-01f, -6.564191307093185e-01f}, + {7.535902823644226e-01f, -6.573444198636738e-01f}, + {7.527830321513488e-01f, -6.582687190692122e-01f}, + {7.519746482606328e-01f, -6.591920269339562e-01f}, + {7.511651319096865e-01f, -6.601143420674205e-01f}, + {7.503544843176265e-01f, -6.610356630806152e-01f}, + {7.495427067052737e-01f, -6.619559885860479e-01f}, + {7.487298002951505e-01f, -6.628753171977246e-01f}, + {7.479157663114792e-01f, -6.637936475311532e-01f}, + {7.471006059801801e-01f, -6.647109782033448e-01f}, + {7.462843205288703e-01f, -6.656273078328160e-01f}, + {7.454669111868606e-01f, -6.665426350395909e-01f}, + {7.446483791851549e-01f, -6.674569584452033e-01f}, + {7.438287257564475e-01f, -6.683702766726985e-01f}, + {7.430079521351217e-01f, -6.692825883466360e-01f}, + {7.421860595572477e-01f, -6.701938920930909e-01f}, + {7.413630492605809e-01f, -6.711041865396560e-01f}, + {7.405389224845600e-01f, -6.720134703154446e-01f}, + {7.397136804703048e-01f, -6.729217420510915e-01f}, + {7.388873244606151e-01f, -6.738290003787560e-01f}, + {7.380598556999681e-01f, -6.747352439321236e-01f}, + {7.372312754345167e-01f, -6.756404713464076e-01f}, + {7.364015849120877e-01f, -6.765446812583521e-01f}, + {7.355707853821803e-01f, -6.774478723062332e-01f}, + {7.347388780959635e-01f, -6.783500431298615e-01f}, + {7.339058643062745e-01f, -6.792511923705841e-01f}, + {7.330717452676171e-01f, -6.801513186712865e-01f}, + {7.322365222361595e-01f, -6.810504206763948e-01f}, + {7.314001964697324e-01f, -6.819484970318775e-01f}, + {7.305627692278276e-01f, -6.828455463852481e-01f}, + {7.297242417715950e-01f, -6.837415673855661e-01f}, + {7.288846153638420e-01f, -6.846365586834405e-01f}, + {7.280438912690308e-01f, -6.855305189310302e-01f}, + {7.272020707532766e-01f, -6.864234467820476e-01f}, + {7.263591550843460e-01f, -6.873153408917591e-01f}, + {7.255151455316546e-01f, -6.882061999169885e-01f}, + {7.246700433662657e-01f, -6.890960225161182e-01f}, + {7.238238498608879e-01f, -6.899848073490914e-01f}, + {7.229765662898732e-01f, -6.908725530774144e-01f}, + {7.221281939292153e-01f, -6.917592583641577e-01f}, + {7.212787340565479e-01f, -6.926449218739597e-01f}, + {7.204281879511419e-01f, -6.935295422730269e-01f}, + {7.195765568939045e-01f, -6.944131182291369e-01f}, + {7.187238421673769e-01f, -6.952956484116404e-01f}, + {7.178700450557317e-01f, -6.961771314914630e-01f}, + {7.170151668447722e-01f, -6.970575661411068e-01f}, + {7.161592088219294e-01f, -6.979369510346534e-01f}, + {7.153021722762606e-01f, -6.988152848477649e-01f}, + {7.144440584984474e-01f, -6.996925662576865e-01f}, + {7.135848687807936e-01f, -7.005687939432483e-01f}, + {7.127246044172235e-01f, -7.014439665848672e-01f}, + {7.118632667032795e-01f, -7.023180828645491e-01f}, + {7.110008569361208e-01f, -7.031911414658905e-01f}, + {7.101373764145209e-01f, -7.040631410740809e-01f}, + {7.092728264388657e-01f, -7.049340803759049e-01f}, + {7.084072083111520e-01f, -7.058039580597435e-01f}, + {7.075405233349850e-01f, -7.066727728155766e-01f} +}; + Added: freeswitch/trunk/libs/libg722_1/src/generated/g722_1.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/libg722_1/src/generated/g722_1.h Mon Feb 2 10:14:45 2009 @@ -0,0 +1,31 @@ +/* + * g722_1 - a library for the G.722.1 codec + * + * g722_1.h - The head guy amongst the headers + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * $Id: g722_1.h.in,v 1.1.1.1 2008/09/20 09:47:17 steveu Exp $ + */ + +/*! \file */ + +#if !defined(_G722_1_H_) +#define _G722_1_H_ + +#undef G722_1_USE_FIXED_POINT + +#include +#include +#include +#include +#include +#include + +#include + +#endif +/*- End of file ------------------------------------------------------------*/ From mikej at freeswitch.org Mon Feb 2 08:54:17 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 10:54:17 -0600 Subject: [Freeswitch-svn] [commit] r11594 - freeswitch/trunk/src Message-ID: Author: mikej Date: Mon Feb 2 10:54:17 2009 New Revision: 11594 Log: fix windows build Modified: freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Mon Feb 2 10:54:17 2009 @@ -234,11 +234,11 @@ assert(divisor); - rnd2 = (int16_t) (intptr_t) &data + switch_epoch_time_now(NULL); + rnd2 = (int16_t) (intptr_t) (&data + switch_epoch_time_now(NULL)); for (i = 0; i < samples; i++, sum_rnd = 0) { for (x = 0; x < 10; x++) { - rnd += ((x + i) * rnd2); + rnd += (int16_t)((x + i) * rnd2); sum_rnd += rnd; } switch_normalize_to_16bit(sum_rnd); From mikej at freeswitch.org Mon Feb 2 08:55:43 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 10:55:43 -0600 Subject: [Freeswitch-svn] [commit] r11595 - freeswitch/trunk/src Message-ID: Author: mikej Date: Mon Feb 2 10:55:43 2009 New Revision: 11595 Log: fix windows build Modified: freeswitch/trunk/src/switch_cpp.cpp Modified: freeswitch/trunk/src/switch_cpp.cpp ============================================================================== --- freeswitch/trunk/src/switch_cpp.cpp (original) +++ freeswitch/trunk/src/switch_cpp.cpp Mon Feb 2 10:55:43 2009 @@ -582,7 +582,6 @@ SWITCH_DECLARE(void) CoreSession::execute(const char *app, const char *data) { - const switch_application_interface_t *application_interface; this_check_void(); sanity_check_noreturn; From mikej at freeswitch.org Mon Feb 2 09:04:57 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 11:04:57 -0600 Subject: [Freeswitch-svn] [commit] r11596 - freeswitch/trunk/src Message-ID: Author: mikej Date: Mon Feb 2 11:04:56 2009 New Revision: 11596 Log: fix windows build Modified: freeswitch/trunk/src/switch_core_session.c Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Mon Feb 2 11:04:56 2009 @@ -1299,7 +1299,9 @@ log = switch_core_session_alloc(session, sizeof(*log)); log->app = switch_core_session_strdup(session, application_interface->interface_name); - log->arg = switch_core_session_strdup(session, expanded); + if (expanded) { + log->arg = switch_core_session_strdup(session, expanded); + } for (lp = session->app_log; lp && lp->next; lp = lp->next); From mikej at freeswitch.org Mon Feb 2 09:10:04 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 11:10:04 -0600 Subject: [Freeswitch-svn] [commit] r11597 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Mon Feb 2 11:10:04 2009 New Revision: 11597 Log: fix windows build Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Feb 2 11:10:04 2009 @@ -508,7 +508,7 @@ case nua_i_notify: - if (sip->sip_event && !strcmp(sip->sip_event->o_type, "dialog") && sip->sip_event->o_params && !strcmp(sip->sip_event->o_params[0], "sla")) { + if (sip && sip->sip_event && !strcmp(sip->sip_event->o_type, "dialog") && sip->sip_event->o_params && !strcmp(sip->sip_event->o_params[0], "sla")) { check_destroy = 0; } From mikej at freeswitch.org Mon Feb 2 09:11:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 11:11:33 -0600 Subject: [Freeswitch-svn] [commit] r11598 - freeswitch/trunk/libs/win32/libg722_1 Message-ID: Author: mikej Date: Mon Feb 2 11:11:33 2009 New Revision: 11598 Log: fix windows build Modified: freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj Modified: freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj (original) +++ freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj Mon Feb 2 11:11:33 2009 @@ -41,7 +41,7 @@ Author: mikej Date: Mon Feb 2 11:13:25 2009 New Revision: 11599 Log: cleanup Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.sln Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.sln ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.sln (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.sln Mon Feb 2 11:13:25 2009 @@ -1,14 +1,11 @@ ? Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspandsp", "libspandsp.vcproj", "{CF70F278-3364-4395-A2E1-23501C9B8AD2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspandsp", "libspandsp.vcproj", "{1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}" ProjectSection(ProjectDependencies) = postProject - {1CED5987-A529-46DC-B30F-870D85FF9C94} = {1CED5987-A529-46DC-B30F-870D85FF9C94} {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} = {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "at_dictionary_gen", "src\msvc\at_dictionary_gen.vcproj", "{1CED5987-A529-46DC-B30F-870D85FF9C94}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtiff", "libtiff.vcproj", "{401A40CD-5DB4-4E34-AC68-FA99E9FAC014}" EndProject Global @@ -17,14 +14,10 @@ Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.Build.0 = Debug|Win32 - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.ActiveCfg = Release|Win32 - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.Build.0 = Release|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.ActiveCfg = Debug|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.Build.0 = Debug|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.Build.0 = Debug|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.ActiveCfg = Release|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.Build.0 = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.Build.0 = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Win32.ActiveCfg = Release|Win32 From mikej at freeswitch.org Mon Feb 2 09:40:52 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 11:40:52 -0600 Subject: [Freeswitch-svn] [commit] r11600 - in freeswitch/trunk/libs/spandsp: . config spandsp-sim spandsp-sim/spandsp src src/msvc src/spandsp src/spandsp/private Message-ID: Author: mikej Date: Mon Feb 2 11:40:52 2009 New Revision: 11600 Log: update to snapshot spandsp-20090131 Added: freeswitch/trunk/libs/spandsp/config/ax_check_export_capability.m4 Modified: freeswitch/trunk/libs/spandsp/config-h.in freeswitch/trunk/libs/spandsp/config/ax_c99_features.m4 freeswitch/trunk/libs/spandsp/config/ax_compiler_vendor.m4 freeswitch/trunk/libs/spandsp/configure.ac freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/g1050.h freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_model.h freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/test_utils.h freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c freeswitch/trunk/libs/spandsp/src/Makefile.am freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c freeswitch/trunk/libs/spandsp/src/complex_filters.c freeswitch/trunk/libs/spandsp/src/dtmf.c freeswitch/trunk/libs/spandsp/src/hdlc.c freeswitch/trunk/libs/spandsp/src/libspandsp.dsp freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.foot freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.head freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.foot freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head freeswitch/trunk/libs/spandsp/src/noise.c freeswitch/trunk/libs/spandsp/src/queue.c freeswitch/trunk/libs/spandsp/src/spandsp.h.in freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h freeswitch/trunk/libs/spandsp/src/spandsp/async.h freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h freeswitch/trunk/libs/spandsp/src/spandsp/bert.h freeswitch/trunk/libs/spandsp/src/spandsp/bit_operations.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_int.h freeswitch/trunk/libs/spandsp/src/spandsp/crc.h freeswitch/trunk/libs/spandsp/src/spandsp/dds.h freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h freeswitch/trunk/libs/spandsp/src/spandsp/echo.h freeswitch/trunk/libs/spandsp/src/spandsp/fax.h freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h freeswitch/trunk/libs/spandsp/src/spandsp/g711.h freeswitch/trunk/libs/spandsp/src/spandsp/g722.h freeswitch/trunk/libs/spandsp/src/spandsp/g726.h freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/logging.h freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h freeswitch/trunk/libs/spandsp/src/spandsp/noise.h freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/playout.h freeswitch/trunk/libs/spandsp/src/spandsp/plc.h freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h freeswitch/trunk/libs/spandsp/src/spandsp/private/hdlc.h freeswitch/trunk/libs/spandsp/src/spandsp/private/queue.h freeswitch/trunk/libs/spandsp/src/spandsp/queue.h freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/t30.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h freeswitch/trunk/libs/spandsp/src/spandsp/t31.h freeswitch/trunk/libs/spandsp/src/spandsp/t35.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h freeswitch/trunk/libs/spandsp/src/spandsp/t4.h freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v42.h freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v8.h freeswitch/trunk/libs/spandsp/src/spandsp/vector_float.h freeswitch/trunk/libs/spandsp/src/spandsp/vector_int.h freeswitch/trunk/libs/spandsp/src/spandsp/version.h freeswitch/trunk/libs/spandsp/src/t30.c freeswitch/trunk/libs/spandsp/src/t4.c Modified: freeswitch/trunk/libs/spandsp/config-h.in ============================================================================== --- freeswitch/trunk/libs/spandsp/config-h.in (original) +++ freeswitch/trunk/libs/spandsp/config-h.in Mon Feb 2 11:40:52 2009 @@ -254,6 +254,9 @@ /* Do not expect a misaligned memory access to work correctly */ #undef SPANDSP_MISALIGNED_ACCESS_FAILS +/* Use the library symbol export capability of the compiler */ +#undef SPANDSP_USE_EXPORT_CAPABILITY + /* Enable fixed point processing, where possible, instead of floating point */ #undef SPANDSP_USE_FIXED_POINT Modified: freeswitch/trunk/libs/spandsp/config/ax_c99_features.m4 ============================================================================== --- freeswitch/trunk/libs/spandsp/config/ax_c99_features.m4 (original) +++ freeswitch/trunk/libs/spandsp/config/ax_c99_features.m4 Mon Feb 2 11:40:52 2009 @@ -11,7 +11,7 @@ # provided "as is" without express or implied warranty. AC_DEFUN([AX_C99_FLEXIBLE_ARRAY], -[AC_CACHE_CHECK(C99 struct flexible array support, +[AC_CACHE_CHECK(if have C99 struct flexible array support, ac_cv_c99_flexible_array, # Initialize to unknown Added: freeswitch/trunk/libs/spandsp/config/ax_check_export_capability.m4 ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/spandsp/config/ax_check_export_capability.m4 Mon Feb 2 11:40:52 2009 @@ -0,0 +1,61 @@ +# @synopsis AX_CHECK_EXPORT_CAPABILITY +# +# Does the compiler support the exporting of library symbols? +# @version 1.0 Jan 31 2009 +# @author Steve Underwood +# +# Permission to use, copy, modify, distribute, and sell this file for any +# purpose is hereby granted without fee, provided that the above copyright +# and this permission notice appear in all copies. No representations are +# made about the suitability of this software for any purpose. It is +# provided "as is" without express or implied warranty. + +AC_DEFUN([AX_CHECK_EXPORT_CAPABILITY], +[AC_CACHE_CHECK([if $1 supports library symbol export], + ac_cv_symbol_export_capability, + +[# Initialize to unknown +ac_cv_symbol_export_capability="no" + +case "${ax_cv_c_compiler_vendor}" in +gnu) + save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} -fvisibility=hidden" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [int foo __attribute__ ((visibility("default")));], + [;] + )], + + [AC_MSG_RESULT([yes]) + COMP_VENDOR_CFLAGS="-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 $COMP_VENDOR_CFLAGS" + COMP_VENDOR_CXXFLAGS="-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 $COMP_VENDOR_CXXFLAGS" + ac_cv_symbol_export_capability="yes"], + + [AC_MSG_RESULT([no])] + ) + CFLAGS="${save_CFLAGS}" + ;; + +sun) + save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} -xldscope=hidden" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [int foo __attribute__ ((visibility("default")));], + [;] + )], + + [AC_MSG_RESULT([yes]) + COMP_VENDOR_CFLAGS="-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 $COMP_VENDOR_CFLAGS" + COMP_VENDOR_CXXFLAGS="-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 $COMP_VENDOR_CXXFLAGS" + ac_cv_symbol_export_capability="yes"], + + [AC_MSG_RESULT([no])] + ) + CFLAGS="${save_CFLAGS}" + ;; + +esac]) +AS_IF([test AS_VAR_GET(ac_cv_symbol_export_capability) = yes], [$2], [$3])[]dnl +]) # AX_CHECK_EXPORT_CAPABILITY Modified: freeswitch/trunk/libs/spandsp/config/ax_compiler_vendor.m4 ============================================================================== --- freeswitch/trunk/libs/spandsp/config/ax_compiler_vendor.m4 (original) +++ freeswitch/trunk/libs/spandsp/config/ax_compiler_vendor.m4 Mon Feb 2 11:40:52 2009 @@ -49,8 +49,7 @@ # special exception to the GPL to apply to your modified version as well. AC_DEFUN([AX_COMPILER_VENDOR], -[ -AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, +[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown # note: don't check for gcc first since some other compilers define __GNUC__ for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ pathscale:__PATHCC__,__PATHSCALE__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do Modified: freeswitch/trunk/libs/spandsp/configure.ac ============================================================================== --- freeswitch/trunk/libs/spandsp/configure.ac (original) +++ freeswitch/trunk/libs/spandsp/configure.ac Mon Feb 2 11:40:52 2009 @@ -16,7 +16,7 @@ # License along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # -# $Id: configure.ac,v 1.64 2009/01/17 08:16:08 steveu Exp $ +# $Id: configure.ac,v 1.65 2009/01/31 08:48:10 steveu Exp $ # @start 1 @@ -27,6 +27,7 @@ m4_include(config/ax_fixed_point_machine.m4) m4_include(config/ax_misaligned_access_fails.m4) m4_include(config/ax_c99_features.m4) +m4_include(config/ax_check_export_capability.m4) SPANDSP_MAJOR_VERSION=0 SPANDSP_MINOR_VERSION=0 @@ -283,9 +284,14 @@ AC_LANG([C]) fi +AX_CHECK_EXPORT_CAPABILITY([$host], + [AC_DEFINE([SPANDSP_USE_EXPORT_CAPABILITY], [1], [Use the library symbol export capability of the compiler]) + SPANDSP_USE_EXPORT_CAPABILITY="#define SPANDSP_USE_EXPORT_CAPABILITY 1"], + [SPANDSP_USE_EXPORT_CAPABILITY="#undef SPANDSP_USE_EXPORT_CAPABILITY"]) + case "${ax_cv_c_compiler_vendor}" in gnu) - COMP_VENDOR_CFLAGS="-std=gnu99 -ffast-math -Wall -Wunused-variable -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes" + COMP_VENDOR_CFLAGS="-std=gnu99 -ffast-math -Wall -Wunused-variable -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes $COMP_VENDOR_CFLAGS" if test "$enable_sse5" = "yes" ; then COMP_VENDOR_CFLAGS="-msse5 $COMP_VENDOR_CFLAGS" fi @@ -320,7 +326,7 @@ esac ;; sun) - COMP_VENDOR_CFLAGS="-xc99=all -mt -xCC -errwarn=%all -xvpara" + COMP_VENDOR_CFLAGS="-xc99=all -mt -xCC -errwarn=%all -xvpara $COMP_VENDOR_CFLAGS" if test "$enable_sse3" = "yes" ; then COMP_VENDOR_CFLAGS="-native -fast $COMP_VENDOR_CFLAGS" fi @@ -336,7 +342,7 @@ COMP_VENDOR_LDFLAGS= ;; *) - COMP_VENDOR_CFLAGS="-std=c99 -Wall -Wunused-variable -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes" + COMP_VENDOR_CFLAGS="-std=c99 -Wall -Wunused-variable -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes $COMP_VENDOR_CFLAGS" COMP_VENDOR_LDFLAGS= ;; esac @@ -407,6 +413,7 @@ AC_SUBST(TESTLIBS) AC_SUBST(SPANDSP_USE_FIXED_POINT) AC_SUBST(SPANDSP_MISALIGNED_ACCESS_FAILS) +AC_SUBST(SPANDSP_USE_EXPORT_CAPABILITY) AC_SUBST(INSERT_INTTYPES_HEADER) AC_SUBST(INSERT_STDINT_HEADER) AC_SUBST(INSERT_TGMATH_HEADER) Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g1050.c,v 1.11 2009/01/16 15:13:16 steveu Exp $ + * $Id: g1050.c,v 1.12 2009/01/31 08:48:10 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -1070,10 +1070,10 @@ } /*- End of function --------------------------------------------------------*/ -g1050_state_t *g1050_init(int model, - int speed_pattern, - int packet_size, - int packet_rate) +SPAN_DECLARE(g1050_state_t) *g1050_init(int model, + int speed_pattern, + int packet_size, + int packet_rate) { g1050_state_t *s; g1050_constants_t *constants; @@ -1169,7 +1169,7 @@ } /*- End of function --------------------------------------------------------*/ -void g1050_dump_parms(int model, int speed_pattern) +SPAN_DECLARE(void) g1050_dump_parms(int model, int speed_pattern) { g1050_channel_speeds_t *sp; g1050_model_t *mo; @@ -1189,7 +1189,7 @@ } /*- End of function --------------------------------------------------------*/ -int g1050_put(g1050_state_t *s, const uint8_t buf[], int len, int seq_no, double departure_time) +SPAN_DECLARE(int) g1050_put(g1050_state_t *s, const uint8_t buf[], int len, int seq_no, double departure_time) { g1050_queue_element_t *element; g1050_queue_element_t *e; @@ -1247,7 +1247,7 @@ } /*- End of function --------------------------------------------------------*/ -int g1050_get(g1050_state_t *s, uint8_t buf[], int max_len, double current_time, int *seq_no, double *departure_time, double *arrival_time) +SPAN_DECLARE(int) g1050_get(g1050_state_t *s, uint8_t buf[], int max_len, double current_time, int *seq_no, double *departure_time, double *arrival_time) { int len; g1050_queue_element_t *element; @@ -1295,7 +1295,7 @@ } /*- End of function --------------------------------------------------------*/ -void g1050_queue_dump(g1050_state_t *s) +SPAN_DECLARE(void) g1050_queue_dump(g1050_state_t *s) { g1050_queue_element_t *e; Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/g1050.h ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/g1050.h (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/g1050.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g1050.h,v 1.9 2009/01/16 15:13:16 steveu Exp $ + * $Id: g1050.h,v 1.10 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -269,26 +269,26 @@ { #endif -g1050_state_t *g1050_init(int model, - int speed_pattern, - int packet_size, - int packet_rate); +SPAN_DECLARE(g1050_state_t) *g1050_init(int model, + int speed_pattern, + int packet_size, + int packet_rate); void g1050_dump_parms(int model, int speed_pattern); -int g1050_put(g1050_state_t *s, - const uint8_t buf[], - int len, - int seq_no, - double departure_time); - -int g1050_get(g1050_state_t *s, - uint8_t buf[], - int max_len, - double current_time, - int *seq_no, - double *departure_time, - double *arrival_time); +SPAN_DECLARE(int) g1050_put(g1050_state_t *s, + const uint8_t buf[], + int len, + int seq_no, + double departure_time); + +SPAN_DECLARE(int) g1050_get(g1050_state_t *s, + uint8_t buf[], + int max_len, + double current_time, + int *seq_no, + double *departure_time, + double *arrival_time); void g1050_queue_dump(g1050_state_t *s); Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_model.h ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_model.h (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_model.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: line_model.h,v 1.4 2009/01/07 13:28:10 steveu Exp $ + * $Id: line_model.h,v 1.5 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -132,38 +132,38 @@ { #endif -void both_ways_line_model(both_ways_line_model_state_t *s, - int16_t output1[], - const int16_t input1[], - int16_t output2[], - const int16_t input2[], - int samples); +SPAN_DECLARE(void) both_ways_line_model(both_ways_line_model_state_t *s, + int16_t output1[], + const int16_t input1[], + int16_t output2[], + const int16_t input2[], + int samples); -void both_ways_line_model_set_dc(both_ways_line_model_state_t *s, float dc1, float dc2); +SPAN_DECLARE(void) both_ways_line_model_set_dc(both_ways_line_model_state_t *s, float dc1, float dc2); -void both_ways_line_model_set_mains_pickup(both_ways_line_model_state_t *s, int f, float level1, float level2); +SPAN_DECLARE(void) both_ways_line_model_set_mains_pickup(both_ways_line_model_state_t *s, int f, float level1, float level2); -both_ways_line_model_state_t *both_ways_line_model_init(int model1, - float noise1, - int model2, - float noise2, - int codec, - int rbs_pattern); +SPAN_DECLARE(both_ways_line_model_state_t) *both_ways_line_model_init(int model1, + float noise1, + int model2, + float noise2, + int codec, + int rbs_pattern); -int both_ways_line_model_release(both_ways_line_model_state_t *s); +SPAN_DECLARE(int) both_ways_line_model_release(both_ways_line_model_state_t *s); -void one_way_line_model(one_way_line_model_state_t *s, - int16_t output[], - const int16_t input[], - int samples); +SPAN_DECLARE(void) one_way_line_model(one_way_line_model_state_t *s, + int16_t output[], + const int16_t input[], + int samples); -void one_way_line_model_set_dc(one_way_line_model_state_t *s, float dc); +SPAN_DECLARE(void) one_way_line_model_set_dc(one_way_line_model_state_t *s, float dc); -void one_way_line_model_set_mains_pickup(one_way_line_model_state_t *s, int f, float level); +SPAN_DECLARE(void) one_way_line_model_set_mains_pickup(one_way_line_model_state_t *s, int f, float level); -one_way_line_model_state_t *one_way_line_model_init(int model, float noise, int codec, int rbs_pattern); +SPAN_DECLARE(one_way_line_model_state_t) *one_way_line_model_init(int model, float noise, int codec, int rbs_pattern); -int one_way_line_model_release(one_way_line_model_state_t *s); +SPAN_DECLARE(int) one_way_line_model_release(one_way_line_model_state_t *s); #ifdef __cplusplus } Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: rfc2198_sim.h,v 1.4 2008/09/09 16:13:12 steveu Exp $ + * $Id: rfc2198_sim.h,v 1.5 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -69,25 +69,25 @@ { #endif -rfc2198_sim_state_t *rfc2198_sim_init(int model, - int speed_pattern, - int packet_size, - int packet_rate, - int redundancy_depth); - -int rfc2198_sim_put(rfc2198_sim_state_t *s, - const uint8_t buf[], - int len, - int seq_no, - double departure_time); - -int rfc2198_sim_get(rfc2198_sim_state_t *s, - uint8_t buf[], - int max_len, - double current_time, - int *seq_no, - double *departure_time, - double *arrival_time); +SPAN_DECLARE(rfc2198_sim_state_t) *rfc2198_sim_init(int model, + int speed_pattern, + int packet_size, + int packet_rate, + int redundancy_depth); + +SPAN_DECLARE(int) rfc2198_sim_put(rfc2198_sim_state_t *s, + const uint8_t buf[], + int len, + int seq_no, + double departure_time); + +SPAN_DECLARE(int) rfc2198_sim_get(rfc2198_sim_state_t *s, + uint8_t buf[], + int max_len, + double current_time, + int *seq_no, + double *departure_time, + double *arrival_time); #ifdef __cplusplus } Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/test_utils.h ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/test_utils.h (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/test_utils.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: test_utils.h,v 1.6 2009/01/07 13:28:10 steveu Exp $ + * $Id: test_utils.h,v 1.7 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -51,25 +51,25 @@ extern "C" { #endif -complexify_state_t *complexify_init(void); +SPAN_DECLARE(complexify_state_t) *complexify_init(void); -void complexify_release(complexify_state_t *s); +SPAN_DECLARE(void) complexify_release(complexify_state_t *s); -complexf_t complexify(complexify_state_t *s, int16_t amp); +SPAN_DECLARE(complexf_t) complexify(complexify_state_t *s, int16_t amp); -void fft(complex_t data[], int len); +SPAN_DECLARE(void) fft(complex_t data[], int len); -void ifft(complex_t data[], int len); +SPAN_DECLARE(void) ifft(complex_t data[], int len); -codec_munge_state_t *codec_munge_init(int codec, int info); +SPAN_DECLARE(codec_munge_state_t) *codec_munge_init(int codec, int info); -void codec_munge_release(codec_munge_state_t *s); +SPAN_DECLARE(void) codec_munge_release(codec_munge_state_t *s); -void codec_munge(codec_munge_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(void) codec_munge(codec_munge_state_t *s, int16_t amp[], int len); -AFfilehandle afOpenFile_telephony_read(const char *name, int channels); +SPAN_DECLARE(AFfilehandle) afOpenFile_telephony_read(const char *name, int channels); -AFfilehandle afOpenFile_telephony_write(const char *name, int channels); +SPAN_DECLARE(AFfilehandle) afOpenFile_telephony_write(const char *name, int channels); #ifdef __cplusplus } Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: test_utils.c,v 1.10 2008/11/30 10:17:30 steveu Exp $ + * $Id: test_utils.c,v 1.11 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -72,7 +72,7 @@ static complex_t icircle[MAX_FFT_LEN/2]; static int icircle_init = FALSE; -complexify_state_t *complexify_init(void) +SPAN_DECLARE(complexify_state_t) *complexify_init(void) { complexify_state_t *s; int i; @@ -87,13 +87,13 @@ } /*- End of function --------------------------------------------------------*/ -void complexify_release(complexify_state_t *s) +SPAN_DECLARE(void) complexify_release(complexify_state_t *s) { free(s); } /*- End of function --------------------------------------------------------*/ -complexf_t complexify(complexify_state_t *s, int16_t amp) +SPAN_DECLARE(complexf_t) complexify(complexify_state_t *s, int16_t amp) { #define HILBERT_GAIN 1.569546344 static const float hilbert_coeffs[] = @@ -221,7 +221,7 @@ } /*- End of function --------------------------------------------------------*/ -void fft(complex_t data[], int len) +SPAN_DECLARE(void) fft(complex_t data[], int len) { int i; double x; @@ -241,7 +241,7 @@ } /*- End of function --------------------------------------------------------*/ -void ifft(complex_t data[], int len) +SPAN_DECLARE(void) ifft(complex_t data[], int len) { int i; double x; @@ -261,7 +261,7 @@ } /*- End of function --------------------------------------------------------*/ -codec_munge_state_t *codec_munge_init(int codec, int info) +SPAN_DECLARE(codec_munge_state_t) *codec_munge_init(int codec, int info) { codec_munge_state_t *s; @@ -300,13 +300,13 @@ } /*- End of function --------------------------------------------------------*/ -void codec_munge_release(codec_munge_state_t *s) +SPAN_DECLARE(void) codec_munge_release(codec_munge_state_t *s) { free(s); } /*- End of function --------------------------------------------------------*/ -void codec_munge(codec_munge_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(void) codec_munge(codec_munge_state_t *s, int16_t amp[], int len) { uint8_t law; uint8_t adpcmdata[160]; @@ -351,7 +351,7 @@ } /*- End of function --------------------------------------------------------*/ -AFfilehandle afOpenFile_telephony_read(const char *name, int channels) +SPAN_DECLARE(AFfilehandle) afOpenFile_telephony_read(const char *name, int channels) { float x; AFfilehandle handle; @@ -381,7 +381,7 @@ } /*- End of function --------------------------------------------------------*/ -AFfilehandle afOpenFile_telephony_write(const char *name, int channels) +SPAN_DECLARE(AFfilehandle) afOpenFile_telephony_write(const char *name, int channels) { AFfilesetup setup; AFfilehandle handle; Modified: freeswitch/trunk/libs/spandsp/src/Makefile.am ============================================================================== --- freeswitch/trunk/libs/spandsp/src/Makefile.am (original) +++ freeswitch/trunk/libs/spandsp/src/Makefile.am Mon Feb 2 11:40:52 2009 @@ -16,7 +16,7 @@ ## License along with this program; if not, write to the Free Software ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## -## $Id: Makefile.am,v 1.118 2009/01/30 05:35:18 steveu Exp $ +## $Id: Makefile.am,v 1.121 2009/01/31 12:24:11 steveu Exp $ AM_CFLAGS = $(COMP_VENDOR_CFLAGS) AM_LDFLAGS = $(COMP_VENDOR_LDFLAGS) @@ -33,8 +33,8 @@ msvc/inttypes.h \ msvc/tgmath.h \ msvc/unistd.h \ + msvc/spandsp.h \ msvc/sys/time.h \ - msvc/spandsp.def \ msvc/msvcproj.head \ msvc/msvcproj.foot \ msvc/vc8proj.head \ @@ -434,6 +434,15 @@ done; \ cat $(srcdir)/msvc/vc8proj.foot $(VCPROJOUT) ) +$(srcdir)/msvc/spandsp.h: spandsp.h.in + echo "creating $(srcdir)/msvc/spandsp.h" + @cp $(srcdir)/spandsp.h.in $(srcdir)/msvc/spandsp.h + @sed -i -e "s/\@SPANDSP_USE_FIXED_POINT\@/#undef SPANDSP_USE_FIXED_POINT/" $(srcdir)/msvc/spandsp.h + @sed -i -e "s/\@SPANDSP_MISALIGNED_ACCESS_FAILS\@/#undef SPANDSP_MISALIGNED_ACCESS_FAILS/" $(srcdir)/msvc/spandsp.h + @sed -i -e "s/\@SPANDSP_USE_EXPORT_CAPABILITY\@/#define SPANDSP_USE_EXPORT_CAPABILITY 1/" $(srcdir)/msvc/spandsp.h + @sed -i -e "s/\@INSERT_INTTYPES_HEADER\@/#include /" $(srcdir)/msvc/spandsp.h + @sed -i -e "s/\@INSERT_MATH_HEADER\@/#include /" $(srcdir)/msvc/spandsp.h + spandsp/version.h: NOWDATE=`date --utc +"%Y%m%d"` ; \ NOWTIME=`date --utc +"%H%M%S"` ; \ Modified: freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c (original) +++ freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bell_r2_mf.c,v 1.35 2009/01/29 18:30:14 steveu Exp $ + * $Id: bell_r2_mf.c,v 1.36 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -300,7 +300,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len) +int bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len) { size_t space; @@ -313,7 +313,7 @@ return 0; } if ((space = queue_free_space(&s->queue.queue)) < (size_t) len) - return len - space; + return len - (int) space; if (queue_write(&s->queue.queue, (const uint8_t *) digits, len) >= 0) return 0; return -1; Modified: freeswitch/trunk/libs/spandsp/src/complex_filters.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_filters.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_filters.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_filters.c,v 1.14 2009/01/05 13:48:31 steveu Exp $ + * $Id: complex_filters.c,v 1.15 2009/01/31 08:48:10 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -33,6 +33,7 @@ #include #include +#include "spandsp/telephony.h" #include "spandsp/complex.h" #include "spandsp/complex_filters.h" Modified: freeswitch/trunk/libs/spandsp/src/dtmf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dtmf.c (original) +++ freeswitch/trunk/libs/spandsp/src/dtmf.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dtmf.c,v 1.48 2009/01/29 18:30:14 steveu Exp $ + * $Id: dtmf.c,v 1.49 2009/01/31 08:48:10 steveu Exp $ */ /*! \file dtmf.h */ @@ -473,7 +473,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len) +int dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len) { size_t space; @@ -486,7 +486,7 @@ return 0; } if ((space = queue_free_space(&s->queue.queue)) < (size_t) len) - return len - space; + return len - (int) space; if (queue_write(&s->queue.queue, (const uint8_t *) digits, len) >= 0) return 0; return -1; Modified: freeswitch/trunk/libs/spandsp/src/hdlc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/hdlc.c (original) +++ freeswitch/trunk/libs/spandsp/src/hdlc.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: hdlc.c,v 1.66 2009/01/30 07:19:25 steveu Exp $ + * $Id: hdlc.c,v 1.68 2009/01/31 09:47:59 steveu Exp $ */ /*! \file */ @@ -138,7 +138,7 @@ /* We may have a frame, or we may have back to back flags */ if (s->len) { - if (s->num_bits == 7 && s->len >= s->crc_bytes && s->len <= s->max_frame_len) + if (s->num_bits == 7 && s->len >= (size_t) s->crc_bytes && s->len <= s->max_frame_len) { if ((s->crc_bytes == 2 && crc_itu16_check(s->buffer, s->len)) || @@ -166,7 +166,7 @@ { /* Don't let the length go below zero, or it will be confused with one of the special conditions. */ - if (s->len >= s->crc_bytes) + if (s->len >= (size_t) s->crc_bytes) s->len -= s->crc_bytes; else s->len = 0; @@ -452,7 +452,7 @@ } s->pos = HDLC_MAXFRAME_LEN; } - else if (s->pos == HDLC_MAXFRAME_LEN + s->crc_bytes) + else if (s->pos == (size_t) (HDLC_MAXFRAME_LEN + s->crc_bytes)) { /* Finish off the current byte with some flag bits. If we are at the start of a byte we need a at least one whole byte of flag to ensure Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.dsp ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.dsp (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.dsp Mon Feb 2 11:40:52 2009 @@ -1,95 +1,95 @@ -# Microsoft Developer Studio Project File - Name="spandsp" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=spandsp - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "spandsp.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "spandsp.mak" CFG="spandsp - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "spandsp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "spandsp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "spandsp - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /D "_WINDLL" /FR /FD /c -# SUBTRACT CPP /YX -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /map /debug /machine:I386 /out:"Release/libspandsp.dll" - -!ELSEIF "$(CFG)" == "spandsp - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /FR /FD /GZ /c -# SUBTRACT CPP /WX /YX -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"Debug/libspandsp.dll" /pdbtype:sept -# SUBTRACT LINK32 /nodefaultlib - -!ENDIF - -# Begin Target - -# Name "spandsp - Win32 Release" -# Name "spandsp - Win32 Debug" +# Microsoft Developer Studio Project File - Name="spandsp" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=spandsp - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "spandsp.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "spandsp.mak" CFG="spandsp - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "spandsp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "spandsp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "spandsp - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /D "_WINDLL" /FR /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /map /debug /machine:I386 /out:"Release/libspandsp.dll" + +!ELSEIF "$(CFG)" == "spandsp - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /FR /FD /GZ /c +# SUBTRACT CPP /WX /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"Debug/libspandsp.dll" /pdbtype:sept +# SUBTRACT LINK32 /nodefaultlib + +!ENDIF + +# Begin Target + +# Name "spandsp - Win32 Release" +# Name "spandsp - Win32 Debug" # Begin Group "Source Files" # Begin Source File @@ -898,10 +898,10 @@ SOURCE=.\spandsp.h # End Source File # End Group - -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project + +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj Mon Feb 2 11:40:52 2009 @@ -64,7 +64,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.foot ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.foot (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.foot Mon Feb 2 11:40:52 2009 @@ -1,7 +1,7 @@ - -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project + +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project Modified: freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.head ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.head (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.head Mon Feb 2 11:40:52 2009 @@ -1,92 +1,92 @@ -# Microsoft Developer Studio Project File - Name="spandsp" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=spandsp - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "spandsp.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "spandsp.mak" CFG="spandsp - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "spandsp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "spandsp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "spandsp - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /D "_WINDLL" /FR /FD /c -# SUBTRACT CPP /YX -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /map /debug /machine:I386 /out:"Release/libspandsp.dll" - -!ELSEIF "$(CFG)" == "spandsp - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /FR /FD /GZ /c -# SUBTRACT CPP /WX /YX -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"Debug/libspandsp.dll" /pdbtype:sept -# SUBTRACT LINK32 /nodefaultlib - -!ENDIF - -# Begin Target - -# Name "spandsp - Win32 Release" -# Name "spandsp - Win32 Debug" +# Microsoft Developer Studio Project File - Name="spandsp" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=spandsp - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "spandsp.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "spandsp.mak" CFG="spandsp - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "spandsp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "spandsp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "spandsp - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /D "_WINDLL" /FR /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /map /debug /machine:I386 /out:"Release/libspandsp.dll" + +!ELSEIF "$(CFG)" == "spandsp - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D HAVE_TGMATH_H /FR /FD /GZ /c +# SUBTRACT CPP /WX /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib ws2_32.lib winmm.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"Debug/libspandsp.dll" /pdbtype:sept +# SUBTRACT LINK32 /nodefaultlib + +!ENDIF + +# Begin Target + +# Name "spandsp - Win32 Release" +# Name "spandsp - Win32 Debug" Modified: freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: spandsp.h.in,v 1.14 2009/01/07 13:31:53 steveu Exp $ + * $Id: spandsp.h.in,v 1.15 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -33,6 +33,8 @@ #undef SPANDSP_USE_FIXED_POINT #undef SPANDSP_MISALIGNED_ACCESS_FAILS +#define SPANDSP_USE_EXPORT_CAPABILITY 1 + #include #include #include Modified: freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.foot ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.foot (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.foot Mon Feb 2 11:40:52 2009 @@ -5,10 +5,6 @@ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" > - - Modified: freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head Mon Feb 2 11:40:52 2009 @@ -64,7 +64,6 @@ #include -#define FULLY_DEFINE_QUEUE_STATE_T +#define SPANDSP_FULLY_DEFINE_QUEUE_STATE_T +#include "spandsp/telephony.h" #include "spandsp/queue.h" #include "spandsp/private/queue.h" Modified: freeswitch/trunk/libs/spandsp/src/spandsp.h.in ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp.h.in (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp.h.in Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: spandsp.h.in,v 1.14 2009/01/07 13:31:53 steveu Exp $ + * $Id: spandsp.h.in,v 1.15 2009/01/31 08:48:10 steveu Exp $ */ /*! \file */ @@ -33,6 +33,8 @@ @SPANDSP_USE_FIXED_POINT@ @SPANDSP_MISALIGNED_ACCESS_FAILS@ + at SPANDSP_USE_EXPORT_CAPABILITY@ + #include @INSERT_INTTYPES_HEADER@ #include Modified: freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: adsi.h,v 1.33 2008/10/13 14:19:18 steveu Exp $ + * $Id: adsi.h,v 1.34 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -392,9 +392,9 @@ \param user_data An opaque pointer for the callback routine. \return A pointer to the initialised context, or NULL if there was a problem. */ -adsi_rx_state_t *adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data); +SPAN_DECLARE(adsi_rx_state_t) *adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data); -int adsi_rx_free(adsi_rx_state_t *s); +SPAN_DECLARE(int) adsi_rx_free(adsi_rx_state_t *s); /*! \brief Receive a chunk of ADSI audio. \param s The ADSI receive context. @@ -402,16 +402,16 @@ \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int adsi_rx(adsi_rx_state_t *s, const int16_t *amp, int len); +SPAN_DECLARE(int) adsi_rx(adsi_rx_state_t *s, const int16_t *amp, int len); /*! \brief Initialise an ADSI transmit context. \param s The ADSI transmit context. \param standard The code for the ADSI standard to be used. \return A pointer to the initialised context, or NULL if there was a problem. */ -adsi_tx_state_t *adsi_tx_init(adsi_tx_state_t *s, int standard); +SPAN_DECLARE(adsi_tx_state_t) *adsi_tx_init(adsi_tx_state_t *s, int standard); -int adsi_tx_free(adsi_tx_state_t *s); +SPAN_DECLARE(int) adsi_tx_free(adsi_tx_state_t *s); /*! \brief Adjust the preamble associated with an ADSI transmit context. \param s The ADSI transmit context. @@ -420,11 +420,11 @@ \param postamble_ones_len The number of bits of continuous one after a message. \param stop_bits The number of stop bits per character. */ -void adsi_tx_set_preamble(adsi_tx_state_t *s, - int preamble_len, - int preamble_ones_len, - int postamble_ones_len, - int stop_bits); +SPAN_DECLARE(void) adsi_tx_set_preamble(adsi_tx_state_t *s, + int preamble_len, + int preamble_ones_len, + int postamble_ones_len, + int stop_bits); /*! \brief Generate a block of ADSI audio samples. \param s The ADSI transmit context. @@ -432,12 +432,12 @@ \param max_len The number of samples to be generated. \return The number of samples actually generated. */ -int adsi_tx(adsi_tx_state_t *s, int16_t *amp, int max_len); +SPAN_DECLARE(int) adsi_tx(adsi_tx_state_t *s, int16_t *amp, int max_len); /*! \brief Request generation of an ADSI alert tone. \param s The ADSI transmit context. */ -void adsi_tx_send_alert_tone(adsi_tx_state_t *s); +SPAN_DECLARE(void) adsi_tx_send_alert_tone(adsi_tx_state_t *s); /*! \brief Put a message into the input buffer of an ADSI transmit context. \param s The ADSI transmit context. @@ -447,7 +447,7 @@ in the transmitter, this function will return zero, as it will not successfully add the message to the buffer. */ -int adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len); +SPAN_DECLARE(int) adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len); /*! \brief Get a field from an ADSI message. \param s The ADSI receive context. @@ -458,7 +458,7 @@ \param field_body Pointer to the body of the field. \param field_len The length of the field, or -1 for no more fields, or -2 for message structure corrupt. */ -int adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len); +SPAN_DECLARE(int) adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len); /*! \brief Insert the header or a field into an ADSI message. \param s The ADSI transmit context. @@ -468,13 +468,13 @@ \param field_body Pointer to the body of the new field. \param field_len The length of the new field. */ -int adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len); +SPAN_DECLARE(int) adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len); /*! \brief Return a short name for an ADSI standard \param standard The code for the standard. \return A pointer to the name. */ -const char *adsi_standard_to_str(int standard); +SPAN_DECLARE(const char) *adsi_standard_to_str(int standard); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/async.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/async.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/async.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: async.h,v 1.19 2008/11/30 10:17:31 steveu Exp $ + * $Id: async.h,v 1.20 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -138,7 +138,7 @@ \brief Convert a signal status to a short text description. \param status The modem signal status. \return A pointer to the description. */ -const char *signal_status_to_str(int status); +SPAN_DECLARE(const char) *signal_status_to_str(int status); /*! Initialise an asynchronous data transmit context. \brief Initialise an asynchronous data transmit context. @@ -150,19 +150,19 @@ \param get_byte The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ -async_tx_state_t *async_tx_init(async_tx_state_t *s, - int data_bits, - int parity_bits, - int stop_bits, - int use_v14, - get_byte_func_t get_byte, - void *user_data); +SPAN_DECLARE(async_tx_state_t) *async_tx_init(async_tx_state_t *s, + int data_bits, + int parity_bits, + int stop_bits, + int use_v14, + get_byte_func_t get_byte, + void *user_data); /*! Get the next bit of a transmitted serial bit stream. \brief Get the next bit of a transmitted serial bit stream. \param user_data An opaque point which must point to a transmitter context. \return the next bit, or PUTBIT_END_OF_DATA to indicate the data stream has ended. */ -int async_tx_get_bit(void *user_data); +SPAN_DECLARE(int) async_tx_get_bit(void *user_data); /*! Initialise an asynchronous data receiver context. \brief Initialise an asynchronous data receiver context. @@ -174,13 +174,13 @@ \param put_byte The callback routine used to put the received data. \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ -async_rx_state_t *async_rx_init(async_rx_state_t *s, - int data_bits, - int parity_bits, - int stop_bits, - int use_v14, - put_byte_func_t put_byte, - void *user_data); +SPAN_DECLARE(async_rx_state_t) *async_rx_init(async_rx_state_t *s, + int data_bits, + int parity_bits, + int stop_bits, + int use_v14, + put_byte_func_t put_byte, + void *user_data); /*! Accept a bit from a received serial bit stream \brief Accept a bit from a received serial bit stream @@ -191,7 +191,7 @@ - SIG_STATUS_TRAINING_SUCCEEDED - SIG_STATUS_TRAINING_FAILED - SIG_STATUS_END_OF_DATA */ -void async_rx_put_bit(void *user_data, int bit); +SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: at_interpreter.h,v 1.20 2008/11/30 05:43:37 steveu Exp $ + * $Id: at_interpreter.h,v 1.21 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -138,32 +138,32 @@ { #endif -void at_set_at_rx_mode(at_state_t *s, int new_mode); +SPAN_DECLARE(void) at_set_at_rx_mode(at_state_t *s, int new_mode); -void at_put_response(at_state_t *s, const char *t); +SPAN_DECLARE(void) at_put_response(at_state_t *s, const char *t); -void at_put_numeric_response(at_state_t *s, int val); +SPAN_DECLARE(void) at_put_numeric_response(at_state_t *s, int val); -void at_put_response_code(at_state_t *s, int code); +SPAN_DECLARE(void) at_put_response_code(at_state_t *s, int code); -void at_reset_call_info(at_state_t *s); +SPAN_DECLARE(void) at_reset_call_info(at_state_t *s); /*! Set the call information for an AT interpreter. \brief Set the call information for an AT interpreter. \param s The AT interpreter context. \param id . \param value . */ -void at_set_call_info(at_state_t *s, char const *id, char const *value); +SPAN_DECLARE(void) at_set_call_info(at_state_t *s, char const *id, char const *value); -void at_display_call_info(at_state_t *s); +SPAN_DECLARE(void) at_display_call_info(at_state_t *s); -int at_modem_control(at_state_t *s, int op, const char *num); +SPAN_DECLARE(int) at_modem_control(at_state_t *s, int op, const char *num); -void at_call_event(at_state_t *s, int event); +SPAN_DECLARE(void) at_call_event(at_state_t *s, int event); -void at_interpreter(at_state_t *s, const char *cmd, int len); +SPAN_DECLARE(void) at_interpreter(at_state_t *s, const char *cmd, int len); -void at_set_class1_handler(at_state_t *s, at_class1_handler_t handler, void *user_data); +SPAN_DECLARE(void) at_set_class1_handler(at_state_t *s, at_class1_handler_t handler, void *user_data); /*! Initialise an AT interpreter context. \brief Initialise an AT interpreter context. @@ -173,17 +173,17 @@ \param modem_control_handler x. \param modem_control_user_data x. \return A pointer to the AT context, or NULL if there was a problem. */ -at_state_t *at_init(at_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - at_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data); +SPAN_DECLARE(at_state_t) *at_init(at_state_t *s, + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + at_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data); /*! Free an AT interpreter context. \brief Free an AT interpreter context. \param s The AT context. \return 0 for OK */ -int at_free(at_state_t *s); +SPAN_DECLARE(int) at_free(at_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: awgn.h,v 1.15 2008/11/30 12:38:27 steveu Exp $ + * $Id: awgn.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -78,11 +78,11 @@ { #endif -awgn_state_t *awgn_init_dbm0(awgn_state_t *s, int idum, float level); +SPAN_DECLARE(awgn_state_t) *awgn_init_dbm0(awgn_state_t *s, int idum, float level); -awgn_state_t *awgn_init_dbov(awgn_state_t *s, int idum, float level); +SPAN_DECLARE(awgn_state_t) *awgn_init_dbov(awgn_state_t *s, int idum, float level); -int16_t awgn(awgn_state_t *s); +SPAN_DECLARE(int16_t) awgn(awgn_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bell_r2_mf.h,v 1.21 2008/10/13 14:19:18 steveu Exp $ + * $Id: bell_r2_mf.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -136,7 +136,7 @@ \param max_samples The required number of generated samples. \return The number of samples actually generated. This may be less than max_samples if the input buffer empties. */ -int bell_mf_tx(bell_mf_tx_state_t *s, int16_t amp[], int max_samples); +SPAN_DECLARE(int) bell_mf_tx(bell_mf_tx_state_t *s, int16_t amp[], int max_samples); /*! \brief Put a string of digits in a Bell MF generator's input buffer. \param s The Bell MF generator context. @@ -145,42 +145,42 @@ assumed to be a NULL terminated string. \return The number of digits actually added. This may be less than the length of the digit string, if the buffer fills up. */ -size_t bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len); +SPAN_DECLARE(int) bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len); /*! \brief Initialise a Bell MF generator context. \param s The Bell MF generator context. \return A pointer to the Bell MF generator context.*/ -bell_mf_tx_state_t *bell_mf_tx_init(bell_mf_tx_state_t *s); +SPAN_DECLARE(bell_mf_tx_state_t) *bell_mf_tx_init(bell_mf_tx_state_t *s); /*! \brief Free a Bell MF generator context. \param s The Bell MF generator context. \return 0 for OK, else -1. */ -int bell_mf_tx_free(bell_mf_tx_state_t *s); +SPAN_DECLARE(int) bell_mf_tx_free(bell_mf_tx_state_t *s); /*! \brief Generate a block of R2 MF tones. \param s The R2 MF generator context. \param amp The buffer for the generated signal. \param samples The required number of generated samples. \return The number of samples actually generated. */ -int r2_mf_tx(r2_mf_tx_state_t *s, int16_t amp[], int samples); +SPAN_DECLARE(int) r2_mf_tx(r2_mf_tx_state_t *s, int16_t amp[], int samples); /*! \brief Generate a block of R2 MF tones. \param s The R2 MF generator context. \param digit The digit to be generated. \return 0 for OK, or -1 for a bad request. */ -int r2_mf_tx_put(r2_mf_tx_state_t *s, char digit); +SPAN_DECLARE(int) r2_mf_tx_put(r2_mf_tx_state_t *s, char digit); /*! \brief Initialise an R2 MF tone generator context. \param s The R2 MF generator context. \param fwd TRUE if the context is for forward signals. FALSE if the context is for backward signals. \return A pointer to the MFC/R2 generator context.*/ -r2_mf_tx_state_t *r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd); +SPAN_DECLARE(r2_mf_tx_state_t) *r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd); /*! \brief Free an R2 MF tone generator context. \param s The R2 MF tone generator context. \return 0 for OK, else -1. */ -int r2_mf_tx_free(r2_mf_tx_state_t *s); +SPAN_DECLARE(int) r2_mf_tx_free(r2_mf_tx_state_t *s); /*! Process a block of received Bell MF audio samples. \brief Process a block of received Bell MF audio samples. @@ -188,14 +188,14 @@ \param amp The audio sample buffer. \param samples The number of samples in the buffer. \return The number of samples unprocessed. */ -int bell_mf_rx(bell_mf_rx_state_t *s, const int16_t amp[], int samples); +SPAN_DECLARE(int) bell_mf_rx(bell_mf_rx_state_t *s, const int16_t amp[], int samples); /*! \brief Get a string of digits from a Bell MF receiver's output buffer. \param s The Bell MF receiver context. \param buf The buffer for the received digits. \param max The maximum number of digits to be returned, \return The number of digits actually returned. */ -size_t bell_mf_rx_get(bell_mf_rx_state_t *s, char *buf, int max); +SPAN_DECLARE(size_t) bell_mf_rx_get(bell_mf_rx_state_t *s, char *buf, int max); /*! \brief Initialise a Bell MF receiver context. \param s The Bell MF receiver context. @@ -205,14 +205,14 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the Bell MF receiver context.*/ -bell_mf_rx_state_t *bell_mf_rx_init(bell_mf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data); +SPAN_DECLARE(bell_mf_rx_state_t) *bell_mf_rx_init(bell_mf_rx_state_t *s, + digits_rx_callback_t callback, + void *user_data); /*! \brief Free a Bell MF receiver context. \param s The Bell MF receiver context. \return 0 for OK, else -1. */ -int bell_mf_rx_free(bell_mf_rx_state_t *s); +SPAN_DECLARE(int) bell_mf_rx_free(bell_mf_rx_state_t *s); /*! Process a block of received R2 MF audio samples. \brief Process a block of received R2 MF audio samples. @@ -220,12 +220,12 @@ \param amp The audio sample buffer. \param samples The number of samples in the buffer. \return The number of samples unprocessed. */ -int r2_mf_rx(r2_mf_rx_state_t *s, const int16_t amp[], int samples); +SPAN_DECLARE(int) r2_mf_rx(r2_mf_rx_state_t *s, const int16_t amp[], int samples); /*! \brief Get the current digit from an R2 MF receiver. \param s The R2 MF receiver context. \return The number digits being received. */ -int r2_mf_rx_get(r2_mf_rx_state_t *s); +SPAN_DECLARE(int) r2_mf_rx_get(r2_mf_rx_state_t *s); /*! \brief Initialise an R2 MF receiver context. \param s The R2 MF receiver context. @@ -237,15 +237,15 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the R2 MF receiver context. */ -r2_mf_rx_state_t *r2_mf_rx_init(r2_mf_rx_state_t *s, - int fwd, - tone_report_func_t callback, - void *user_data); +SPAN_DECLARE(r2_mf_rx_state_t) *r2_mf_rx_init(r2_mf_rx_state_t *s, + int fwd, + tone_report_func_t callback, + void *user_data); /*! \brief Free an R2 MF receiver context. \param s The R2 MF receiver context. \return 0 for OK, else -1. */ -int r2_mf_rx_free(r2_mf_rx_state_t *s); +SPAN_DECLARE(int) r2_mf_rx_free(r2_mf_rx_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bert.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bert.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bert.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bert.h,v 1.20 2008/11/30 12:38:27 steveu Exp $ + * $Id: bert.h,v 1.21 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_BERT_H_) @@ -116,7 +116,7 @@ /*! Return a short description of a BERT event. \param event The event type. \return A pointer to a short text string describing the event. */ -const char *bert_event_to_str(int event); +SPAN_DECLARE(const char) *bert_event_to_str(int event); /*! Initialise a BERT context. \param s The BERT context. @@ -125,30 +125,30 @@ \param resync_len ??? \param resync_percent The percentage of bad bits which will cause a resync. \return The BERT context. */ -bert_state_t *bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent); +SPAN_DECLARE(bert_state_t) *bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent); /*! Get the next bit of the BERT sequence from the generator. \param s The BERT context. \return The bit. */ -int bert_get_bit(bert_state_t *s); +SPAN_DECLARE(int) bert_get_bit(bert_state_t *s); /*! Put the next bit of the BERT sequence to the analyser. \param s The BERT context. \param bit The bit. */ -void bert_put_bit(bert_state_t *s, int bit); +SPAN_DECLARE(void) bert_put_bit(bert_state_t *s, int bit); /*! Set the callback function for reporting the test status. \param s The BERT context. \param freq The required frequency of regular reports. \param reporter The callback function. \param user_data An opaque pointer passed to the reporter routine. */ -void bert_set_report(bert_state_t *s, int freq, bert_report_func_t reporter, void *user_data); +SPAN_DECLARE(void) bert_set_report(bert_state_t *s, int freq, bert_report_func_t reporter, void *user_data); /*! Get the results of the BERT. \param s The BERT context. \param results The results. \return The size of the result structure. */ -int bert_result(bert_state_t *s, bert_results_t *results); +SPAN_DECLARE(int) bert_result(bert_state_t *s, bert_results_t *results); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bit_operations.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bit_operations.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bit_operations.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bit_operations.h,v 1.23 2008/10/13 23:41:40 steveu Exp $ + * $Id: bit_operations.h,v 1.24 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -167,45 +167,45 @@ /*! \brief Bit reverse a 16 bit word. \param data The word to be reversed. \return The bit reversed version of data. */ -uint16_t bit_reverse16(uint16_t data); +SPAN_DECLARE(uint16_t) bit_reverse16(uint16_t data); /*! \brief Bit reverse a 32 bit word. \param data The word to be reversed. \return The bit reversed version of data. */ -uint32_t bit_reverse32(uint32_t data); +SPAN_DECLARE(uint32_t) bit_reverse32(uint32_t data); /*! \brief Bit reverse each of the four bytes in a 32 bit word. \param data The word to be reversed. \return The bit reversed version of data. */ -uint32_t bit_reverse_4bytes(uint32_t data); +SPAN_DECLARE(uint32_t) bit_reverse_4bytes(uint32_t data); #if defined(__x86_64__) /*! \brief Bit reverse each of the eight bytes in a 64 bit word. \param data The word to be reversed. \return The bit reversed version of data. */ -uint64_t bit_reverse_8bytes(uint64_t data); +SPAN_DECLARE(uint64_t) bit_reverse_8bytes(uint64_t data); #endif /*! \brief Bit reverse each bytes in a buffer. \param to The buffer to place the reversed data in. \param from The buffer containing the data to be reversed. \param len The length of the data in the buffer. */ -void bit_reverse(uint8_t to[], const uint8_t from[], int len); +SPAN_DECLARE(void) bit_reverse(uint8_t to[], const uint8_t from[], int len); /*! \brief Find the number of set bits in a 32 bit word. \param x The word to be searched. \return The number of set bits. */ -int one_bits32(uint32_t x); +SPAN_DECLARE(int) one_bits32(uint32_t x); /*! \brief Create a mask as wide as the number in a 32 bit word. \param x The word to be searched. \return The mask. */ -uint32_t make_mask32(uint32_t x); +SPAN_DECLARE(uint32_t) make_mask32(uint32_t x); /*! \brief Create a mask as wide as the number in a 16 bit word. \param x The word to be searched. \return The mask. */ -uint16_t make_mask16(uint16_t x); +SPAN_DECLARE(uint16_t) make_mask16(uint16_t x); /*! \brief Find the least significant one in a word, and return a word with just that bit set. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_filters.h,v 1.12 2008/04/17 14:27:00 steveu Exp $ + * $Id: complex_filters.h,v 1.13 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_COMPLEX_FILTERS_H_) @@ -35,23 +35,23 @@ /*! Filter state */ typedef struct { - int nz; - int np; - filter_step_func_t fsf; + int nz; + int np; + filter_step_func_t fsf; } fspec_t; struct filter_s { - fspec_t *fs; - float sum; - int ptr; /* for moving average filters only */ - float v[]; + fspec_t *fs; + float sum; + int ptr; /* Only for moving average filters */ + float v[]; }; typedef struct { - filter_t *ref; - filter_t *imf; + filter_t *ref; + filter_t *imf; } cfilter_t; #if defined(__cplusplus) @@ -59,13 +59,13 @@ { #endif -filter_t *filter_create(fspec_t *fs); -void filter_delete(filter_t *fi); -float filter_step(filter_t *fi, float x); - -cfilter_t *cfilter_create(fspec_t *fs); -void cfilter_delete(cfilter_t *cfi); -complexf_t cfilter_step(cfilter_t *cfi, const complexf_t *z); +SPAN_DECLARE(filter_t) *filter_create(fspec_t *fs); +SPAN_DECLARE(void) filter_delete(filter_t *fi); +SPAN_DECLARE(float) filter_step(filter_t *fi, float x); + +SPAN_DECLARE(cfilter_t) *cfilter_create(fspec_t *fs); +SPAN_DECLARE(void) cfilter_delete(cfilter_t *cfi); +SPAN_DECLARE(complexf_t) cfilter_step(cfilter_t *cfi, const complexf_t *z); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_vector_float.h,v 1.11 2008/10/09 13:25:19 steveu Exp $ + * $Id: complex_vector_float.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_COMPLEX_VECTOR_FLOAT_H_) @@ -120,9 +120,9 @@ /*- End of function --------------------------------------------------------*/ #endif -void cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n); +SPAN_DECLARE(void) cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n); -void cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n); +SPAN_DECLARE(void) cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n); #if defined(HAVE_LONG_DOUBLE) void cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n); @@ -133,14 +133,14 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -complexf_t cvec_dot_prodf(const complexf_t x[], const complexf_t y[], int n); +SPAN_DECLARE(complexf_t) cvec_dot_prodf(const complexf_t x[], const complexf_t y[], int n); /*! \brief Find the dot product of two complex double vectors. \param x The first vector. \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -complex_t cvec_dot_prod(const complex_t x[], const complex_t y[], int n); +SPAN_DECLARE(complex_t) cvec_dot_prod(const complex_t x[], const complex_t y[], int n); #if defined(HAVE_LONG_DOUBLE) /*! \brief Find the dot product of two complex long double vectors. @@ -148,7 +148,7 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -complexl_t cvec_dot_prodl(const complexl_t x[], const complexl_t y[], int n); +SPAN_DECLARE(complexl_t) cvec_dot_prodl(const complexl_t x[], const complexl_t y[], int n); #endif /*! \brief Find the dot product of two complex float vectors, where the first is a circular buffer @@ -158,11 +158,11 @@ \param n The number of elements in the vectors. \param pos The starting position in the x vector. \return The dot product of the two vectors. */ -complexf_t cvec_circular_dot_prodf(const complexf_t x[], const complexf_t y[], int n, int pos); +SPAN_DECLARE(complexf_t) cvec_circular_dot_prodf(const complexf_t x[], const complexf_t y[], int n, int pos); -void cvec_lmsf(const complexf_t x[], complexf_t y[], int n, const complexf_t *error); +SPAN_DECLARE(void) cvec_lmsf(const complexf_t x[], complexf_t y[], int n, const complexf_t *error); -void cvec_circular_lmsf(const complexf_t x[], complexf_t y[], int n, int pos, const complexf_t *error); +SPAN_DECLARE(void) cvec_circular_lmsf(const complexf_t x[], complexf_t y[], int n, int pos, const complexf_t *error); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_int.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_int.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_int.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_vector_int.h,v 1.3 2008/09/18 13:16:49 steveu Exp $ + * $Id: complex_vector_int.h,v 1.4 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_COMPLEX_VECTOR_INT_H_) @@ -101,14 +101,14 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -complexi32_t cvec_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n); +SPAN_DECLARE(complexi32_t) cvec_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n); /*! \brief Find the dot product of two complex int32_t vectors. \param x The first vector. \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -complexi32_t cvec_dot_prodi32(const complexi32_t x[], const complexi32_t y[], int n); +SPAN_DECLARE(complexi32_t) cvec_dot_prodi32(const complexi32_t x[], const complexi32_t y[], int n); /*! \brief Find the dot product of two complex int16_t vectors, where the first is a circular buffer with an offset for the starting position. @@ -117,11 +117,11 @@ \param n The number of elements in the vectors. \param pos The starting position in the x vector. \return The dot product of the two vectors. */ -complexi32_t cvec_circular_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n, int pos); +SPAN_DECLARE(complexi32_t) cvec_circular_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n, int pos); -void cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n, const complexi16_t *error); +SPAN_DECLARE(void) cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n, const complexi16_t *error); -void cvec_circular_lmsi16(const complexi16_t x[], complexi16_t y[], int n, int pos, const complexi16_t *error); +SPAN_DECLARE(void) cvec_circular_lmsi16(const complexi16_t x[], complexi16_t y[], int n, int pos, const complexi16_t *error); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/crc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/crc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/crc.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: crc.h,v 1.4 2008/04/17 14:27:00 steveu Exp $ + * $Id: crc.h,v 1.5 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -49,7 +49,7 @@ the application). It is previous returned CRC value for the continuation of a block. \return The CRC value. */ -uint32_t crc_itu32_calc(const uint8_t *buf, int len, uint32_t crc); +SPAN_DECLARE(uint32_t) crc_itu32_calc(const uint8_t *buf, int len, uint32_t crc); /*! \brief Append an ITU/CCITT CRC-32 value to a frame. \param buf The buffer containing the frame. This must be at least 2 bytes longer than @@ -57,14 +57,14 @@ \param len The length of the frame. \return The new length of the frame. */ -int crc_itu32_append(uint8_t *buf, int len); +SPAN_DECLARE(int) crc_itu32_append(uint8_t *buf, int len); /*! \brief Check the ITU/CCITT CRC-32 value in a frame. \param buf The buffer containing the frame. \param len The length of the frame. \return TRUE if the CRC is OK, else FALSE. */ -int crc_itu32_check(const uint8_t *buf, int len); +SPAN_DECLARE(int) crc_itu32_check(const uint8_t *buf, int len); /*! \brief Calculate the ITU/CCITT CRC-16 value in buffer. \param buf The buffer containing the data. @@ -73,7 +73,7 @@ the application). It is previous returned CRC value for the continuation of a block. \return The CRC value. */ -uint16_t crc_itu16_calc(const uint8_t *buf, int len, uint16_t crc); +SPAN_DECLARE(uint16_t) crc_itu16_calc(const uint8_t *buf, int len, uint16_t crc); /*! \brief Append an ITU/CCITT CRC-16 value to a frame. \param buf The buffer containing the frame. This must be at least 2 bytes longer than @@ -81,14 +81,14 @@ \param len The length of the frame. \return The new length of the frame. */ -int crc_itu16_append(uint8_t *buf, int len); +SPAN_DECLARE(int) crc_itu16_append(uint8_t *buf, int len); /*! \brief Check the ITU/CCITT CRC-16 value in a frame. \param buf The buffer containing the frame. \param len The length of the frame. \return TRUE if the CRC is OK, else FALSE. */ -int crc_itu16_check(const uint8_t *buf, int len); +SPAN_DECLARE(int) crc_itu16_check(const uint8_t *buf, int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/dds.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/dds.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/dds.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dds.h,v 1.22 2009/01/29 01:41:06 steveu Exp $ + * $Id: dds.h,v 1.23 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -39,57 +39,57 @@ \param frequency The desired frequency, in Hz. \return The phase rate which while achieve the desired frequency. */ -int32_t dds_phase_rate(float frequency); +SPAN_DECLARE(int32_t) dds_phase_rate(float frequency); /*! \brief Find the frequency, in Hz, equivalent to a phase rate. \param phase_rate The phase rate. \return The equivalent frequency, in Hz. */ -float dds_frequency(int32_t phase_rate); +SPAN_DECLARE(float) dds_frequency(int32_t phase_rate); /*! \brief Find the scaling factor needed to achieve a specified level in dBm0. \param level The desired signal level, in dBm0. \return The scaling factor. */ -int16_t dds_scaling_dbm0(float level); +SPAN_DECLARE(int16_t) dds_scaling_dbm0(float level); /*! \brief Find the scaling factor needed to achieve a specified level in dBmov. \param level The desired signal level, in dBmov. \return The scaling factor. */ -int16_t dds_scaling_dbov(float level); +SPAN_DECLARE(int16_t) dds_scaling_dbov(float level); /*! \brief Find the amplitude for a particular phase. \param phase The desired phase 32 bit phase. \return The signal amplitude. */ -int16_t dds_lookup(uint32_t phase); +SPAN_DECLARE(int16_t) dds_lookup(uint32_t phase); /*! \brief Find the amplitude for a particular phase offset from an accumulated phase. \param phase_acc The accumulated phase. \param phase_offset The phase offset. \return The signal amplitude. */ -int16_t dds_offset(uint32_t phase_acc, int32_t phase_offset); +SPAN_DECLARE(int16_t) dds_offset(uint32_t phase_acc, int32_t phase_offset); /*! \brief Advance the phase, without returning any new signal sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. */ -void dds_advance(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(void) dds_advance(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Generate an integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The signal amplitude, between -32767 and 32767. */ -int16_t dds(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(int16_t) dds(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Lookup the integer value of a specified phase. \param phase The phase accumulator value to be looked up. \return The signal amplitude, between -32767 and 32767. */ -int16_t dds_lookup(uint32_t phase); +SPAN_DECLARE(int16_t) dds_lookup(uint32_t phase); /*! \brief Generate an integer tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -98,20 +98,20 @@ \param phase The phase offset. \return The signal amplitude, between -32767 and 32767. */ -int16_t dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); +SPAN_DECLARE(int16_t) dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); /*! \brief Lookup the complex integer value of a specified phase. \param phase The phase accumulator value to be looked up. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi_t dds_lookup_complexi(uint32_t phase); +SPAN_DECLARE(complexi_t) dds_lookup_complexi(uint32_t phase); /*! \brief Generate a complex integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi_t dds_complexi(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(complexi_t) dds_complexi(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Generate a complex integer tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -120,21 +120,21 @@ \param phase The phase offset. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi_t dds_complexi_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); +SPAN_DECLARE(complexi_t) dds_complexi_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); /*! \brief Generate a complex 16 bit integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi16_t dds_lookup_complexi16(uint32_t phase); +SPAN_DECLARE(complexi16_t) dds_lookup_complexi16(uint32_t phase); /*! \brief Generate a complex 16 bit integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi16_t dds_complexi16(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(complexi16_t) dds_complexi16(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Generate a complex 16bit integer tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -143,7 +143,7 @@ \param phase The phase offset. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi16_t dds_complexi16_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); +SPAN_DECLARE(complexi16_t) dds_complexi16_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); /*! \brief Generate a complex 32 bit integer tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -152,21 +152,21 @@ \param phase The phase offset. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi32_t dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); +SPAN_DECLARE(complexi32_t) dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); /*! \brief Generate a complex 32 bit integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi32_t dds_lookup_complexi32(uint32_t phase); +SPAN_DECLARE(complexi32_t) dds_lookup_complexi32(uint32_t phase); /*! \brief Generate a complex 32 bit integer tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi32_t dds_complexi32(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(complexi32_t) dds_complexi32(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Generate a complex 32 bit integer tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -175,50 +175,50 @@ \param phase The phase offset. \return The complex signal amplitude, between (-32767, -32767) and (32767, 32767). */ -complexi32_t dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); +SPAN_DECLARE(complexi32_t) dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase); /*! \brief Find the phase rate equivalent to a frequency, in Hz. \param frequency The frequency, in Hz. \return The equivalent phase rate. */ -int32_t dds_phase_ratef(float frequency); +SPAN_DECLARE(int32_t) dds_phase_ratef(float frequency); /*! \brief Find the frequency, in Hz, equivalent to a phase rate. \param phase_rate The phase rate. \return The equivalent frequency, in Hz. */ -float dds_frequencyf(int32_t phase_rate); +SPAN_DECLARE(float) dds_frequencyf(int32_t phase_rate); /*! \brief Find the scaling factor equivalent to a dBm0 value. \param level The signal level in dBm0. \return The equivalent scaling factor. */ -float dds_scaling_dbm0f(float level); +SPAN_DECLARE(float) dds_scaling_dbm0f(float level); /*! \brief Find the scaling factor equivalent to a dBmov value. \param level The signal level in dBmov. \return The equivalent scaling factor. */ -float dds_scaling_dbovf(float level); +SPAN_DECLARE(float) dds_scaling_dbovf(float level); /*! \brief Advance the phase, without returning any new signal sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. */ -void dds_advancef(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(void) dds_advancef(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Generate a floating point tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The signal amplitude, between -1.0 and 1.0. */ -float ddsf(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(float) ddsf(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Lookup the floating point value of a specified phase. \param phase The phase accumulator value to be looked up. \return The signal amplitude, between -1.0 and 1.0. */ -float dds_lookupf(uint32_t phase); +SPAN_DECLARE(float) dds_lookupf(uint32_t phase); /*! \brief Generate a floating point tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -227,20 +227,20 @@ \param phase The phase offset. \return The signal amplitude, between -1.0 and 1.0. */ -float dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase); +SPAN_DECLARE(float) dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase); /*! \brief Generate a complex floating point tone sample. \param phase_acc A pointer to a phase accumulator value. \param phase_rate The phase increment to be applied. \return The complex signal amplitude, between (-1.0, -1.0) and (1.0, 1.0). */ -complexf_t dds_complexf(uint32_t *phase_acc, int32_t phase_rate); +SPAN_DECLARE(complexf_t) dds_complexf(uint32_t *phase_acc, int32_t phase_rate); /*! \brief Lookup the complex value of a specified phase. \param phase The phase accumulator value to be looked up. \return The complex signal amplitude, between (-1.0, -1.0) and (1.0, 1.0). */ -complexf_t dds_lookup_complexf(uint32_t phase_acc); +SPAN_DECLARE(complexf_t) dds_lookup_complexf(uint32_t phase_acc); /*! \brief Generate a complex floating point tone sample, with modulation. \param phase_acc A pointer to a phase accumulator value. @@ -249,7 +249,7 @@ \param phase The phase offset. \return The complex signal amplitude, between (-1.0, -1.0) and (1.0, 1.0). */ -complexf_t dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase); +SPAN_DECLARE(complexf_t) dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dtmf.h,v 1.29 2008/10/13 13:14:00 steveu Exp $ + * $Id: dtmf.h,v 1.30 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_DTMF_H_) @@ -99,7 +99,7 @@ \param max_samples The required number of generated samples. \return The number of samples actually generated. This may be less than max_samples if the input buffer empties. */ -int dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples); +SPAN_DECLARE(int) dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples); /*! \brief Put a string of digits in a DTMF generator's input buffer. \param s The DTMF generator context. @@ -108,29 +108,29 @@ assumed to be a NULL terminated string. \return The number of digits actually added. This may be less than the length of the digit string, if the buffer fills up. */ -size_t dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len); +SPAN_DECLARE(int) dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len); /*! \brief Change the transmit level for a DTMF tone generator context. \param s The DTMF generator context. \param level The level of the low tone, in dBm0. \param twist The twist, in dB. */ -void dtmf_tx_set_level(dtmf_tx_state_t *s, int level, int twist); +SPAN_DECLARE(void) dtmf_tx_set_level(dtmf_tx_state_t *s, int level, int twist); /*! \brief Change the transmit on and off time for a DTMF tone generator context. \param s The DTMF generator context. \param on-time The on time, in ms. \param off_time The off time, in ms. */ -void dtmf_tx_set_timing(dtmf_tx_state_t *s, int on_time, int off_time); +SPAN_DECLARE(void) dtmf_tx_set_timing(dtmf_tx_state_t *s, int on_time, int off_time); /*! \brief Initialise a DTMF tone generator context. \param s The DTMF generator context. \return A pointer to the DTMF generator context. */ -dtmf_tx_state_t *dtmf_tx_init(dtmf_tx_state_t *s); +SPAN_DECLARE(dtmf_tx_state_t) *dtmf_tx_init(dtmf_tx_state_t *s); /*! \brief Free a DTMF tone generator context. \param s The DTMF tone generator context. \return 0 for OK, else -1. */ -int dtmf_tx_free(dtmf_tx_state_t *s); +SPAN_DECLARE(int) dtmf_tx_free(dtmf_tx_state_t *s); /*! Set a optional realtime callback for a DTMF receiver context. This function is called immediately a confirmed state change occurs in the received DTMF. It @@ -141,9 +141,9 @@ \param callback Callback routine used to report the start and end of digits. \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. */ -void dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, - tone_report_func_t callback, - void *user_data); +SPAN_DECLARE(void) dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, + tone_report_func_t callback, + void *user_data); /*! \brief Adjust a DTMF receiver context. \param s The DTMF receiver context. @@ -153,11 +153,11 @@ \param reverse_twist Acceptable reverse twist, in dB. < 0 to leave unchanged. \param threshold The minimum acceptable tone level for detection, in dBm0. <= -99 to leave unchanged. */ -void dtmf_rx_parms(dtmf_rx_state_t *s, - int filter_dialtone, - int twist, - int reverse_twist, - int threshold); +SPAN_DECLARE(void) dtmf_rx_parms(dtmf_rx_state_t *s, + int filter_dialtone, + int twist, + int reverse_twist, + int threshold); /*! Process a block of received DTMF audio samples. \brief Process a block of received DTMF audio samples. @@ -165,7 +165,7 @@ \param amp The audio sample buffer. \param samples The number of samples in the buffer. \return The number of samples unprocessed. */ -int dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples); +SPAN_DECLARE(int) dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples); /*! Get the status of DTMF detection during processing of the last audio chunk. @@ -174,14 +174,14 @@ \param s The DTMF receiver context. \return The current digit status. Either 'x' for a "maybe" condition, or the digit being detected. */ -int dtmf_rx_status(dtmf_rx_state_t *s); +SPAN_DECLARE(int) dtmf_rx_status(dtmf_rx_state_t *s); /*! \brief Get a string of digits from a DTMF receiver's output buffer. \param s The DTMF receiver context. \param digits The buffer for the received digits. \param max The maximum number of digits to be returned, \return The number of digits actually returned. */ -size_t dtmf_rx_get(dtmf_rx_state_t *s, char *digits, int max); +SPAN_DECLARE(size_t) dtmf_rx_get(dtmf_rx_state_t *s, char *digits, int max); /*! \brief Initialise a DTMF receiver context. \param s The DTMF receiver context. @@ -191,14 +191,14 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the DTMF receiver context. */ -dtmf_rx_state_t *dtmf_rx_init(dtmf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data); +SPAN_DECLARE(dtmf_rx_state_t) *dtmf_rx_init(dtmf_rx_state_t *s, + digits_rx_callback_t callback, + void *user_data); /*! \brief Free a DTMF receiver context. \param s The DTMF receiver context. \return 0 for OK, else -1. */ -int dtmf_rx_free(dtmf_rx_state_t *s); +SPAN_DECLARE(int) dtmf_rx_free(dtmf_rx_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/echo.h Mon Feb 2 11:40:52 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: echo.h,v 1.16 2008/09/04 14:40:05 steveu Exp $ + * $Id: echo.h,v 1.17 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -196,23 +196,23 @@ \param len The length of the canceller, in samples. \return The new canceller context, or NULL if the canceller could not be created. */ -echo_can_state_t *echo_can_create(int len, int adaption_mode); +SPAN_DECLARE(echo_can_state_t) *echo_can_create(int len, int adaption_mode); /*! Free a voice echo canceller context. \param ec The echo canceller context. */ -void echo_can_free(echo_can_state_t *ec); +SPAN_DECLARE(void) echo_can_free(echo_can_state_t *ec); /*! Flush (reinitialise) a voice echo canceller context. \param ec The echo canceller context. */ -void echo_can_flush(echo_can_state_t *ec); +SPAN_DECLARE(void) echo_can_flush(echo_can_state_t *ec); /*! Set the adaption mode of a voice echo canceller context. \param ec The echo canceller context. \param adaption_mode The mode. */ -void echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode); +SPAN_DECLARE(void) echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode); /*! Process a sample through a voice echo canceller. \param ec The echo canceller context. @@ -220,16 +220,16 @@ \param rx The received audio sample. \return The clean (echo cancelled) received sample. */ -int16_t echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx); +SPAN_DECLARE(int16_t) echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx); /*! Process to high pass filter the tx signal. \param ec The echo canceller context. \param tx The transmitted auio sample. \return The HP filtered transmit sample, send this to your D/A. */ -int16_t echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx); +SPAN_DECLARE(int16_t) echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx); -void echo_can_snapshot(echo_can_state_t *ec); +SPAN_DECLARE(void) echo_can_snapshot(echo_can_state_t *ec); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fax.h,v 1.36 2008/10/13 13:14:00 steveu Exp $ + * $Id: fax.h,v 1.37 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -52,7 +52,7 @@ \return The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call. */ -int fax_rx(fax_state_t *s, int16_t *amp, int len); +SPAN_DECLARE(int) fax_rx(fax_state_t *s, int16_t *amp, int len); /*! Apply T.30 transmit processing to generate a block of audio samples. \brief Apply T.30 transmit processing to generate a block of audio samples. @@ -62,7 +62,7 @@ \return The number of samples actually generated. This will be zero when there is nothing to send. */ -int fax_tx(fax_state_t *s, int16_t *amp, int max_len); +SPAN_DECLARE(int) fax_tx(fax_state_t *s, int16_t *amp, int max_len); /*! Select whether silent audio will be sent when FAX transmit is idle. \brief Select whether silent audio will be sent when FAX transmit is idle. @@ -71,28 +71,28 @@ idle. FALSE to transmit zero length audio when the FAX transmitter is idle. The default behaviour is FALSE. */ -void fax_set_transmit_on_idle(fax_state_t *s, int transmit_on_idle); +SPAN_DECLARE(void) fax_set_transmit_on_idle(fax_state_t *s, int transmit_on_idle); /*! Select whether talker echo protection tone will be sent for the image modems. \brief Select whether TEP will be sent for the image modems. \param s The FAX context. \param use_tep TRUE if TEP should be sent. */ -void fax_set_tep_mode(fax_state_t *s, int use_tep); +SPAN_DECLARE(void) fax_set_tep_mode(fax_state_t *s, int use_tep); /*! Get a pointer to the T.30 engine associated with a FAX context. \brief Get a pointer to the T.30 engine associated with a FAX context. \param s The FAX context. \return A pointer to the T.30 context, or NULL. */ -t30_state_t *fax_get_t30_state(fax_state_t *s); +SPAN_DECLARE(t30_state_t) *fax_get_t30_state(fax_state_t *s); /*! Get a pointer to the logging context associated with a FAX context. \brief Get a pointer to the logging context associated with a FAX context. \param s The FAX context. \return A pointer to the logging context, or NULL. */ -logging_state_t *fax_get_logging_state(fax_state_t *s); +SPAN_DECLARE(logging_state_t) *fax_get_logging_state(fax_state_t *s); /*! Initialise a FAX context. \brief Initialise a FAX context. @@ -101,19 +101,19 @@ context is for an answering party. \return A pointer to the FAX context, or NULL if there was a problem. */ -fax_state_t *fax_init(fax_state_t *s, int calling_party); +SPAN_DECLARE(fax_state_t) *fax_init(fax_state_t *s, int calling_party); /*! Release a FAX context. \brief Release a FAX context. \param s The FAX context. \return 0 for OK, else -1. */ -int fax_release(fax_state_t *s); +SPAN_DECLARE(int) fax_release(fax_state_t *s); /*! Free a FAX context. \brief Free a FAX context. \param s The FAX context. \return 0 for OK, else -1. */ -int fax_free(fax_state_t *s); +SPAN_DECLARE(int) fax_free(fax_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fax_modems.h,v 1.6 2008/10/13 13:14:00 steveu Exp $ + * $Id: fax_modems.h,v 1.7 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -41,10 +41,10 @@ #endif /* N.B. the following are currently a work in progress */ -int fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len); -int fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len); -int fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len); -fax_modems_state_t *fax_modems_init(fax_modems_state_t *s, void *user_data); +SPAN_DECLARE(int) fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE(int) fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE(int) fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE(fax_modems_state_t) *fax_modems_init(fax_modems_state_t *s, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fsk.h,v 1.33 2009/01/29 18:30:14 steveu Exp $ + * $Id: fsk.h,v 1.34 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -114,7 +114,7 @@ FSK_WEITBRECHT /* Used for TDD (Telecom Device for the Deaf) */ }; -extern const fsk_spec_t preset_fsk_specs[]; +SPAN_DECLARE_DATA extern const fsk_spec_t preset_fsk_specs[]; /*! FSK modem transmit descriptor. This defines the state of a single working @@ -143,25 +143,25 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -fsk_tx_state_t *fsk_tx_init(fsk_tx_state_t *s, - const fsk_spec_t *spec, - get_bit_func_t get_bit, - void *user_data); +SPAN_DECLARE(fsk_tx_state_t) *fsk_tx_init(fsk_tx_state_t *s, + const fsk_spec_t *spec, + get_bit_func_t get_bit, + void *user_data); /*! Adjust an FSK modem transmit context's power output. \brief Adjust an FSK modem transmit context's power output. \param s The modem context. \param power The power level, in dBm0 */ -void fsk_tx_power(fsk_tx_state_t *s, float power); +SPAN_DECLARE(void) fsk_tx_power(fsk_tx_state_t *s, float power); -void fsk_tx_set_get_bit(fsk_tx_state_t *s, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(void) fsk_tx_set_get_bit(fsk_tx_state_t *s, get_bit_func_t get_bit, void *user_data); /*! Change the modem status report function associated with an FSK modem transmit context. \brief Change the modem status report function associated with an FSK modem transmit context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void fsk_tx_set_modem_status_handler(fsk_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) fsk_tx_set_modem_status_handler(fsk_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); /*! Generate a block of FSK modem audio samples. \brief Generate a block of FSK modem audio samples. @@ -170,18 +170,18 @@ \param len The number of samples to be generated. \return The number of samples actually generated. */ -int fsk_tx(fsk_tx_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) fsk_tx(fsk_tx_state_t *s, int16_t amp[], int len); /*! Get the current received signal power. \param s The modem context. \return The signal power, in dBm0. */ -float fsk_rx_signal_power(fsk_rx_state_t *s); +SPAN_DECLARE(float) fsk_rx_signal_power(fsk_rx_state_t *s); /*! Adjust an FSK modem receive context's carrier detect power threshold. \brief Adjust an FSK modem receive context's carrier detect power threshold. \param s The modem context. \param cutoff The power level, in dBm0 */ -void fsk_rx_signal_cutoff(fsk_rx_state_t *s, float cutoff); +SPAN_DECLARE(void) fsk_rx_signal_cutoff(fsk_rx_state_t *s, float cutoff); /*! Initialise an FSK modem receive context. \brief Initialise an FSK modem receive context. @@ -191,11 +191,11 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -fsk_rx_state_t *fsk_rx_init(fsk_rx_state_t *s, - const fsk_spec_t *spec, - int sync_mode, - put_bit_func_t put_bit, - void *user_data); +SPAN_DECLARE(fsk_rx_state_t) *fsk_rx_init(fsk_rx_state_t *s, + const fsk_spec_t *spec, + int sync_mode, + put_bit_func_t put_bit, + void *user_data); /*! Process a block of received FSK modem audio samples. \brief Process a block of received FSK modem audio samples. @@ -204,16 +204,16 @@ \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int fsk_rx(fsk_rx_state_t *s, const int16_t *amp, int len); +SPAN_DECLARE(int) fsk_rx(fsk_rx_state_t *s, const int16_t *amp, int len); -void fsk_rx_set_put_bit(fsk_rx_state_t *s, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(void) fsk_rx_set_put_bit(fsk_rx_state_t *s, put_bit_func_t put_bit, void *user_data); /*! Change the modem status report function associated with an FSK modem receive context. \brief Change the modem status report function associated with an FSK modem receive context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void fsk_rx_set_modem_status_handler(fsk_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) fsk_rx_set_modem_status_handler(fsk_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g711.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g711.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g711.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g711.h,v 1.15 2008/11/30 10:17:31 steveu Exp $ + * $Id: g711.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -251,39 +251,39 @@ \param alaw The A-law sample to transcode. \return The best matching u-law value. */ -uint8_t alaw_to_ulaw(uint8_t alaw); +SPAN_DECLARE(uint8_t) alaw_to_ulaw(uint8_t alaw); /*! \brief Transcode from u-law to A-law, using the procedure defined in G.711. \param ulaw The u-law sample to transcode. \return The best matching A-law value. */ -uint8_t ulaw_to_alaw(uint8_t ulaw); +SPAN_DECLARE(uint8_t) ulaw_to_alaw(uint8_t ulaw); -int g711_decode(g711_state_t *s, - int16_t amp[], - const uint8_t g711_data[], - int g711_bytes); - -int g711_encode(g711_state_t *s, - uint8_t g711_data[], - const int16_t amp[], - int len); - -int g711_transcode(g711_state_t *s, - uint8_t g711_out[], - const uint8_t g711_in[], - int g711_bytes); +SPAN_DECLARE(int) g711_decode(g711_state_t *s, + int16_t amp[], + const uint8_t g711_data[], + int g711_bytes); + +SPAN_DECLARE(int) g711_encode(g711_state_t *s, + uint8_t g711_data[], + const int16_t amp[], + int len); + +SPAN_DECLARE(int) g711_transcode(g711_state_t *s, + uint8_t g711_out[], + const uint8_t g711_in[], + int g711_bytes); /*! Initialise a G.711 encode or decode context. \param s The G.711 context. \param mode The G.711 mode. \return A pointer to the G.711 context, or NULL for error. */ -g711_state_t *g711_init(g711_state_t *s, int mode); +SPAN_DECLARE(g711_state_t) *g711_init(g711_state_t *s, int mode); /*! Free a G.711 encode or decode context. \param s The G.711 context. \return 0 for OK. */ -int g711_release(g711_state_t *s); +SPAN_DECLARE(int) g711_release(g711_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g722.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g722.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g722.h Mon Feb 2 11:40:52 2009 @@ -28,7 +28,7 @@ * Computer Science, Speech Group * Chengxiang Lu and Alex Hauptmann * - * $Id: g722.h,v 1.22 2008/10/13 13:14:00 steveu Exp $ + * $Id: g722.h,v 1.23 2009/01/31 08:48:11 steveu Exp $ */ @@ -71,9 +71,9 @@ The valid rates are 64000, 56000 and 48000. \param options \return A pointer to the G.722 encode context, or NULL for error. */ -g722_encode_state_t *g722_encode_init(g722_encode_state_t *s, int rate, int options); +SPAN_DECLARE(g722_encode_state_t) *g722_encode_init(g722_encode_state_t *s, int rate, int options); -int g722_encode_release(g722_encode_state_t *s); +SPAN_DECLARE(int) g722_encode_release(g722_encode_state_t *s); /*! Encode a buffer of linear PCM data to G.722 \param s The G.722 context. @@ -81,7 +81,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of bytes of G.722 data produced. */ -int g722_encode(g722_encode_state_t *s, uint8_t g722_data[], const int16_t amp[], int len); +SPAN_DECLARE(int) g722_encode(g722_encode_state_t *s, uint8_t g722_data[], const int16_t amp[], int len); /*! Initialise an G.722 decode context. \param s The G.722 decode context. @@ -89,9 +89,9 @@ The valid rates are 64000, 56000 and 48000. \param options \return A pointer to the G.722 decode context, or NULL for error. */ -g722_decode_state_t *g722_decode_init(g722_decode_state_t *s, int rate, int options); +SPAN_DECLARE(g722_decode_state_t) *g722_decode_init(g722_decode_state_t *s, int rate, int options); -int g722_decode_release(g722_decode_state_t *s); +SPAN_DECLARE(int) g722_decode_release(g722_decode_state_t *s); /*! Decode a buffer of G.722 data to linear PCM. \param s The G.722 context. @@ -99,7 +99,7 @@ \param g722_data \param len \return The number of samples returned. */ -int g722_decode(g722_decode_state_t *s, int16_t amp[], const uint8_t g722_data[], int len); +SPAN_DECLARE(int) g722_decode(g722_decode_state_t *s, int16_t amp[], const uint8_t g722_data[], int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g726.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g726.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g726.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g726.h,v 1.22 2008/10/13 13:14:00 steveu Exp $ + * $Id: g726.h,v 1.23 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -77,12 +77,12 @@ \param ext_coding The coding used outside G.726. \param packing One of the G.726_PACKING_xxx options. \return A pointer to the G.726 context, or NULL for error. */ -g726_state_t *g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing); +SPAN_DECLARE(g726_state_t) *g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing); /*! Free a G.726 encode or decode context. \param s The G.726 context. \return 0 for OK. */ -int g726_release(g726_state_t *s); +SPAN_DECLARE(int) g726_release(g726_state_t *s); /*! Decode a buffer of G.726 ADPCM data to linear PCM, a-law or u-law. \param s The G.726 context. @@ -90,10 +90,10 @@ \param g726_data \param g726_bytes \return The number of samples returned. */ -int g726_decode(g726_state_t *s, - int16_t amp[], - const uint8_t g726_data[], - int g726_bytes); +SPAN_DECLARE(int) g726_decode(g726_state_t *s, + int16_t amp[], + const uint8_t g726_data[], + int g726_bytes); /*! Encode a buffer of linear PCM data to G.726 ADPCM. \param s The G.726 context. @@ -101,10 +101,10 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of bytes of G.726 data produced. */ -int g726_encode(g726_state_t *s, - uint8_t g726_data[], - const int16_t amp[], - int len); +SPAN_DECLARE(int) g726_encode(g726_state_t *s, + uint8_t g726_data[], + const int16_t amp[], + int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: gsm0610.h,v 1.18 2008/11/15 14:17:46 steveu Exp $ + * $Id: gsm0610.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_GSM0610_H_) @@ -83,18 +83,18 @@ \param s The GSM 06.10 context \param packing One of the GSM0610_PACKING_xxx options. \return A pointer to the GSM 06.10 context, or NULL for error. */ -gsm0610_state_t *gsm0610_init(gsm0610_state_t *s, int packing); +SPAN_DECLARE(gsm0610_state_t) *gsm0610_init(gsm0610_state_t *s, int packing); /*! Release a GSM 06.10 encode or decode context. \param s The GSM 06.10 context \return 0 for success, else -1. */ -int gsm0610_release(gsm0610_state_t *s); +SPAN_DECLARE(int) gsm0610_release(gsm0610_state_t *s); /*! Set the packing format for a GSM 06.10 encode or decode context. \param s The GSM 06.10 context \param packing One of the GSM0610_PACKING_xxx options. \return 0 for success, else -1. */ -int gsm0610_set_packing(gsm0610_state_t *s, int packing); +SPAN_DECLARE(int) gsm0610_set_packing(gsm0610_state_t *s, int packing); /*! Encode a buffer of linear PCM data to GSM 06.10. \param s The GSM 06.10 context. @@ -102,7 +102,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of bytes of GSM 06.10 data produced. */ -int gsm0610_encode(gsm0610_state_t *s, uint8_t code[], const int16_t amp[], int len); +SPAN_DECLARE(int) gsm0610_encode(gsm0610_state_t *s, uint8_t code[], const int16_t amp[], int len); /*! Decode a buffer of GSM 06.10 data to linear PCM. \param s The GSM 06.10 context. @@ -110,35 +110,35 @@ \param code The GSM 06.10 data. \param len The number of bytes of GSM 06.10 data to be decoded. \return The number of samples returned. */ -int gsm0610_decode(gsm0610_state_t *s, int16_t amp[], const uint8_t code[], int len); +SPAN_DECLARE(int) gsm0610_decode(gsm0610_state_t *s, int16_t amp[], const uint8_t code[], int len); -int gsm0610_pack_none(uint8_t c[], const gsm0610_frame_t *s); +SPAN_DECLARE(int) gsm0610_pack_none(uint8_t c[], const gsm0610_frame_t *s); /*! Pack a pair of GSM 06.10 frames in the format used for wave files (wave type 49). \param c The buffer for the packed data. This must be at least 65 bytes long. \param s A pointer to the frames to be packed. \return The number of bytes generated. */ -int gsm0610_pack_wav49(uint8_t c[], const gsm0610_frame_t *s); +SPAN_DECLARE(int) gsm0610_pack_wav49(uint8_t c[], const gsm0610_frame_t *s); /*! Pack a GSM 06.10 frames in the format used for VoIP. \param c The buffer for the packed data. This must be at least 33 bytes long. \param s A pointer to the frame to be packed. \return The number of bytes generated. */ -int gsm0610_pack_voip(uint8_t c[], const gsm0610_frame_t *s); +SPAN_DECLARE(int) gsm0610_pack_voip(uint8_t c[], const gsm0610_frame_t *s); -int gsm0610_unpack_none(gsm0610_frame_t *s, const uint8_t c[]); +SPAN_DECLARE(int) gsm0610_unpack_none(gsm0610_frame_t *s, const uint8_t c[]); /*! Unpack a pair of GSM 06.10 frames from the format used for wave files (wave type 49). \param s A pointer to a buffer into which the frames will be packed. \param c The buffer containing the data to be unpacked. This must be at least 65 bytes long. \return The number of bytes absorbed. */ -int gsm0610_unpack_wav49(gsm0610_frame_t *s, const uint8_t c[]); +SPAN_DECLARE(int) gsm0610_unpack_wav49(gsm0610_frame_t *s, const uint8_t c[]); /*! Unpack a GSM 06.10 frame from the format used for VoIP. \param s A pointer to a buffer into which the frame will be packed. \param c The buffer containing the data to be unpacked. This must be at least 33 bytes long. \return The number of bytes absorbed. */ -int gsm0610_unpack_voip(gsm0610_frame_t *s, const uint8_t c[]); +SPAN_DECLARE(int) gsm0610_unpack_voip(gsm0610_frame_t *s, const uint8_t c[]); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: hdlc.h,v 1.40 2008/11/30 05:43:37 steveu Exp $ + * $Id: hdlc.h,v 1.41 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -94,51 +94,52 @@ \param user_data An opaque parameter for the callback routine. \return A pointer to the HDLC receiver context. */ -hdlc_rx_state_t *hdlc_rx_init(hdlc_rx_state_t *s, - int crc32, - int report_bad_frames, - int framing_ok_threshold, - hdlc_frame_handler_t handler, - void *user_data); +SPAN_DECLARE(hdlc_rx_state_t) *hdlc_rx_init(hdlc_rx_state_t *s, + int crc32, + int report_bad_frames, + int framing_ok_threshold, + hdlc_frame_handler_t handler, + void *user_data); /*! \brief Set the maximum frame length for an HDLC receiver context. \param s A pointer to an HDLC receiver context. \param max_len The maximum permitted length of a frame. */ -void hdlc_rx_set_max_frame_len(hdlc_rx_state_t *s, size_t max_len); +SPAN_DECLARE(void) hdlc_rx_set_max_frame_len(hdlc_rx_state_t *s, size_t max_len); /*! \brief Set the octet counting report interval. \param s A pointer to an HDLC receiver context. \param interval The interval, in octets. */ -void hdlc_rx_set_octet_counting_report_interval(hdlc_rx_state_t *s, int interval); +SPAN_DECLARE(void) hdlc_rx_set_octet_counting_report_interval(hdlc_rx_state_t *s, + int interval); /*! \brief Get the current receive statistics. \param s A pointer to an HDLC receiver context. \param t A pointer to the buffer for the statistics. \return 0 for OK, else -1. */ -int hdlc_rx_get_stats(hdlc_rx_state_t *s, - hdlc_rx_stats_t *t); +SPAN_DECLARE(int) hdlc_rx_get_stats(hdlc_rx_state_t *s, + hdlc_rx_stats_t *t); /*! \brief Put a single bit of data to an HDLC receiver. \param s A pointer to an HDLC receiver context. \param new_bit The bit. */ -void hdlc_rx_put_bit(hdlc_rx_state_t *s, int new_bit); +SPAN_DECLARE(void) hdlc_rx_put_bit(hdlc_rx_state_t *s, int new_bit); /*! \brief Put a byte of data to an HDLC receiver. \param s A pointer to an HDLC receiver context. \param new_byte The byte of data. */ -void hdlc_rx_put_byte(hdlc_rx_state_t *s, int new_byte); +SPAN_DECLARE(void) hdlc_rx_put_byte(hdlc_rx_state_t *s, int new_byte); /*! \brief Put a series of bytes of data to an HDLC receiver. \param s A pointer to an HDLC receiver context. \param buf The buffer of data. \param len The length of the data in the buffer. */ -void hdlc_rx_put(hdlc_rx_state_t *s, const uint8_t buf[], int len); +SPAN_DECLARE(void) hdlc_rx_put(hdlc_rx_state_t *s, const uint8_t buf[], int len); /*! \brief Initialise an HDLC transmitter context. \param s A pointer to an HDLC transmitter context. @@ -149,18 +150,18 @@ \param user_data An opaque parameter for the callback routine. \return A pointer to the HDLC transmitter context. */ -hdlc_tx_state_t *hdlc_tx_init(hdlc_tx_state_t *s, - int crc32, - int inter_frame_flags, - int progressive, - hdlc_underflow_handler_t handler, - void *user_data); +SPAN_DECLARE(hdlc_tx_state_t) *hdlc_tx_init(hdlc_tx_state_t *s, + int crc32, + int inter_frame_flags, + int progressive, + hdlc_underflow_handler_t handler, + void *user_data); /*! \brief Set the maximum frame length for an HDLC transmitter context. \param s A pointer to an HDLC transmitter context. \param max_len The maximum length. */ -void hdlc_tx_set_max_frame_len(hdlc_tx_state_t *s, size_t max_len); +SPAN_DECLARE(void) hdlc_tx_set_max_frame_len(hdlc_tx_state_t *s, size_t max_len); /*! \brief Transmit a frame. \param s A pointer to an HDLC transmitter context. @@ -168,13 +169,13 @@ \param len The length of the frame to be transmitted. \return 0 if the frame was accepted for transmission, else -1. */ -int hdlc_tx_frame(hdlc_tx_state_t *s, const uint8_t *frame, size_t len); +SPAN_DECLARE(int) hdlc_tx_frame(hdlc_tx_state_t *s, const uint8_t *frame, size_t len); /*! \brief Corrupt the frame currently being transmitted, by giving it the wrong CRC. \param s A pointer to an HDLC transmitter context. \return 0 if the frame was corrupted, else -1. */ -int hdlc_tx_corrupt_frame(hdlc_tx_state_t *s); +SPAN_DECLARE(int) hdlc_tx_corrupt_frame(hdlc_tx_state_t *s); /*! \brief Transmit a specified quantity of flag octets, typically as a preamble. \param s A pointer to an HDLC transmitter context. @@ -183,25 +184,25 @@ drained. \return 0 if the flags were accepted for transmission, else -1. */ -int hdlc_tx_flags(hdlc_tx_state_t *s, int len); +SPAN_DECLARE(int) hdlc_tx_flags(hdlc_tx_state_t *s, int len); /*! \brief Send an abort. \param s A pointer to an HDLC transmitter context. \return 0 if the frame was aborted, else -1. */ -int hdlc_tx_abort(hdlc_tx_state_t *s); +SPAN_DECLARE(int) hdlc_tx_abort(hdlc_tx_state_t *s); /*! \brief Get the next bit for transmission. \param s A pointer to an HDLC transmitter context. \return The next bit for transmission. */ -int hdlc_tx_get_bit(hdlc_tx_state_t *s); +SPAN_DECLARE(int) hdlc_tx_get_bit(hdlc_tx_state_t *s); /*! \brief Get the next byte for transmission. \param s A pointer to an HDLC transmitter context. \return The next byte for transmission. */ -int hdlc_tx_get_byte(hdlc_tx_state_t *s); +SPAN_DECLARE(int) hdlc_tx_get_byte(hdlc_tx_state_t *s); /*! \brief Get the next sequence of bytes for transmission. \param s A pointer to an HDLC transmitter context. @@ -209,7 +210,7 @@ \param max_len The number of bytes to get. \return The number of bytes actually got. */ -int hdlc_tx_get(hdlc_tx_state_t *s, uint8_t buf[], size_t max_len); +SPAN_DECLARE(int) hdlc_tx_get(hdlc_tx_state_t *s, uint8_t buf[], size_t max_len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h Mon Feb 2 11:40:52 2009 @@ -26,7 +26,7 @@ * Based on a bit from here, a bit from there, eye of toad, * ear of bat, etc - plus, of course, my own 2 cents. * - * $Id: ima_adpcm.h,v 1.21 2008/11/30 10:17:31 steveu Exp $ + * $Id: ima_adpcm.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -73,12 +73,14 @@ zero sample samples means treat each encode or decode operation as a chunk. \return A pointer to the IMA ADPCM context, or NULL for error. */ -ima_adpcm_state_t *ima_adpcm_init(ima_adpcm_state_t *s, int variant, int chunk_size); +SPAN_DECLARE(ima_adpcm_state_t) *ima_adpcm_init(ima_adpcm_state_t *s, + int variant, + int chunk_size); /*! Free an IMA ADPCM encode or decode context. \param s The IMA ADPCM context. \return 0 for OK. */ -int ima_adpcm_release(ima_adpcm_state_t *s); +SPAN_DECLARE(int) ima_adpcm_release(ima_adpcm_state_t *s); /*! Encode a buffer of linear PCM data to IMA ADPCM. \param s The IMA ADPCM context. @@ -86,10 +88,10 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of bytes of IMA ADPCM data produced. */ -int ima_adpcm_encode(ima_adpcm_state_t *s, - uint8_t ima_data[], - const int16_t amp[], - int len); +SPAN_DECLARE(int) ima_adpcm_encode(ima_adpcm_state_t *s, + uint8_t ima_data[], + const int16_t amp[], + int len); /*! Decode a buffer of IMA ADPCM data to linear PCM. \param s The IMA ADPCM context. @@ -97,10 +99,10 @@ \param ima_data \param ima_bytes \return The number of samples returned. */ -int ima_adpcm_decode(ima_adpcm_state_t *s, - int16_t amp[], - const uint8_t ima_data[], - int ima_bytes); +SPAN_DECLARE(int) ima_adpcm_decode(ima_adpcm_state_t *s, + int16_t amp[], + const uint8_t ima_data[], + int ima_bytes); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/logging.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/logging.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/logging.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: logging.h,v 1.17 2008/11/30 13:44:35 steveu Exp $ + * $Id: logging.h,v 1.18 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -87,7 +87,7 @@ \param level The severity level to be tested. \return TRUE if logging is enable, else FALSE. */ -int span_log_test(logging_state_t *s, int level); +SPAN_DECLARE(int) span_log_test(logging_state_t *s, int level); /*! Generate a log entry. \brief Generate a log entry. @@ -96,7 +96,7 @@ \param format ??? \return 0 if no output generated, else 1. */ -int span_log(logging_state_t *s, int level, const char *format, ...); +SPAN_DECLARE(int) span_log(logging_state_t *s, int level, const char *format, ...); /*! Generate a log entry displaying the contents of a buffer. \brief Generate a log entry displaying the contents of a buffer @@ -107,27 +107,27 @@ \param len The length of buf. \return 0 if no output generated, else 1. */ -int span_log_buf(logging_state_t *s, int level, const char *tag, const uint8_t *buf, int len); +SPAN_DECLARE(int) span_log_buf(logging_state_t *s, int level, const char *tag, const uint8_t *buf, int len); -int span_log_init(logging_state_t *s, int level, const char *tag); +SPAN_DECLARE(int) span_log_init(logging_state_t *s, int level, const char *tag); -int span_log_set_level(logging_state_t *s, int level); +SPAN_DECLARE(int) span_log_set_level(logging_state_t *s, int level); -int span_log_set_tag(logging_state_t *s, const char *tag); +SPAN_DECLARE(int) span_log_set_tag(logging_state_t *s, const char *tag); -int span_log_set_protocol(logging_state_t *s, const char *protocol); +SPAN_DECLARE(int) span_log_set_protocol(logging_state_t *s, const char *protocol); -int span_log_set_sample_rate(logging_state_t *s, int samples_per_second); +SPAN_DECLARE(int) span_log_set_sample_rate(logging_state_t *s, int samples_per_second); -int span_log_bump_samples(logging_state_t *s, int samples); +SPAN_DECLARE(int) span_log_bump_samples(logging_state_t *s, int samples); -void span_log_set_message_handler(logging_state_t *s, message_handler_func_t func); +SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func); -void span_log_set_error_handler(logging_state_t *s, error_handler_func_t func); +SPAN_DECLARE(void) span_log_set_error_handler(logging_state_t *s, error_handler_func_t func); -void span_set_message_handler(message_handler_func_t func); +SPAN_DECLARE(void) span_set_message_handler(message_handler_func_t func); -void span_set_error_handler(error_handler_func_t func); +SPAN_DECLARE(void) span_set_error_handler(error_handler_func_t func); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: lpc10.h,v 1.18 2008/11/30 05:43:37 steveu Exp $ + * $Id: lpc10.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_LPC10_H_) @@ -74,9 +74,9 @@ \param s The LPC10e context \param error_correction ??? \return A pointer to the LPC10e context, or NULL for error. */ -lpc10_encode_state_t *lpc10_encode_init(lpc10_encode_state_t *s, int error_correction); +SPAN_DECLARE(lpc10_encode_state_t) *lpc10_encode_init(lpc10_encode_state_t *s, int error_correction); -int lpc10_encode_release(lpc10_encode_state_t *s); +SPAN_DECLARE(int) lpc10_encode_release(lpc10_encode_state_t *s); /*! Encode a buffer of linear PCM data to LPC10e. \param s The LPC10e context. @@ -85,15 +85,15 @@ \param len The number of samples in the buffer. This must be a multiple of 180, as this is the number of samples on a frame. \return The number of bytes of LPC10e data produced. */ -int lpc10_encode(lpc10_encode_state_t *s, uint8_t code[], const int16_t amp[], int len); +SPAN_DECLARE(int) lpc10_encode(lpc10_encode_state_t *s, uint8_t code[], const int16_t amp[], int len); /*! Initialise an LPC10e decode context. \param s The LPC10e context \param error_correction ??? \return A pointer to the LPC10e context, or NULL for error. */ -lpc10_decode_state_t *lpc10_decode_init(lpc10_decode_state_t *st, int error_correction); +SPAN_DECLARE(lpc10_decode_state_t) *lpc10_decode_init(lpc10_decode_state_t *st, int error_correction); -int lpc10_decode_release(lpc10_decode_state_t *s); +SPAN_DECLARE(int) lpc10_decode_release(lpc10_decode_state_t *s); /*! Decode a buffer of LPC10e data to linear PCM. \param s The LPC10e context. @@ -102,7 +102,7 @@ \param len The number of bytes of LPC10e data to be decoded. This must be a multiple of 7, as each frame is packed into 7 bytes. \return The number of samples returned. */ -int lpc10_decode(lpc10_decode_state_t *s, int16_t amp[], const uint8_t code[], int len); +SPAN_DECLARE(int) lpc10_decode(lpc10_decode_state_t *s, int16_t amp[], const uint8_t code[], int len); #if defined(__cplusplus) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h Mon Feb 2 11:40:52 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_connect_tones.h,v 1.19 2008/10/13 13:14:00 steveu Exp $ + * $Id: modem_connect_tones.h,v 1.20 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -104,14 +104,14 @@ /*! \brief Initialise an instance of the modem connect tones generator. \param s The context. */ -modem_connect_tones_tx_state_t *modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, - int tone_type); +SPAN_DECLARE(modem_connect_tones_tx_state_t) *modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, + int tone_type); /*! \brief Free an instance of the modem connect tones generator. \param s The context. \return 0 for OK, else -1. */ -int modem_connect_tones_tx_free(modem_connect_tones_tx_state_t *s); +SPAN_DECLARE(int) modem_connect_tones_tx_free(modem_connect_tones_tx_state_t *s); /*! \brief Generate a block of modem connect tones samples. \param s The context. @@ -119,9 +119,9 @@ \param len The number of samples to generate. \return The number of samples generated. */ -int modem_connect_tones_tx(modem_connect_tones_tx_state_t *s, - int16_t amp[], - int len); +SPAN_DECLARE(int) modem_connect_tones_tx(modem_connect_tones_tx_state_t *s, + int16_t amp[], + int len); /*! \brief Process a block of samples through an instance of the modem connect tones detector. @@ -130,15 +130,15 @@ \param len The number of samples in the array. \return The number of unprocessed samples. */ -int modem_connect_tones_rx(modem_connect_tones_rx_state_t *s, - const int16_t amp[], - int len); +SPAN_DECLARE(int) modem_connect_tones_rx(modem_connect_tones_rx_state_t *s, + const int16_t amp[], + int len); /*! \brief Test if a modem_connect tone has been detected. \param s The context. \return TRUE if tone is detected, else FALSE. */ -int modem_connect_tones_rx_get(modem_connect_tones_rx_state_t *s); +SPAN_DECLARE(int) modem_connect_tones_rx_get(modem_connect_tones_rx_state_t *s); /*! \brief Initialise an instance of the modem connect tones detector. \param s The context. @@ -147,17 +147,17 @@ \param user_data An opaque pointer passed to the callback routine, \return A pointer to the context. */ -modem_connect_tones_rx_state_t *modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, - int tone_type, - tone_report_func_t tone_callback, - void *user_data); +SPAN_DECLARE(modem_connect_tones_rx_state_t) *modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, + int tone_type, + tone_report_func_t tone_callback, + void *user_data); /*! \brief Free an instance of the modem connect tones detector. \param s The context. \return 0 for OK, else -1. */ -int modem_connect_tones_rx_free(modem_connect_tones_rx_state_t *s); +SPAN_DECLARE(int) modem_connect_tones_rx_free(modem_connect_tones_rx_state_t *s); -const char *modem_connect_tone_to_str(int tone); +SPAN_DECLARE(const char) *modem_connect_tone_to_str(int tone); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h Mon Feb 2 11:40:52 2009 @@ -25,7 +25,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_echo.h,v 1.11 2008/04/17 14:27:00 steveu Exp $ + * $Id: modem_echo.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -110,23 +110,23 @@ \param len The length of the canceller, in samples. eturn The new canceller context, or NULL if the canceller could not be created. */ -modem_echo_can_state_t *modem_echo_can_create(int len); +SPAN_DECLARE(modem_echo_can_state_t) *modem_echo_can_create(int len); /*! Free a modem echo canceller context. \param ec The echo canceller context. */ -void modem_echo_can_free(modem_echo_can_state_t *ec); +SPAN_DECLARE(void) modem_echo_can_free(modem_echo_can_state_t *ec); /*! Flush (reinitialise) a modem echo canceller context. \param ec The echo canceller context. */ -void modem_echo_can_flush(modem_echo_can_state_t *ec); +SPAN_DECLARE(void) modem_echo_can_flush(modem_echo_can_state_t *ec); /*! Set the adaption mode of a modem echo canceller context. \param ec The echo canceller context. \param adapt The mode. */ -void modem_echo_can_adaption_mode(modem_echo_can_state_t *ec, int adapt); +SPAN_DECLARE(void) modem_echo_can_adaption_mode(modem_echo_can_state_t *ec, int adapt); /*! Process a sample through a modem echo canceller. \param ec The echo canceller context. @@ -134,7 +134,7 @@ \param rx The received audio sample. eturn The clean (echo cancelled) received sample. */ -int16_t modem_echo_can_update(modem_echo_can_state_t *ec, int16_t tx, int16_t rx); +SPAN_DECLARE(int16_t) modem_echo_can_update(modem_echo_can_state_t *ec, int16_t tx, int16_t rx); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/noise.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/noise.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/noise.h Mon Feb 2 11:40:52 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: noise.h,v 1.14 2008/11/30 12:38:27 steveu Exp $ + * $Id: noise.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -108,16 +108,18 @@ generation to be adjusted. \return A pointer to the noise generator context. */ -noise_state_t *noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality); +SPAN_DECLARE(noise_state_t) *noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality); -noise_state_t *noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality); +SPAN_DECLARE(noise_state_t) *noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality); + +SPAN_DECLARE(int) noise_free(noise_state_t *s); /*! Generate a sample of audio noise. \brief Generate a sample of audio noise. \param s The noise generator context. \return The generated sample. */ -int16_t noise(noise_state_t *s); +SPAN_DECLARE(int16_t) noise(noise_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h Mon Feb 2 11:40:52 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: oki_adpcm.h,v 1.21 2008/11/30 10:17:31 steveu Exp $ + * $Id: oki_adpcm.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -61,12 +61,13 @@ \param bit_rate The required bit rate for the ADPCM data. The valid rates are 24000 and 32000. \return A pointer to the Oki ADPCM context, or NULL for error. */ -oki_adpcm_state_t *oki_adpcm_init(oki_adpcm_state_t *s, int bit_rate); +SPAN_DECLARE(oki_adpcm_state_t) *oki_adpcm_init(oki_adpcm_state_t *s, + int bit_rate); /*! Free an Oki ADPCM encode or decode context. \param s The Oki ADPCM context. \return 0 for OK. */ -int oki_adpcm_release(oki_adpcm_state_t *s); +SPAN_DECLARE(int) oki_adpcm_release(oki_adpcm_state_t *s); /*! Decode a buffer of Oki ADPCM data to linear PCM. \param s The Oki ADPCM context. @@ -74,10 +75,10 @@ \param oki_data \param oki_bytes \return The number of samples returned. */ -int oki_adpcm_decode(oki_adpcm_state_t *s, - int16_t amp[], - const uint8_t oki_data[], - int oki_bytes); +SPAN_DECLARE(int) oki_adpcm_decode(oki_adpcm_state_t *s, + int16_t amp[], + const uint8_t oki_data[], + int oki_bytes); /*! Encode a buffer of linear PCM data to Oki ADPCM. \param s The Oki ADPCM context. @@ -85,10 +86,10 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of bytes of Oki ADPCM data produced. */ -int oki_adpcm_encode(oki_adpcm_state_t *s, - uint8_t oki_data[], - const int16_t amp[], - int len); +SPAN_DECLARE(int) oki_adpcm_encode(oki_adpcm_state_t *s, + uint8_t oki_data[], + const int16_t amp[], + int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/playout.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/playout.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/playout.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: playout.h,v 1.11 2008/04/17 14:27:00 steveu Exp $ + * $Id: playout.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_PLAYOUT_H_) @@ -147,7 +147,7 @@ \return One of PLAYOUT_OK: Frame queued OK. PLAYOUT_ERROR: Some problem occured - e.g. out of memory. */ -int playout_put(playout_state_t *s, void *data, int type, timestamp_t sender_len, timestamp_t sender_stamp, timestamp_t receiver_stamp); +SPAN_DECLARE(int) playout_put(playout_state_t *s, void *data, int type, timestamp_t sender_len, timestamp_t sender_stamp, timestamp_t receiver_stamp); /*! Get the next frame. \param s The play-out context. @@ -162,36 +162,36 @@ this time (either we need to grow, or there was a lost frame). PLAYOUT_EMPTY: The buffer is empty. */ -int playout_get(playout_state_t *s, playout_frame_t *frame, timestamp_t sender_stamp); +SPAN_DECLARE(int) playout_get(playout_state_t *s, playout_frame_t *frame, timestamp_t sender_stamp); /*! Unconditionally get the first buffered frame. This may be used to clear out the queue, and free all its contents, before the context is freed. \param s The play-out context. \return The frame, or NULL is the queue is empty. */ -playout_frame_t *playout_get_unconditional(playout_state_t *s); +SPAN_DECLARE(playout_frame_t) *playout_get_unconditional(playout_state_t *s); /*! Find the current length of the buffer. \param s The play-out context. \return The length of the buffer. */ -timestamp_t playout_current_length(playout_state_t *s); +SPAN_DECLARE(timestamp_t) playout_current_length(playout_state_t *s); /*! Find the time at which the next queued frame is due to play. Note: This value may change backwards as freshly received out of order frames are added to the buffer. \param s The play-out context. \return The next timestamp. */ -timestamp_t playout_next_due(playout_state_t *s); +SPAN_DECLARE(timestamp_t) playout_next_due(playout_state_t *s); /*! Create a new instance of play-out buffering. \param min_length Minimum length of the buffer, in samples. \param max_length Maximum length of the buffer, in samples. If this equals min_length, static length buffering is used. \return The new context */ -playout_state_t *playout_new(int min_length, int max_length); +SPAN_DECLARE(playout_state_t) *playout_new(int min_length, int max_length); /*! Destroy an instance of play-out buffering. \param s The play-out context to be destroyed */ -void playout_free(playout_state_t *s); +SPAN_DECLARE(void) playout_free(playout_state_t *s); /*! Reset an instance of play-out buffering. NOTE: The buffer should be empty before you call this function, otherwise @@ -200,7 +200,7 @@ \param min_length Minimum length of the buffer, in samples. \param max_length Maximum length of the buffer, in samples. If this equals min_length, static length buffering is used. */ -void playout_restart(playout_state_t *s, int min_length, int max_length); +SPAN_DECLARE(void) playout_restart(playout_state_t *s, int min_length, int max_length); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/plc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/plc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/plc.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: plc.h,v 1.18 2008/04/17 14:27:00 steveu Exp $ + * $Id: plc.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -139,7 +139,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples in the buffer. */ -int plc_rx(plc_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) plc_rx(plc_state_t *s, int16_t amp[], int len); /*! Fill-in a block of missing audio samples. \brief Fill-in a block of missing audio samples. @@ -147,18 +147,18 @@ \param amp The audio sample buffer. \param len The number of samples to be synthesised. \return The number of samples synthesized. */ -int plc_fillin(plc_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) plc_fillin(plc_state_t *s, int16_t amp[], int len); /*! Initialise a packet loss concealer context. \brief Initialise a PLC context. \param s The packet loss concealer context. \return A pointer to the the packet loss concealer context. */ -plc_state_t *plc_init(plc_state_t *s); +SPAN_DECLARE(plc_state_t) *plc_init(plc_state_t *s); /*! Free a packet loss concealer context. \param s The packet loss concealer context. \return 0 for OK. */ -int plc_free(plc_state_t *s); +SPAN_DECLARE(int) plc_free(plc_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: power_meter.h,v 1.15 2008/04/17 14:27:00 steveu Exp $ + * $Id: power_meter.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_POWER_METER_H_) @@ -66,51 +66,51 @@ \param s The power meter context. \param shift The shift to be used by the IIR filter. \return The power meter context. */ -power_meter_t *power_meter_init(power_meter_t *s, int shift); +SPAN_DECLARE(power_meter_t) *power_meter_init(power_meter_t *s, int shift); /*! Change the damping factor of a power meter context. \brief Change the damping factor of a power meter context. \param s The power meter context. \param shift The new shift to be used by the IIR filter. \return The power meter context. */ -power_meter_t *power_meter_damping(power_meter_t *s, int shift); +SPAN_DECLARE(power_meter_t) *power_meter_damping(power_meter_t *s, int shift); /*! Update a power meter. \brief Update a power meter. \param s The power meter context. \param amp The amplitude of the new audio sample. \return The current power meter reading. */ -int32_t power_meter_update(power_meter_t *s, int16_t amp); +SPAN_DECLARE(int32_t) power_meter_update(power_meter_t *s, int16_t amp); /*! Get the current power meter reading. \brief Get the current power meter reading. \param s The power meter context. \return The current power meter reading. */ -int32_t power_meter_current(power_meter_t *s); +SPAN_DECLARE(int32_t) power_meter_current(power_meter_t *s); /*! Get the current power meter reading, in dBm0. \brief Get the current power meter reading, in dBm0. \param s The power meter context. \return The current power meter reading, in dBm0. */ -float power_meter_current_dbm0(power_meter_t *s); +SPAN_DECLARE(float) power_meter_current_dbm0(power_meter_t *s); /*! Get the current power meter reading, in dBOv. \brief Get the current power meter reading, in dBOv. \param s The power meter context. \return The current power meter reading, in dBOv. */ -float power_meter_current_dbov(power_meter_t *s); +SPAN_DECLARE(float) power_meter_current_dbov(power_meter_t *s); /*! Get the power meter reading which represents a specified power level in dBm0. \brief Get the current power meter reading, in dBm0. \param level A power level, in dB0m. \return The equivalent power meter reading. */ -int32_t power_meter_level_dbm0(float level); +SPAN_DECLARE(int32_t) power_meter_level_dbm0(float level); /*! Get the power meter reading which represents a specified power level in dBOv. \brief Get the current power meter reading, in dBOv. \param level A power level, in dBOv. \return The equivalent power meter reading. */ -int32_t power_meter_level_dbov(float level); +SPAN_DECLARE(int32_t) power_meter_level_dbov(float level); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/private/hdlc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/private/hdlc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/private/hdlc.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: hdlc.h,v 1.1 2008/11/30 05:43:37 steveu Exp $ + * $Id: hdlc.h,v 1.2 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_PRIVATE_HDLC_H_) @@ -119,7 +119,7 @@ /*! \brief The length of the message in the buffer. */ size_t len; /*! \brief The current send position within the buffer. */ - int pos; + size_t pos; /*! \brief The running CRC, as data fills the frame buffer. */ uint32_t crc; Modified: freeswitch/trunk/libs/spandsp/src/spandsp/private/queue.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/private/queue.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/private/queue.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: queue.h,v 1.1 2008/11/30 13:08:42 steveu Exp $ + * $Id: queue.h,v 1.2 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_PRIVATE_QUEUE_H_) @@ -42,7 +42,7 @@ volatile int iptr; /*! \brief The buffer output pointer. */ volatile int optr; -#if defined(FULLY_DEFINE_QUEUE_STATE_T) +#if defined(SPANDSP_FULLY_DEFINE_QUEUE_STATE_T) /*! \brief The data buffer, sized at the time the structure is created. */ uint8_t data[]; #endif Modified: freeswitch/trunk/libs/spandsp/src/spandsp/queue.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/queue.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/queue.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: queue.h,v 1.18 2008/11/30 13:08:42 steveu Exp $ + * $Id: queue.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -66,24 +66,24 @@ \brief Check if a queue is empty. \param s The queue context. \return TRUE if empty, else FALSE. */ -int queue_empty(queue_state_t *s); +SPAN_DECLARE(int) queue_empty(queue_state_t *s); /*! Check the available free space in a queue's buffer. \brief Check available free space. \param s The queue context. \return The number of bytes of free space. */ -int queue_free_space(queue_state_t *s); +SPAN_DECLARE(int) queue_free_space(queue_state_t *s); /*! Check the contents of a queue. \brief Check the contents of a queue. \param s The queue context. \return The number of bytes in the queue. */ -int queue_contents(queue_state_t *s); +SPAN_DECLARE(int) queue_contents(queue_state_t *s); /*! Flush the contents of a queue. \brief Flush the contents of a queue. \param s The queue context. */ -void queue_flush(queue_state_t *s); +SPAN_DECLARE(void) queue_flush(queue_state_t *s); /*! Copy bytes from a queue. This is similar to queue_read, but the data remains in the queue. @@ -92,7 +92,7 @@ \param buf The buffer into which the bytes will be read. \param len The length of the buffer. \return the number of bytes returned. */ -int queue_view(queue_state_t *s, uint8_t *buf, int len); +SPAN_DECLARE(int) queue_view(queue_state_t *s, uint8_t *buf, int len); /*! Read bytes from a queue. \brief Read bytes from a queue. @@ -100,13 +100,13 @@ \param buf The buffer into which the bytes will be read. \param len The length of the buffer. \return the number of bytes returned. */ -int queue_read(queue_state_t *s, uint8_t *buf, int len); +SPAN_DECLARE(int) queue_read(queue_state_t *s, uint8_t *buf, int len); /*! Read a byte from a queue. \brief Read a byte from a queue. \param s The queue context. \return the byte, or -1 if the queue is empty. */ -int queue_read_byte(queue_state_t *s); +SPAN_DECLARE(int) queue_read_byte(queue_state_t *s); /*! Write bytes to a queue. \brief Write bytes to a queue. @@ -114,21 +114,21 @@ \param buf The buffer containing the bytes to be written. \param len The length of the buffer. \return the number of bytes actually written. */ -int queue_write(queue_state_t *s, const uint8_t *buf, int len); +SPAN_DECLARE(int) queue_write(queue_state_t *s, const uint8_t *buf, int len); /*! Write a byte to a queue. \brief Write a byte to a queue. \param s The queue context. \param byte The byte to be written. \return the number of bytes actually written. */ -int queue_write_byte(queue_state_t *s, uint8_t byte); +SPAN_DECLARE(int) queue_write_byte(queue_state_t *s, uint8_t byte); /*! Test the length of the message at the head of a queue. \brief Test message length. \param s The queue context. \return The length of the next message, in byte. If there are no messages in the queue, -1 is returned. */ -int queue_state_test_msg(queue_state_t *s); +SPAN_DECLARE(int) queue_state_test_msg(queue_state_t *s); /*! Read a message from a queue. If the message is longer than the buffer provided, only the first len bytes of the message will be returned. The @@ -139,7 +139,7 @@ \param len The length of the buffer. \return The number of bytes returned. If there are no messages in the queue, -1 is returned. */ -int queue_read_msg(queue_state_t *s, uint8_t *buf, int len); +SPAN_DECLARE(int) queue_read_msg(queue_state_t *s, uint8_t *buf, int len); /*! Write a message to a queue. \brief Write a message to a queue. @@ -147,7 +147,7 @@ \param buf The buffer from which the message will be written. \param len The length of the message. \return The number of bytes actually written. */ -int queue_write_msg(queue_state_t *s, const uint8_t *buf, int len); +SPAN_DECLARE(int) queue_write_msg(queue_state_t *s, const uint8_t *buf, int len); /*! Initialise a queue. \brief Initialise a queue. @@ -158,13 +158,13 @@ \param flags Flags controlling the operation of the queue. Valid flags are QUEUE_READ_ATOMIC and QUEUE_WRITE_ATOMIC. \return A pointer to the context if OK, else NULL. */ -queue_state_t *queue_init(queue_state_t *s, int len, int flags); +SPAN_DECLARE(queue_state_t) *queue_init(queue_state_t *s, int len, int flags); /*! Delete a queue. \brief Delete a queue. \param s The queue context. \return 0 if deleted OK, else -1. */ -int queue_free(queue_state_t *s); +SPAN_DECLARE(int) queue_free(queue_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: schedule.h,v 1.17 2008/11/30 05:43:37 steveu Exp $ + * $Id: schedule.h,v 1.18 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -51,15 +51,15 @@ { #endif -uint64_t span_schedule_next(span_sched_state_t *s); -uint64_t span_schedule_time(span_sched_state_t *s); +SPAN_DECLARE(uint64_t) span_schedule_next(span_sched_state_t *s); +SPAN_DECLARE(uint64_t) span_schedule_time(span_sched_state_t *s); -int span_schedule_event(span_sched_state_t *s, int us, span_sched_callback_func_t function, void *user_data); -void span_schedule_update(span_sched_state_t *s, int us); -void span_schedule_del(span_sched_state_t *s, int id); +SPAN_DECLARE(int) span_schedule_event(span_sched_state_t *s, int us, span_sched_callback_func_t function, void *user_data); +SPAN_DECLARE(void) span_schedule_update(span_sched_state_t *s, int us); +SPAN_DECLARE(void) span_schedule_del(span_sched_state_t *s, int id); -span_sched_state_t *span_schedule_init(span_sched_state_t *s); -int span_schedule_release(span_sched_state_t *s); +SPAN_DECLARE(span_sched_state_t) *span_schedule_init(span_sched_state_t *s); +SPAN_DECLARE(int) span_schedule_release(span_sched_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h Mon Feb 2 11:40:52 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: sig_tone.h,v 1.15 2008/11/30 13:08:42 steveu Exp $ + * $Id: sig_tone.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -104,7 +104,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int sig_tone_rx(sig_tone_rx_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) sig_tone_rx(sig_tone_rx_state_t *s, int16_t amp[], int len); /*! Initialise a signaling tone receiver context. \brief Initialise a signaling tone context. @@ -113,7 +113,7 @@ \param sig_update Callback function to handle signaling updates. \param user_data An opaque pointer. \return A pointer to the signalling tone context, or NULL if there was a problem. */ -sig_tone_rx_state_t *sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); +SPAN_DECLARE(sig_tone_rx_state_t) *sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); /*! Generate a block of signaling tone audio samples. \brief Generate a block of signaling tone audio samples. @@ -121,13 +121,13 @@ \param amp The audio sample buffer. \param len The number of samples to be generated. \return The number of samples actually generated. */ -int sig_tone_tx(sig_tone_tx_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) sig_tone_tx(sig_tone_tx_state_t *s, int16_t amp[], int len); /*! Set the tone mode. \brief Set the tone mode. \param s The signaling tone context. \param mode The new mode for the transmitted tones. */ -void sig_tone_tx_set_mode(sig_tone_tx_state_t *s, int mode); +SPAN_DECLARE(void) sig_tone_tx_set_mode(sig_tone_tx_state_t *s, int mode); /*! Initialise a signaling tone transmitter context. \brief Initialise a signaling tone context. @@ -136,7 +136,7 @@ \param sig_update Callback function to handle signaling updates. \param user_data An opaque pointer. \return A pointer to the signalling tone context, or NULL if there was a problem. */ -sig_tone_tx_state_t *sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); +SPAN_DECLARE(sig_tone_tx_state_t) *sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: silence_gen.h,v 1.12 2008/07/26 04:53:00 steveu Exp $ + * $Id: silence_gen.h,v 1.13 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_SILENCE_GEN_H_) @@ -52,20 +52,20 @@ \return The number of samples actually generated. This will be zero when there is nothing to send. */ -int silence_gen(silence_gen_state_t *s, int16_t *amp, int max_len); +SPAN_DECLARE(int) silence_gen(silence_gen_state_t *s, int16_t *amp, int max_len); /*! Set a silence generator context to output continuous silence. \brief Set a silence generator context to output continuous silence. \param s The silence generator context. */ -void silence_gen_always(silence_gen_state_t *s); +SPAN_DECLARE(void) silence_gen_always(silence_gen_state_t *s); /*! Set a silence generator context to output a specified period of silence. \brief Set a silence generator context to output a specified period of silence. \param s The silence generator context. \param silent_samples The number of samples to be generated. */ -void silence_gen_set(silence_gen_state_t *s, int silent_samples); +SPAN_DECLARE(void) silence_gen_set(silence_gen_state_t *s, int silent_samples); /*! Alter the period of a silence generator context by a specified amount. \brief Alter the period of a silence generator context by a specified amount. @@ -74,28 +74,28 @@ increases the duration. A negative number reduces it. The duration is prevented from going negative. */ -void silence_gen_alter(silence_gen_state_t *s, int silent_samples); +SPAN_DECLARE(void) silence_gen_alter(silence_gen_state_t *s, int silent_samples); /*! Find how long a silence generator context has to run. \brief Find how long a silence generator context has to run. \param s The silence generator context. \return The number of samples remaining. */ -int silence_gen_remainder(silence_gen_state_t *s); +SPAN_DECLARE(int) silence_gen_remainder(silence_gen_state_t *s); /*! Find the total silence generated to date by a silence generator context. \brief Find the total silence generated to date. \param s The silence generator context. \return The number of samples generated. */ -int silence_gen_generated(silence_gen_state_t *s); +SPAN_DECLARE(int) silence_gen_generated(silence_gen_state_t *s); /*! Change the status reporting function associated with a silence generator context. \brief Change the status reporting function associated with a silence generator context. \param s The silence generator context. \param handler The callback routine used to report status changes. \param user_data An opaque pointer. */ -void silence_gen_status_handler(silence_gen_state_t *s, modem_tx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) silence_gen_status_handler(silence_gen_state_t *s, modem_tx_status_func_t handler, void *user_data); /*! Initialise a timed silence generator context. \brief Initialise a timed silence generator context. @@ -103,7 +103,7 @@ \param silent_samples The initial number of samples to set the silence to. \return A pointer to the silence generator context. */ -silence_gen_state_t *silence_gen_init(silence_gen_state_t *s, int silent_samples); +SPAN_DECLARE(silence_gen_state_t) *silence_gen_init(silence_gen_state_t *s, int silent_samples); /* The following dummy routines, to absorb data, don't really have a proper home, so they have been put here. */ @@ -117,7 +117,7 @@ \param len The length of the signal buffer \return 0. */ -int span_dummy_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len); /*! A dummy routine to use as a signal modifier callback, when we aren't really trying to process the signal. It just returns without affecting @@ -128,7 +128,7 @@ \param len The length of the signal buffer \return 0. */ -int span_dummy_mod(void *user_data, int16_t amp[], int len); +SPAN_DECLARE(int) span_dummy_mod(void *user_data, int16_t amp[], int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_rx.h,v 1.18 2008/11/30 10:17:31 steveu Exp $ + * $Id: super_tone_rx.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_SUPER_TONE_RX_H_) @@ -73,18 +73,18 @@ descriptor. \return The supervisory tone set descriptor. */ -super_tone_rx_descriptor_t *super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc); +SPAN_DECLARE(super_tone_rx_descriptor_t) *super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc); /*! Free a supervisory tone detector descriptor. \param desc The supervisory tone set desciptor. \return 0 for OK, -1 for fail. */ -int super_tone_rx_free_descriptor(super_tone_rx_descriptor_t *desc); +SPAN_DECLARE(int) super_tone_rx_free_descriptor(super_tone_rx_descriptor_t *desc); /*! Add a new tone pattern to a supervisory tone detector set. \param desc The supervisory tone set descriptor. \return The new tone ID. */ -int super_tone_rx_add_tone(super_tone_rx_descriptor_t *desc); +SPAN_DECLARE(int) super_tone_rx_add_tone(super_tone_rx_descriptor_t *desc); /*! Add a new tone pattern element to a tone pattern in a supervisory tone detector. \param desc The supervisory tone set desciptor. @@ -95,12 +95,12 @@ \param max The maximum duration, in ms. \return The new number of elements in the tone description. */ -int super_tone_rx_add_element(super_tone_rx_descriptor_t *desc, - int tone, - int f1, - int f2, - int min, - int max); +SPAN_DECLARE(int) super_tone_rx_add_element(super_tone_rx_descriptor_t *desc, + int tone, + int f1, + int f2, + int min, + int max); /*! Initialise a supervisory tone detector. \param s The supervisory tone detector context. @@ -110,24 +110,24 @@ \param user_data An opaque pointer passed when calling the callback routine. \return The supervisory tone detector context. */ -super_tone_rx_state_t *super_tone_rx_init(super_tone_rx_state_t *s, - super_tone_rx_descriptor_t *desc, - tone_report_func_t callback, - void *user_data); +SPAN_DECLARE(super_tone_rx_state_t) *super_tone_rx_init(super_tone_rx_state_t *s, + super_tone_rx_descriptor_t *desc, + tone_report_func_t callback, + void *user_data); /*! Release a supervisory tone detector. \param s The supervisory tone context. \return 0 for OK, -1 for fail. */ -int super_tone_rx_free(super_tone_rx_state_t *s); +SPAN_DECLARE(int) super_tone_rx_free(super_tone_rx_state_t *s); /*! Define a callback routine to be called each time a tone pattern element is complete. This is mostly used when analysing a tone. \param s The supervisory tone context. \param callback The callback routine. */ -void super_tone_rx_segment_callback(super_tone_rx_state_t *s, - void (*callback)(void *data, int f1, int f2, int duration)); +SPAN_DECLARE(void) super_tone_rx_segment_callback(super_tone_rx_state_t *s, + void (*callback)(void *data, int f1, int f2, int duration)); /*! Apply supervisory tone detection processing to a block of audio samples. \brief Apply supervisory tone detection processing to a block of audio samples. @@ -136,7 +136,7 @@ \param samples The number of samples in the buffer. \return The number of samples processed. */ -int super_tone_rx(super_tone_rx_state_t *super, const int16_t amp[], int samples); +SPAN_DECLARE(int) super_tone_rx(super_tone_rx_state_t *super, const int16_t amp[], int samples); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_tx.h,v 1.14 2008/11/30 10:17:31 steveu Exp $ + * $Id: super_tone_tx.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_SUPER_TONE_TX_H_) @@ -50,22 +50,22 @@ { #endif -super_tone_tx_step_t *super_tone_tx_make_step(super_tone_tx_step_t *s, - float f1, - float l1, - float f2, - float l2, - int length, - int cycles); +SPAN_DECLARE(super_tone_tx_step_t) *super_tone_tx_make_step(super_tone_tx_step_t *s, + float f1, + float l1, + float f2, + float l2, + int length, + int cycles); -void super_tone_tx_free(super_tone_tx_step_t *s); +SPAN_DECLARE(void) super_tone_tx_free(super_tone_tx_step_t *s); /*! Initialise a supervisory tone generator. \brief Initialise a supervisory tone generator. \param s The supervisory tone generator context. \param tree The supervisory tone tree to be generated. \return The supervisory tone generator context. */ -super_tone_tx_state_t *super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree); +SPAN_DECLARE(super_tone_tx_state_t) *super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree); /*! Generate a block of audio samples for a supervisory tone pattern. \brief Generate a block of audio samples for a supervisory tone pattern. @@ -73,7 +73,7 @@ \param amp The audio sample buffer. \param max_samples The maximum number of samples to be generated. \return The number of samples generated. */ -int super_tone_tx(super_tone_tx_state_t *s, int16_t amp[], int max_samples); +SPAN_DECLARE(int) super_tone_tx(super_tone_tx_state_t *s, int16_t amp[], int max_samples); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.h,v 1.120 2009/01/19 17:14:10 steveu Exp $ + * $Id: t30.h,v 1.121 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -558,62 +558,62 @@ \param send_hdlc_handler \param send_hdlc_user_data \return A pointer to the context, or NULL if there was a problem. */ -t30_state_t *t30_init(t30_state_t *s, - int calling_party, - t30_set_handler_t *set_rx_type_handler, - void *set_rx_type_user_data, - t30_set_handler_t *set_tx_type_handler, - void *set_tx_type_user_data, - t30_send_hdlc_handler_t *send_hdlc_handler, - void *send_hdlc_user_data); +SPAN_DECLARE(t30_state_t) *t30_init(t30_state_t *s, + int calling_party, + t30_set_handler_t *set_rx_type_handler, + void *set_rx_type_user_data, + t30_set_handler_t *set_tx_type_handler, + void *set_tx_type_user_data, + t30_send_hdlc_handler_t *send_hdlc_handler, + void *send_hdlc_user_data); /*! Release a T.30 context. \brief Release a T.30 context. \param s The T.30 context. \return 0 for OK, else -1. */ -int t30_release(t30_state_t *s); +SPAN_DECLARE(int) t30_release(t30_state_t *s); /*! Free a T.30 context. \brief Free a T.30 context. \param s The T.30 context. \return 0 for OK, else -1. */ -int t30_free(t30_state_t *s); +SPAN_DECLARE(int) t30_free(t30_state_t *s); /*! Restart a T.30 context. \brief Restart a T.30 context. \param s The T.30 context. \return 0 for OK, else -1. */ -int t30_restart(t30_state_t *s); +SPAN_DECLARE(int) t30_restart(t30_state_t *s); /*! Check if a T.30 call is still active. This may be used to regularly poll if the job has finished. \brief Check if a T.30 call is still active. \param s The T.30 context. \return TRUE for call still active, or FALSE for call completed. */ -int t30_call_active(t30_state_t *s); +SPAN_DECLARE(int) t30_call_active(t30_state_t *s); /*! Cleanup a T.30 context if the call terminates. \brief Cleanup a T.30 context if the call terminates. \param s The T.30 context. */ -void t30_terminate(t30_state_t *s); +SPAN_DECLARE(void) t30_terminate(t30_state_t *s); /*! Inform the T.30 engine of a status change in the front end (end of tx, rx signal change, etc.). \brief Inform the T.30 engine of a status change in the front end (end of tx, rx signal change, etc.). \param user_data The T.30 context. \param status The type of status change which occured. */ -void t30_front_end_status(void *user_data, int status); +SPAN_DECLARE(void) t30_front_end_status(void *user_data, int status); /*! Get a bit of received non-ECM image data. \brief Get a bit of received non-ECM image data. \param user_data An opaque pointer, which must point to the T.30 context. \return The next bit to transmit. */ -int t30_non_ecm_get_bit(void *user_data); +SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data); /*! Get a byte of received non-ECM image data. \brief Get a byte of received non-ECM image data. \param user_data An opaque pointer, which must point to the T.30 context. \return The next byte to transmit. */ -int t30_non_ecm_get_byte(void *user_data); +SPAN_DECLARE(int) t30_non_ecm_get_byte(void *user_data); /*! Get a chunk of received non-ECM image data. \brief Get a bit of received non-ECM image data. @@ -621,26 +621,26 @@ \param buf The buffer to contain the data. \param max_len The maximum length of the chunk. \return The actual length of the chunk. */ -int t30_non_ecm_get_chunk(void *user_data, uint8_t buf[], int max_len); +SPAN_DECLARE(int) t30_non_ecm_get_chunk(void *user_data, uint8_t buf[], int max_len); /*! Process a bit of received non-ECM image data. \brief Process a bit of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param bit The received bit. */ -void t30_non_ecm_put_bit(void *user_data, int bit); +SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit); /*! Process a byte of received non-ECM image data. \brief Process a byte of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param byte The received byte. */ -void t30_non_ecm_put_byte(void *user_data, int byte); +SPAN_DECLARE(void) t30_non_ecm_put_byte(void *user_data, int byte); /*! Process a chunk of received non-ECM image data. \brief Process a chunk of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param buf The buffer containing the received data. \param len The length of the data in buf. */ -void t30_non_ecm_put_chunk(void *user_data, const uint8_t buf[], int len); +SPAN_DECLARE(void) t30_non_ecm_put_chunk(void *user_data, const uint8_t buf[], int len); /*! Process a received HDLC frame. \brief Process a received HDLC frame. @@ -648,25 +648,25 @@ \param msg The HDLC message. \param len The length of the message, in octets. \param ok TRUE if the frame was received without error. */ -void t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); +SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); /*! Report the passage of time to the T.30 engine. \brief Report the passage of time to the T.30 engine. \param s The T.30 context. \param samples The time change in 1/8000th second steps. */ -void t30_timer_update(t30_state_t *s, int samples); +SPAN_DECLARE(void) t30_timer_update(t30_state_t *s, int samples); /*! Get the current transfer statistics for the file being sent or received. \brief Get the current transfer statistics. \param s The T.30 context. \param t A pointer to a buffer for the statistics. */ -void t30_get_transfer_statistics(t30_state_t *s, t30_stats_t *t); +SPAN_DECLARE(void) t30_get_transfer_statistics(t30_state_t *s, t30_stats_t *t); /*! Request a local interrupt of FAX exchange. \brief Request a local interrupt of FAX exchange. \param s The T.30 context. \param state TRUE to enable interrupt request, else FALSE. */ -void t30_local_interrupt_request(t30_state_t *s, int state); +SPAN_DECLARE(void) t30_local_interrupt_request(t30_state_t *s, int state); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_api.h,v 1.7 2008/10/13 13:14:00 steveu Exp $ + * $Id: t30_api.h,v 1.8 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -41,21 +41,21 @@ \param nsf A pointer to the frame. \param len The length of the frame. \return 0 for OK, else -1. */ -int t30_set_tx_nsf(t30_state_t *s, const uint8_t *nsf, int len); +SPAN_DECLARE(int) t30_set_tx_nsf(t30_state_t *s, const uint8_t *nsf, int len); /*! Get an NSF frame to be associated with a T.30 context. \brief Set an NSF frame to be associated with a T.30 context. \param s The T.30 context. \param nsf A pointer to the frame. \return the length of the NSF message. */ -size_t t30_get_tx_nsf(t30_state_t *s, const uint8_t *nsf[]); +SPAN_DECLARE(size_t) t30_get_tx_nsf(t30_state_t *s, const uint8_t *nsf[]); /*! Get an NSF frame to be associated with a T.30 context. \brief Set an NSF frame to be associated with a T.30 context. \param s The T.30 context. \param nsf A pointer to the frame. \return the length of the NSF message. */ -size_t t30_get_rx_nsf(t30_state_t *s, const uint8_t *nsf[]); +SPAN_DECLARE(size_t) t30_get_rx_nsf(t30_state_t *s, const uint8_t *nsf[]); /*! Set the transmitted NSC frame to be associated with a T.30 context. \brief Set the transmitted NSC frame to be associated with a T.30 context. @@ -63,21 +63,21 @@ \param nsf A pointer to the frame. \param len The length of the frame. \return 0 for OK, else -1. */ -int t30_set_tx_nsc(t30_state_t *s, const uint8_t *nsc, int len); +SPAN_DECLARE(int) t30_set_tx_nsc(t30_state_t *s, const uint8_t *nsc, int len); /*! Get an NSC frame to be associated with a T.30 context. \brief Set an NSC frame to be associated with a T.30 context. \param s The T.30 context. \param nsc A pointer to the frame. \return the length of the NSC message. */ -size_t t30_get_tx_nsc(t30_state_t *s, const uint8_t *nsc[]); +SPAN_DECLARE(size_t) t30_get_tx_nsc(t30_state_t *s, const uint8_t *nsc[]); /*! Get an NSC frame to be associated with a T.30 context. \brief Set an NSC frame to be associated with a T.30 context. \param s The T.30 context. \param nsc A pointer to the frame. \return the length of the NSC message. */ -size_t t30_get_rx_nsc(t30_state_t *s, const uint8_t *nsc[]); +SPAN_DECLARE(size_t) t30_get_rx_nsc(t30_state_t *s, const uint8_t *nsc[]); /*! Set the transmitted NSS frame to be associated with a T.30 context. \brief Set the transmitted NSS frame to be associated with a T.30 context. @@ -85,63 +85,63 @@ \param nsf A pointer to the frame. \param len The length of the frame. \return 0 for OK, else -1. */ -int t30_set_tx_nss(t30_state_t *s, const uint8_t *nss, int len); +SPAN_DECLARE(int) t30_set_tx_nss(t30_state_t *s, const uint8_t *nss, int len); /*! Get an NSS frame to be associated with a T.30 context. \brief Set an NSS frame to be associated with a T.30 context. \param s The T.30 context. \param nss A pointer to the frame. \return the length of the NSS message. */ -size_t t30_get_tx_nss(t30_state_t *s, const uint8_t *nss[]); +SPAN_DECLARE(size_t) t30_get_tx_nss(t30_state_t *s, const uint8_t *nss[]); /*! Get an NSS frame to be associated with a T.30 context. \brief Set an NSS frame to be associated with a T.30 context. \param s The T.30 context. \param nss A pointer to the frame. \return the length of the NSS message. */ -size_t t30_get_rx_nss(t30_state_t *s, const uint8_t *nss[]); +SPAN_DECLARE(size_t) t30_get_rx_nss(t30_state_t *s, const uint8_t *nss[]); /*! Set the transmitted identifier associated with a T.30 context. \brief Set the transmitted identifier associated with a T.30 context. \param s The T.30 context. \param id A pointer to the identifier. \return 0 for OK, else -1. */ -int t30_set_tx_ident(t30_state_t *s, const char *id); +SPAN_DECLARE(int) t30_set_tx_ident(t30_state_t *s, const char *id); /*! Get the transmitted identifier associated with a T.30 context. \brief Set the transmitted identifier associated with a T.30 context. \param s The T.30 context. \param id A pointer to the identifier. \return 0 for OK, else -1. */ -const char *t30_get_tx_ident(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_ident(t30_state_t *s); /*! Get the transmitted identifier associated with a T.30 context. \brief Set the transmitted identifier associated with a T.30 context. \param s The T.30 context. \param id A pointer to the identifier. \return 0 for OK, else -1. */ -const char *t30_get_rx_ident(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_ident(t30_state_t *s); /*! Set the transmitted sub-address associated with a T.30 context. \brief Set the transmitted sub-address associated with a T.30 context. \param s The T.30 context. \param sub_address A pointer to the sub-address. \return 0 for OK, else -1. */ -int t30_set_tx_sub_address(t30_state_t *s, const char *sub_address); +SPAN_DECLARE(int) t30_set_tx_sub_address(t30_state_t *s, const char *sub_address); /*! Get the received sub-address associated with a T.30 context. \brief Get the received sub-address associated with a T.30 context. \param s The T.30 context. \param sub_address A pointer to the sub-address. \return 0 for OK, else -1. */ -const char *t30_get_tx_sub_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_sub_address(t30_state_t *s); /*! Get the received sub-address associated with a T.30 context. \brief Get the received sub-address associated with a T.30 context. \param s The T.30 context. \param sub_address A pointer to the sub-address. \return 0 for OK, else -1. */ -const char *t30_get_rx_sub_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_sub_address(t30_state_t *s); /*! Set the transmitted selective polling address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -149,7 +149,7 @@ \param s The T.30 context. \param selective_polling_address A pointer to the selective polling address. \return 0 for OK, else -1. */ -int t30_set_tx_selective_polling_address(t30_state_t *s, const char *selective_polling_address); +SPAN_DECLARE(int) t30_set_tx_selective_polling_address(t30_state_t *s, const char *selective_polling_address); /*! Get the received selective polling address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -157,7 +157,7 @@ \param s The T.30 context. \param selective_polling_address A pointer to the selective polling address. \return 0 for OK, else -1. */ -const char *t30_get_tx_selective_polling_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_selective_polling_address(t30_state_t *s); /*! Get the received selective polling address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -165,7 +165,7 @@ \param s The T.30 context. \param selective_polling_address A pointer to the selective polling address. \return 0 for OK, else -1. */ -const char *t30_get_rx_selective_polling_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_selective_polling_address(t30_state_t *s); /*! Set the transmitted polled sub-address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -173,7 +173,7 @@ \param s The T.30 context. \param polled_sub_address A pointer to the polled sub-address. \return 0 for OK, else -1. */ -int t30_set_tx_polled_sub_address(t30_state_t *s, const char *polled_sub_address); +SPAN_DECLARE(int) t30_set_tx_polled_sub_address(t30_state_t *s, const char *polled_sub_address); /*! Get the received polled sub-address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -181,7 +181,7 @@ \param s The T.30 context. \param polled_sub_address A pointer to the polled sub-address. \return 0 for OK, else -1. */ -const char *t30_get_tx_polled_sub_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_polled_sub_address(t30_state_t *s); /*! Get the received polled sub-address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -189,7 +189,7 @@ \param s The T.30 context. \param polled_sub_address A pointer to the polled sub-address. \return 0 for OK, else -1. */ -const char *t30_get_rx_polled_sub_address(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_polled_sub_address(t30_state_t *s); /*! Set the transmitted sender ident (i.e. the one we will send to the far end) associated with a T.30 context. @@ -197,7 +197,7 @@ \param s The T.30 context. \param sender_ident A pointer to the sender ident. \return 0 for OK, else -1. */ -int t30_set_tx_sender_ident(t30_state_t *s, const char *sender_ident); +SPAN_DECLARE(int) t30_set_tx_sender_ident(t30_state_t *s, const char *sender_ident); /*! Get the received sender ident (i.e. the one we will send to the far end) associated with a T.30 context. @@ -205,7 +205,7 @@ \param s The T.30 context. \param sender_ident A pointer to the sender ident. \return 0 for OK, else -1. */ -const char *t30_get_tx_sender_ident(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_sender_ident(t30_state_t *s); /*! Get the received sender ident (i.e. the one we will send to the far end) associated with a T.30 context. @@ -213,7 +213,7 @@ \param s The T.30 context. \param sender_ident A pointer to the sender ident. \return 0 for OK, else -1. */ -const char *t30_get_rx_sender_ident(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_sender_ident(t30_state_t *s); /*! Set the transmitted password (i.e. the one we will send to the far end) associated with a T.30 context. @@ -221,7 +221,7 @@ \param s The T.30 context. \param password A pointer to the password. \return 0 for OK, else -1. */ -int t30_set_tx_password(t30_state_t *s, const char *password); +SPAN_DECLARE(int) t30_set_tx_password(t30_state_t *s, const char *password); /*! Get the received password (i.e. the one we will send to the far end) associated with a T.30 context. @@ -229,7 +229,7 @@ \param s The T.30 context. \param password A pointer to the password. \return 0 for OK, else -1. */ -const char *t30_get_tx_password(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_tx_password(t30_state_t *s); /*! Get the received password (i.e. the one we will send to the far end) associated with a T.30 context. @@ -237,7 +237,7 @@ \param s The T.30 context. \param password A pointer to the password. \return 0 for OK, else -1. */ -const char *t30_get_rx_password(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_password(t30_state_t *s); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -247,7 +247,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -int t30_set_tx_tsa(t30_state_t *s, int type, const char *address, int len); +SPAN_DECLARE(int) t30_set_tx_tsa(t30_state_t *s, int type, const char *address, int len); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -257,7 +257,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_tx_tsa(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_tx_tsa(t30_state_t *s, int *type, const char *address[]); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -267,7 +267,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_rx_tsa(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_rx_tsa(t30_state_t *s, int *type, const char *address[]); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -277,7 +277,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -int t30_set_tx_ira(t30_state_t *s, int type, const char *address, int len); +SPAN_DECLARE(int) t30_set_tx_ira(t30_state_t *s, int type, const char *address, int len); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -287,7 +287,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_tx_ira(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_tx_ira(t30_state_t *s, int *type, const char *address[]); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -297,7 +297,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_rx_ira(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_rx_ira(t30_state_t *s, int *type, const char *address[]); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -307,7 +307,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -int t30_set_tx_cia(t30_state_t *s, int type, const char *address, int len); +SPAN_DECLARE(int) t30_set_tx_cia(t30_state_t *s, int type, const char *address, int len); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -317,7 +317,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_tx_cia(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_tx_cia(t30_state_t *s, int *type, const char *address[]); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -327,7 +327,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_rx_cia(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_rx_cia(t30_state_t *s, int *type, const char *address[]); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -337,7 +337,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -int t30_set_tx_isp(t30_state_t *s, int type, const char *address, int len); +SPAN_DECLARE(int) t30_set_tx_isp(t30_state_t *s, int type, const char *address, int len); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -346,7 +346,7 @@ \param type The type of address. \param type A pointer to the address. \return 0 for OK, else -1. */ -size_t t30_get_tx_isp(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_tx_isp(t30_state_t *s, int *type, const char *address[]); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -355,7 +355,7 @@ \param type The type of address. \param type A pointer to the address. \return 0 for OK, else -1. */ -size_t t30_get_rx_isp(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_rx_isp(t30_state_t *s, int *type, const char *address[]); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -365,7 +365,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -int t30_set_tx_csa(t30_state_t *s, int type, const char *address, int len); +SPAN_DECLARE(int) t30_set_tx_csa(t30_state_t *s, int type, const char *address, int len); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -375,7 +375,7 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_tx_csa(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_tx_csa(t30_state_t *s, int *type, const char *address[]); /*! Get the received ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -385,14 +385,14 @@ \param type A pointer to the address. \param len The length of the address. \return 0 for OK, else -1. */ -size_t t30_get_rx_csa(t30_state_t *s, int *type, const char *address[]); +SPAN_DECLARE(size_t) t30_get_rx_csa(t30_state_t *s, int *type, const char *address[]); /*! Set the transmitted header information associated with a T.30 context. \brief Set the transmitted header information associated with a T.30 context. \param s The T.30 context. \param info A pointer to the information string. \return 0 for OK, else -1. */ -int t30_set_tx_page_header_info(t30_state_t *s, const char *info); +SPAN_DECLARE(int) t30_set_tx_page_header_info(t30_state_t *s, const char *info); /*! Get the header information associated with a T.30 context. \brief Get the header information associated with a T.30 context. @@ -400,25 +400,25 @@ \param info A pointer to a buffer for the header information. The buffer should be at least 51 bytes long. \return the length of the string. */ -size_t t30_get_tx_page_header_info(t30_state_t *s, char *info); +SPAN_DECLARE(size_t) t30_get_tx_page_header_info(t30_state_t *s, char *info); /*! Get the country of origin of the remote FAX machine associated with a T.30 context. \brief Get the country of origin of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the country name, or NULL if the country is not known. */ -const char *t30_get_rx_country(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_country(t30_state_t *s); /*! Get the name of the vendor of the remote FAX machine associated with a T.30 context. \brief Get the name of the vendor of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the vendor name, or NULL if the vendor is not known. */ -const char *t30_get_rx_vendor(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_vendor(t30_state_t *s); /*! Get the name of the model of the remote FAX machine associated with a T.30 context. \brief Get the name of the model of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the model name, or NULL if the model is not known. */ -const char *t30_get_rx_model(t30_state_t *s); +SPAN_DECLARE(const char) *t30_get_rx_model(t30_state_t *s); /*! Specify the file name of the next TIFF file to be received by a T.30 context. @@ -426,7 +426,7 @@ \param s The T.30 context. \param file The file name \param stop_page The maximum page to receive. -1 for no restriction. */ -void t30_set_rx_file(t30_state_t *s, const char *file, int stop_page); +SPAN_DECLARE(void) t30_set_rx_file(t30_state_t *s, const char *file, int stop_page); /*! Specify the file name of the next TIFF file to be transmitted by a T.30 context. @@ -435,20 +435,20 @@ \param file The file name \param start_page The first page to send. -1 for no restriction. \param stop_page The last page to send. -1 for no restriction. */ -void t30_set_tx_file(t30_state_t *s, const char *file, int start_page, int stop_page); +SPAN_DECLARE(void) t30_set_tx_file(t30_state_t *s, const char *file, int start_page, int stop_page); /*! Set Internet aware FAX (IAF) mode. \brief Set Internet aware FAX (IAF) mode. \param s The T.30 context. \param iaf TRUE for IAF, or FALSE for non-IAF. */ -void t30_set_iaf_mode(t30_state_t *s, int iaf); +SPAN_DECLARE(void) t30_set_iaf_mode(t30_state_t *s, int iaf); /*! Specify if error correction mode (ECM) is allowed by a T.30 context. \brief Select ECM capability. \param s The T.30 context. \param enabled TRUE for ECM capable, FALSE for not ECM capable. \return 0 if OK, else -1. */ -int t30_set_ecm_capability(t30_state_t *s, int enabled); +SPAN_DECLARE(int) t30_set_ecm_capability(t30_state_t *s, int enabled); /*! Specify the output encoding for TIFF files created during FAX reception. \brief Specify the output encoding for TIFF files created during FAX reception. @@ -458,91 +458,91 @@ densest option, but support for it is broken in a number of software packages. \return 0 if OK, else -1. */ -int t30_set_rx_encoding(t30_state_t *s, int encoding); +SPAN_DECLARE(int) t30_set_rx_encoding(t30_state_t *s, int encoding); /*! Specify the minimum scan line time supported by a T.30 context. \brief Specify minimum scan line time. \param s The T.30 context. \param min_time The minimum permitted scan line time, in milliseconds. \return 0 if OK, else -1. */ -int t30_set_minimum_scan_line_time(t30_state_t *s, int min_time); +SPAN_DECLARE(int) t30_set_minimum_scan_line_time(t30_state_t *s, int min_time); /*! Specify which modem types are supported by a T.30 context. \brief Specify supported modems. \param s The T.30 context. \param supported_modems Bit field list of the supported modems. \return 0 if OK, else -1. */ -int t30_set_supported_modems(t30_state_t *s, int supported_modems); +SPAN_DECLARE(int) t30_set_supported_modems(t30_state_t *s, int supported_modems); /*! Specify which compression types are supported by a T.30 context. \brief Specify supported compression types. \param s The T.30 context. \param supported_compressions Bit field list of the supported compression types. \return 0 if OK, else -1. */ -int t30_set_supported_compressions(t30_state_t *s, int supported_compressions); +SPAN_DECLARE(int) t30_set_supported_compressions(t30_state_t *s, int supported_compressions); /*! Specify which resolutions are supported by a T.30 context. \brief Specify supported resolutions. \param s The T.30 context. \param supported_resolutions Bit field list of the supported resolutions. \return 0 if OK, else -1. */ -int t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions); +SPAN_DECLARE(int) t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions); /*! Specify which images sizes are supported by a T.30 context. \brief Specify supported image sizes. \param s The T.30 context. \param supported_image_sizes Bit field list of the supported widths and lengths. \return 0 if OK, else -1. */ -int t30_set_supported_image_sizes(t30_state_t *s, int supported_image_sizes); +SPAN_DECLARE(int) t30_set_supported_image_sizes(t30_state_t *s, int supported_image_sizes); /*! Specify which special T.30 features are supported by a T.30 context. \brief Specify supported T.30 features. \param s The T.30 context. \param supported_t30_features Bit field list of the supported features. \return 0 if OK, else -1. */ -int t30_set_supported_t30_features(t30_state_t *s, int supported_t30_features); +SPAN_DECLARE(int) t30_set_supported_t30_features(t30_state_t *s, int supported_t30_features); /*! Set T.30 status. This may be used to adjust the status from within the phase B and phase D callbacks. \brief Set T.30 status. \param s The T.30 context. \param status The new status. */ -void t30_set_status(t30_state_t *s, int status); +SPAN_DECLARE(void) t30_set_status(t30_state_t *s, int status); /*! Specify a period of responding with receiver not ready. \brief Specify a period of responding with receiver not ready. \param s The T.30 context. \param count The number of times to report receiver not ready. \return 0 if OK, else -1. */ -int t30_set_receiver_not_ready(t30_state_t *s, int count); +SPAN_DECLARE(int) t30_set_receiver_not_ready(t30_state_t *s, int count); /*! Set a callback function for T.30 phase B handling. \brief Set a callback function for T.30 phase B handling. \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t30_set_phase_b_handler(t30_state_t *s, t30_phase_b_handler_t *handler, void *user_data); +SPAN_DECLARE(void) t30_set_phase_b_handler(t30_state_t *s, t30_phase_b_handler_t *handler, void *user_data); /*! Set a callback function for T.30 phase D handling. \brief Set a callback function for T.30 phase D handling. \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t30_set_phase_d_handler(t30_state_t *s, t30_phase_d_handler_t *handler, void *user_data); +SPAN_DECLARE(void) t30_set_phase_d_handler(t30_state_t *s, t30_phase_d_handler_t *handler, void *user_data); /*! Set a callback function for T.30 phase E handling. \brief Set a callback function for T.30 phase E handling. \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t30_set_phase_e_handler(t30_state_t *s, t30_phase_e_handler_t *handler, void *user_data); +SPAN_DECLARE(void) t30_set_phase_e_handler(t30_state_t *s, t30_phase_e_handler_t *handler, void *user_data); /*! Set a callback function for T.30 end of document handling. \brief Set a callback function for T.30 end of document handling. \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t30_set_document_handler(t30_state_t *s, t30_document_handler_t *handler, void *user_data); +SPAN_DECLARE(void) t30_set_document_handler(t30_state_t *s, t30_document_handler_t *handler, void *user_data); /*! Set a callback function for T.30 frame exchange monitoring. This is called from the heart of the signal processing, so don't take too long in the handler routine. @@ -550,14 +550,14 @@ \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t30_set_real_time_frame_handler(t30_state_t *s, t30_real_time_frame_handler_t *handler, void *user_data); +SPAN_DECLARE(void) t30_set_real_time_frame_handler(t30_state_t *s, t30_real_time_frame_handler_t *handler, void *user_data); /*! Get a pointer to the logging context associated with a T.30 context. \brief Get a pointer to the logging context associated with a T.30 context. \param s The T.30 context. \return A pointer to the logging context, or NULL. */ -logging_state_t *t30_get_logging_state(t30_state_t *s); +SPAN_DECLARE(logging_state_t) *t30_get_logging_state(t30_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_logging.h,v 1.2 2008/04/17 14:27:00 steveu Exp $ + * $Id: t30_logging.h,v 1.3 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -40,20 +40,20 @@ \param x The frametype octet. \return A pointer to the text name for the frame type. If the frame type is not value, the string "???" is returned. */ -const char *t30_frametype(uint8_t x); +SPAN_DECLARE(const char) *t30_frametype(uint8_t x); /*! Decode a DIS, DTC or DCS frame, and log the contents. \brief Decode a DIS, DTC or DCS frame, and log the contents. \param s The T.30 context. \param dis A pointer to the frame to be decoded. \param len The length of the frame. */ -void t30_decode_dis_dtc_dcs(t30_state_t *s, const uint8_t *dis, int len); +SPAN_DECLARE(void) t30_decode_dis_dtc_dcs(t30_state_t *s, const uint8_t *dis, int len); /*! Convert a phase E completion code to a short text description. \brief Convert a phase E completion code to a short text description. \param result The result code. \return A pointer to the description. */ -const char *t30_completion_code_to_str(int result); +SPAN_DECLARE(const char) *t30_completion_code_to_str(int result); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t31.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t31.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t31.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t31.h,v 1.55 2009/01/09 16:09:06 steveu Exp $ + * $Id: t31.h,v 1.56 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -57,9 +57,9 @@ { #endif -void t31_call_event(t31_state_t *s, int event); +SPAN_DECLARE(void) t31_call_event(t31_state_t *s, int event); -int t31_at_rx(t31_state_t *s, const char *t, int len); +SPAN_DECLARE(int) t31_at_rx(t31_state_t *s, const char *t, int len); /*! Process a block of received T.31 modem audio samples. \brief Process a block of received T.31 modem audio samples. @@ -67,7 +67,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int t31_rx(t31_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) t31_rx(t31_state_t *s, int16_t amp[], int len); /*! Generate a block of T.31 modem audio samples. \brief Generate a block of T.31 modem audio samples. @@ -76,9 +76,9 @@ \param max_len The number of samples to be generated. \return The number of samples actually generated. */ -int t31_tx(t31_state_t *s, int16_t amp[], int max_len); +SPAN_DECLARE(int) t31_tx(t31_state_t *s, int16_t amp[], int max_len); -int t31_t38_send_timeout(t31_state_t *s, int samples); +SPAN_DECLARE(int) t31_t38_send_timeout(t31_state_t *s, int samples); /*! Select whether silent audio will be sent when transmit is idle. \brief Select whether silent audio will be sent when transmit is idle. @@ -87,14 +87,14 @@ idle. FALSE to transmit zero length audio when the transmitter is idle. The default behaviour is FALSE. */ -void t31_set_transmit_on_idle(t31_state_t *s, int transmit_on_idle); +SPAN_DECLARE(void) t31_set_transmit_on_idle(t31_state_t *s, int transmit_on_idle); /*! Select whether TEP mode will be used (or time allowed for it (when transmitting). \brief Select whether TEP mode will be used. \param s The T.31 modem context. \param use_tep TRUE if TEP is to be ised. */ -void t31_set_tep_mode(t31_state_t *s, int use_tep); +SPAN_DECLARE(void) t31_set_tep_mode(t31_state_t *s, int use_tep); /*! Select whether T.38 data will be paced as it is transmitted. \brief Select whether T.38 data will be paced. @@ -102,18 +102,18 @@ \param without_pacing TRUE if data is to be sent as fast as possible. FALSE if it is to be paced. */ -void t31_set_t38_config(t31_state_t *s, int without_pacing); +SPAN_DECLARE(void) t31_set_t38_config(t31_state_t *s, int without_pacing); -void t31_set_mode(t31_state_t *s, int t38_mode); +SPAN_DECLARE(void) t31_set_mode(t31_state_t *s, int t38_mode); /*! Get a pointer to the logging context associated with a T.31 context. \brief Get a pointer to the logging context associated with a T.31 context. \param s The T.31 context. \return A pointer to the logging context, or NULL. */ -logging_state_t *t31_get_logging_state(t31_state_t *s); +SPAN_DECLARE(logging_state_t) *t31_get_logging_state(t31_state_t *s); -t38_core_state_t *t31_get_t38_core_state(t31_state_t *s); +SPAN_DECLARE(t38_core_state_t) *t31_get_t38_core_state(t31_state_t *s); /*! Initialise a T.31 context. This must be called before the first use of the context, to initialise its contents. @@ -126,19 +126,19 @@ \param tx_t38_packet_handler ??? \param tx_t38_packet_user_data ??? \return A pointer to the T.31 context. */ -t31_state_t *t31_init(t31_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - t31_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data, - t38_tx_packet_handler_t *tx_t38_packet_handler, - void *tx_t38_packet_user_data); +SPAN_DECLARE(t31_state_t) *t31_init(t31_state_t *s, + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + t31_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data, + t38_tx_packet_handler_t *tx_t38_packet_handler, + void *tx_t38_packet_user_data); /*! Release a T.31 context. \brief Release a T.31 context. \param s The T.31 context. \return 0 for OK */ -int t31_release(t31_state_t *s); +SPAN_DECLARE(int) t31_release(t31_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t35.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t35.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t35.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t35.h,v 1.14 2008/04/17 14:27:00 steveu Exp $ + * $Id: t35.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -63,7 +63,7 @@ If the model is not identified, NULL will be returned. \return TRUE if the machine was identified, otherwise FALSE. */ -int t35_decode(const uint8_t *msg, int len, const char **country, const char **vendor, const char **model); +SPAN_DECLARE(int) t35_decode(const uint8_t *msg, int len, const char **country, const char **vendor, const char **model); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_core.h,v 1.34 2009/01/29 01:41:06 steveu Exp $ + * $Id: t38_core.h,v 1.35 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -197,47 +197,47 @@ /*! \brief Convert the code for an indicator to a short text name. \param indicator The type of indicator. \return A pointer to a short text name for the indicator. */ -const char *t38_indicator_to_str(int indicator); +SPAN_DECLARE(const char) *t38_indicator_to_str(int indicator); /*! \brief Convert the code for a type of data to a short text name. \param data_type The data type. \return A pointer to a short text name for the data type. */ -const char *t38_data_type_to_str(int data_type); +SPAN_DECLARE(const char) *t38_data_type_to_str(int data_type); /*! \brief Convert the code for a type of data field to a short text name. \param field_type The field type. \return A pointer to a short text name for the field type. */ -const char *t38_field_type_to_str(int field_type); +SPAN_DECLARE(const char) *t38_field_type_to_str(int field_type); /*! \brief Convert the code for a CM profile code to text description. \param profile The profile code from a CM message. \return A pointer to a short text description of the profile. */ -const char *t38_cm_profile_to_str(int profile); +SPAN_DECLARE(const char) *t38_cm_profile_to_str(int profile); /*! \brief Convert a JM message code to text description. \param data The data field of the message. \param len The length of the data field. \return A pointer to a short text description of the profile. */ -const char *t38_jm_to_str(const uint8_t *data, int len); +SPAN_DECLARE(const char) *t38_jm_to_str(const uint8_t *data, int len); /*! \brief Convert a V34rate message to an actual bit rate. \param data The data field of the message. \param len The length of the data field. \return The bit rate, or -1 for a bad message. */ -int t38_v34rate_to_bps(const uint8_t *data, int len); +SPAN_DECLARE(int) t38_v34rate_to_bps(const uint8_t *data, int len); /*! \brief Send an indicator packet \param s The T.38 context. \param indicator The indicator to send. \param count The number of copies of the packet to send. \return The delay to allow after this indicator is sent. */ -int t38_core_send_indicator(t38_core_state_t *s, int indicator, int count); +SPAN_DECLARE(int) t38_core_send_indicator(t38_core_state_t *s, int indicator, int count); /*! \brief Find the delay to allow for HDLC flags after sending an indicator \param s The T.38 context. \param indicator The indicator to send. \return The delay to allow for initial HDLC flags after this indicator is sent. */ -int t38_core_send_flags_delay(t38_core_state_t *s, int indicator); +SPAN_DECLARE(int) t38_core_send_flags_delay(t38_core_state_t *s, int indicator); /*! \brief Send a data packet \param s The T.38 context. @@ -247,7 +247,7 @@ \param field_len The length of the message data, in bytes. \param count The number of copies of the packet to send. \return ??? */ -int t38_core_send_data(t38_core_state_t *s, int data_type, int field_type, const uint8_t field[], int field_len, int count); +SPAN_DECLARE(int) t38_core_send_data(t38_core_state_t *s, int data_type, int field_type, const uint8_t field[], int field_len, int count); /*! \brief Send a data packet \param s The T.38 context. @@ -256,7 +256,7 @@ \param fields The number of fields in the list. \param count The number of copies of the packet to send. \return ??? */ -int t38_core_send_data_multi_field(t38_core_state_t *s, int data_type, const t38_data_field_t field[], int fields, int count); +SPAN_DECLARE(int) t38_core_send_data_multi_field(t38_core_state_t *s, int data_type, const t38_data_field_t field[], int fields, int count); /*! \brief Process a received T.38 IFP packet. \param s The T.38 context. @@ -264,77 +264,77 @@ \param len The length of the packet contents. \param seq_no The packet sequence number. \return 0 for OK, else -1. */ -int t38_core_rx_ifp_packet(t38_core_state_t *s, const uint8_t *buf, int len, uint16_t seq_no); +SPAN_DECLARE(int) t38_core_rx_ifp_packet(t38_core_state_t *s, const uint8_t *buf, int len, uint16_t seq_no); /*! Set the method to be used for data rate management, as per the T.38 spec. \param s The T.38 context. \param method 1 for pass TCF across the T.38 link, 2 for handle TCF locally. */ -void t38_set_data_rate_management_method(t38_core_state_t *s, int method); +SPAN_DECLARE(void) t38_set_data_rate_management_method(t38_core_state_t *s, int method); /*! Set the data transport protocol. \param s The T.38 context. \param data_transport_protocol UDPTL, RTP or TPKT. */ -void t38_set_data_transport_protocol(t38_core_state_t *s, int data_transport_protocol); +SPAN_DECLARE(void) t38_set_data_transport_protocol(t38_core_state_t *s, int data_transport_protocol); /*! Set the non-ECM fill bit removal mode. \param s The T.38 context. \param fill_bit_removal TRUE to remove fill bits across the T.38 link, else FALSE. */ -void t38_set_fill_bit_removal(t38_core_state_t *s, int fill_bit_removal); +SPAN_DECLARE(void) t38_set_fill_bit_removal(t38_core_state_t *s, int fill_bit_removal); /*! Set the MMR transcoding mode. \param s The T.38 context. \param mmr_transcoding TRUE to transcode to MMR across the T.38 link, else FALSE. */ -void t38_set_mmr_transcoding(t38_core_state_t *s, int mmr_transcoding); +SPAN_DECLARE(void) t38_set_mmr_transcoding(t38_core_state_t *s, int mmr_transcoding); /*! Set the JBIG transcoding mode. \param s The T.38 context. \param jbig_transcoding TRUE to transcode to JBIG across the T.38 link, else FALSE. */ -void t38_set_jbig_transcoding(t38_core_state_t *s, int jbig_transcoding); +SPAN_DECLARE(void) t38_set_jbig_transcoding(t38_core_state_t *s, int jbig_transcoding); -void t38_set_max_buffer_size(t38_core_state_t *s, int max_buffer_size); +SPAN_DECLARE(void) t38_set_max_buffer_size(t38_core_state_t *s, int max_buffer_size); -void t38_set_max_datagram_size(t38_core_state_t *s, int max_datagram_size); +SPAN_DECLARE(void) t38_set_max_datagram_size(t38_core_state_t *s, int max_datagram_size); -int t38_get_fastest_image_data_rate(t38_core_state_t *s); +SPAN_DECLARE(int) t38_get_fastest_image_data_rate(t38_core_state_t *s); /*! Set the T.38 version to be emulated. \param s The T.38 context. \param t38_version Version number, as in the T.38 spec. */ -void t38_set_t38_version(t38_core_state_t *s, int t38_version); +SPAN_DECLARE(void) t38_set_t38_version(t38_core_state_t *s, int t38_version); /*! Set the sequence number handling option. \param s The T.38 context. \param check TRUE to check sequence numbers, and handle gaps reasonably. FALSE for no sequence number processing (e.g. for TPKT over TCP transport). */ -void t38_set_sequence_number_handling(t38_core_state_t *s, int check); +SPAN_DECLARE(void) t38_set_sequence_number_handling(t38_core_state_t *s, int check); /*! Set the TEP handling option. \param s The T.38 context. \param allow_for_tep TRUE to allow for TEP playout, else FALSE. */ -void t38_set_tep_handling(t38_core_state_t *s, int allow_for_tep); +SPAN_DECLARE(void) t38_set_tep_handling(t38_core_state_t *s, int allow_for_tep); /*! Get a pointer to the logging context associated with a T.38 context. \brief Get a pointer to the logging context associated with a T.38 context. \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -logging_state_t *t38_core_get_logging_state(t38_core_state_t *s); +SPAN_DECLARE(logging_state_t) *t38_core_get_logging_state(t38_core_state_t *s); -t38_core_state_t *t38_core_init(t38_core_state_t *s, - t38_rx_indicator_handler_t *rx_indicator_handler, - t38_rx_data_handler_t *rx_data_handler, - t38_rx_missing_handler_t *rx_missing_handler, - void *rx_user_data, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); +SPAN_DECLARE(t38_core_state_t) *t38_core_init(t38_core_state_t *s, + t38_rx_indicator_handler_t *rx_indicator_handler, + t38_rx_data_handler_t *rx_data_handler, + t38_rx_missing_handler_t *rx_missing_handler, + void *rx_user_data, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_gateway.h,v 1.59 2008/10/13 13:14:01 steveu Exp $ + * $Id: t38_gateway.h,v 1.60 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -82,15 +82,15 @@ \param tx_packet_handler A callback routine to encapsulate and transmit T.38 packets. \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ -t38_gateway_state_t *t38_gateway_init(t38_gateway_state_t *s, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); +SPAN_DECLARE(t38_gateway_state_t) *t38_gateway_init(t38_gateway_state_t *s, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); /*! Free a gateway mode T.38 context. \brief Free a T.38 context. \param s The T.38 context. \return 0 for OK, else -1. */ -int t38_gateway_free(t38_gateway_state_t *s); +SPAN_DECLARE(int) t38_gateway_free(t38_gateway_state_t *s); /*! Process a block of received FAX audio samples. \brief Process a block of received FAX audio samples. @@ -98,7 +98,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int t38_gateway_rx(t38_gateway_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) t38_gateway_rx(t38_gateway_state_t *s, int16_t amp[], int len); /*! Generate a block of FAX audio samples. \brief Generate a block of FAX audio samples. @@ -107,14 +107,14 @@ \param max_len The number of samples to be generated. \return The number of samples actually generated. */ -int t38_gateway_tx(t38_gateway_state_t *s, int16_t amp[], int max_len); +SPAN_DECLARE(int) t38_gateway_tx(t38_gateway_state_t *s, int16_t amp[], int max_len); /*! Control whether error correcting mode (ECM) is allowed. \brief Control whether error correcting mode (ECM) is allowed. \param s The T.38 context. \param ecm_allowed TRUE is ECM is to be allowed. */ -void t38_gateway_set_ecm_capability(t38_gateway_state_t *s, int ecm_allowed); +SPAN_DECLARE(void) t38_gateway_set_ecm_capability(t38_gateway_state_t *s, int ecm_allowed); /*! Select whether silent audio will be sent when transmit is idle. \brief Select whether silent audio will be sent when transmit is idle. @@ -123,14 +123,14 @@ idle. FALSE to transmit zero length audio when the FAX transmitter is idle. The default behaviour is FALSE. */ -void t38_gateway_set_transmit_on_idle(t38_gateway_state_t *s, int transmit_on_idle); +SPAN_DECLARE(void) t38_gateway_set_transmit_on_idle(t38_gateway_state_t *s, int transmit_on_idle); /*! Specify which modem types are supported by a T.30 context. \brief Specify supported modems. \param s The T.38 context. \param supported_modems Bit field list of the supported modems. */ -void t38_gateway_set_supported_modems(t38_gateway_state_t *s, int supported_modems); +SPAN_DECLARE(void) t38_gateway_set_supported_modems(t38_gateway_state_t *s, int supported_modems); /*! Select whether NSC, NSF, and NSS should be suppressed. It selected, the contents of these messages are forced to zero for all octets beyond the message type. This makes @@ -144,31 +144,31 @@ frames passing through the gateway from the modem to T.38. \param from_modem_len The length of the overwrite string. */ -void t38_gateway_set_nsx_suppression(t38_gateway_state_t *s, - const uint8_t *from_t38, - int from_t38_len, - const uint8_t *from_modem, - int from_modem_len); +SPAN_DECLARE(void) t38_gateway_set_nsx_suppression(t38_gateway_state_t *s, + const uint8_t *from_t38, + int from_t38_len, + const uint8_t *from_modem, + int from_modem_len); /*! Select whether talker echo protection tone will be sent for the image modems. \brief Select whether TEP will be sent for the image modems. \param s The T.38 context. \param use_tep TRUE if TEP should be sent. */ -void t38_gateway_set_tep_mode(t38_gateway_state_t *s, int use_tep); +SPAN_DECLARE(void) t38_gateway_set_tep_mode(t38_gateway_state_t *s, int use_tep); /*! Select whether non-ECM fill bits are to be removed during transmission. \brief Select whether non-ECM fill bits are to be removed during transmission. \param s The T.38 context. \param remove TRUE if fill bits are to be removed. */ -void t38_gateway_set_fill_bit_removal(t38_gateway_state_t *s, int remove); +SPAN_DECLARE(void) t38_gateway_set_fill_bit_removal(t38_gateway_state_t *s, int remove); /*! Get the current transfer statistics for the current T.38 session. \brief Get the current transfer statistics. \param s The T.38 context. \param t A pointer to a buffer for the statistics. */ -void t38_gateway_get_transfer_statistics(t38_gateway_state_t *s, t38_stats_t *t); +SPAN_DECLARE(void) t38_gateway_get_transfer_statistics(t38_gateway_state_t *s, t38_stats_t *t); /*! Get a pointer to the T.38 core IFP packet engine associated with a gateway mode T.38 context. @@ -177,14 +177,14 @@ \param s The T.38 context. \return A pointer to the T.38 core context, or NULL. */ -t38_core_state_t *t38_gateway_get_t38_core_state(t38_gateway_state_t *s); +SPAN_DECLARE(t38_core_state_t) *t38_gateway_get_t38_core_state(t38_gateway_state_t *s); /*! Get a pointer to the logging context associated with a T.38 context. \brief Get a pointer to the logging context associated with a T.38 context. \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -logging_state_t *t38_gateway_get_logging_state(t38_gateway_state_t *s); +SPAN_DECLARE(logging_state_t) *t38_gateway_get_logging_state(t38_gateway_state_t *s); /*! Set a callback function for T.30 frame exchange monitoring. This is called from the heart of the signal processing, so don't take too long in the handler routine. @@ -192,9 +192,9 @@ \param s The T.30 context. \param handler The callback function. \param user_data An opaque pointer passed to the callback function. */ -void t38_gateway_set_real_time_frame_handler(t38_gateway_state_t *s, - t38_gateway_real_time_frame_handler_t *handler, - void *user_data); +SPAN_DECLARE(void) t38_gateway_set_real_time_frame_handler(t38_gateway_state_t *s, + t38_gateway_real_time_frame_handler_t *handler, + void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h Mon Feb 2 11:40:52 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_non_ecm_buffer.h,v 1.3 2008/10/13 13:14:01 steveu Exp $ + * $Id: t38_non_ecm_buffer.h,v 1.4 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -59,41 +59,41 @@ \param mode TRUE for image data mode, or FALSE for TCF mode. \param bits The minimum number of bits per FAX image row. \return A pointer to the buffer context, or NULL if there was a problem. */ -t38_non_ecm_buffer_state_t *t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); +SPAN_DECLARE(t38_non_ecm_buffer_state_t) *t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); /*! \brief Set the mode of a T.38 rate adapting non-ECM buffer context. \param s The buffer context. \param mode TRUE for image data mode, or FALSE for TCF mode. \param bits The minimum number of bits per FAX image row. */ -void t38_non_ecm_buffer_set_mode(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); +SPAN_DECLARE(void) t38_non_ecm_buffer_set_mode(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); /*! \brief Inject data to T.38 rate adapting non-ECM buffer context. \param s The buffer context. \param buf The data buffer to be injected. \param len The length of the data to be injected. */ -void t38_non_ecm_buffer_inject(t38_non_ecm_buffer_state_t *s, const uint8_t *buf, int len); +SPAN_DECLARE(void) t38_non_ecm_buffer_inject(t38_non_ecm_buffer_state_t *s, const uint8_t *buf, int len); /*! \brief Inform a T.38 rate adapting non-ECM buffer context that the incoming data has finished, and the contents of the buffer should be played out as quickly as possible. \param s The buffer context. */ -void t38_non_ecm_buffer_push(t38_non_ecm_buffer_state_t *s); +SPAN_DECLARE(void) t38_non_ecm_buffer_push(t38_non_ecm_buffer_state_t *s); /*! \brief Report the input status of a T.38 rate adapting non-ECM buffer context to the specified logging context. \param s The buffer context. \param logging The logging context. */ -void t38_non_ecm_buffer_report_input_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging); +SPAN_DECLARE(void) t38_non_ecm_buffer_report_input_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging); /*! \brief Report the output status of a T.38 rate adapting non-ECM buffer context to the specified logging context. \param s The buffer context. \param logging The logging context. */ -void t38_non_ecm_buffer_report_output_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging); +SPAN_DECLARE(void) t38_non_ecm_buffer_report_output_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging); /*! \brief Get the next bit of data from a T.38 rate adapting non-ECM buffer context. \param user_data The buffer context, cast to a void pointer. \return The next bit, or one of the values indicating a change of modem status. */ -int t38_non_ecm_buffer_get_bit(void *user_data); +SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_terminal.h,v 1.39 2008/10/13 13:14:01 steveu Exp $ + * $Id: t38_terminal.h,v 1.40 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -46,30 +46,30 @@ { #endif -int t38_terminal_send_timeout(t38_terminal_state_t *s, int samples); +SPAN_DECLARE(int) t38_terminal_send_timeout(t38_terminal_state_t *s, int samples); -void t38_terminal_set_config(t38_terminal_state_t *s, int without_pacing); +SPAN_DECLARE(void) t38_terminal_set_config(t38_terminal_state_t *s, int without_pacing); /*! Select whether the time for talker echo protection tone will be allowed for when sending. \brief Select whether TEP time will be allowed for. \param s The T.38 context. \param use_tep TRUE if TEP should be allowed for. */ -void t38_terminal_set_tep_mode(t38_terminal_state_t *s, int use_tep); +SPAN_DECLARE(void) t38_terminal_set_tep_mode(t38_terminal_state_t *s, int use_tep); /*! Select whether non-ECM fill bits are to be removed during transmission. \brief Select whether non-ECM fill bits are to be removed during transmission. \param s The T.38 context. \param remove TRUE if fill bits are to be removed. */ -void t38_terminal_set_fill_bit_removal(t38_terminal_state_t *s, int remove); +SPAN_DECLARE(void) t38_terminal_set_fill_bit_removal(t38_terminal_state_t *s, int remove); /*! Get a pointer to the T.30 engine associated with a termination mode T.38 context. \brief Get a pointer to the T.30 engine associated with a T.38 context. \param s The T.38 context. \return A pointer to the T.30 context, or NULL. */ -t30_state_t *t38_terminal_get_t30_state(t38_terminal_state_t *s); +SPAN_DECLARE(t30_state_t) *t38_terminal_get_t30_state(t38_terminal_state_t *s); /*! Get a pointer to the T.38 core IFP packet engine associated with a termination mode T.38 context. @@ -78,14 +78,14 @@ \param s The T.38 context. \return A pointer to the T.38 core context, or NULL. */ -t38_core_state_t *t38_terminal_get_t38_core_state(t38_terminal_state_t *s); +SPAN_DECLARE(t38_core_state_t) *t38_terminal_get_t38_core_state(t38_terminal_state_t *s); /*! Get a pointer to the logging context associated with a T.38 context. \brief Get a pointer to the logging context associated with a T.38 context. \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -logging_state_t *t38_terminal_get_logging_state(t38_terminal_state_t *s); +SPAN_DECLARE(logging_state_t) *t38_terminal_get_logging_state(t38_terminal_state_t *s); /*! \brief Initialise a termination mode T.38 context. \param s The T.38 context. @@ -94,22 +94,22 @@ \param tx_packet_handler A callback routine to encapsulate and transmit T.38 packets. \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ -t38_terminal_state_t *t38_terminal_init(t38_terminal_state_t *s, - int calling_party, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); +SPAN_DECLARE(t38_terminal_state_t) *t38_terminal_init(t38_terminal_state_t *s, + int calling_party, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); /*! Release a termination mode T.38 context. \brief Release a T.38 context. \param s The T.38 context. \return 0 for OK, else -1. */ -int t38_terminal_release(t38_terminal_state_t *s); +SPAN_DECLARE(int) t38_terminal_release(t38_terminal_state_t *s); /*! Free a a termination mode T.38 context. \brief Free a T.38 context. \param s The T.38 context. \return 0 for OK, else -1. */ -int t38_terminal_free(t38_terminal_state_t *s); +SPAN_DECLARE(int) t38_terminal_free(t38_terminal_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t4.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t4.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t4.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.h,v 1.53 2008/10/13 13:14:01 steveu Exp $ + * $Id: t4.h,v 1.54 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -213,97 +213,97 @@ \param file The name of the file to be received. \param output_encoding The output encoding. \return A pointer to the context, or NULL if there was a problem. */ -t4_state_t *t4_rx_init(t4_state_t *s, const char *file, int output_encoding); +SPAN_DECLARE(t4_state_t) *t4_rx_init(t4_state_t *s, const char *file, int output_encoding); /*! \brief Prepare to receive the next page of the current document. \param s The T.4 context. \return zero for success, -1 for failure. */ -int t4_rx_start_page(t4_state_t *s); +SPAN_DECLARE(int) t4_rx_start_page(t4_state_t *s); /*! \brief Put a bit of the current document page. \param s The T.4 context. \param bit The data bit. \return TRUE when the bit ends the document page, otherwise FALSE. */ -int t4_rx_put_bit(t4_state_t *s, int bit); +SPAN_DECLARE(int) t4_rx_put_bit(t4_state_t *s, int bit); /*! \brief Put a byte of the current document page. \param s The T.4 context. \param byte The data byte. \return TRUE when the byte ends the document page, otherwise FALSE. */ -int t4_rx_put_byte(t4_state_t *s, uint8_t byte); +SPAN_DECLARE(int) t4_rx_put_byte(t4_state_t *s, uint8_t byte); /*! \brief Put a byte of the current document page. \param s The T.4 context. \param buf The buffer containing the chunk. \param len The length of the chunk. \return TRUE when the byte ends the document page, otherwise FALSE. */ -int t4_rx_put_chunk(t4_state_t *s, const uint8_t buf[], int len); +SPAN_DECLARE(int) t4_rx_put_chunk(t4_state_t *s, const uint8_t buf[], int len); /*! \brief Complete the reception of a page. \param s The T.4 receive context. \return 0 for success, otherwise -1. */ -int t4_rx_end_page(t4_state_t *s); +SPAN_DECLARE(int) t4_rx_end_page(t4_state_t *s); /*! \brief End reception of a document. Tidy up, close the file and free the context. This should be used to end T.4 reception started with t4_rx_init. \param s The T.4 receive context. \return 0 for success, otherwise -1. */ -int t4_rx_delete(t4_state_t *s); +SPAN_DECLARE(int) t4_rx_delete(t4_state_t *s); /*! \brief End reception of a document. Tidy up and close the file. This should be used to end T.4 reception started with t4_rx_init. \param s The T.4 context. \return 0 for success, otherwise -1. */ -int t4_rx_end(t4_state_t *s); +SPAN_DECLARE(int) t4_rx_end(t4_state_t *s); -int t4_rx_set_row_write_handler(t4_state_t *s, t4_row_write_handler_t handler, void *user_data); +SPAN_DECLARE(int) t4_rx_set_row_write_handler(t4_state_t *s, t4_row_write_handler_t handler, void *user_data); /*! \brief Set the encoding for the received data. \param s The T.4 context. \param encoding The encoding. */ -void t4_rx_set_rx_encoding(t4_state_t *s, int encoding); +SPAN_DECLARE(void) t4_rx_set_rx_encoding(t4_state_t *s, int encoding); /*! \brief Set the expected width of the received image, in pixel columns. \param s The T.4 context. \param width The number of pixels across the image. */ -void t4_rx_set_image_width(t4_state_t *s, int width); +SPAN_DECLARE(void) t4_rx_set_image_width(t4_state_t *s, int width); /*! \brief Set the row-to-row (y) resolution to expect for a received image. \param s The T.4 context. \param resolution The resolution, in pixels per metre. */ -void t4_rx_set_y_resolution(t4_state_t *s, int resolution); +SPAN_DECLARE(void) t4_rx_set_y_resolution(t4_state_t *s, int resolution); /*! \brief Set the column-to-column (x) resolution to expect for a received image. \param s The T.4 context. \param resolution The resolution, in pixels per metre. */ -void t4_rx_set_x_resolution(t4_state_t *s, int resolution); +SPAN_DECLARE(void) t4_rx_set_x_resolution(t4_state_t *s, int resolution); /*! \brief Set the DCS information of the fax, for inclusion in the file. \param s The T.4 context. \param dcs The DCS information, formatted as an ASCII string. */ -void t4_rx_set_dcs(t4_state_t *s, const char *dcs); +SPAN_DECLARE(void) t4_rx_set_dcs(t4_state_t *s, const char *dcs); /*! \brief Set the sub-address of the fax, for inclusion in the file. \param s The T.4 context. \param sub_address The sub-address string. */ -void t4_rx_set_sub_address(t4_state_t *s, const char *sub_address); +SPAN_DECLARE(void) t4_rx_set_sub_address(t4_state_t *s, const char *sub_address); /*! \brief Set the identity of the remote machine, for inclusion in the file. \param s The T.4 context. \param ident The identity string. */ -void t4_rx_set_far_ident(t4_state_t *s, const char *ident); +SPAN_DECLARE(void) t4_rx_set_far_ident(t4_state_t *s, const char *ident); /*! \brief Set the vendor of the remote machine, for inclusion in the file. \param s The T.4 context. \param vendor The vendor string, or NULL. */ -void t4_rx_set_vendor(t4_state_t *s, const char *vendor); +SPAN_DECLARE(void) t4_rx_set_vendor(t4_state_t *s, const char *vendor); /*! \brief Set the model of the remote machine, for inclusion in the file. \param s The T.4 context. \param model The model string, or NULL. */ -void t4_rx_set_model(t4_state_t *s, const char *model); +SPAN_DECLARE(void) t4_rx_set_model(t4_state_t *s, const char *model); /*! \brief Prepare for transmission of a document. \param s The T.4 context. @@ -311,28 +311,28 @@ \param start_page The first page to send. -1 for no restriction. \param stop_page The last page to send. -1 for no restriction. \return A pointer to the context, or NULL if there was a problem. */ -t4_state_t *t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page); +SPAN_DECLARE(t4_state_t) *t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page); /*! \brief Prepare to send the next page of the current document. \param s The T.4 context. \return zero for success, -1 for failure. */ -int t4_tx_start_page(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_start_page(t4_state_t *s); /*! \brief Prepare the current page for a resend. \param s The T.4 context. \return zero for success, -1 for failure. */ -int t4_tx_restart_page(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_restart_page(t4_state_t *s); /*! \brief Check for the existance of the next page. This information can be needed before it is determined that the current page is finished with. \param s The T.4 context. \return zero for next page found, -1 for failure. */ -int t4_tx_more_pages(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_more_pages(t4_state_t *s); /*! \brief Complete the sending of a page. \param s The T.4 context. \return zero for success, -1 for failure. */ -int t4_tx_end_page(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_end_page(t4_state_t *s); /*! \brief Get the next bit of the current document page. The document will be padded for the current minimum scan line time. If the @@ -341,7 +341,7 @@ \param s The T.4 context. \return The next bit (i.e. 0 or 1). For the last bit of data, bit 1 is set (i.e. the returned value is 2 or 3). */ -int t4_tx_get_bit(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_bit(t4_state_t *s); /*! \brief Get the next byte of the current document page. The document will be padded for the current minimum scan line time. If the @@ -351,7 +351,7 @@ \return The next byte. For the last byte of data, bit 8 is set. In this case, one or more bits of the byte may be padded with zeros, to complete the byte. */ -int t4_tx_get_byte(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_byte(t4_state_t *s); /*! \brief Get the next chunk of the current document page. The document will be padded for the current minimum scan line time. If the @@ -362,7 +362,7 @@ \param max_len The maximum length of the chunk. \return The actual length of the chunk. If this is less than max_len it indicates that the end of the document has been reached. */ -int t4_tx_get_chunk(t4_state_t *s, uint8_t buf[], int max_len); +SPAN_DECLARE(int) t4_tx_get_chunk(t4_state_t *s, uint8_t buf[], int max_len); /*! \brief Return the next bit of the current document page, without actually moving forward in the buffer. The document will be padded for the @@ -372,37 +372,37 @@ \param s The T.4 context. \return The next bit (i.e. 0 or 1). For the last bit of data, bit 1 is set (i.e. the returned value is 2 or 3). */ -int t4_tx_check_bit(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_check_bit(t4_state_t *s); /*! \brief End the transmission of a document. Tidy up, close the file and free the context. This should be used to end T.4 transmission started with t4_tx_init. \param s The T.4 context. \return 0 for success, otherwise -1. */ -int t4_tx_delete(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_delete(t4_state_t *s); /*! \brief End the transmission of a document. Tidy up and close the file. This should be used to end T.4 transmission started with t4_tx_init. \param s The T.4 context. \return 0 for success, otherwise -1. */ -int t4_tx_end(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_end(t4_state_t *s); /*! \brief Set the encoding for the encoded data. \param s The T.4 context. \param encoding The encoding. */ -void t4_tx_set_tx_encoding(t4_state_t *s, int encoding); +SPAN_DECLARE(void) t4_tx_set_tx_encoding(t4_state_t *s, int encoding); /*! \brief Set the minimum number of encoded bits per row. This allows the makes the encoding process to be set to comply with the minimum row time specified by a remote receiving machine. \param s The T.4 context. \param bits The minimum number of bits per row. */ -void t4_tx_set_min_row_bits(t4_state_t *s, int bits); +SPAN_DECLARE(void) t4_tx_set_min_row_bits(t4_state_t *s, int bits); /*! \brief Set the identity of the local machine, for inclusion in page headers. \param s The T.4 context. \param ident The identity string. */ -void t4_tx_set_local_ident(t4_state_t *s, const char *ident); +SPAN_DECLARE(void) t4_tx_set_local_ident(t4_state_t *s, const char *ident); /*! Set the info field, included in the header line included in each page of an encoded FAX. This is a string of up to 50 characters. Other information (date, local ident, etc.) @@ -411,41 +411,41 @@ \brief Set the header info. \param s The T.4 context. \param info A string, of up to 50 bytes, which will form the info field. */ -void t4_tx_set_header_info(t4_state_t *s, const char *info); +SPAN_DECLARE(void) t4_tx_set_header_info(t4_state_t *s, const char *info); -int t4_tx_set_row_read_handler(t4_state_t *s, t4_row_read_handler_t handler, void *user_data); +SPAN_DECLARE(int) t4_tx_set_row_read_handler(t4_state_t *s, t4_row_read_handler_t handler, void *user_data); /*! \brief Get the row-to-row (y) resolution of the current page. \param s The T.4 context. \return The resolution, in pixels per metre. */ -int t4_tx_get_y_resolution(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_y_resolution(t4_state_t *s); /*! \brief Get the column-to-column (x) resolution of the current page. \param s The T.4 context. \return The resolution, in pixels per metre. */ -int t4_tx_get_x_resolution(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_x_resolution(t4_state_t *s); /*! \brief Get the width of the current page, in pixel columns. \param s The T.4 context. \return The number of columns. */ -int t4_tx_get_image_width(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_image_width(t4_state_t *s); /*! \brief Get the number of pages in the file. \param s The T.4 context. \return The number of pages, or -1 if there is an error. */ -int t4_tx_get_pages_in_file(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_get_pages_in_file(t4_state_t *s); /*! Get the current image transfer statistics. \brief Get the current transfer statistics. \param s The T.4 context. \param t A pointer to a statistics structure. */ -void t4_get_transfer_statistics(t4_state_t *s, t4_stats_t *t); +SPAN_DECLARE(void) t4_get_transfer_statistics(t4_state_t *s, t4_stats_t *t); /*! Get the short text name of an encoding format. \brief Get the short text name of an encoding format. \param encoding The encoding type. \return A pointer to the string. */ -const char *t4_encoding_to_str(int encoding); +SPAN_DECLARE(const char) *t4_encoding_to_str(int encoding); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h Mon Feb 2 11:40:52 2009 @@ -22,20 +22,37 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: telephony.h,v 1.13 2009/01/19 17:14:10 steveu Exp $ + * $Id: telephony.h,v 1.15 2009/01/31 12:12:21 steveu Exp $ */ #if !defined(_SPANDSP_TELEPHONY_H_) #define _SPANDSP_TELEPHONY_H_ -#define SAMPLE_RATE 8000 +#if defined(SPANDSP_USE_EXPORT_CAPABILITY) +#if defined(__GNUC__) || defined(__SUNCC__) +#define SPAN_DECLARE(type) __attribute__((visibility("default"))) type +#define SPAN_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type +#define SPAN_DECLARE_DATA __attribute__((visibility("default"))) +#endif +#if defined(WIN32) +#define SPAN_DECLARE(type) __declspec(dllexport) type __stdcall +#define SPAN_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl +#define SPAN_DECLARE_DATA __declspec(dllexport) +#endif +#else +#define SPAN_DECLARE(type) /**/ type +#define SPAN_DECLARE_NONSTD(type) /**/ type +#define SPAN_DECLARE_DATA /**/ +#endif + +#define SAMPLE_RATE 8000 /* This is based on A-law, but u-law is only 0.03dB different */ -#define DBM0_MAX_POWER (3.14f + 3.02f) -#define DBM0_MAX_SINE_POWER (3.14f) +#define DBM0_MAX_POWER (3.14f + 3.02f) +#define DBM0_MAX_SINE_POWER (3.14f) /* This is based on the ITU definition of dbOv in G.100.1 */ -#define DBOV_MAX_POWER (0.0f) -#define DBOV_MAX_SINE_POWER (-3.02f) +#define DBOV_MAX_POWER (0.0f) +#define DBOV_MAX_SINE_POWER (-3.02f) /*! \brief A handler for pure receive. The buffer cannot be altered. */ typedef int (span_rx_handler_t)(void *s, const int16_t amp[], int len); @@ -46,8 +63,8 @@ /*! \brief A handler for transmit, where the buffer will be filled. */ typedef int (span_tx_handler_t)(void *s, int16_t amp[], int max_len); -#define ms_to_samples(t) (((t)*SAMPLE_RATE)/1000) -#define us_to_samples(t) (((t)*SAMPLE_RATE)/1000000) +#define ms_to_samples(t) (((t)*SAMPLE_RATE)/1000) +#define us_to_samples(t) (((t)*SAMPLE_RATE)/1000000) #if !defined(FALSE) #define FALSE 0 @@ -58,7 +75,7 @@ #if defined(__cplusplus) /* C++ doesn't seem to have sane rounding functions/macros yet */ -#ifndef _MSC_VER +#if !defined(WIN32) #define lrint(x) ((long int) (x)) #define lrintf(x) ((long int) (x)) #endif Modified: freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: time_scale.h,v 1.17 2008/11/15 14:27:29 steveu Exp $ + * $Id: time_scale.h,v 1.18 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_TIME_SCALE_H_) @@ -71,19 +71,19 @@ \param sample_rate The sample rate of the signal. \param playout_rate The ratio between the output speed and the input speed. \return A pointer to the context, or NULL if there was a problem. */ -time_scale_state_t *time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate); +SPAN_DECLARE(time_scale_state_t) *time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate); /*! \brief Free a time scale context. \param s The time scale context. \return 0 for OK, else -1. */ -int time_scale_free(time_scale_state_t *s); +SPAN_DECLARE(int) time_scale_free(time_scale_state_t *s); /*! Change the time scale rate. \brief Change the time scale rate. \param s The time scale context. \param playout_rate The ratio between the output speed and the input speed. \return 0 if changed OK, else -1. */ -int time_scale_rate(time_scale_state_t *s, float playout_rate); +SPAN_DECLARE(int) time_scale_rate(time_scale_state_t *s, float playout_rate); /*! Find the maximum possible samples which could result from scaling the specified number of input samples, at the current playback rate. @@ -91,7 +91,7 @@ \param s The time scale context. \param input_len The number of input samples. \return The maximum possible output samples. */ -int time_scale_max_output_len(time_scale_state_t *s, int input_len); +SPAN_DECLARE(int) time_scale_max_output_len(time_scale_state_t *s, int input_len); /*! Time scale a chunk of audio samples. \brief Time scale a chunk of audio samples. @@ -103,7 +103,7 @@ \param len The number of input samples. \return The number of output samples. */ -int time_scale(time_scale_state_t *s, int16_t out[], int16_t in[], int len); +SPAN_DECLARE(int) time_scale(time_scale_state_t *s, int16_t out[], int16_t in[], int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_detect.h,v 1.42 2008/11/30 10:17:31 steveu Exp $ + * $Id: tone_detect.h,v 1.43 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_TONE_DETECT_H_) @@ -187,7 +187,7 @@ \param window_len The length of the periodogram window. This must be an even number. \return The number of generated coefficients. */ -int periodogram_generate_coeffs(complexf_t coeffs[], float freq, int sample_rate, int window_len); +SPAN_DECLARE(int) periodogram_generate_coeffs(complexf_t coeffs[], float freq, int sample_rate, int window_len); /*! Generate the phase offset to be expected between successive periodograms evaluated at the specified interval. @@ -197,7 +197,7 @@ \param interval The interval between periodograms, in samples. \return The scaling factor. */ -float periodogram_generate_phase_offset(complexf_t *offset, float freq, int sample_rate, int interval); +SPAN_DECLARE(float) periodogram_generate_phase_offset(complexf_t *offset, float freq, int sample_rate, int interval); /*! Evaluate a periodogram. \param coeffs A set of coefficients generated by periodogram_generate_coeffs(). @@ -205,7 +205,7 @@ \param len The length of the periodogram, in samples. This must be an even number. \return The periodogram result. */ -complexf_t periodogram(const complexf_t coeffs[], const complexf_t amp[], int len); +SPAN_DECLARE(complexf_t) periodogram(const complexf_t coeffs[], const complexf_t amp[], int len); /*! Prepare data for evaluating a set of periodograms. \param sum A vector of sums of pairs of signal samples. This will be half the length of len. @@ -214,7 +214,7 @@ \param len The length of the periodogram, in samples. This must be an even number. \return The length of the vectors sum and diff. */ -int periodogram_prepare(complexf_t sum[], complexf_t diff[], const complexf_t amp[], int len); +SPAN_DECLARE(int) periodogram_prepare(complexf_t sum[], complexf_t diff[], const complexf_t amp[], int len); /*! Evaluate a periodogram, based on data prepared by periodogram_prepare(). This is more efficient than using periodogram() when several periodograms are to be applied to the same signal. @@ -224,7 +224,7 @@ \param len The length of the periodogram, in samples. This must be an even number. \return The periodogram result. */ -complexf_t periodogram_apply(const complexf_t coeffs[], const complexf_t sum[], const complexf_t diff[], int len); +SPAN_DECLARE(complexf_t) periodogram_apply(const complexf_t coeffs[], const complexf_t sum[], const complexf_t diff[], int len); /*! Apply a phase offset, to find the frequency error between periodogram evaluations. specified interval. @@ -234,7 +234,7 @@ \param result A pointer to the current periodogram result. \return The frequency error, in Hz. */ -float periodogram_freq_error(const complexf_t *phase_offset, float scale, const complexf_t *last_result, const complexf_t *result); +SPAN_DECLARE(float) periodogram_freq_error(const complexf_t *phase_offset, float scale, const complexf_t *last_result, const complexf_t *result); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_generate.h,v 1.35 2008/11/30 10:17:31 steveu Exp $ + * $Id: tone_generate.h,v 1.36 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -77,20 +77,20 @@ \param d3 x \param d4 x \param repeat x */ -void make_tone_gen_descriptor(tone_gen_descriptor_t *s, - int f1, - int l1, - int f2, - int l2, - int d1, - int d2, - int d3, - int d4, - int repeat); +SPAN_DECLARE(void) make_tone_gen_descriptor(tone_gen_descriptor_t *s, + int f1, + int l1, + int f2, + int l2, + int d1, + int d2, + int d3, + int d4, + int repeat); -tone_gen_state_t *tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t); +SPAN_DECLARE(tone_gen_state_t) *tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t); -int tone_gen(tone_gen_state_t *s, int16_t amp[], int max_samples); +SPAN_DECLARE(int) tone_gen(tone_gen_state_t *s, int16_t amp[], int max_samples); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17rx.h,v 1.58 2008/10/13 13:14:01 steveu Exp $ + * $Id: v17rx.h,v 1.59 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -243,7 +243,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -v17_rx_state_t *v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v17_rx_state_t) *v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.17 modem receive context. \brief Reinitialise an existing V.17 modem receive context. @@ -251,29 +251,29 @@ \param bit_rate The bit rate of the modem. Valid values are 7200, 9600, 12000 and 14400. \param short_train TRUE if a short training sequence is expected. \return 0 for OK, -1 for bad parameter */ -int v17_rx_restart(v17_rx_state_t *s, int bit_rate, int short_train); +SPAN_DECLARE(int) v17_rx_restart(v17_rx_state_t *s, int bit_rate, int short_train); /*! Free a V.17 modem receive context. \brief Free a V.17 modem receive context. \param s The modem context. \return 0 for OK */ -int v17_rx_free(v17_rx_state_t *s); +SPAN_DECLARE(int) v17_rx_free(v17_rx_state_t *s); -logging_state_t *v17_rx_get_logging_state(v17_rx_state_t *s); +SPAN_DECLARE(logging_state_t) *v17_rx_get_logging_state(v17_rx_state_t *s); /*! Change the put_bit function associated with a V.17 modem receive context. \brief Change the put_bit function associated with a V.17 modem receive context. \param s The modem context. \param put_bit The callback routine used to handle received bits. \param user_data An opaque pointer. */ -void v17_rx_set_put_bit(v17_rx_state_t *s, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(void) v17_rx_set_put_bit(v17_rx_state_t *s, put_bit_func_t put_bit, void *user_data); /*! Change the modem status report function associated with a V.17 modem receive context. \brief Change the modem status report function associated with a V.17 modem receive context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v17_rx_set_modem_status_handler(v17_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v17_rx_set_modem_status_handler(v17_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); /*! Process a block of received V.17 modem audio samples. \brief Process a block of received V.17 modem audio samples. @@ -282,7 +282,7 @@ \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int v17_rx(v17_rx_state_t *s, const int16_t amp[], int len); +SPAN_DECLARE(int) v17_rx(v17_rx_state_t *s, const int16_t amp[], int len); /*! Get a snapshot of the current equalizer coefficients. \brief Get a snapshot of the current equalizer coefficients. @@ -290,36 +290,36 @@ \param coeffs The vector of complex coefficients. \return The number of coefficients in the vector. */ #if defined(SPANDSP_USE_FIXED_POINTx) -int v17_rx_equalizer_state(v17_rx_state_t *s, complexi_t **coeffs); +SPAN_DECLARE(int) v17_rx_equalizer_state(v17_rx_state_t *s, complexi_t **coeffs); #else -int v17_rx_equalizer_state(v17_rx_state_t *s, complexf_t **coeffs); +SPAN_DECLARE(int) v17_rx_equalizer_state(v17_rx_state_t *s, complexf_t **coeffs); #endif /*! Get the current received carrier frequency. \param s The modem context. \return The frequency, in Hertz. */ -float v17_rx_carrier_frequency(v17_rx_state_t *s); +SPAN_DECLARE(float) v17_rx_carrier_frequency(v17_rx_state_t *s); /*! Get the current symbol timing correction since startup. \param s The modem context. \return The correction. */ -float v17_rx_symbol_timing_correction(v17_rx_state_t *s); +SPAN_DECLARE(float) v17_rx_symbol_timing_correction(v17_rx_state_t *s); /*! Get a current received signal power. \param s The modem context. \return The signal power, in dBm0. */ -float v17_rx_signal_power(v17_rx_state_t *s); +SPAN_DECLARE(float) v17_rx_signal_power(v17_rx_state_t *s); /*! Set the power level at which the carrier detection will cut in \param s The modem context. \param cutoff The signal cutoff power, in dBm0. */ -void v17_rx_signal_cutoff(v17_rx_state_t *s, float cutoff); +SPAN_DECLARE(void) v17_rx_signal_cutoff(v17_rx_state_t *s, float cutoff); /*! Set a handler routine to process QAM status reports \param s The modem context. \param handler The handler routine. \param user_data An opaque pointer passed to the handler routine. */ -void v17_rx_set_qam_report_handler(v17_rx_state_t *s, qam_report_handler_t handler, void *user_data); +SPAN_DECLARE(void) v17_rx_set_qam_report_handler(v17_rx_state_t *s, qam_report_handler_t handler, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17tx.h,v 1.37 2008/10/13 13:14:01 steveu Exp $ + * $Id: v17tx.h,v 1.38 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -98,7 +98,7 @@ \brief Adjust a V.17 modem transmit context's output power. \param s The modem context. \param power The power level, in dBm0 */ -void v17_tx_power(v17_tx_state_t *s, float power); +SPAN_DECLARE(void) v17_tx_power(v17_tx_state_t *s, float power); /*! Initialise a V.17 modem transmit context. This must be called before the first use of the context, to initialise its contents. @@ -109,7 +109,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -v17_tx_state_t *v17_tx_init(v17_tx_state_t *s, int rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v17_tx_state_t) *v17_tx_init(v17_tx_state_t *s, int rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.17 modem transmit context, so it may be reused. \brief Reinitialise an existing V.17 modem transmit context. @@ -118,29 +118,29 @@ \param tep TRUE is the optional TEP tone is to be transmitted. \param short_train TRUE if the short training sequence should be used. \return 0 for OK, -1 for parameter error. */ -int v17_tx_restart(v17_tx_state_t *s, int bit_rate, int tep, int short_train); +SPAN_DECLARE(int) v17_tx_restart(v17_tx_state_t *s, int bit_rate, int tep, int short_train); /*! Free a V.17 modem transmit context. \brief Free a V.17 modem transmit context. \param s The modem context. \return 0 for OK */ -int v17_tx_free(v17_tx_state_t *s); +SPAN_DECLARE(int) v17_tx_free(v17_tx_state_t *s); -logging_state_t *v17_tx_get_logging_state(v17_tx_state_t *s); +SPAN_DECLARE(logging_state_t) *v17_tx_get_logging_state(v17_tx_state_t *s); /*! Change the get_bit function associated with a V.17 modem transmit context. \brief Change the get_bit function associated with a V.17 modem transmit context. \param s The modem context. \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. */ -void v17_tx_set_get_bit(v17_tx_state_t *s, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(void) v17_tx_set_get_bit(v17_tx_state_t *s, get_bit_func_t get_bit, void *user_data); /*! Change the modem status report function associated with a V.17 modem transmit context. \brief Change the modem status report function associated with a V.17 modem transmit context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v17_tx_set_modem_status_handler(v17_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v17_tx_set_modem_status_handler(v17_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); /*! Generate a block of V.17 modem audio samples. \brief Generate a block of V.17 modem audio samples. @@ -149,7 +149,7 @@ \param len The number of samples to be generated. \return The number of samples actually generated. */ -int v17_tx(v17_tx_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) v17_tx(v17_tx_state_t *s, int16_t amp[], int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v22bis.h,v 1.32 2008/11/30 03:40:12 steveu Exp $ + * $Id: v22bis.h,v 1.33 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -75,7 +75,7 @@ \param s The modem context. \param bit_rate The bit rate of the modem. Valid values are 1200 and 2400. \return 0 for OK, -1 for bad parameter */ -int v22bis_rx_restart(v22bis_state_t *s, int bit_rate); +SPAN_DECLARE(int) v22bis_rx_restart(v22bis_state_t *s, int bit_rate); /*! Process a block of received V.22bis modem audio samples. \brief Process a block of received V.22bis modem audio samples. @@ -83,34 +83,34 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len); +SPAN_DECLARE(int) v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len); /*! Get a snapshot of the current equalizer coefficients. \brief Get a snapshot of the current equalizer coefficients. \param coeffs The vector of complex coefficients. \return The number of coefficients in the vector. */ -int v22bis_equalizer_state(v22bis_state_t *s, complexf_t **coeffs); +SPAN_DECLARE(int) v22bis_equalizer_state(v22bis_state_t *s, complexf_t **coeffs); /*! Get the current received carrier frequency. \param s The modem context. \return The frequency, in Hertz. */ -float v22bis_rx_carrier_frequency(v22bis_state_t *s); +SPAN_DECLARE(float) v22bis_rx_carrier_frequency(v22bis_state_t *s); /*! Get the current symbol timing correction since startup. \param s The modem context. \return The correction. */ -float v22bis_symbol_timing_correction(v22bis_state_t *s); +SPAN_DECLARE(float) v22bis_symbol_timing_correction(v22bis_state_t *s); /*! Get a current received signal power. \param s The modem context. \return The signal power, in dBm0. */ -float v22bis_rx_signal_power(v22bis_state_t *s); +SPAN_DECLARE(float) v22bis_rx_signal_power(v22bis_state_t *s); /*! Set a handler routine to process QAM status reports \param s The modem context. \param handler The handler routine. \param user_data An opaque pointer passed to the handler routine. */ -void v22bis_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data); +SPAN_DECLARE(void) v22bis_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data); /*! Generate a block of V.22bis modem audio samples. \brief Generate a block of V.22bis modem audio samples. @@ -118,20 +118,20 @@ \param amp The audio sample buffer. \param len The number of samples to be generated. \return The number of samples actually generated. */ -int v22bis_tx(v22bis_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) v22bis_tx(v22bis_state_t *s, int16_t amp[], int len); /*! Adjust a V.22bis modem transmit context's power output. \brief Adjust a V.22bis modem transmit context's output power. \param s The modem context. \param power The power level, in dBm0 */ -void v22bis_tx_power(v22bis_state_t *s, float power); +SPAN_DECLARE(void) v22bis_tx_power(v22bis_state_t *s, float power); /*! Reinitialise an existing V.22bis modem context, so it may be reused. \brief Reinitialise an existing V.22bis modem context. \param s The modem context. \param bit_rate The bit rate of the modem. Valid values are 1200 and 2400. \return 0 for OK, -1 for bad parameter. */ -int v22bis_restart(v22bis_state_t *s, int bit_rate); +SPAN_DECLARE(int) v22bis_restart(v22bis_state_t *s, int bit_rate); /*! Initialise a V.22bis modem context. This must be called before the first use of the context, to initialise its contents. @@ -144,35 +144,35 @@ \param put_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer, passed in calls to the get and put routines. \return A pointer to the modem context, or NULL if there was a problem. */ -v22bis_state_t *v22bis_init(v22bis_state_t *s, - int bit_rate, - int guard, - int caller, - get_bit_func_t get_bit, - put_bit_func_t put_bit, - void *user_data); +SPAN_DECLARE(v22bis_state_t) *v22bis_init(v22bis_state_t *s, + int bit_rate, + int guard, + int caller, + get_bit_func_t get_bit, + put_bit_func_t put_bit, + void *user_data); /*! Free a V.22bis modem receive context. \brief Free a V.22bis modem receive context. \param s The modem context. \return 0 for OK */ -int v22bis_free(v22bis_state_t *s); +SPAN_DECLARE(int) v22bis_free(v22bis_state_t *s); -logging_state_t *v22bis_get_logging_state(v22bis_state_t *s); +SPAN_DECLARE(logging_state_t) *v22bis_get_logging_state(v22bis_state_t *s); /*! Change the get_bit function associated with a V.22bis modem context. \brief Change the get_bit function associated with a V.22bis modem context. \param s The modem context. \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. */ -void v22bis_set_get_bit(v22bis_state_t *s, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(void) v22bis_set_get_bit(v22bis_state_t *s, get_bit_func_t get_bit, void *user_data); /*! Change the get_bit function associated with a V.22bis modem context. \brief Change the put_bit function associated with a V.22bis modem context. \param s The modem context. \param put_bit The callback routine used to process the data received. \param user_data An opaque pointer. */ -void v22bis_set_put_bit(v22bis_state_t *s, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(void) v22bis_set_put_bit(v22bis_state_t *s, put_bit_func_t put_bit, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_rx.h,v 1.54 2008/10/13 13:14:01 steveu Exp $ + * $Id: v27ter_rx.h,v 1.55 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -78,7 +78,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -v27ter_rx_state_t *v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v27ter_rx_state_t) *v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.27ter modem receive context. \brief Reinitialise an existing V.27ter modem receive context. @@ -86,29 +86,29 @@ \param bit_rate The bit rate of the modem. Valid values are 2400 and 4800. \param old_train TRUE if a previous trained values are to be reused. \return 0 for OK, -1 for bad parameter */ -int v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, int old_train); +SPAN_DECLARE(int) v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, int old_train); /*! Free a V.27ter modem receive context. \brief Free a V.27ter modem receive context. \param s The modem context. \return 0 for OK */ -int v27ter_rx_free(v27ter_rx_state_t *s); +SPAN_DECLARE(int) v27ter_rx_free(v27ter_rx_state_t *s); -logging_state_t *v27ter_rx_get_logging_state(v27ter_rx_state_t *s); +SPAN_DECLARE(logging_state_t) *v27ter_rx_get_logging_state(v27ter_rx_state_t *s); /*! Change the put_bit function associated with a V.27ter modem receive context. \brief Change the put_bit function associated with a V.27ter modem receive context. \param s The modem context. \param put_bit The callback routine used to handle received bits. \param user_data An opaque pointer. */ -void v27ter_rx_set_put_bit(v27ter_rx_state_t *s, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(void) v27ter_rx_set_put_bit(v27ter_rx_state_t *s, put_bit_func_t put_bit, void *user_data); /*! Change the modem status report function associated with a V.27ter modem receive context. \brief Change the modem status report function associated with a V.27ter modem receive context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v27ter_rx_set_modem_status_handler(v27ter_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v27ter_rx_set_modem_status_handler(v27ter_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); /*! Process a block of received V.27ter modem audio samples. \brief Process a block of received V.27ter modem audio samples. @@ -117,39 +117,39 @@ \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int v27ter_rx(v27ter_rx_state_t *s, const int16_t amp[], int len); +SPAN_DECLARE(int) v27ter_rx(v27ter_rx_state_t *s, const int16_t amp[], int len); /*! Get a snapshot of the current equalizer coefficients. \brief Get a snapshot of the current equalizer coefficients. \param coeffs The vector of complex coefficients. \return The number of coefficients in the vector. */ -int v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexf_t **coeffs); +SPAN_DECLARE(int) v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexf_t **coeffs); /*! Get the current received carrier frequency. \param s The modem context. \return The frequency, in Hertz. */ -float v27ter_rx_carrier_frequency(v27ter_rx_state_t *s); +SPAN_DECLARE(float) v27ter_rx_carrier_frequency(v27ter_rx_state_t *s); /*! Get the current symbol timing correction since startup. \param s The modem context. \return The correction. */ -float v27ter_rx_symbol_timing_correction(v27ter_rx_state_t *s); +SPAN_DECLARE(float) v27ter_rx_symbol_timing_correction(v27ter_rx_state_t *s); /*! Get a current received signal power. \param s The modem context. \return The signal power, in dBm0. */ -float v27ter_rx_signal_power(v27ter_rx_state_t *s); +SPAN_DECLARE(float) v27ter_rx_signal_power(v27ter_rx_state_t *s); /*! Set the power level at which the carrier detection will cut in \param s The modem context. \param cutoff The signal cutoff power, in dBm0. */ -void v27ter_rx_signal_cutoff(v27ter_rx_state_t *s, float cutoff); +SPAN_DECLARE(void) v27ter_rx_signal_cutoff(v27ter_rx_state_t *s, float cutoff); /*! Set a handler routine to process QAM status reports \param s The modem context. \param handler The handler routine. \param user_data An opaque pointer passed to the handler routine. */ -void v27ter_rx_set_qam_report_handler(v27ter_rx_state_t *s, qam_report_handler_t handler, void *user_data); +SPAN_DECLARE(void) v27ter_rx_set_qam_report_handler(v27ter_rx_state_t *s, qam_report_handler_t handler, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_tx.h,v 1.37 2008/10/13 13:14:01 steveu Exp $ + * $Id: v27ter_tx.h,v 1.38 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -81,7 +81,7 @@ \brief Adjust a V.27ter modem transmit context's output power. \param s The modem context. \param power The power level, in dBm0 */ -void v27ter_tx_power(v27ter_tx_state_t *s, float power); +SPAN_DECLARE(void) v27ter_tx_power(v27ter_tx_state_t *s, float power); /*! Initialise a V.27ter modem transmit context. \brief Initialise a V.27ter modem transmit context. @@ -91,7 +91,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -v27ter_tx_state_t *v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v27ter_tx_state_t) *v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.27ter modem transmit context, so it may be reused. \brief Reinitialise an existing V.27ter modem transmit context. @@ -99,29 +99,29 @@ \param bit_rate The bit rate of the modem. Valid values are 2400 and 4800. \param tep TRUE is the optional TEP tone is to be transmitted. \return 0 for OK, -1 for bad parameter */ -int v27ter_tx_restart(v27ter_tx_state_t *s, int bit_rate, int tep); +SPAN_DECLARE(int) v27ter_tx_restart(v27ter_tx_state_t *s, int bit_rate, int tep); /*! Free a V.27ter modem transmit context. \brief Free a V.27ter modem transmit context. \param s The modem context. \return 0 for OK */ -int v27ter_tx_free(v27ter_tx_state_t *s); +SPAN_DECLARE(int) v27ter_tx_free(v27ter_tx_state_t *s); -logging_state_t *v27ter_tx_get_logging_state(v27ter_tx_state_t *s); +SPAN_DECLARE(logging_state_t) *v27ter_tx_get_logging_state(v27ter_tx_state_t *s); /*! Change the get_bit function associated with a V.27ter modem transmit context. \brief Change the get_bit function associated with a V.27ter modem transmit context. \param s The modem context. \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. */ -void v27ter_tx_set_get_bit(v27ter_tx_state_t *s, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(void) v27ter_tx_set_get_bit(v27ter_tx_state_t *s, get_bit_func_t get_bit, void *user_data); /*! Change the modem status report function associated with a V.27ter modem transmit context. \brief Change the modem status report function associated with a V.27ter modem transmit context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v27ter_tx_set_modem_status_handler(v27ter_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v27ter_tx_set_modem_status_handler(v27ter_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); /*! Generate a block of V.27ter modem audio samples. \brief Generate a block of V.27ter modem audio samples. @@ -130,7 +130,7 @@ \param len The number of samples to be generated. \return The number of samples actually generated. */ -int v27ter_tx(v27ter_tx_state_t *s, int16_t amp[], int len); +SPAN_DECLARE(int) v27ter_tx(v27ter_tx_state_t *s, int16_t amp[], int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29rx.h,v 1.65 2008/10/13 13:14:01 steveu Exp $ + * $Id: v29rx.h,v 1.66 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -147,7 +147,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -v29_rx_state_t *v29_rx_init(v29_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v29_rx_state_t) *v29_rx_init(v29_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.29 modem receive context. \brief Reinitialise an existing V.29 modem receive context. @@ -155,29 +155,29 @@ \param bit_rate The bit rate of the modem. Valid values are 4800, 7200 and 9600. \param old_train TRUE if a previous trained values are to be reused. \return 0 for OK, -1 for bad parameter */ -int v29_rx_restart(v29_rx_state_t *s, int bit_rate, int old_train); +SPAN_DECLARE(int) v29_rx_restart(v29_rx_state_t *s, int bit_rate, int old_train); /*! Free a V.29 modem receive context. \brief Free a V.29 modem receive context. \param s The modem context. \return 0 for OK */ -int v29_rx_free(v29_rx_state_t *s); +SPAN_DECLARE(int) v29_rx_free(v29_rx_state_t *s); -logging_state_t *v29_rx_get_logging_state(v29_rx_state_t *s); +SPAN_DECLARE(logging_state_t) *v29_rx_get_logging_state(v29_rx_state_t *s); /*! Change the put_bit function associated with a V.29 modem receive context. \brief Change the put_bit function associated with a V.29 modem receive context. \param s The modem context. \param put_bit The callback routine used to handle received bits. \param user_data An opaque pointer. */ -void v29_rx_set_put_bit(v29_rx_state_t *s, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(void) v29_rx_set_put_bit(v29_rx_state_t *s, put_bit_func_t put_bit, void *user_data); /*! Change the modem status report function associated with a V.29 modem receive context. \brief Change the modem status report function associated with a V.29 modem receive context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v29_rx_set_modem_status_handler(v29_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v29_rx_set_modem_status_handler(v29_rx_state_t *s, modem_rx_status_func_t handler, void *user_data); /*! Process a block of received V.29 modem audio samples. \brief Process a block of received V.29 modem audio samples. @@ -185,7 +185,7 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. \return The number of samples unprocessed. */ -int v29_rx(v29_rx_state_t *s, const int16_t amp[], int len); +SPAN_DECLARE(int) v29_rx(v29_rx_state_t *s, const int16_t amp[], int len); /*! Get a snapshot of the current equalizer coefficients. \brief Get a snapshot of the current equalizer coefficients. @@ -193,36 +193,36 @@ \param coeffs The vector of complex coefficients. \return The number of coefficients in the vector. */ #if defined(SPANDSP_USE_FIXED_POINT) -int v29_rx_equalizer_state(v29_rx_state_t *s, complexi16_t **coeffs); +SPAN_DECLARE(int) v29_rx_equalizer_state(v29_rx_state_t *s, complexi16_t **coeffs); #else -int v29_rx_equalizer_state(v29_rx_state_t *s, complexf_t **coeffs); +SPAN_DECLARE(int) v29_rx_equalizer_state(v29_rx_state_t *s, complexf_t **coeffs); #endif /*! Get the current received carrier frequency. \param s The modem context. \return The frequency, in Hertz. */ -float v29_rx_carrier_frequency(v29_rx_state_t *s); +SPAN_DECLARE(float) v29_rx_carrier_frequency(v29_rx_state_t *s); /*! Get the current symbol timing correction since startup. \param s The modem context. \return The correction. */ -float v29_rx_symbol_timing_correction(v29_rx_state_t *s); +SPAN_DECLARE(float) v29_rx_symbol_timing_correction(v29_rx_state_t *s); /*! Get the current received signal power. \param s The modem context. \return The signal power, in dBm0. */ -float v29_rx_signal_power(v29_rx_state_t *s); +SPAN_DECLARE(float) v29_rx_signal_power(v29_rx_state_t *s); /*! Set the power level at which the carrier detection will cut in \param s The modem context. \param cutoff The signal cutoff power, in dBm0. */ -void v29_rx_signal_cutoff(v29_rx_state_t *s, float cutoff); +SPAN_DECLARE(void) v29_rx_signal_cutoff(v29_rx_state_t *s, float cutoff); /*! Set a handler routine to process QAM status reports \param s The modem context. \param handler The handler routine. \param user_data An opaque pointer passed to the handler routine. */ -void v29_rx_set_qam_report_handler(v29_rx_state_t *s, qam_report_handler_t handler, void *user_data); +SPAN_DECLARE(void) v29_rx_set_qam_report_handler(v29_rx_state_t *s, qam_report_handler_t handler, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29tx.h,v 1.35 2008/10/13 13:14:01 steveu Exp $ + * $Id: v29tx.h,v 1.36 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -111,7 +111,7 @@ \brief Adjust a V.29 modem transmit context's output power. \param s The modem context. \param power The power level, in dBm0 */ -void v29_tx_power(v29_tx_state_t *s, float power); +SPAN_DECLARE(void) v29_tx_power(v29_tx_state_t *s, float power); /*! Initialise a V.29 modem transmit context. This must be called before the first use of the context, to initialise its contents. @@ -122,7 +122,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -v29_tx_state_t *v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v29_tx_state_t) *v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.29 modem transmit context, so it may be reused. \brief Reinitialise an existing V.29 modem transmit context. @@ -130,29 +130,29 @@ \param bit_rate The bit rate of the modem. Valid values are 4800, 7200 and 9600. \param tep TRUE is the optional TEP tone is to be transmitted. \return 0 for OK, -1 for bad parameter */ -int v29_tx_restart(v29_tx_state_t *s, int bit_rate, int tep); +SPAN_DECLARE(int) v29_tx_restart(v29_tx_state_t *s, int bit_rate, int tep); /*! Free a V.29 modem transmit context. \brief Free a V.29 modem transmit context. \param s The modem context. \return 0 for OK */ -int v29_tx_free(v29_tx_state_t *s); +SPAN_DECLARE(int) v29_tx_free(v29_tx_state_t *s); -logging_state_t *v29_tx_get_logging_state(v29_tx_state_t *s); +SPAN_DECLARE(logging_state_t) *v29_tx_get_logging_state(v29_tx_state_t *s); /*! Change the get_bit function associated with a V.29 modem transmit context. \brief Change the get_bit function associated with a V.29 modem transmit context. \param s The modem context. \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. */ -void v29_tx_set_get_bit(v29_tx_state_t *s, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(void) v29_tx_set_get_bit(v29_tx_state_t *s, get_bit_func_t get_bit, void *user_data); /*! Change the modem status report function associated with a V.29 modem transmit context. \brief Change the modem status report function associated with a V.29 modem transmit context. \param s The modem context. \param handler The callback routine used to report modem status changes. \param user_data An opaque pointer. */ -void v29_tx_set_modem_status_handler(v29_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); +SPAN_DECLARE(void) v29_tx_set_modem_status_handler(v29_tx_state_t *s, modem_tx_status_func_t handler, void *user_data); /*! Generate a block of V.29 modem audio samples. \brief Generate a block of V.29 modem audio samples. @@ -161,7 +161,7 @@ \param len The number of samples to be generated. \return The number of samples actually generated. */ -int v29_tx(v29_tx_state_t *s, int16_t *amp, int len); +SPAN_DECLARE(int) v29_tx(v29_tx_state_t *s, int16_t *amp, int len); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42.h,v 1.26 2008/11/15 14:43:08 steveu Exp $ + * $Id: v42.h,v 1.27 2009/01/31 08:48:11 steveu Exp $ */ /*! \page v42_page V.42 modem error correction @@ -82,7 +82,7 @@ { #endif -const char *lapm_status_to_str(int status); +SPAN_DECLARE(const char) *lapm_status_to_str(int status); /*! Dump LAP.M frames in a raw and/or decoded forms \param frame The frame itself @@ -90,43 +90,43 @@ \param showraw TRUE if the raw octets should be dumped \param txrx TRUE if tx, FALSE if rx. Used to highlight the packet's direction. */ -void lapm_dump(lapm_state_t *s, const uint8_t *frame, int len, int showraw, int txrx); +SPAN_DECLARE(void) lapm_dump(lapm_state_t *s, const uint8_t *frame, int len, int showraw, int txrx); /*! Accept an HDLC packet */ -void lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); +SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); /*! Transmit a LAP.M frame */ -int lapm_tx(lapm_state_t *s, const void *buf, int len); +SPAN_DECLARE(int) lapm_tx(lapm_state_t *s, const void *buf, int len); /*! Transmit a LAP.M information frame */ -int lapm_tx_iframe(lapm_state_t *s, const void *buf, int len, int cr); +SPAN_DECLARE(int) lapm_tx_iframe(lapm_state_t *s, const void *buf, int len, int cr); /*! Send a break over a LAP.M connection */ -int lapm_break(lapm_state_t *s, int enable); +SPAN_DECLARE(int) lapm_break(lapm_state_t *s, int enable); /*! Initiate an orderly release of a LAP.M connection */ -int lapm_release(lapm_state_t *s); +SPAN_DECLARE(int) lapm_release(lapm_state_t *s); /*! Enable or disable loopback of a LAP.M connection */ -int lapm_loopback(lapm_state_t *s, int enable); +SPAN_DECLARE(int) lapm_loopback(lapm_state_t *s, int enable); /*! Assign or remove a callback routine used to deal with V.42 status changes. */ -void v42_set_status_callback(v42_state_t *s, v42_status_func_t callback, void *user_data); +SPAN_DECLARE(void) v42_set_status_callback(v42_state_t *s, v42_status_func_t callback, void *user_data); /*! Process a newly received bit for a V.42 context. */ -void v42_rx_bit(void *user_data, int bit); +SPAN_DECLARE(void) v42_rx_bit(void *user_data, int bit); /*! Get the next transmit bit for a V.42 context. */ -int v42_tx_bit(void *user_data); +SPAN_DECLARE(int) v42_tx_bit(void *user_data); /*! Initialise a V.42 context. \param s The V.42 context. @@ -135,17 +135,17 @@ \param user_data An opaque pointer passed to the frame handler routine. \return ??? */ -v42_state_t *v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data); +SPAN_DECLARE(v42_state_t) *v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data); /*! Restart a V.42 context. \param s The V.42 context. */ -void v42_restart(v42_state_t *s); +SPAN_DECLARE(void) v42_restart(v42_state_t *s); /*! Release a V.42 context. \param s The V.42 context. \return 0 if OK */ -int v42_release(v42_state_t *s); +SPAN_DECLARE(int) v42_release(v42_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42bis.h,v 1.23 2008/11/15 14:43:08 steveu Exp $ + * $Id: v42bis.h,v 1.24 2009/01/31 08:48:11 steveu Exp $ */ /*! \page v42bis_page V.42bis modem data compression @@ -75,24 +75,24 @@ \param buf The data to be compressed. \param len The length of the data buffer. \return 0 */ -int v42bis_compress(v42bis_state_t *s, const uint8_t *buf, int len); +SPAN_DECLARE(int) v42bis_compress(v42bis_state_t *s, const uint8_t *buf, int len); /*! Flush out any data remaining in a compression buffer. \param s The V.42bis context. \return 0 */ -int v42bis_compress_flush(v42bis_state_t *s); +SPAN_DECLARE(int) v42bis_compress_flush(v42bis_state_t *s); /*! Decompress a block of octets. \param s The V.42bis context. \param buf The data to be decompressed. \param len The length of the data buffer. \return 0 */ -int v42bis_decompress(v42bis_state_t *s, const uint8_t *buf, int len); +SPAN_DECLARE(int) v42bis_decompress(v42bis_state_t *s, const uint8_t *buf, int len); /*! Flush out any data remaining in the decompression buffer. \param s The V.42bis context. \return 0 */ -int v42bis_decompress_flush(v42bis_state_t *s); +SPAN_DECLARE(int) v42bis_decompress_flush(v42bis_state_t *s); /*! Initialise a V.42bis context. \param s The V.42bis context. @@ -106,16 +106,16 @@ \param data_user_data . \param max_data_len The maximum length that should be passed to the data handler. \return The V.42bis context. */ -v42bis_state_t *v42bis_init(v42bis_state_t *s, - int negotiated_p0, - int negotiated_p1, - int negotiated_p2, - v42bis_frame_handler_t frame_handler, - void *frame_user_data, - int max_frame_len, - v42bis_data_handler_t data_handler, - void *data_user_data, - int max_data_len); +SPAN_DECLARE(v42bis_state_t) *v42bis_init(v42bis_state_t *s, + int negotiated_p0, + int negotiated_p1, + int negotiated_p2, + v42bis_frame_handler_t frame_handler, + void *frame_user_data, + int max_frame_len, + v42bis_data_handler_t data_handler, + void *data_user_data, + int max_data_len); /*! Set the compression mode. \param s The V.42bis context. @@ -123,12 +123,12 @@ V42BIS_COMPRESSION_MODE_DYNAMIC, V42BIS_COMPRESSION_MODE_ALWAYS, V42BIS_COMPRESSION_MODE_NEVER */ -void v42bis_compression_control(v42bis_state_t *s, int mode); +SPAN_DECLARE(void) v42bis_compression_control(v42bis_state_t *s, int mode); /*! Release a V.42bis context. \param s The V.42bis context. \return 0 if OK */ -int v42bis_release(v42bis_state_t *s); +SPAN_DECLARE(int) v42bis_release(v42bis_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v8.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v8.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v8.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v8.h,v 1.25 2008/10/13 14:19:18 steveu Exp $ + * $Id: v8.h,v 1.26 2009/01/31 08:48:11 steveu Exp $ */ /*! \file */ @@ -128,25 +128,25 @@ \param result_handler The callback routine used to handle the results of negotiation. \param user_data An opaque pointer passed to the result_handler routine. \return A pointer to the V.8 context, or NULL if there was a problem. */ -v8_state_t *v8_init(v8_state_t *s, - int caller, - int available_modulations, - v8_result_handler_t *result_handler, - void *user_data); +SPAN_DECLARE(v8_state_t) *v8_init(v8_state_t *s, + int caller, + int available_modulations, + v8_result_handler_t *result_handler, + void *user_data); /*! Release a V.8 context. \brief Release a V.8 context. \param s The V.8 context. \return 0 for OK. */ -int v8_release(v8_state_t *s); +SPAN_DECLARE(int) v8_release(v8_state_t *s); /*! Free a V.8 context. \brief Release a V.8 context. \param s The V.8 context. \return 0 for OK. */ -int v8_free(v8_state_t *s); +SPAN_DECLARE(int) v8_free(v8_state_t *s); -logging_state_t *v8_get_logging_state(v8_state_t *s); +SPAN_DECLARE(logging_state_t) *v8_get_logging_state(v8_state_t *s); /*! Generate a block of V.8 audio samples. \brief Generate a block of V.8 audio samples. @@ -155,7 +155,7 @@ \param max_len The number of samples to be generated. \return The number of samples actually generated. */ -int v8_tx(v8_state_t *s, int16_t *amp, int max_len); +SPAN_DECLARE(int) v8_tx(v8_state_t *s, int16_t *amp, int max_len); /*! Process a block of received V.8 audio samples. \brief Process a block of received V.8 audio samples. @@ -163,19 +163,19 @@ \param amp The audio sample buffer. \param len The number of samples in the buffer. */ -int v8_rx(v8_state_t *s, const int16_t *amp, int len); +SPAN_DECLARE(int) v8_rx(v8_state_t *s, const int16_t *amp, int len); /*! Log the list of supported modulations. \brief Log the list of supported modulations. \param s The V.8 context. \param modulation_schemes The list of supported modulations. */ -void v8_log_supported_modulations(v8_state_t *s, int modulation_schemes); +SPAN_DECLARE(void) v8_log_supported_modulations(v8_state_t *s, int modulation_schemes); -const char *v8_call_function_to_str(int call_function); -const char *v8_modulation_to_str(int modulation_scheme); -const char *v8_protocol_to_str(int protocol); -const char *v8_pstn_access_to_str(int pstn_access); -const char *v8_pcm_modem_availability_to_str(int pcm_modem_availability); +SPAN_DECLARE(const char) *v8_call_function_to_str(int call_function); +SPAN_DECLARE(const char) *v8_modulation_to_str(int modulation_scheme); +SPAN_DECLARE(const char) *v8_protocol_to_str(int protocol); +SPAN_DECLARE(const char) *v8_pstn_access_to_str(int pstn_access); +SPAN_DECLARE(const char) *v8_pcm_modem_availability_to_str(int pcm_modem_availability); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/vector_float.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/vector_float.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/vector_float.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: vector_float.h,v 1.14 2008/10/09 13:25:19 steveu Exp $ + * $Id: vector_float.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_VECTOR_FLOAT_H_) @@ -33,124 +33,124 @@ { #endif -void vec_copyf(float z[], const float x[], int n); +SPAN_DECLARE(void) vec_copyf(float z[], const float x[], int n); -void vec_copy(double z[], const double x[], int n); +SPAN_DECLARE(void) vec_copy(double z[], const double x[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_copyl(long double z[], const long double x[], int n); +SPAN_DECLARE(void) vec_copyl(long double z[], const long double x[], int n); #endif -void vec_negatef(float z[], const float x[], int n); +SPAN_DECLARE(void) vec_negatef(float z[], const float x[], int n); -void vec_negate(double z[], const double x[], int n); +SPAN_DECLARE(void) vec_negate(double z[], const double x[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_negatel(long double z[], const long double x[], int n); +SPAN_DECLARE(void) vec_negatel(long double z[], const long double x[], int n); #endif -void vec_zerof(float z[], int n); +SPAN_DECLARE(void) vec_zerof(float z[], int n); -void vec_zero(double z[], int n); +SPAN_DECLARE(void) vec_zero(double z[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_zerol(long double z[], int n); +SPAN_DECLARE(void) vec_zerol(long double z[], int n); #endif -void vec_setf(float z[], float x, int n); +SPAN_DECLARE(void) vec_setf(float z[], float x, int n); -void vec_set(double z[], double x, int n); +SPAN_DECLARE(void) vec_set(double z[], double x, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_setl(long double z[], long double x, int n); +SPAN_DECLARE(void) vec_setl(long double z[], long double x, int n); #endif -void vec_addf(float z[], const float x[], const float y[], int n); +SPAN_DECLARE(void) vec_addf(float z[], const float x[], const float y[], int n); -void vec_add(double z[], const double x[], const double y[], int n); +SPAN_DECLARE(void) vec_add(double z[], const double x[], const double y[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_addl(long double z[], const long double x[], const long double y[], int n); +SPAN_DECLARE(void) vec_addl(long double z[], const long double x[], const long double y[], int n); #endif -void vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n); -void vec_scaledxy_add(double z[], const double x[], double x_scale, const double y[], double y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_add(double z[], const double x[], double x_scale, const double y[], double y_scale, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scaledxy_addl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_addl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n); #endif -void vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n); -void vec_scaledy_add(double z[], const double x[], const double y[], double y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_add(double z[], const double x[], const double y[], double y_scale, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scaledy_addl(long double z[], const long double x[], const long double y[], long double y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_addl(long double z[], const long double x[], const long double y[], long double y_scale, int n); #endif -void vec_subf(float z[], const float x[], const float y[], int n); +SPAN_DECLARE(void) vec_subf(float z[], const float x[], const float y[], int n); -void vec_sub(double z[], const double x[], const double y[], int n); +SPAN_DECLARE(void) vec_sub(double z[], const double x[], const double y[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_subl(long double z[], const long double x[], const long double y[], int n); +SPAN_DECLARE(void) vec_subl(long double z[], const long double x[], const long double y[], int n); #endif -void vec_scaledxy_subf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_subf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n); -void vec_scaledxy_sub(double z[], const double x[], double x_scale, const double y[], double y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_sub(double z[], const double x[], double x_scale, const double y[], double y_scale, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scaledxy_subl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n); +SPAN_DECLARE(void) vec_scaledxy_subl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n); #endif -void vec_scaledx_subf(float z[], const float x[], float x_scale, const float y[], int n); +SPAN_DECLARE(void) vec_scaledx_subf(float z[], const float x[], float x_scale, const float y[], int n); -void vec_scaledx_sub(double z[], const double x[], double x_scale, const double y[], int n); +SPAN_DECLARE(void) vec_scaledx_sub(double z[], const double x[], double x_scale, const double y[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scaledx_subl(long double z[], const long double x[], long double x_scale, const long double y[], int n); +SPAN_DECLARE(void) vec_scaledx_subl(long double z[], const long double x[], long double x_scale, const long double y[], int n); #endif -void vec_scaledy_subf(float z[], const float x[], const float y[], float y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_subf(float z[], const float x[], const float y[], float y_scale, int n); -void vec_scaledy_sub(double z[], const double x[], const double y[], double y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_sub(double z[], const double x[], const double y[], double y_scale, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scaledy_subl(long double z[], const long double x[], const long double y[], long double y_scale, int n); +SPAN_DECLARE(void) vec_scaledy_subl(long double z[], const long double x[], const long double y[], long double y_scale, int n); #endif -void vec_scalar_mulf(float z[], const float x[], float y, int n); +SPAN_DECLARE(void) vec_scalar_mulf(float z[], const float x[], float y, int n); -void vec_scalar_mul(double z[], const double x[], double y, int n); +SPAN_DECLARE(void) vec_scalar_mul(double z[], const double x[], double y, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scalar_mull(long double z[], const long double x[], long double y, int n); +SPAN_DECLARE(void) vec_scalar_mull(long double z[], const long double x[], long double y, int n); #endif -void vec_scalar_addf(float z[], const float x[], float y, int n); +SPAN_DECLARE(void) vec_scalar_addf(float z[], const float x[], float y, int n); -void vec_scalar_add(double z[], const double x[], double y, int n); +SPAN_DECLARE(void) vec_scalar_add(double z[], const double x[], double y, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scalar_addl(long double z[], const long double x[], long double y, int n); +SPAN_DECLARE(void) vec_scalar_addl(long double z[], const long double x[], long double y, int n); #endif -void vec_scalar_subf(float z[], const float x[], float y, int n); +SPAN_DECLARE(void) vec_scalar_subf(float z[], const float x[], float y, int n); -void vec_scalar_sub(double z[], const double x[], double y, int n); +SPAN_DECLARE(void) vec_scalar_sub(double z[], const double x[], double y, int n); #if defined(HAVE_LONG_DOUBLE) -void vec_scalar_subl(long double z[], const long double x[], long double y, int n); +SPAN_DECLARE(void) vec_scalar_subl(long double z[], const long double x[], long double y, int n); #endif -void vec_mulf(float z[], const float x[], const float y[], int n); +SPAN_DECLARE(void) vec_mulf(float z[], const float x[], const float y[], int n); -void vec_mul(double z[], const double x[], const double y[], int n); +SPAN_DECLARE(void) vec_mul(double z[], const double x[], const double y[], int n); #if defined(HAVE_LONG_DOUBLE) -void vec_mull(long double z[], const long double x[], const long double y[], int n); +SPAN_DECLARE(void) vec_mull(long double z[], const long double x[], const long double y[], int n); #endif /*! \brief Find the dot product of two float vectors. @@ -158,14 +158,14 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -float vec_dot_prodf(const float x[], const float y[], int n); +SPAN_DECLARE(float) vec_dot_prodf(const float x[], const float y[], int n); /*! \brief Find the dot product of two double vectors. \param x The first vector. \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -double vec_dot_prod(const double x[], const double y[], int n); +SPAN_DECLARE(double) vec_dot_prod(const double x[], const double y[], int n); #if defined(HAVE_LONG_DOUBLE) /*! \brief Find the dot product of two long double vectors. @@ -173,7 +173,7 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -long double vec_dot_prodl(const long double x[], const long double y[], int n); +SPAN_DECLARE(long double) vec_dot_prodl(const long double x[], const long double y[], int n); #endif /*! \brief Find the dot product of two float vectors, where the first is a circular buffer @@ -183,11 +183,11 @@ \param n The number of elements in the vectors. \param pos The starting position in the x vector. \return The dot product of the two vectors. */ -float vec_circular_dot_prodf(const float x[], const float y[], int n, int pos); +SPAN_DECLARE(float) vec_circular_dot_prodf(const float x[], const float y[], int n, int pos); -void vec_lmsf(const float x[], float y[], int n, float error); +SPAN_DECLARE(void) vec_lmsf(const float x[], float y[], int n, float error); -void vec_circular_lmsf(const float x[], float y[], int n, int pos, float error); +SPAN_DECLARE(void) vec_circular_lmsf(const float x[], float y[], int n, int pos, float error); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/vector_int.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/vector_int.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/vector_int.h Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: vector_int.h,v 1.13 2008/09/18 13:54:32 steveu Exp $ + * $Id: vector_int.h,v 1.14 2009/01/31 08:48:11 steveu Exp $ */ #if !defined(_SPANDSP_VECTOR_INT_H_) @@ -101,7 +101,7 @@ \param y The first vector. \param n The number of elements in the vectors. \return The dot product of the two vectors. */ -int32_t vec_dot_prodi16(const int16_t x[], const int16_t y[], int n); +SPAN_DECLARE(int32_t) vec_dot_prodi16(const int16_t x[], const int16_t y[], int n); /*! \brief Find the dot product of two int16_t vectors, where the first is a circular buffer with an offset for the starting position. @@ -110,11 +110,11 @@ \param n The number of elements in the vectors. \param pos The starting position in the x vector. \return The dot product of the two vectors. */ -int32_t vec_circular_dot_prodi16(const int16_t x[], const int16_t y[], int n, int pos); +SPAN_DECLARE(int32_t) vec_circular_dot_prodi16(const int16_t x[], const int16_t y[], int n, int pos); -void vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t error); +SPAN_DECLARE(void) vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t error); -void vec_circular_lmsi16(const int16_t x[], int16_t y[], int n, int pos, int16_t error); +SPAN_DECLARE(void) vec_circular_lmsi16(const int16_t x[], int16_t y[], int n, int pos, int16_t error); /*! \brief Find the minimum and maximum values in an int16_t vector. \param x The vector to be searched. @@ -125,7 +125,7 @@ \return The absolute maximum value. Since the range of negative numbers exceeds the range of positive one, the returned integer is longer than the ones being searched. */ -int32_t vec_min_maxi16(const int16_t x[], int n, int16_t out[]); +SPAN_DECLARE(int32_t) vec_min_maxi16(const int16_t x[], int n, int16_t out[]); static __inline__ int vec_norm2i16(const int16_t *vec, int len) { Modified: freeswitch/trunk/libs/spandsp/src/spandsp/version.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/version.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/version.h Mon Feb 2 11:40:52 2009 @@ -30,8 +30,8 @@ /* The date and time of the version are in UTC form. */ -#define SPANDSP_RELEASE_DATE 20090130 -#define SPANDSP_RELEASE_TIME 102456 +#define SPANDSP_RELEASE_DATE 20090131 +#define SPANDSP_RELEASE_TIME 122642 #endif /*- End of file ------------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/t30.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30.c Mon Feb 2 11:40:52 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.c,v 1.280 2009/01/29 18:30:14 steveu Exp $ + * $Id: t30.c,v 1.282 2009/01/31 09:47:59 steveu Exp $ */ /*! \file */ @@ -289,7 +289,7 @@ /* (Annex C - ISDN) Time-out T7 is used to detect loss of command/response synchronization. T7 is 6+-1s. The timeout begins when initiating a command search (e.g., the first entrance into the "command received" -subroutine ? see flow diagram in C.5) and is reset upon detecting a valid signal or when T7 times out. */ +subroutine - see flow diagram in C.5) and is reset upon detecting a valid signal or when T7 times out. */ #define DEFAULT_TIMER_T7 7000 /* (Annex C - ISDN) Time-out T8 defines the amount of time waiting for clearance of the busy condition @@ -5050,7 +5050,7 @@ break; case T30_STATE_F_DOC_NON_ECM: /* Document transfer */ - if (t4_rx_put_byte(&s->t4, byte)) + if (t4_rx_put_byte(&s->t4, (uint8_t) byte)) { /* That is the end of the document */ set_state(s, T30_STATE_F_POST_DOC_NON_ECM); Modified: freeswitch/trunk/libs/spandsp/src/t4.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t4.c (original) +++ freeswitch/trunk/libs/spandsp/src/t4.c Mon Feb 2 11:40:52 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.c,v 1.119 2009/01/28 03:41:27 steveu Exp $ + * $Id: t4.c,v 1.120 2009/01/31 08:48:10 steveu Exp $ */ /* @@ -611,6 +611,7 @@ int fudge; int row_starts_at; int x; + int j; if (s->run_length) add_run_to_row(s); @@ -659,7 +660,7 @@ for (x = 0, fudge = 0; x < s->a_cursor; x++, fudge ^= 0xFF) { i = s->cur_runs[x]; - if (i >= s->tx_bits) + if ((int) i >= s->tx_bits) { s->tx_bitstream = (s->tx_bitstream << s->tx_bits) | (msbmask[s->tx_bits] & fudge); for (i += (8 - s->tx_bits); i >= 8; i -= 8) @@ -681,8 +682,8 @@ row for the next row. Use a copy of the previous good row as the actual current row. If the row only fell apart near the end, reusing it might be the best solution. */ - for (i = 0, fudge = 0; i < s->a_cursor && fudge < s->image_width; i++) - fudge += s->cur_runs[i]; + for (j = 0, fudge = 0; j < s->a_cursor && fudge < s->image_width; j++) + fudge += s->cur_runs[j]; if (fudge < s->image_width) { /* Try to pad with white, and avoid black, to minimise mess on the image. */ @@ -1613,11 +1614,11 @@ b_cursor |= 1; else b_cursor &= ~1; - if (a0 < s->ref_runs[b_cursor]) + if (a0 < (int) s->ref_runs[b_cursor]) { for ( ; b_cursor >= 0; b_cursor -= 2) { - if (a0 >= s->ref_runs[b_cursor]) + if (a0 >= (int) s->ref_runs[b_cursor]) break; } b_cursor += 2; @@ -1626,7 +1627,7 @@ { for ( ; b_cursor < s->ref_steps; b_cursor += 2) { - if (a0 < s->ref_runs[b_cursor]) + if (a0 < (int) s->ref_runs[b_cursor]) break; } if (b_cursor >= s->ref_steps) From brian at freeswitch.org Mon Feb 2 10:11:41 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 12:11:41 -0600 Subject: [Freeswitch-svn] [commit] r11601 - freeswitch/trunk/src/mod/formats/mod_sndfile Message-ID: Author: brian Date: Mon Feb 2 12:11:41 2009 New Revision: 11601 Log: look for more sound files at various rates Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Mon Feb 2 12:11:41 2009 @@ -62,8 +62,12 @@ char *ext; struct format_map *map = NULL; switch_status_t status = SWITCH_STATUS_SUCCESS; - char *alt_path = NULL, *next, *last, *ldup = NULL; + char *alt_path = NULL, *last, *ldup = NULL; size_t alt_len = 0; + int rates[4] = {8000, 16000, 32000, 48000}; + int i; + char ps[2] = {'/', '\\'}; + int x; if ((ext = strrchr(path, '.')) == 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Format\n"); @@ -146,26 +150,32 @@ switch_zmalloc(alt_path, alt_len); switch_copy_string(alt_path, path, alt_len); - if ((last = strrchr(alt_path, '/'))) { - next = ++last; - ldup = strdup(last); - switch_assert(ldup); - switch_snprintf(next, alt_len - (last - alt_path), "%d%s%s", handle->samplerate, SWITCH_PATH_SEPARATOR, ldup); - if ((context->handle = sf_open(alt_path, mode, &context->sfinfo))) { - path = alt_path; - } - } -#ifdef WIN32 - else if ((last = strrchr(alt_path, '\\'))) { - next = ++last; - ldup = strdup(last); - switch_assert(ldup); - switch_snprintf(next, alt_len - (last - alt_path), "%d%s%s", handle->samplerate, SWITCH_PATH_SEPARATOR, ldup); - if ((context->handle = sf_open(alt_path, mode, &context->sfinfo))) { - path = alt_path; + + for (x = 0; x < 2; x++) { + if ((last = strrchr(alt_path, ps[x]))) { + last++; + ldup = strdup(last); + switch_assert(ldup); + switch_snprintf(last, alt_len - (last - alt_path), "%d%s%s", handle->samplerate, SWITCH_PATH_SEPARATOR, ldup); + if ((context->handle = sf_open(alt_path, mode, &context->sfinfo))) { + path = alt_path; + } else { + /* Try to find the file at the highest rate possible if we can't find one that matches the exact rate. + If we don't find any, we will default back to the original file name. + */ + for (i = 3; i > 0; i--) { + switch_snprintf(last, alt_len - (last - alt_path), "%d%s%s", rates[i], SWITCH_PATH_SEPARATOR, ldup); + if ((context->handle = sf_open(alt_path, mode, &context->sfinfo))) { + path = alt_path; + break; + } + } + } } - } +#ifndef WIN32 + break; #endif + } if (!context->handle) { if ((context->handle = sf_open(path, mode, &context->sfinfo)) == 0) { From mikej at freeswitch.org Mon Feb 2 13:36:29 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 15:36:29 -0600 Subject: [Freeswitch-svn] [commit] r11602 - in freeswitch/trunk/libs/spandsp/src: . msvc spandsp Message-ID: Author: mikej Date: Mon Feb 2 15:36:29 2009 New Revision: 11602 Log: fix windows build issues from snapshot spandsp-20090131 Modified: freeswitch/trunk/libs/spandsp/src/adsi.c freeswitch/trunk/libs/spandsp/src/async.c freeswitch/trunk/libs/spandsp/src/at_interpreter.c freeswitch/trunk/libs/spandsp/src/awgn.c freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c freeswitch/trunk/libs/spandsp/src/bert.c freeswitch/trunk/libs/spandsp/src/bit_operations.c freeswitch/trunk/libs/spandsp/src/complex_filters.c freeswitch/trunk/libs/spandsp/src/complex_vector_float.c freeswitch/trunk/libs/spandsp/src/complex_vector_int.c freeswitch/trunk/libs/spandsp/src/crc.c freeswitch/trunk/libs/spandsp/src/dds_float.c freeswitch/trunk/libs/spandsp/src/dds_int.c freeswitch/trunk/libs/spandsp/src/dtmf.c freeswitch/trunk/libs/spandsp/src/echo.c freeswitch/trunk/libs/spandsp/src/fax.c freeswitch/trunk/libs/spandsp/src/fsk.c freeswitch/trunk/libs/spandsp/src/g711.c freeswitch/trunk/libs/spandsp/src/g722.c freeswitch/trunk/libs/spandsp/src/g726.c freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c freeswitch/trunk/libs/spandsp/src/hdlc.c freeswitch/trunk/libs/spandsp/src/ima_adpcm.c freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj freeswitch/trunk/libs/spandsp/src/logging.c freeswitch/trunk/libs/spandsp/src/lpc10_decode.c freeswitch/trunk/libs/spandsp/src/lpc10_encode.c freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c freeswitch/trunk/libs/spandsp/src/modem_echo.c freeswitch/trunk/libs/spandsp/src/msvc/config.h freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head freeswitch/trunk/libs/spandsp/src/noise.c freeswitch/trunk/libs/spandsp/src/oki_adpcm.c freeswitch/trunk/libs/spandsp/src/playout.c freeswitch/trunk/libs/spandsp/src/plc.c freeswitch/trunk/libs/spandsp/src/power_meter.c freeswitch/trunk/libs/spandsp/src/queue.c freeswitch/trunk/libs/spandsp/src/schedule.c freeswitch/trunk/libs/spandsp/src/sig_tone.c freeswitch/trunk/libs/spandsp/src/silence_gen.c freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h freeswitch/trunk/libs/spandsp/src/spandsp/async.h freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h freeswitch/trunk/libs/spandsp/src/spandsp/bert.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h freeswitch/trunk/libs/spandsp/src/spandsp/echo.h freeswitch/trunk/libs/spandsp/src/spandsp/fax.h freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h freeswitch/trunk/libs/spandsp/src/spandsp/g711.h freeswitch/trunk/libs/spandsp/src/spandsp/g722.h freeswitch/trunk/libs/spandsp/src/spandsp/g726.h freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h freeswitch/trunk/libs/spandsp/src/spandsp/noise.h freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/playout.h freeswitch/trunk/libs/spandsp/src/spandsp/plc.h freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h freeswitch/trunk/libs/spandsp/src/spandsp/queue.h freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/t30.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h freeswitch/trunk/libs/spandsp/src/spandsp/t31.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h freeswitch/trunk/libs/spandsp/src/spandsp/t4.h freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v42.h freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v8.h freeswitch/trunk/libs/spandsp/src/super_tone_rx.c freeswitch/trunk/libs/spandsp/src/super_tone_tx.c freeswitch/trunk/libs/spandsp/src/t30.c freeswitch/trunk/libs/spandsp/src/t30_api.c freeswitch/trunk/libs/spandsp/src/t30_logging.c freeswitch/trunk/libs/spandsp/src/t31.c freeswitch/trunk/libs/spandsp/src/t35.c freeswitch/trunk/libs/spandsp/src/t38_core.c freeswitch/trunk/libs/spandsp/src/t38_gateway.c freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c freeswitch/trunk/libs/spandsp/src/t38_terminal.c freeswitch/trunk/libs/spandsp/src/t4.c freeswitch/trunk/libs/spandsp/src/time_scale.c freeswitch/trunk/libs/spandsp/src/tone_detect.c freeswitch/trunk/libs/spandsp/src/tone_generate.c freeswitch/trunk/libs/spandsp/src/v17rx.c freeswitch/trunk/libs/spandsp/src/v17tx.c freeswitch/trunk/libs/spandsp/src/v22bis_rx.c freeswitch/trunk/libs/spandsp/src/v22bis_tx.c freeswitch/trunk/libs/spandsp/src/v27ter_rx.c freeswitch/trunk/libs/spandsp/src/v27ter_tx.c freeswitch/trunk/libs/spandsp/src/v29rx.c freeswitch/trunk/libs/spandsp/src/v29tx.c freeswitch/trunk/libs/spandsp/src/v42.c freeswitch/trunk/libs/spandsp/src/v42bis.c freeswitch/trunk/libs/spandsp/src/v8.c freeswitch/trunk/libs/spandsp/src/vector_float.c freeswitch/trunk/libs/spandsp/src/vector_int.c Modified: freeswitch/trunk/libs/spandsp/src/adsi.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/adsi.c (original) +++ freeswitch/trunk/libs/spandsp/src/adsi.c Mon Feb 2 15:36:29 2009 @@ -392,7 +392,7 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_rx(adsi_rx_state_t *s, const int16_t *amp, int len) +SPAN_DECLARE(int) adsi_rx(adsi_rx_state_t *s, const int16_t *amp, int len) { switch (s->standard) { @@ -411,7 +411,7 @@ } /*- End of function --------------------------------------------------------*/ -adsi_rx_state_t *adsi_rx_init(adsi_rx_state_t *s, +SPAN_DECLARE(adsi_rx_state_t *) adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data) @@ -448,14 +448,14 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_rx_free(adsi_rx_state_t *s) +SPAN_DECLARE(int) adsi_rx_free(adsi_rx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int adsi_tx(adsi_tx_state_t *s, int16_t *amp, int max_len) +SPAN_DECLARE(int) adsi_tx(adsi_tx_state_t *s, int16_t *amp, int max_len) { int len; int lenx; @@ -483,13 +483,13 @@ } /*- End of function --------------------------------------------------------*/ -void adsi_tx_send_alert_tone(adsi_tx_state_t *s) +SPAN_DECLARE(void) adsi_tx_send_alert_tone(adsi_tx_state_t *s) { tone_gen_init(&(s->alert_tone_gen), &(s->alert_tone_desc)); } /*- End of function --------------------------------------------------------*/ -void adsi_tx_set_preamble(adsi_tx_state_t *s, +SPAN_DECLARE(void) adsi_tx_set_preamble(adsi_tx_state_t *s, int preamble_len, int preamble_ones_len, int postamble_ones_len, @@ -542,7 +542,7 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len) +SPAN_DECLARE(int) adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len) { int i; int j; @@ -631,7 +631,7 @@ } /*- End of function --------------------------------------------------------*/ -adsi_tx_state_t *adsi_tx_init(adsi_tx_state_t *s, int standard) +SPAN_DECLARE(adsi_tx_state_t *) adsi_tx_init(adsi_tx_state_t *s, int standard) { if (s == NULL) { @@ -657,7 +657,7 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_tx_free(adsi_tx_state_t *s) +SPAN_DECLARE(int) adsi_tx_free(adsi_tx_state_t *s) { free(s); return 0; @@ -846,7 +846,7 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len) +SPAN_DECLARE(int) adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len) { int i; @@ -966,7 +966,7 @@ } /*- End of function --------------------------------------------------------*/ -int adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len) +SPAN_DECLARE(int) adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len) { int i; int x; @@ -1068,7 +1068,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *adsi_standard_to_str(int standard) +SPAN_DECLARE(const char *) adsi_standard_to_str(int standard) { switch (standard) { Modified: freeswitch/trunk/libs/spandsp/src/async.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/async.c (original) +++ freeswitch/trunk/libs/spandsp/src/async.c Mon Feb 2 15:36:29 2009 @@ -41,7 +41,7 @@ #include "spandsp/private/async.h" -const char *signal_status_to_str(int status) +SPAN_DECLARE(const char *) signal_status_to_str(int status) { switch (status) { @@ -72,7 +72,7 @@ } /*- End of function --------------------------------------------------------*/ -async_rx_state_t *async_rx_init(async_rx_state_t *s, +SPAN_DECLARE(async_rx_state_t *) async_rx_init(async_rx_state_t *s, int data_bits, int parity, int stop_bits, @@ -184,7 +184,7 @@ } /*- End of function --------------------------------------------------------*/ -async_tx_state_t *async_tx_init(async_tx_state_t *s, +SPAN_DECLARE(async_tx_state_t *) async_tx_init(async_tx_state_t *s, int data_bits, int parity, int stop_bits, Modified: freeswitch/trunk/libs/spandsp/src/at_interpreter.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/at_interpreter.c (original) +++ freeswitch/trunk/libs/spandsp/src/at_interpreter.c Mon Feb 2 15:36:29 2009 @@ -138,7 +138,7 @@ "+FRH:3" }; -void at_set_at_rx_mode(at_state_t *s, int new_mode) +SPAN_DECLARE(void) at_set_at_rx_mode(at_state_t *s, int new_mode) { /* The use of a DTE timeout is mode dependent. Set the timeout appropriately in the modem. */ @@ -156,7 +156,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_put_response(at_state_t *s, const char *t) +SPAN_DECLARE(void) at_put_response(at_state_t *s, const char *t) { uint8_t buf[3]; @@ -170,7 +170,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_put_numeric_response(at_state_t *s, int val) +SPAN_DECLARE(void) at_put_numeric_response(at_state_t *s, int val) { char buf[20]; @@ -179,7 +179,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_put_response_code(at_state_t *s, int code) +SPAN_DECLARE(void) at_put_response_code(at_state_t *s, int code) { uint8_t buf[20]; @@ -211,7 +211,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_call_event(at_state_t *s, int event) +SPAN_DECLARE(void) at_call_event(at_state_t *s, int event) { span_log(&s->logging, SPAN_LOG_FLOW, "Call event %d received\n", event); switch (event) @@ -311,7 +311,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_reset_call_info(at_state_t *s) +SPAN_DECLARE(void) at_reset_call_info(at_state_t *s) { at_call_id_t *call_id; at_call_id_t *next; @@ -327,7 +327,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_set_call_info(at_state_t *s, char const *id, char const *value) +SPAN_DECLARE(void) at_set_call_info(at_state_t *s, char const *id, char const *value) { at_call_id_t *new_call_id; at_call_id_t *call_id; @@ -355,7 +355,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_display_call_info(at_state_t *s) +SPAN_DECLARE(void) at_display_call_info(at_state_t *s) { char buf[132 + 1]; at_call_id_t *call_id = s->call_id; @@ -5143,7 +5143,7 @@ } /*- End of function --------------------------------------------------------*/ -int at_modem_control(at_state_t *s, int op, const char *num) +SPAN_DECLARE(int) at_modem_control(at_state_t *s, int op, const char *num) { switch (op) { @@ -5177,7 +5177,7 @@ } /*- End of function --------------------------------------------------------*/ -void at_interpreter(at_state_t *s, const char *cmd, int len) +SPAN_DECLARE(void) at_interpreter(at_state_t *s, const char *cmd, int len) { int i; int c; @@ -5284,14 +5284,14 @@ } /*- End of function --------------------------------------------------------*/ -void at_set_class1_handler(at_state_t *s, at_class1_handler_t handler, void *user_data) +SPAN_DECLARE(void) at_set_class1_handler(at_state_t *s, at_class1_handler_t handler, void *user_data) { s->class1_handler = handler; s->class1_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -at_state_t *at_init(at_state_t *s, +SPAN_DECLARE(at_state_t *) at_init(at_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, at_modem_control_handler_t *modem_control_handler, @@ -5318,7 +5318,7 @@ } /*- End of function --------------------------------------------------------*/ -int at_free(at_state_t *s) +SPAN_DECLARE(int) at_free(at_state_t *s) { at_reset_call_info(s); if (s->local_id) Modified: freeswitch/trunk/libs/spandsp/src/awgn.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/awgn.c (original) +++ freeswitch/trunk/libs/spandsp/src/awgn.c Mon Feb 2 15:36:29 2009 @@ -95,13 +95,13 @@ } /*- End of function --------------------------------------------------------*/ -awgn_state_t *awgn_init_dbm0(awgn_state_t *s, int idum, float level) +SPAN_DECLARE(awgn_state_t *) awgn_init_dbm0(awgn_state_t *s, int idum, float level) { return awgn_init_dbov(s, idum, level - DBM0_MAX_POWER); } /*- End of function --------------------------------------------------------*/ -awgn_state_t *awgn_init_dbov(awgn_state_t *s, int idum, float level) +SPAN_DECLARE(awgn_state_t *) awgn_init_dbov(awgn_state_t *s, int idum, float level) { int j; @@ -133,7 +133,7 @@ } /*- End of function --------------------------------------------------------*/ -int16_t awgn(awgn_state_t *s) +SPAN_DECLARE(int16_t) awgn(awgn_state_t *s) { double fac; double r; Modified: freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c (original) +++ freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c Mon Feb 2 15:36:29 2009 @@ -276,7 +276,7 @@ } /*- End of function --------------------------------------------------------*/ -int bell_mf_tx(bell_mf_tx_state_t *s, int16_t amp[], int max_samples) +SPAN_DECLARE(int) bell_mf_tx(bell_mf_tx_state_t *s, int16_t amp[], int max_samples) { int len; const char *cp; @@ -300,7 +300,7 @@ } /*- End of function --------------------------------------------------------*/ -int bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len) +SPAN_DECLARE(int) bell_mf_tx_put(bell_mf_tx_state_t *s, const char *digits, int len) { size_t space; @@ -320,7 +320,7 @@ } /*- End of function --------------------------------------------------------*/ -bell_mf_tx_state_t *bell_mf_tx_init(bell_mf_tx_state_t *s) +SPAN_DECLARE(bell_mf_tx_state_t *) bell_mf_tx_init(bell_mf_tx_state_t *s) { if (s == NULL) { @@ -339,14 +339,14 @@ } /*- End of function --------------------------------------------------------*/ -int bell_mf_tx_free(bell_mf_tx_state_t *s) +SPAN_DECLARE(int) bell_mf_tx_free(bell_mf_tx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int r2_mf_tx(r2_mf_tx_state_t *s, int16_t amp[], int samples) +SPAN_DECLARE(int) r2_mf_tx(r2_mf_tx_state_t *s, int16_t amp[], int samples) { int len; @@ -363,7 +363,7 @@ } /*- End of function --------------------------------------------------------*/ -int r2_mf_tx_put(r2_mf_tx_state_t *s, char digit) +SPAN_DECLARE(int) r2_mf_tx_put(r2_mf_tx_state_t *s, char digit) { char *cp; @@ -383,7 +383,7 @@ } /*- End of function --------------------------------------------------------*/ -r2_mf_tx_state_t *r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd) +SPAN_DECLARE(r2_mf_tx_state_t *) r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd) { int i; const mf_digit_tones_t *tones; @@ -436,14 +436,14 @@ } /*- End of function --------------------------------------------------------*/ -int r2_mf_tx_free(r2_mf_tx_state_t *s) +SPAN_DECLARE(int) r2_mf_tx_free(r2_mf_tx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int bell_mf_rx(bell_mf_rx_state_t *s, const int16_t amp[], int samples) +SPAN_DECLARE(int) bell_mf_rx(bell_mf_rx_state_t *s, const int16_t amp[], int samples) { #if defined(SPANDSP_USE_FIXED_POINT) int32_t energy[6]; @@ -596,7 +596,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t bell_mf_rx_get(bell_mf_rx_state_t *s, char *buf, int max) +SPAN_DECLARE(size_t) bell_mf_rx_get(bell_mf_rx_state_t *s, char *buf, int max) { if (max > s->current_digits) max = s->current_digits; @@ -611,7 +611,7 @@ } /*- End of function --------------------------------------------------------*/ -bell_mf_rx_state_t *bell_mf_rx_init(bell_mf_rx_state_t *s, +SPAN_DECLARE(bell_mf_rx_state_t *) bell_mf_rx_init(bell_mf_rx_state_t *s, digits_rx_callback_t callback, void *user_data) { @@ -650,14 +650,14 @@ } /*- End of function --------------------------------------------------------*/ -int bell_mf_rx_free(bell_mf_rx_state_t *s) +SPAN_DECLARE(int) bell_mf_rx_free(bell_mf_rx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int r2_mf_rx(r2_mf_rx_state_t *s, const int16_t amp[], int samples) +SPAN_DECLARE(int) r2_mf_rx(r2_mf_rx_state_t *s, const int16_t amp[], int samples) { #if defined(SPANDSP_USE_FIXED_POINT) int32_t energy[6]; @@ -778,13 +778,13 @@ } /*- End of function --------------------------------------------------------*/ -int r2_mf_rx_get(r2_mf_rx_state_t *s) +SPAN_DECLARE(int) r2_mf_rx_get(r2_mf_rx_state_t *s) { return s->current_digit; } /*- End of function --------------------------------------------------------*/ -r2_mf_rx_state_t *r2_mf_rx_init(r2_mf_rx_state_t *s, +SPAN_DECLARE(r2_mf_rx_state_t *) r2_mf_rx_init(r2_mf_rx_state_t *s, int fwd, tone_report_func_t callback, void *user_data) @@ -828,7 +828,7 @@ } /*- End of function --------------------------------------------------------*/ -int r2_mf_rx_free(r2_mf_rx_state_t *s) +SPAN_DECLARE(int) r2_mf_rx_free(r2_mf_rx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/bert.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bert.c (original) +++ freeswitch/trunk/libs/spandsp/src/bert.c Mon Feb 2 15:36:29 2009 @@ -47,7 +47,7 @@ static const char *qbf = "VoyeZ Le BricK GeanT QuE J'ExaminE PreS Du WharF 123 456 7890 + - * : = $ % ( )" "ThE QuicK BrowN FoX JumpS OveR ThE LazY DoG 123 456 7890 + - * : = $ % ( )"; -const char *bert_event_to_str(int event) +SPAN_DECLARE(const char *) bert_event_to_str(int event) { switch (event) { @@ -76,7 +76,7 @@ } /*- End of function --------------------------------------------------------*/ -int bert_get_bit(bert_state_t *s) +SPAN_DECLARE(int) bert_get_bit(bert_state_t *s) { int bit; @@ -183,7 +183,7 @@ } /*- End of function --------------------------------------------------------*/ -void bert_put_bit(bert_state_t *s, int bit) +SPAN_DECLARE(void) bert_put_bit(bert_state_t *s, int bit) { if (bit < 0) { @@ -324,7 +324,7 @@ } /*- End of function --------------------------------------------------------*/ -int bert_result(bert_state_t *s, bert_results_t *results) +SPAN_DECLARE(int) bert_result(bert_state_t *s, bert_results_t *results) { results->total_bits = s->results.total_bits; results->bad_bits = s->results.bad_bits; @@ -333,7 +333,7 @@ } /*- End of function --------------------------------------------------------*/ -void bert_set_report(bert_state_t *s, int freq, bert_report_func_t reporter, void *user_data) +SPAN_DECLARE(void) bert_set_report(bert_state_t *s, int freq, bert_report_func_t reporter, void *user_data) { s->report_frequency = freq; s->reporter = reporter; @@ -343,7 +343,7 @@ } /*- End of function --------------------------------------------------------*/ -bert_state_t *bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent) +SPAN_DECLARE(bert_state_t *) bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent) { int i; int j; Modified: freeswitch/trunk/libs/spandsp/src/bit_operations.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bit_operations.c (original) +++ freeswitch/trunk/libs/spandsp/src/bit_operations.c Mon Feb 2 15:36:29 2009 @@ -41,7 +41,7 @@ #include "spandsp/telephony.h" #include "spandsp/bit_operations.h" -uint16_t bit_reverse16(uint16_t x) +SPAN_DECLARE(uint16_t) bit_reverse16(uint16_t x) { x = (x >> 8) | (x << 8); x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4); @@ -50,7 +50,7 @@ } /*- End of function --------------------------------------------------------*/ -uint32_t bit_reverse32(uint32_t x) +SPAN_DECLARE(uint32_t) bit_reverse32(uint32_t x) { x = (x >> 16) | (x << 16); x = ((x & 0xFF00FF00) >> 8) | ((x & 0x00FF00FF) << 8); @@ -60,7 +60,7 @@ } /*- End of function --------------------------------------------------------*/ -uint32_t bit_reverse_4bytes(uint32_t x) +SPAN_DECLARE(uint32_t) bit_reverse_4bytes(uint32_t x) { x = ((x & 0xF0F0F0F0) >> 4) | ((x & 0x0F0F0F0F) << 4); x = ((x & 0xCCCCCCCC) >> 2) | ((x & 0x33333333) << 2); @@ -78,7 +78,7 @@ /*- End of function --------------------------------------------------------*/ #endif -void bit_reverse(uint8_t to[], const uint8_t from[], int len) +SPAN_DECLARE(void) bit_reverse(uint8_t to[], const uint8_t from[], int len) { #if defined(SPANDSP_MISALIGNED_ACCESS_FAILS) int i; @@ -138,7 +138,7 @@ } /*- End of function --------------------------------------------------------*/ -int one_bits32(uint32_t x) +SPAN_DECLARE(int) one_bits32(uint32_t x) { x = x - ((x >> 1) & 0x55555555); /* We now have 16 2-bit counts */ @@ -158,7 +158,7 @@ } /*- End of function --------------------------------------------------------*/ -uint32_t make_mask32(uint32_t x) +SPAN_DECLARE(uint32_t) make_mask32(uint32_t x) { x |= (x >> 1); x |= (x >> 2); @@ -169,7 +169,7 @@ } /*- End of function --------------------------------------------------------*/ -uint16_t make_mask16(uint16_t x) +SPAN_DECLARE(uint16_t) make_mask16(uint16_t x) { x |= (x >> 1); x |= (x >> 2); Modified: freeswitch/trunk/libs/spandsp/src/complex_filters.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_filters.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_filters.c Mon Feb 2 15:36:29 2009 @@ -37,7 +37,7 @@ #include "spandsp/complex.h" #include "spandsp/complex_filters.h" -filter_t *filter_create(fspec_t *fs) +SPAN_DECLARE(filter_t *) filter_create(fspec_t *fs) { int i; filter_t *fi; @@ -54,18 +54,18 @@ return fi; } -void filter_delete(filter_t *fi) +SPAN_DECLARE(void) filter_delete(filter_t *fi) { if (fi) free(fi); } -float filter_step(filter_t *fi, float x) +SPAN_DECLARE(float) filter_step(filter_t *fi, float x) { return fi->fs->fsf(fi, x); } -cfilter_t *cfilter_create(fspec_t *fs) +SPAN_DECLARE(cfilter_t *) cfilter_create(fspec_t *fs) { cfilter_t *cfi; @@ -86,7 +86,7 @@ return cfi; } -void cfilter_delete(cfilter_t *cfi) +SPAN_DECLARE(void) cfilter_delete(cfilter_t *cfi) { if (cfi) { @@ -95,7 +95,7 @@ } } -complexf_t cfilter_step(cfilter_t *cfi, const complexf_t *z) +SPAN_DECLARE(complexf_t) cfilter_step(cfilter_t *cfi, const complexf_t *z) { complexf_t cc; Modified: freeswitch/trunk/libs/spandsp/src/complex_vector_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_vector_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_vector_float.c Mon Feb 2 15:36:29 2009 @@ -76,7 +76,7 @@ #include "spandsp/complex_vector_float.h" #if defined(__GNUC__) && defined(SPANDSP_USE_SSE3) -void cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n) +SPAN_DECLARE(void) cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n) { int i; __m128 n0; @@ -109,7 +109,7 @@ } } #else -void cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n) +SPAN_DECLARE(void) cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n) { int i; @@ -122,7 +122,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n) +SPAN_DECLARE(void) cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n) { int i; @@ -148,7 +148,7 @@ /*- End of function --------------------------------------------------------*/ #endif -complexf_t cvec_dot_prodf(const complexf_t x[], const complexf_t y[], int n) +SPAN_DECLARE(complexf_t) cvec_dot_prodf(const complexf_t x[], const complexf_t y[], int n) { int i; complexf_t z; @@ -163,7 +163,7 @@ } /*- End of function --------------------------------------------------------*/ -complex_t cvec_dot_prod(const complex_t x[], const complex_t y[], int n) +SPAN_DECLARE(complex_t) cvec_dot_prod(const complex_t x[], const complex_t y[], int n) { int i; complex_t z; @@ -195,7 +195,7 @@ /*- End of function --------------------------------------------------------*/ #endif -complexf_t cvec_circular_dot_prodf(const complexf_t x[], const complexf_t y[], int n, int pos) +SPAN_DECLARE(complexf_t) cvec_circular_dot_prodf(const complexf_t x[], const complexf_t y[], int n, int pos) { complexf_t z; complexf_t z1; @@ -209,7 +209,7 @@ #define LMS_LEAK_RATE 0.9999f -void cvec_lmsf(const complexf_t x[], complexf_t y[], int n, const complexf_t *error) +SPAN_DECLARE(void) cvec_lmsf(const complexf_t x[], complexf_t y[], int n, const complexf_t *error) { int i; @@ -222,7 +222,7 @@ } /*- End of function --------------------------------------------------------*/ -void cvec_circular_lmsf(const complexf_t x[], complexf_t y[], int n, int pos, const complexf_t *error) +SPAN_DECLARE(void) cvec_circular_lmsf(const complexf_t x[], complexf_t y[], int n, int pos, const complexf_t *error) { cvec_lmsf(&x[pos], &y[0], n - pos, error); cvec_lmsf(&x[0], &y[n - pos], pos, error); Modified: freeswitch/trunk/libs/spandsp/src/complex_vector_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_vector_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_vector_int.c Mon Feb 2 15:36:29 2009 @@ -75,7 +75,7 @@ #include "spandsp/vector_int.h" #include "spandsp/complex_vector_int.h" -complexi32_t cvec_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n) +SPAN_DECLARE(complexi32_t) cvec_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n) { int i; complexi32_t z; @@ -90,7 +90,7 @@ } /*- End of function --------------------------------------------------------*/ -complexi32_t cvec_dot_prodi32(const complexi32_t x[], const complexi32_t y[], int n) +SPAN_DECLARE(complexi32_t) cvec_dot_prodi32(const complexi32_t x[], const complexi32_t y[], int n) { int i; complexi32_t z; @@ -105,7 +105,7 @@ } /*- End of function --------------------------------------------------------*/ -complexi32_t cvec_circular_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n, int pos) +SPAN_DECLARE(complexi32_t) cvec_circular_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n, int pos) { complexi32_t z; complexi32_t z1; @@ -117,7 +117,7 @@ } /*- End of function --------------------------------------------------------*/ -void cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n, const complexi16_t *error) +SPAN_DECLARE(void) cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n, const complexi16_t *error) { int i; @@ -129,7 +129,7 @@ } /*- End of function --------------------------------------------------------*/ -void cvec_circular_lmsi16(const complexi16_t x[], complexi16_t y[], int n, int pos, const complexi16_t *error) +SPAN_DECLARE(void) cvec_circular_lmsi16(const complexi16_t x[], complexi16_t y[], int n, int pos, const complexi16_t *error) { cvec_lmsi16(&x[pos], &y[0], n - pos, error); cvec_lmsi16(&x[0], &y[n - pos], pos, error); Modified: freeswitch/trunk/libs/spandsp/src/crc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/crc.c (original) +++ freeswitch/trunk/libs/spandsp/src/crc.c Mon Feb 2 15:36:29 2009 @@ -107,7 +107,7 @@ 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D }; -uint32_t crc_itu32_calc(const uint8_t *buf, int len, uint32_t crc) +SPAN_DECLARE(uint32_t) crc_itu32_calc(const uint8_t *buf, int len, uint32_t crc) { int i; @@ -117,7 +117,7 @@ } /*- End of function --------------------------------------------------------*/ -int crc_itu32_append(uint8_t *buf, int len) +SPAN_DECLARE(int) crc_itu32_append(uint8_t *buf, int len) { uint32_t crc; int new_len; @@ -136,7 +136,7 @@ } /*- End of function --------------------------------------------------------*/ -int crc_itu32_check(const uint8_t *buf, int len) +SPAN_DECLARE(int) crc_itu32_check(const uint8_t *buf, int len) { uint32_t crc; int i; @@ -184,7 +184,7 @@ 0x7BC7, 0x6A4E, 0x58D5, 0x495C, 0x3DE3, 0x2C6A, 0x1EF1, 0x0F78 }; -uint16_t crc_itu16_calc(const uint8_t *buf, int len, uint16_t crc) +SPAN_DECLARE(uint16_t) crc_itu16_calc(const uint8_t *buf, int len, uint16_t crc) { int i; @@ -194,7 +194,7 @@ } /*- End of function --------------------------------------------------------*/ -int crc_itu16_append(uint8_t *buf, int len) +SPAN_DECLARE(int) crc_itu16_append(uint8_t *buf, int len) { uint16_t crc; int new_len; @@ -211,7 +211,7 @@ } /*- End of function --------------------------------------------------------*/ -int crc_itu16_check(const uint8_t *buf, int len) +SPAN_DECLARE(int) crc_itu16_check(const uint8_t *buf, int len) { uint16_t crc; int i; Modified: freeswitch/trunk/libs/spandsp/src/dds_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dds_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/dds_float.c Mon Feb 2 15:36:29 2009 @@ -2102,37 +2102,37 @@ -0.00306796f }; -int32_t dds_phase_ratef(float frequency) +SPAN_DECLARE(int32_t) dds_phase_ratef(float frequency) { return (int32_t) (frequency*65536.0f*65536.0f/SAMPLE_RATE); } /*- End of function --------------------------------------------------------*/ -float dds_frequencyf(int32_t phase_rate) +SPAN_DECLARE(float) dds_frequencyf(int32_t phase_rate) { return (float) phase_rate*(float) SAMPLE_RATE/(65536.0f*65536.0f); } /*- End of function --------------------------------------------------------*/ -float dds_scaling_dbm0f(float level) +SPAN_DECLARE(float) dds_scaling_dbm0f(float level) { return powf(10.0f, (level - DBM0_MAX_SINE_POWER)/20.0f)*32767.0f; } /*- End of function --------------------------------------------------------*/ -float dds_scaling_dbovf(float level) +SPAN_DECLARE(float) dds_scaling_dbovf(float level) { return powf(10.0f, (level - DBOV_MAX_SINE_POWER)/20.0f)*32767.0f; } /*- End of function --------------------------------------------------------*/ -void dds_advancef(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(void) dds_advancef(uint32_t *phase_acc, int32_t phase_rate) { *phase_acc += phase_rate; } /*- End of function --------------------------------------------------------*/ -float ddsf(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(float) ddsf(uint32_t *phase_acc, int32_t phase_rate) { float amp; @@ -2142,13 +2142,13 @@ } /*- End of function --------------------------------------------------------*/ -float dds_lookupf(uint32_t phase) +SPAN_DECLARE(float) dds_lookupf(uint32_t phase) { return sine_table[phase >> (32 - SLENK)]; } /*- End of function --------------------------------------------------------*/ -float dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) +SPAN_DECLARE(float) dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) { float amp; @@ -2158,7 +2158,7 @@ } /*- End of function --------------------------------------------------------*/ -complexf_t dds_complexf(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(complexf_t) dds_complexf(uint32_t *phase_acc, int32_t phase_rate) { complexf_t amp; @@ -2169,14 +2169,14 @@ } /*- End of function --------------------------------------------------------*/ -complexf_t dds_lookup_complexf(uint32_t phase) +SPAN_DECLARE(complexf_t) dds_lookup_complexf(uint32_t phase) { return complex_setf(sine_table[(phase + (1 << 30)) >> (32 - SLENK)], sine_table[phase >> (32 - SLENK)]); } /*- End of function --------------------------------------------------------*/ -complexf_t dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) +SPAN_DECLARE(complexf_t) dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) { complexf_t amp; Modified: freeswitch/trunk/libs/spandsp/src/dds_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dds_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/dds_int.c Mon Feb 2 15:36:29 2009 @@ -190,31 +190,31 @@ 32767, }; -int32_t dds_phase_rate(float frequency) +SPAN_DECLARE(int32_t) dds_phase_rate(float frequency) { return (int32_t) (frequency*65536.0f*65536.0f/SAMPLE_RATE); } /*- End of function --------------------------------------------------------*/ -float dds_frequency(int32_t phase_rate) +SPAN_DECLARE(float) dds_frequency(int32_t phase_rate) { return (float) phase_rate*(float) SAMPLE_RATE/(65536.0f*65536.0f); } /*- End of function --------------------------------------------------------*/ -int16_t dds_scaling_dbm0(float level) +SPAN_DECLARE(int16_t) dds_scaling_dbm0(float level) { return (int16_t) (powf(10.0f, (level - DBM0_MAX_SINE_POWER)/20.0f)*32767.0f); } /*- End of function --------------------------------------------------------*/ -int16_t dds_scaling_dbov(float level) +SPAN_DECLARE(int16_t) dds_scaling_dbov(float level) { return (int16_t) (powf(10.0f, (level - DBOV_MAX_SINE_POWER)/20.0f)*32767.0f); } /*- End of function --------------------------------------------------------*/ -int16_t dds_lookup(uint32_t phase) +SPAN_DECLARE(int16_t) dds_lookup(uint32_t phase) { uint32_t step; int16_t amp; @@ -230,19 +230,19 @@ } /*- End of function --------------------------------------------------------*/ -int16_t dds_offset(uint32_t phase_acc, int32_t phase_offset) +SPAN_DECLARE(int16_t) dds_offset(uint32_t phase_acc, int32_t phase_offset) { return dds_lookup(phase_acc + phase_offset); } /*- End of function --------------------------------------------------------*/ -void dds_advance(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(void) dds_advance(uint32_t *phase_acc, int32_t phase_rate) { *phase_acc += phase_rate; } /*- End of function --------------------------------------------------------*/ -int16_t dds(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(int16_t) dds(uint32_t *phase_acc, int32_t phase_rate) { int16_t amp; @@ -252,7 +252,7 @@ } /*- End of function --------------------------------------------------------*/ -int16_t dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) +SPAN_DECLARE(int16_t) dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) { int16_t amp; @@ -262,13 +262,13 @@ } /*- End of function --------------------------------------------------------*/ -complexi_t dds_lookup_complexi(uint32_t phase) +SPAN_DECLARE(complexi_t) dds_lookup_complexi(uint32_t phase) { return complex_seti(dds_lookup(phase + (1 << 30)), dds_lookup(phase)); } /*- End of function --------------------------------------------------------*/ -complexi_t dds_complexi(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(complexi_t) dds_complexi(uint32_t *phase_acc, int32_t phase_rate) { complexi_t amp; @@ -278,7 +278,7 @@ } /*- End of function --------------------------------------------------------*/ -complexi_t dds_complexi_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) +SPAN_DECLARE(complexi_t) dds_complexi_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) { complexi_t amp; @@ -289,13 +289,13 @@ } /*- End of function --------------------------------------------------------*/ -complexi16_t dds_lookup_complexi16(uint32_t phase) +SPAN_DECLARE(complexi16_t) dds_lookup_complexi16(uint32_t phase) { return complex_seti16(dds_lookup(phase + (1 << 30)), dds_lookup(phase)); } /*- End of function --------------------------------------------------------*/ -complexi16_t dds_complexi16(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(complexi16_t) dds_complexi16(uint32_t *phase_acc, int32_t phase_rate) { complexi16_t amp; @@ -305,7 +305,7 @@ } /*- End of function --------------------------------------------------------*/ -complexi16_t dds_complexi16_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) +SPAN_DECLARE(complexi16_t) dds_complexi16_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) { complexi16_t amp; @@ -316,13 +316,13 @@ } /*- End of function --------------------------------------------------------*/ -complexi32_t dds_lookup_complexi32(uint32_t phase) +SPAN_DECLARE(complexi32_t) dds_lookup_complexi32(uint32_t phase) { return complex_seti32(dds_lookup(phase + (1 << 30)), dds_lookup(phase)); } /*- End of function --------------------------------------------------------*/ -complexi32_t dds_complexi32(uint32_t *phase_acc, int32_t phase_rate) +SPAN_DECLARE(complexi32_t) dds_complexi32(uint32_t *phase_acc, int32_t phase_rate) { complexi32_t amp; @@ -332,7 +332,7 @@ } /*- End of function --------------------------------------------------------*/ -complexi32_t dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) +SPAN_DECLARE(complexi32_t) dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase) { complexi32_t amp; Modified: freeswitch/trunk/libs/spandsp/src/dtmf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dtmf.c (original) +++ freeswitch/trunk/libs/spandsp/src/dtmf.c Mon Feb 2 15:36:29 2009 @@ -99,7 +99,7 @@ static int dtmf_tx_inited = FALSE; static tone_gen_descriptor_t dtmf_digit_tones[16]; -int dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples) +SPAN_DECLARE(int) dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples) { #if defined(SPANDSP_USE_FIXED_POINT) int32_t row_energy[4]; @@ -296,7 +296,7 @@ } /*- End of function --------------------------------------------------------*/ -int dtmf_rx_status(dtmf_rx_state_t *s) +SPAN_DECLARE(int) dtmf_rx_status(dtmf_rx_state_t *s) { if (s->in_digit) return s->in_digit; @@ -306,7 +306,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t dtmf_rx_get(dtmf_rx_state_t *s, char *buf, int max) +SPAN_DECLARE(size_t) dtmf_rx_get(dtmf_rx_state_t *s, char *buf, int max) { if (max > s->current_digits) max = s->current_digits; @@ -321,7 +321,7 @@ } /*- End of function --------------------------------------------------------*/ -void dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, +SPAN_DECLARE(void) dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, tone_report_func_t callback, void *user_data) { @@ -330,7 +330,7 @@ } /*- End of function --------------------------------------------------------*/ -void dtmf_rx_parms(dtmf_rx_state_t *s, +SPAN_DECLARE(void) dtmf_rx_parms(dtmf_rx_state_t *s, int filter_dialtone, int twist, int reverse_twist, @@ -358,7 +358,7 @@ } /*- End of function --------------------------------------------------------*/ -dtmf_rx_state_t *dtmf_rx_init(dtmf_rx_state_t *s, +SPAN_DECLARE(dtmf_rx_state_t *) dtmf_rx_init(dtmf_rx_state_t *s, digits_rx_callback_t callback, void *user_data) { @@ -409,7 +409,7 @@ } /*- End of function --------------------------------------------------------*/ -int dtmf_rx_free(dtmf_rx_state_t *s) +SPAN_DECLARE(int) dtmf_rx_free(dtmf_rx_state_t *s) { free(s); return 0; @@ -443,7 +443,7 @@ } /*- End of function --------------------------------------------------------*/ -int dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples) +SPAN_DECLARE(int) dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples) { int len; const char *cp; @@ -473,7 +473,7 @@ } /*- End of function --------------------------------------------------------*/ -int dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len) +SPAN_DECLARE(int) dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len) { size_t space; @@ -493,21 +493,21 @@ } /*- End of function --------------------------------------------------------*/ -void dtmf_tx_set_level(dtmf_tx_state_t *s, int level, int twist) +SPAN_DECLARE(void) dtmf_tx_set_level(dtmf_tx_state_t *s, int level, int twist) { s->low_level = dds_scaling_dbm0f((float) level); s->high_level = dds_scaling_dbm0f((float) (level + twist)); } /*- End of function --------------------------------------------------------*/ -void dtmf_tx_set_timing(dtmf_tx_state_t *s, int on_time, int off_time) +SPAN_DECLARE(void) dtmf_tx_set_timing(dtmf_tx_state_t *s, int on_time, int off_time) { s->on_time = ((on_time >= 0) ? on_time : DEFAULT_DTMF_TX_ON_TIME)*SAMPLE_RATE/1000; s->off_time = ((off_time >= 0) ? off_time : DEFAULT_DTMF_TX_OFF_TIME)*SAMPLE_RATE/1000; } /*- End of function --------------------------------------------------------*/ -dtmf_tx_state_t *dtmf_tx_init(dtmf_tx_state_t *s) +SPAN_DECLARE(dtmf_tx_state_t *) dtmf_tx_init(dtmf_tx_state_t *s) { if (s == NULL) { @@ -525,7 +525,7 @@ } /*- End of function --------------------------------------------------------*/ -int dtmf_tx_free(dtmf_tx_state_t *s) +SPAN_DECLARE(int) dtmf_tx_free(dtmf_tx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/echo.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/echo.c (original) +++ freeswitch/trunk/libs/spandsp/src/echo.c Mon Feb 2 15:36:29 2009 @@ -237,7 +237,7 @@ } /*- End of function --------------------------------------------------------*/ -echo_can_state_t *echo_can_create(int len, int adaption_mode) +SPAN_DECLARE(echo_can_state_t *) echo_can_create(int len, int adaption_mode) { echo_can_state_t *ec; int i; @@ -282,7 +282,7 @@ } /*- End of function --------------------------------------------------------*/ -void echo_can_free(echo_can_state_t *ec) +SPAN_DECLARE(void) echo_can_free(echo_can_state_t *ec) { int i; @@ -294,13 +294,13 @@ } /*- End of function --------------------------------------------------------*/ -void echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode) +SPAN_DECLARE(void) echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode) { ec->adaption_mode = adaption_mode; } /*- End of function --------------------------------------------------------*/ -void echo_can_flush(echo_can_state_t *ec) +SPAN_DECLARE(void) echo_can_flush(echo_can_state_t *ec) { int i; @@ -343,7 +343,7 @@ int sample_no = 0; -void echo_can_snapshot(echo_can_state_t *ec) +SPAN_DECLARE(void) echo_can_snapshot(echo_can_state_t *ec) { memcpy(ec->snapshot, ec->fir_taps16[0], ec->taps*sizeof(int16_t)); } @@ -388,7 +388,7 @@ } /*- End of function --------------------------------------------------------*/ -int16_t echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx) +SPAN_DECLARE(int16_t) echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx) { int32_t echo_value; int clean_rx; @@ -603,7 +603,7 @@ } /*- End of function --------------------------------------------------------*/ -int16_t echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx) +SPAN_DECLARE(int16_t) echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx) { if (ec->adaption_mode & ECHO_CAN_USE_TX_HPF) tx = echo_can_hpf(ec->tx_hpf, tx); Modified: freeswitch/trunk/libs/spandsp/src/fax.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/fax.c (original) +++ freeswitch/trunk/libs/spandsp/src/fax.c Mon Feb 2 15:36:29 2009 @@ -255,7 +255,7 @@ } /*- End of function --------------------------------------------------------*/ -int fax_rx(fax_state_t *s, int16_t *amp, int len) +SPAN_DECLARE(int) fax_rx(fax_state_t *s, int16_t *amp, int len) { int i; @@ -293,7 +293,7 @@ } /*- End of function --------------------------------------------------------*/ -int fax_tx(fax_state_t *s, int16_t *amp, int max_len) +SPAN_DECLARE(int) fax_tx(fax_state_t *s, int16_t *amp, int max_len) { int len; #if defined(LOG_FAX_AUDIO) @@ -514,31 +514,31 @@ } /*- End of function --------------------------------------------------------*/ -void fax_set_transmit_on_idle(fax_state_t *s, int transmit_on_idle) +SPAN_DECLARE(void) fax_set_transmit_on_idle(fax_state_t *s, int transmit_on_idle) { s->modems.transmit_on_idle = transmit_on_idle; } /*- End of function --------------------------------------------------------*/ -void fax_set_tep_mode(fax_state_t *s, int use_tep) +SPAN_DECLARE(void) fax_set_tep_mode(fax_state_t *s, int use_tep) { s->modems.use_tep = use_tep; } /*- End of function --------------------------------------------------------*/ -t30_state_t *fax_get_t30_state(fax_state_t *s) +SPAN_DECLARE(t30_state_t *) fax_get_t30_state(fax_state_t *s) { return &s->t30; } /*- End of function --------------------------------------------------------*/ -logging_state_t *fax_get_logging_state(fax_state_t *s) +SPAN_DECLARE(logging_state_t *) fax_get_logging_state(fax_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -fax_state_t *fax_init(fax_state_t *s, int calling_party) +SPAN_DECLARE(fax_state_t *) fax_init(fax_state_t *s, int calling_party) { if (s == NULL) { @@ -594,14 +594,14 @@ } /*- End of function --------------------------------------------------------*/ -int fax_release(fax_state_t *s) +SPAN_DECLARE(int) fax_release(fax_state_t *s) { t30_release(&s->t30); return 0; } /*- End of function --------------------------------------------------------*/ -int fax_free(fax_state_t *s) +SPAN_DECLARE(int) fax_free(fax_state_t *s) { t30_release(&s->t30); free(s); Modified: freeswitch/trunk/libs/spandsp/src/fsk.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/fsk.c (original) +++ freeswitch/trunk/libs/spandsp/src/fsk.c Mon Feb 2 15:36:29 2009 @@ -120,7 +120,7 @@ } }; -fsk_tx_state_t *fsk_tx_init(fsk_tx_state_t *s, +SPAN_DECLARE(fsk_tx_state_t *) fsk_tx_init(fsk_tx_state_t *s, const fsk_spec_t *spec, get_bit_func_t get_bit, void *user_data) @@ -149,7 +149,7 @@ } /*- End of function --------------------------------------------------------*/ -int fsk_tx(fsk_tx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) fsk_tx(fsk_tx_state_t *s, int16_t amp[], int len) { int sample; int bit; @@ -182,27 +182,27 @@ } /*- End of function --------------------------------------------------------*/ -void fsk_tx_power(fsk_tx_state_t *s, float power) +SPAN_DECLARE(void) fsk_tx_power(fsk_tx_state_t *s, float power) { s->scaling = dds_scaling_dbm0(power); } /*- End of function --------------------------------------------------------*/ -void fsk_tx_set_get_bit(fsk_tx_state_t *s, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(void) fsk_tx_set_get_bit(fsk_tx_state_t *s, get_bit_func_t get_bit, void *user_data) { s->get_bit = get_bit; s->get_bit_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void fsk_tx_set_modem_status_handler(fsk_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) fsk_tx_set_modem_status_handler(fsk_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void fsk_rx_signal_cutoff(fsk_rx_state_t *s, float cutoff) +SPAN_DECLARE(void) fsk_rx_signal_cutoff(fsk_rx_state_t *s, float cutoff) { /* The 6.04 allows for the gain of the DC blocker */ s->carrier_on_power = (int32_t) (power_meter_level_dbm0(cutoff + 2.5f - 6.04f)); @@ -210,27 +210,27 @@ } /*- End of function --------------------------------------------------------*/ -float fsk_rx_signal_power(fsk_rx_state_t *s) +SPAN_DECLARE(float) fsk_rx_signal_power(fsk_rx_state_t *s) { return power_meter_current_dbm0(&s->power); } /*- End of function --------------------------------------------------------*/ -void fsk_rx_set_put_bit(fsk_rx_state_t *s, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(void) fsk_rx_set_put_bit(fsk_rx_state_t *s, put_bit_func_t put_bit, void *user_data) { s->put_bit = put_bit; s->put_bit_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void fsk_rx_set_modem_status_handler(fsk_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) fsk_rx_set_modem_status_handler(fsk_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -fsk_rx_state_t *fsk_rx_init(fsk_rx_state_t *s, +SPAN_DECLARE(fsk_rx_state_t *) fsk_rx_init(fsk_rx_state_t *s, const fsk_spec_t *spec, int sync_mode, put_bit_func_t put_bit, @@ -298,7 +298,7 @@ } /*- End of function --------------------------------------------------------*/ -int fsk_rx(fsk_rx_state_t *s, const int16_t *amp, int len) +SPAN_DECLARE(int) fsk_rx(fsk_rx_state_t *s, const int16_t *amp, int len) { int buf_ptr; int baudstate; Modified: freeswitch/trunk/libs/spandsp/src/g711.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g711.c (original) +++ freeswitch/trunk/libs/spandsp/src/g711.c Mon Feb 2 15:36:29 2009 @@ -85,19 +85,19 @@ 214, 215, 212, 213, 218, 219, 216, 217, 207, 207, 206, 206, 210, 211, 208, 209 }; -uint8_t alaw_to_ulaw(uint8_t alaw) +SPAN_DECLARE(uint8_t) alaw_to_ulaw(uint8_t alaw) { return alaw_to_ulaw_table[alaw]; } /*- End of function --------------------------------------------------------*/ -uint8_t ulaw_to_alaw(uint8_t ulaw) +SPAN_DECLARE(uint8_t) ulaw_to_alaw(uint8_t ulaw) { return ulaw_to_alaw_table[ulaw]; } /*- End of function --------------------------------------------------------*/ -int g711_decode(g711_state_t *s, +SPAN_DECLARE(int) g711_decode(g711_state_t *s, int16_t amp[], const uint8_t g711_data[], int g711_bytes) @@ -121,7 +121,7 @@ } /*- End of function --------------------------------------------------------*/ -int g711_encode(g711_state_t *s, +SPAN_DECLARE(int) g711_encode(g711_state_t *s, uint8_t g711_data[], const int16_t amp[], int len) @@ -145,7 +145,7 @@ } /*- End of function --------------------------------------------------------*/ -int g711_transcode(g711_state_t *s, +SPAN_DECLARE(int) g711_transcode(g711_state_t *s, uint8_t g711_out[], const uint8_t g711_in[], int g711_bytes) @@ -169,7 +169,7 @@ } /*- End of function --------------------------------------------------------*/ -g711_state_t *g711_init(g711_state_t *s, int mode) +SPAN_DECLARE(g711_state_t *) g711_init(g711_state_t *s, int mode) { if (s == NULL) { @@ -181,7 +181,7 @@ } /*- End of function --------------------------------------------------------*/ -int g711_release(g711_state_t *s) +SPAN_DECLARE(int) g711_release(g711_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/g722.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g722.c (original) +++ freeswitch/trunk/libs/spandsp/src/g722.c Mon Feb 2 15:36:29 2009 @@ -254,7 +254,7 @@ } /*- End of function --------------------------------------------------------*/ -g722_decode_state_t *g722_decode_init(g722_decode_state_t *s, int rate, int options) +SPAN_DECLARE(g722_decode_state_t *) g722_decode_init(g722_decode_state_t *s, int rate, int options) { if (s == NULL) { @@ -280,14 +280,14 @@ } /*- End of function --------------------------------------------------------*/ -int g722_decode_release(g722_decode_state_t *s) +SPAN_DECLARE(int) g722_decode_release(g722_decode_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int g722_decode(g722_decode_state_t *s, int16_t amp[], const uint8_t g722_data[], int len) +SPAN_DECLARE(int) g722_decode(g722_decode_state_t *s, int16_t amp[], const uint8_t g722_data[], int len) { int rlow; int ihigh; @@ -426,7 +426,7 @@ } /*- End of function --------------------------------------------------------*/ -g722_encode_state_t *g722_encode_init(g722_encode_state_t *s, int rate, int options) +SPAN_DECLARE(g722_encode_state_t *) g722_encode_init(g722_encode_state_t *s, int rate, int options) { if (s == NULL) { @@ -452,14 +452,14 @@ } /*- End of function --------------------------------------------------------*/ -int g722_encode_release(g722_encode_state_t *s) +SPAN_DECLARE(int) g722_encode_release(g722_encode_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int g722_encode(g722_encode_state_t *s, uint8_t g722_data[], const int16_t amp[], int len) +SPAN_DECLARE(int) g722_encode(g722_encode_state_t *s, uint8_t g722_data[], const int16_t amp[], int len) { int16_t dlow; int16_t dhigh; Modified: freeswitch/trunk/libs/spandsp/src/g726.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g726.c (original) +++ freeswitch/trunk/libs/spandsp/src/g726.c Mon Feb 2 15:36:29 2009 @@ -997,7 +997,7 @@ } /*- End of function --------------------------------------------------------*/ -g726_state_t *g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing) +SPAN_DECLARE(g726_state_t *) g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing) { int i; @@ -1057,14 +1057,14 @@ } /*- End of function --------------------------------------------------------*/ -int g726_release(g726_state_t *s) +SPAN_DECLARE(int) g726_release(g726_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int g726_decode(g726_state_t *s, +SPAN_DECLARE(int) g726_decode(g726_state_t *s, int16_t amp[], const uint8_t g726_data[], int g726_bytes) @@ -1120,7 +1120,7 @@ } /*- End of function --------------------------------------------------------*/ -int g726_encode(g726_state_t *s, +SPAN_DECLARE(int) g726_encode(g726_state_t *s, uint8_t g726_data[], const int16_t amp[], int len) Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c Mon Feb 2 15:36:29 2009 @@ -101,7 +101,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_unpack_none(gsm0610_frame_t *s, const uint8_t c[]) +SPAN_DECLARE(int) gsm0610_unpack_none(gsm0610_frame_t *s, const uint8_t c[]) { int i; int j; @@ -123,7 +123,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_unpack_wav49(gsm0610_frame_t *s, const uint8_t c[]) +SPAN_DECLARE(int) gsm0610_unpack_wav49(gsm0610_frame_t *s, const uint8_t c[]) { uint16_t sr; int i; @@ -265,7 +265,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_unpack_voip(gsm0610_frame_t *s, const uint8_t c[33]) +SPAN_DECLARE(int) gsm0610_unpack_voip(gsm0610_frame_t *s, const uint8_t c[33]) { int i; @@ -310,7 +310,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_decode(gsm0610_state_t *s, int16_t amp[], const uint8_t code[], int len) +SPAN_DECLARE(int) gsm0610_decode(gsm0610_state_t *s, int16_t amp[], const uint8_t code[], int len) { gsm0610_frame_t frame[2]; int bytes; Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c Mon Feb 2 15:36:29 2009 @@ -105,7 +105,7 @@ } /*- End of function --------------------------------------------------------*/ -gsm0610_state_t *gsm0610_init(gsm0610_state_t *s, int packing) +SPAN_DECLARE(gsm0610_state_t *) gsm0610_init(gsm0610_state_t *s, int packing) { if (s == NULL) { @@ -121,14 +121,14 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_set_packing(gsm0610_state_t *s, int packing) +SPAN_DECLARE(int) gsm0610_set_packing(gsm0610_state_t *s, int packing) { s->packing = packing; return 0; } /*- End of function --------------------------------------------------------*/ -int gsm0610_release(gsm0610_state_t *s) +SPAN_DECLARE(int) gsm0610_release(gsm0610_state_t *s) { if (s) free(s); @@ -137,7 +137,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_pack_none(uint8_t c[], const gsm0610_frame_t *s) +SPAN_DECLARE(int) gsm0610_pack_none(uint8_t c[], const gsm0610_frame_t *s) { int i; int j; @@ -160,7 +160,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_pack_wav49(uint8_t c[], const gsm0610_frame_t *s) +SPAN_DECLARE(int) gsm0610_pack_wav49(uint8_t c[], const gsm0610_frame_t *s) { uint16_t sr; int i; @@ -255,7 +255,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_pack_voip(uint8_t c[33], const gsm0610_frame_t *s) +SPAN_DECLARE(int) gsm0610_pack_voip(uint8_t c[33], const gsm0610_frame_t *s) { int i; @@ -302,7 +302,7 @@ } /*- End of function --------------------------------------------------------*/ -int gsm0610_encode(gsm0610_state_t *s, uint8_t code[], const int16_t amp[], int len) +SPAN_DECLARE(int) gsm0610_encode(gsm0610_state_t *s, uint8_t code[], const int16_t amp[], int len) { gsm0610_frame_t frame[2]; int bytes; Modified: freeswitch/trunk/libs/spandsp/src/hdlc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/hdlc.c (original) +++ freeswitch/trunk/libs/spandsp/src/hdlc.c Mon Feb 2 15:36:29 2009 @@ -243,7 +243,7 @@ } /*- End of function --------------------------------------------------------*/ -void hdlc_rx_put_bit(hdlc_rx_state_t *s, int new_bit) +SPAN_DECLARE(void) hdlc_rx_put_bit(hdlc_rx_state_t *s, int new_bit) { if (new_bit < 0) { @@ -255,7 +255,7 @@ } /*- End of function --------------------------------------------------------*/ -void hdlc_rx_put_byte(hdlc_rx_state_t *s, int new_byte) +SPAN_DECLARE(void) hdlc_rx_put_byte(hdlc_rx_state_t *s, int new_byte) { int i; @@ -273,7 +273,7 @@ } /*- End of function --------------------------------------------------------*/ -void hdlc_rx_put(hdlc_rx_state_t *s, const uint8_t buf[], int len) +SPAN_DECLARE(void) hdlc_rx_put(hdlc_rx_state_t *s, const uint8_t buf[], int len) { int i; @@ -282,20 +282,20 @@ } /*- End of function --------------------------------------------------------*/ -void hdlc_rx_set_max_frame_len(hdlc_rx_state_t *s, size_t max_len) +SPAN_DECLARE(void) hdlc_rx_set_max_frame_len(hdlc_rx_state_t *s, size_t max_len) { max_len += s->crc_bytes; s->max_frame_len = (max_len <= sizeof(s->buffer)) ? max_len : sizeof(s->buffer); } /*- End of function --------------------------------------------------------*/ -void hdlc_rx_set_octet_counting_report_interval(hdlc_rx_state_t *s, int interval) +SPAN_DECLARE(void) hdlc_rx_set_octet_counting_report_interval(hdlc_rx_state_t *s, int interval) { s->octet_count_report_interval = interval; } /*- End of function --------------------------------------------------------*/ -hdlc_rx_state_t *hdlc_rx_init(hdlc_rx_state_t *s, +SPAN_DECLARE(hdlc_rx_state_t *) hdlc_rx_init(hdlc_rx_state_t *s, int crc32, int report_bad_frames, int framing_ok_threshold, @@ -318,7 +318,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_rx_get_stats(hdlc_rx_state_t *s, +SPAN_DECLARE(int) hdlc_rx_get_stats(hdlc_rx_state_t *s, hdlc_rx_stats_t *t) { t->bytes = s->rx_bytes; @@ -330,7 +330,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_frame(hdlc_tx_state_t *s, const uint8_t *frame, size_t len) +SPAN_DECLARE(int) hdlc_tx_frame(hdlc_tx_state_t *s, const uint8_t *frame, size_t len) { if (len <= 0) { @@ -365,7 +365,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_flags(hdlc_tx_state_t *s, int len) +SPAN_DECLARE(int) hdlc_tx_flags(hdlc_tx_state_t *s, int len) { /* Some HDLC applications require the ability to force a period of HDLC flag words. */ @@ -381,7 +381,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_abort(hdlc_tx_state_t *s) +SPAN_DECLARE(int) hdlc_tx_abort(hdlc_tx_state_t *s) { /* TODO: This is a really crude way of just fudging an abort out for simple test purposes. */ @@ -391,7 +391,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_corrupt_frame(hdlc_tx_state_t *s) +SPAN_DECLARE(int) hdlc_tx_corrupt_frame(hdlc_tx_state_t *s) { if (s->len <= 0) return -1; @@ -404,7 +404,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_get_byte(hdlc_tx_state_t *s) +SPAN_DECLARE(int) hdlc_tx_get_byte(hdlc_tx_state_t *s) { int i; int byte_in_progress; @@ -509,7 +509,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_get_bit(hdlc_tx_state_t *s) +SPAN_DECLARE(int) hdlc_tx_get_bit(hdlc_tx_state_t *s) { int txbit; @@ -525,7 +525,7 @@ } /*- End of function --------------------------------------------------------*/ -int hdlc_tx_get(hdlc_tx_state_t *s, uint8_t buf[], size_t max_len) +SPAN_DECLARE(int) hdlc_tx_get(hdlc_tx_state_t *s, uint8_t buf[], size_t max_len) { size_t i; int x; @@ -540,13 +540,13 @@ } /*- End of function --------------------------------------------------------*/ -void hdlc_tx_set_max_frame_len(hdlc_tx_state_t *s, size_t max_len) +SPAN_DECLARE(void) hdlc_tx_set_max_frame_len(hdlc_tx_state_t *s, size_t max_len) { s->max_frame_len = (max_len <= HDLC_MAXFRAME_LEN) ? max_len : HDLC_MAXFRAME_LEN; } /*- End of function --------------------------------------------------------*/ -hdlc_tx_state_t *hdlc_tx_init(hdlc_tx_state_t *s, +SPAN_DECLARE(hdlc_tx_state_t *) hdlc_tx_init(hdlc_tx_state_t *s, int crc32, int inter_frame_flags, int progressive, Modified: freeswitch/trunk/libs/spandsp/src/ima_adpcm.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/ima_adpcm.c (original) +++ freeswitch/trunk/libs/spandsp/src/ima_adpcm.c Mon Feb 2 15:36:29 2009 @@ -276,7 +276,7 @@ } /*- End of function --------------------------------------------------------*/ -ima_adpcm_state_t *ima_adpcm_init(ima_adpcm_state_t *s, int variant, int chunk_size) +SPAN_DECLARE(ima_adpcm_state_t *) ima_adpcm_init(ima_adpcm_state_t *s, int variant, int chunk_size) { if (s == NULL) { @@ -291,14 +291,14 @@ } /*- End of function --------------------------------------------------------*/ -int ima_adpcm_release(ima_adpcm_state_t *s) +SPAN_DECLARE(int) ima_adpcm_release(ima_adpcm_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int ima_adpcm_decode(ima_adpcm_state_t *s, +SPAN_DECLARE(int) ima_adpcm_decode(ima_adpcm_state_t *s, int16_t amp[], const uint8_t ima_data[], int ima_bytes) @@ -414,7 +414,7 @@ } /*- End of function --------------------------------------------------------*/ -int ima_adpcm_encode(ima_adpcm_state_t *s, +SPAN_DECLARE(int) ima_adpcm_encode(ima_adpcm_state_t *s, uint8_t ima_data[], const int16_t amp[], int len) Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj Mon Feb 2 15:36:29 2009 @@ -18,7 +18,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/spandsp/src/logging.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/logging.c (original) +++ freeswitch/trunk/libs/spandsp/src/logging.c Mon Feb 2 15:36:29 2009 @@ -75,7 +75,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_test(logging_state_t *s, int level) +SPAN_DECLARE(int) span_log_test(logging_state_t *s, int level) { if (s && (s->level & SPAN_LOG_SEVERITY_MASK) >= (level & SPAN_LOG_SEVERITY_MASK)) return TRUE; @@ -157,7 +157,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_buf(logging_state_t *s, int level, const char *tag, const uint8_t *buf, int len) +SPAN_DECLARE(int) span_log_buf(logging_state_t *s, int level, const char *tag, const uint8_t *buf, int len) { char msg[1024]; int i; @@ -177,7 +177,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_init(logging_state_t *s, int level, const char *tag) +SPAN_DECLARE(int) span_log_init(logging_state_t *s, int level, const char *tag) { s->span_error = __span_error; s->span_message = __span_message; @@ -191,7 +191,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_set_level(logging_state_t *s, int level) +SPAN_DECLARE(int) span_log_set_level(logging_state_t *s, int level) { s->level = level; @@ -199,7 +199,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_set_tag(logging_state_t *s, const char *tag) +SPAN_DECLARE(int) span_log_set_tag(logging_state_t *s, const char *tag) { s->tag = tag; @@ -207,7 +207,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_set_protocol(logging_state_t *s, const char *protocol) +SPAN_DECLARE(int) span_log_set_protocol(logging_state_t *s, const char *protocol) { s->protocol = protocol; @@ -215,7 +215,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_set_sample_rate(logging_state_t *s, int samples_per_second) +SPAN_DECLARE(int) span_log_set_sample_rate(logging_state_t *s, int samples_per_second) { s->samples_per_second = samples_per_second; @@ -223,7 +223,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log_bump_samples(logging_state_t *s, int samples) +SPAN_DECLARE(int) span_log_bump_samples(logging_state_t *s, int samples) { s->elapsed_samples += samples; @@ -231,25 +231,25 @@ } /*- End of function --------------------------------------------------------*/ -void span_log_set_message_handler(logging_state_t *s, message_handler_func_t func) +SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func) { s->span_message = func; } /*- End of function --------------------------------------------------------*/ -void span_log_set_error_handler(logging_state_t *s, error_handler_func_t func) +SPAN_DECLARE(void) span_log_set_error_handler(logging_state_t *s, error_handler_func_t func) { s->span_error = func; } /*- End of function --------------------------------------------------------*/ -void span_set_message_handler(message_handler_func_t func) +SPAN_DECLARE(void) span_set_message_handler(message_handler_func_t func) { __span_message = func; } /*- End of function --------------------------------------------------------*/ -void span_set_error_handler(error_handler_func_t func) +SPAN_DECLARE(void) span_set_error_handler(error_handler_func_t func) { __span_error = func; } Modified: freeswitch/trunk/libs/spandsp/src/lpc10_decode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/lpc10_decode.c (original) +++ freeswitch/trunk/libs/spandsp/src/lpc10_decode.c Mon Feb 2 15:36:29 2009 @@ -999,7 +999,7 @@ } /*- End of function --------------------------------------------------------*/ -lpc10_decode_state_t *lpc10_decode_init(lpc10_decode_state_t *s, int error_correction) +SPAN_DECLARE(lpc10_decode_state_t *) lpc10_decode_init(lpc10_decode_state_t *s, int error_correction) { static const int16_t rand_init[] = { @@ -1074,14 +1074,14 @@ } /*- End of function --------------------------------------------------------*/ -int lpc10_decode_release(lpc10_decode_state_t *s) +SPAN_DECLARE(int) lpc10_decode_release(lpc10_decode_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int lpc10_decode(lpc10_decode_state_t *s, int16_t amp[], const uint8_t code[], int len) +SPAN_DECLARE(int) lpc10_decode(lpc10_decode_state_t *s, int16_t amp[], const uint8_t code[], int len) { int voice[2]; int32_t pitch; Modified: freeswitch/trunk/libs/spandsp/src/lpc10_encode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/lpc10_encode.c (original) +++ freeswitch/trunk/libs/spandsp/src/lpc10_encode.c Mon Feb 2 15:36:29 2009 @@ -266,7 +266,7 @@ } /*- End of function --------------------------------------------------------*/ -lpc10_encode_state_t *lpc10_encode_init(lpc10_encode_state_t *s, int error_correction) +SPAN_DECLARE(lpc10_encode_state_t *) lpc10_encode_init(lpc10_encode_state_t *s, int error_correction) { int i; int j; @@ -363,14 +363,14 @@ } /*- End of function --------------------------------------------------------*/ -int lpc10_encode_release(lpc10_encode_state_t *s) +SPAN_DECLARE(int) lpc10_encode_release(lpc10_encode_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int lpc10_encode(lpc10_encode_state_t *s, uint8_t code[], const int16_t amp[], int len) +SPAN_DECLARE(int) lpc10_encode(lpc10_encode_state_t *s, uint8_t code[], const int16_t amp[], int len) { int32_t voice[2]; int32_t pitch; Modified: freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c (original) +++ freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c Mon Feb 2 15:36:29 2009 @@ -61,7 +61,7 @@ #define HDLC_FRAMING_OK_THRESHOLD 5 -const char *modem_connect_tone_to_str(int tone) +SPAN_DECLARE(const char *) modem_connect_tone_to_str(int tone) { switch (tone) { @@ -86,7 +86,7 @@ } /*- End of function --------------------------------------------------------*/ -int modem_connect_tones_tx(modem_connect_tones_tx_state_t *s, +SPAN_DECLARE(int) modem_connect_tones_tx(modem_connect_tones_tx_state_t *s, int16_t amp[], int len) { @@ -196,7 +196,7 @@ } /*- End of function --------------------------------------------------------*/ -modem_connect_tones_tx_state_t *modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, +SPAN_DECLARE(modem_connect_tones_tx_state_t *) modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, int tone_type) { int alloced; @@ -252,7 +252,7 @@ } /*- End of function --------------------------------------------------------*/ -int modem_connect_tones_tx_free(modem_connect_tones_tx_state_t *s) +SPAN_DECLARE(int) modem_connect_tones_tx_free(modem_connect_tones_tx_state_t *s) { free(s); return 0; @@ -347,7 +347,7 @@ } /*- End of function --------------------------------------------------------*/ -int modem_connect_tones_rx(modem_connect_tones_rx_state_t *s, const int16_t amp[], int len) +SPAN_DECLARE(int) modem_connect_tones_rx(modem_connect_tones_rx_state_t *s, const int16_t amp[], int len) { int i; int16_t notched; @@ -489,7 +489,7 @@ } /*- End of function --------------------------------------------------------*/ -int modem_connect_tones_rx_get(modem_connect_tones_rx_state_t *s) +SPAN_DECLARE(int) modem_connect_tones_rx_get(modem_connect_tones_rx_state_t *s) { int x; @@ -499,7 +499,7 @@ } /*- End of function --------------------------------------------------------*/ -modem_connect_tones_rx_state_t *modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, +SPAN_DECLARE(modem_connect_tones_rx_state_t *) modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, int tone_type, tone_report_func_t tone_callback, void *user_data) @@ -543,7 +543,7 @@ } /*- End of function --------------------------------------------------------*/ -int modem_connect_tones_rx_free(modem_connect_tones_rx_state_t *s) +SPAN_DECLARE(int) modem_connect_tones_rx_free(modem_connect_tones_rx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/modem_echo.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/modem_echo.c (original) +++ freeswitch/trunk/libs/spandsp/src/modem_echo.c Mon Feb 2 15:36:29 2009 @@ -53,7 +53,7 @@ #include "spandsp/dc_restore.h" #include "spandsp/modem_echo.h" -modem_echo_can_state_t *modem_echo_can_create(int len) +SPAN_DECLARE(modem_echo_can_state_t *) modem_echo_can_create(int len) { modem_echo_can_state_t *ec; @@ -86,7 +86,7 @@ } /*- End of function --------------------------------------------------------*/ -void modem_echo_can_free(modem_echo_can_state_t *ec) +SPAN_DECLARE(void) modem_echo_can_free(modem_echo_can_state_t *ec) { fir16_free(&ec->fir_state); free(ec->fir_taps32); @@ -95,7 +95,7 @@ } /*- End of function --------------------------------------------------------*/ -void modem_echo_can_flush(modem_echo_can_state_t *ec) +SPAN_DECLARE(void) modem_echo_can_flush(modem_echo_can_state_t *ec) { ec->tx_power = 0; @@ -107,13 +107,13 @@ } /*- End of function --------------------------------------------------------*/ -void modem_echo_can_adaption_mode(modem_echo_can_state_t *ec, int adapt) +SPAN_DECLARE(void) modem_echo_can_adaption_mode(modem_echo_can_state_t *ec, int adapt) { ec->adapt = adapt; } /*- End of function --------------------------------------------------------*/ -int16_t modem_echo_can_update(modem_echo_can_state_t *ec, int16_t tx, int16_t rx) +SPAN_DECLARE(int16_t) modem_echo_can_update(modem_echo_can_state_t *ec, int16_t tx, int16_t rx) { int32_t echo_value; int clean_rx; Modified: freeswitch/trunk/libs/spandsp/src/msvc/config.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/config.h (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/config.h Mon Feb 2 15:36:29 2009 @@ -32,6 +32,8 @@ #define HAVE_MATH_H #define HAVE_TGMATH_H +#define SPANDSP_USE_EXPORT_CAPABILITY 1 + #ifdef __cplusplus extern "C" { #endif Modified: freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h Mon Feb 2 15:36:29 2009 @@ -33,7 +33,6 @@ #undef SPANDSP_USE_FIXED_POINT #undef SPANDSP_MISALIGNED_ACCESS_FAILS -#define SPANDSP_USE_EXPORT_CAPABILITY 1 #include #include Modified: freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head Mon Feb 2 15:36:29 2009 @@ -3,45 +3,30 @@ ProjectType="Visual C++" Version="9.00" Name="libspandsp" - ProjectGUID="{CF70F278-3364-4395-A2E1-23501C9B8AD2}" + ProjectGUID="{1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}" RootNamespace="libspandsp" Keyword="Win32Proj" TargetFrameworkVersion="131072" > - - + - - - - - + + + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + > \ No newline at end of file Modified: freeswitch/trunk/libs/spandsp/src/noise.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/noise.c (original) +++ freeswitch/trunk/libs/spandsp/src/noise.c Mon Feb 2 15:36:29 2009 @@ -50,7 +50,7 @@ #include "spandsp/private/noise.h" -int16_t noise(noise_state_t *s) +SPAN_DECLARE(int16_t) noise(noise_state_t *s) { int32_t val; int i; @@ -79,13 +79,13 @@ } /*- End of function --------------------------------------------------------*/ -noise_state_t *noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality) +SPAN_DECLARE(noise_state_t *) noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality) { return noise_init_dbov(s, seed, (level - DBM0_MAX_POWER), class_of_noise, quality); } /*- End of function --------------------------------------------------------*/ -noise_state_t *noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality) +SPAN_DECLARE(noise_state_t *) noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality) { float rms; @@ -114,7 +114,7 @@ } /*- End of function --------------------------------------------------------*/ -int noise_free(noise_state_t *s) +SPAN_DECLARE(int) noise_free(noise_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/oki_adpcm.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/oki_adpcm.c (original) +++ freeswitch/trunk/libs/spandsp/src/oki_adpcm.c Mon Feb 2 15:36:29 2009 @@ -242,7 +242,7 @@ } /*- End of function --------------------------------------------------------*/ -oki_adpcm_state_t *oki_adpcm_init(oki_adpcm_state_t *s, int bit_rate) +SPAN_DECLARE(oki_adpcm_state_t *) oki_adpcm_init(oki_adpcm_state_t *s, int bit_rate) { if (bit_rate != 32000 && bit_rate != 24000) return NULL; @@ -258,14 +258,14 @@ } /*- End of function --------------------------------------------------------*/ -int oki_adpcm_release(oki_adpcm_state_t *s) +SPAN_DECLARE(int) oki_adpcm_release(oki_adpcm_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int oki_adpcm_decode(oki_adpcm_state_t *s, +SPAN_DECLARE(int) oki_adpcm_decode(oki_adpcm_state_t *s, int16_t amp[], const uint8_t oki_data[], int oki_bytes) @@ -318,7 +318,7 @@ } /*- End of function --------------------------------------------------------*/ -int oki_adpcm_encode(oki_adpcm_state_t *s, +SPAN_DECLARE(int) oki_adpcm_encode(oki_adpcm_state_t *s, uint8_t oki_data[], const int16_t amp[], int len) Modified: freeswitch/trunk/libs/spandsp/src/playout.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/playout.c (original) +++ freeswitch/trunk/libs/spandsp/src/playout.c Mon Feb 2 15:36:29 2009 @@ -73,19 +73,19 @@ } /*- End of function --------------------------------------------------------*/ -timestamp_t playout_next_due(playout_state_t *s) +SPAN_DECLARE(timestamp_t) playout_next_due(playout_state_t *s) { return s->last_speech_sender_stamp + s->last_speech_sender_len; } /*- End of function --------------------------------------------------------*/ -timestamp_t playout_current_length(playout_state_t *s) +SPAN_DECLARE(timestamp_t) playout_current_length(playout_state_t *s) { return s->target_buffer_length; } /*- End of function --------------------------------------------------------*/ -playout_frame_t *playout_get_unconditional(playout_state_t *s) +SPAN_DECLARE(playout_frame_t *) playout_get_unconditional(playout_state_t *s) { playout_frame_t *frame; @@ -103,7 +103,7 @@ } /*- End of function --------------------------------------------------------*/ -int playout_get(playout_state_t *s, playout_frame_t *frameout, timestamp_t now) +SPAN_DECLARE(int) playout_get(playout_state_t *s, playout_frame_t *frameout, timestamp_t now) { playout_frame_t *frame; @@ -222,7 +222,7 @@ } /*- End of function --------------------------------------------------------*/ -int playout_put(playout_state_t *s, void *data, int type, timestamp_t sender_len, timestamp_t sender_stamp, timestamp_t receiver_stamp) +SPAN_DECLARE(int) playout_put(playout_state_t *s, void *data, int type, timestamp_t sender_len, timestamp_t sender_stamp, timestamp_t receiver_stamp) { playout_frame_t *frame; playout_frame_t *p; @@ -305,7 +305,7 @@ } /*- End of function --------------------------------------------------------*/ -void playout_restart(playout_state_t *s, int min_length, int max_length) +SPAN_DECLARE(void) playout_restart(playout_state_t *s, int min_length, int max_length) { playout_frame_t *frame; playout_frame_t *next; @@ -330,7 +330,7 @@ } /*- End of function --------------------------------------------------------*/ -playout_state_t *playout_new(int min_length, int max_length) +SPAN_DECLARE(playout_state_t *) playout_new(int min_length, int max_length) { playout_state_t *s; @@ -342,7 +342,7 @@ } /*- End of function --------------------------------------------------------*/ -void playout_free(playout_state_t *s) +SPAN_DECLARE(void) playout_free(playout_state_t *s) { playout_frame_t *frame; playout_frame_t *next; Modified: freeswitch/trunk/libs/spandsp/src/plc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/plc.c (original) +++ freeswitch/trunk/libs/spandsp/src/plc.c Mon Feb 2 15:36:29 2009 @@ -115,7 +115,7 @@ } /*- End of function --------------------------------------------------------*/ -int plc_rx(plc_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) plc_rx(plc_state_t *s, int16_t amp[], int len) { int i; int pitch_overlap; @@ -159,7 +159,7 @@ } /*- End of function --------------------------------------------------------*/ -int plc_fillin(plc_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) plc_fillin(plc_state_t *s, int16_t amp[], int len) { int i; int pitch_overlap; @@ -235,7 +235,7 @@ } /*- End of function --------------------------------------------------------*/ -plc_state_t *plc_init(plc_state_t *s) +SPAN_DECLARE(plc_state_t *) plc_init(plc_state_t *s) { if (s == NULL) { @@ -247,7 +247,7 @@ } /*- End of function --------------------------------------------------------*/ -int plc_free(plc_state_t *s) +SPAN_DECLARE(int) plc_free(plc_state_t *s) { if (s) free(s); Modified: freeswitch/trunk/libs/spandsp/src/power_meter.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/power_meter.c (original) +++ freeswitch/trunk/libs/spandsp/src/power_meter.c Mon Feb 2 15:36:29 2009 @@ -49,7 +49,7 @@ #include "spandsp/telephony.h" #include "spandsp/power_meter.h" -power_meter_t *power_meter_init(power_meter_t *s, int shift) +SPAN_DECLARE(power_meter_t *) power_meter_init(power_meter_t *s, int shift) { if (s == NULL) { @@ -62,21 +62,21 @@ } /*- End of function --------------------------------------------------------*/ -power_meter_t *power_meter_damping(power_meter_t *s, int shift) +SPAN_DECLARE(power_meter_t *) power_meter_damping(power_meter_t *s, int shift) { s->shift = shift; return s; } /*- End of function --------------------------------------------------------*/ -int32_t power_meter_update(power_meter_t *s, int16_t amp) +SPAN_DECLARE(int32_t) power_meter_update(power_meter_t *s, int16_t amp) { s->reading += ((amp*amp - s->reading) >> s->shift); return s->reading; } /*- End of function --------------------------------------------------------*/ -int32_t power_meter_level_dbm0(float level) +SPAN_DECLARE(int32_t) power_meter_level_dbm0(float level) { float l; @@ -88,7 +88,7 @@ } /*- End of function --------------------------------------------------------*/ -int32_t power_meter_level_dbov(float level) +SPAN_DECLARE(int32_t) power_meter_level_dbov(float level) { float l; @@ -99,13 +99,13 @@ } /*- End of function --------------------------------------------------------*/ -int32_t power_meter_current(power_meter_t *s) +SPAN_DECLARE(int32_t) power_meter_current(power_meter_t *s) { return s->reading; } /*- End of function --------------------------------------------------------*/ -float power_meter_current_dbm0(power_meter_t *s) +SPAN_DECLARE(float) power_meter_current_dbm0(power_meter_t *s) { if (s->reading <= 0) return FLT_MIN; @@ -114,7 +114,7 @@ } /*- End of function --------------------------------------------------------*/ -float power_meter_current_dbov(power_meter_t *s) +SPAN_DECLARE(float) power_meter_current_dbov(power_meter_t *s) { if (s->reading <= 0) return FLT_MIN; Modified: freeswitch/trunk/libs/spandsp/src/queue.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/queue.c (original) +++ freeswitch/trunk/libs/spandsp/src/queue.c Mon Feb 2 15:36:29 2009 @@ -45,13 +45,13 @@ #include "spandsp/private/queue.h" -int queue_empty(queue_state_t *s) +SPAN_DECLARE(int) queue_empty(queue_state_t *s) { return (s->iptr == s->optr); } /*- End of function --------------------------------------------------------*/ -int queue_free_space(queue_state_t *s) +SPAN_DECLARE(int) queue_free_space(queue_state_t *s) { int len; @@ -62,7 +62,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_contents(queue_state_t *s) +SPAN_DECLARE(int) queue_contents(queue_state_t *s) { int len; @@ -73,13 +73,13 @@ } /*- End of function --------------------------------------------------------*/ -void queue_flush(queue_state_t *s) +SPAN_DECLARE(void) queue_flush(queue_state_t *s) { s->optr = s->iptr; } /*- End of function --------------------------------------------------------*/ -int queue_view(queue_state_t *s, uint8_t *buf, int len) +SPAN_DECLARE(int) queue_view(queue_state_t *s, uint8_t *buf, int len) { int real_len; int to_end; @@ -129,7 +129,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_read(queue_state_t *s, uint8_t *buf, int len) +SPAN_DECLARE(int) queue_read(queue_state_t *s, uint8_t *buf, int len) { int real_len; int to_end; @@ -187,7 +187,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_read_byte(queue_state_t *s) +SPAN_DECLARE(int) queue_read_byte(queue_state_t *s) { int real_len; int to_end; @@ -215,7 +215,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_write(queue_state_t *s, const uint8_t *buf, int len) +SPAN_DECLARE(int) queue_write(queue_state_t *s, const uint8_t *buf, int len) { int real_len; int to_end; @@ -268,7 +268,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_write_byte(queue_state_t *s, uint8_t byte) +SPAN_DECLARE(int) queue_write_byte(queue_state_t *s, uint8_t byte) { int real_len; int iptr; @@ -299,7 +299,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_state_test_msg(queue_state_t *s) +SPAN_DECLARE(int) queue_state_test_msg(queue_state_t *s) { uint16_t lenx; @@ -310,7 +310,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_read_msg(queue_state_t *s, uint8_t *buf, int len) +SPAN_DECLARE(int) queue_read_msg(queue_state_t *s, uint8_t *buf, int len) { uint16_t lenx; @@ -336,7 +336,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_write_msg(queue_state_t *s, const uint8_t *buf, int len) +SPAN_DECLARE(int) queue_write_msg(queue_state_t *s, const uint8_t *buf, int len) { int real_len; int to_end; @@ -395,7 +395,7 @@ } /*- End of function --------------------------------------------------------*/ -queue_state_t *queue_init(queue_state_t *s, int len, int flags) +SPAN_DECLARE(queue_state_t *) queue_init(queue_state_t *s, int len, int flags) { if (s == NULL) { @@ -410,7 +410,7 @@ } /*- End of function --------------------------------------------------------*/ -int queue_free(queue_state_t *s) +SPAN_DECLARE(int) queue_free(queue_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/schedule.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/schedule.c (original) +++ freeswitch/trunk/libs/spandsp/src/schedule.c Mon Feb 2 15:36:29 2009 @@ -41,7 +41,7 @@ #include "spandsp/private/logging.h" #include "spandsp/private/schedule.h" -int span_schedule_event(span_sched_state_t *s, int us, span_sched_callback_func_t function, void *user_data) +SPAN_DECLARE(int) span_schedule_event(span_sched_state_t *s, int us, span_sched_callback_func_t function, void *user_data) { int i; @@ -68,7 +68,7 @@ } /*- End of function --------------------------------------------------------*/ -uint64_t span_schedule_next(span_sched_state_t *s) +SPAN_DECLARE(uint64_t) span_schedule_next(span_sched_state_t *s) { int i; uint64_t earliest; @@ -85,13 +85,13 @@ } /*- End of function --------------------------------------------------------*/ -uint64_t span_schedule_time(span_sched_state_t *s) +SPAN_DECLARE(uint64_t) span_schedule_time(span_sched_state_t *s) { return s->ticker; } /*- End of function --------------------------------------------------------*/ -void span_schedule_update(span_sched_state_t *s, int us) +SPAN_DECLARE(void) span_schedule_update(span_sched_state_t *s, int us) { int i; span_sched_callback_func_t callback; @@ -114,7 +114,7 @@ } /*- End of function --------------------------------------------------------*/ -void span_schedule_del(span_sched_state_t *s, int i) +SPAN_DECLARE(void) span_schedule_del(span_sched_state_t *s, int i) { if (i >= s->max_to_date || @@ -130,7 +130,7 @@ } /*- End of function --------------------------------------------------------*/ -span_sched_state_t *span_schedule_init(span_sched_state_t *s) +SPAN_DECLARE(span_sched_state_t *) span_schedule_init(span_sched_state_t *s) { memset(s, 0, sizeof(*s)); span_log_init(&s->logging, SPAN_LOG_NONE, NULL); @@ -139,7 +139,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_schedule_release(span_sched_state_t *s) +SPAN_DECLARE(int) span_schedule_release(span_sched_state_t *s) { if (s->sched) { Modified: freeswitch/trunk/libs/spandsp/src/sig_tone.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/sig_tone.c (original) +++ freeswitch/trunk/libs/spandsp/src/sig_tone.c Mon Feb 2 15:36:29 2009 @@ -268,7 +268,7 @@ } }; -int sig_tone_tx(sig_tone_tx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) sig_tone_tx(sig_tone_tx_state_t *s, int16_t amp[], int len) { int i; int j; @@ -347,7 +347,7 @@ } /*- End of function --------------------------------------------------------*/ -void sig_tone_tx_set_mode(sig_tone_tx_state_t *s, int mode) +SPAN_DECLARE(void) sig_tone_tx_set_mode(sig_tone_tx_state_t *s, int mode) { if ((mode & 0x03) == 0x03 && !(s->current_tx_tone & SIG_TONE_1_PRESENT)) s->high_low_timer = s->desc->high_low_timeout; @@ -357,7 +357,7 @@ } /*- End of function --------------------------------------------------------*/ -sig_tone_tx_state_t *sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data) +SPAN_DECLARE(sig_tone_tx_state_t *) sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data) { int i; @@ -389,7 +389,7 @@ } /*- End of function --------------------------------------------------------*/ -int sig_tone_rx(sig_tone_rx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) sig_tone_rx(sig_tone_rx_state_t *s, int16_t amp[], int len) { #if defined(SPANDSP_USE_FIXED_POINT) int32_t x; @@ -648,7 +648,7 @@ } /*- End of function --------------------------------------------------------*/ -sig_tone_rx_state_t *sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data) +SPAN_DECLARE(sig_tone_rx_state_t *) sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data) { if (sig_update == NULL || tone_type < 1 || tone_type > 3) return NULL; Modified: freeswitch/trunk/libs/spandsp/src/silence_gen.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/silence_gen.c (original) +++ freeswitch/trunk/libs/spandsp/src/silence_gen.c Mon Feb 2 15:36:29 2009 @@ -51,7 +51,7 @@ #include "spandsp/async.h" #include "spandsp/silence_gen.h" -int silence_gen(silence_gen_state_t *s, int16_t *amp, int max_len) +SPAN_DECLARE(int) silence_gen(silence_gen_state_t *s, int16_t *amp, int max_len) { if (s->remaining_samples != INT_MAX) { @@ -70,20 +70,20 @@ } /*- End of function --------------------------------------------------------*/ -void silence_gen_always(silence_gen_state_t *s) +SPAN_DECLARE(void) silence_gen_always(silence_gen_state_t *s) { s->remaining_samples = INT_MAX; } /*- End of function --------------------------------------------------------*/ -void silence_gen_set(silence_gen_state_t *s, int silent_samples) +SPAN_DECLARE(void) silence_gen_set(silence_gen_state_t *s, int silent_samples) { s->remaining_samples = silent_samples; s->total_samples = 0; } /*- End of function --------------------------------------------------------*/ -void silence_gen_alter(silence_gen_state_t *s, int silent_samples) +SPAN_DECLARE(void) silence_gen_alter(silence_gen_state_t *s, int silent_samples) { /* Block negative silences */ if (silent_samples < 0) @@ -96,26 +96,26 @@ } /*- End of function --------------------------------------------------------*/ -int silence_gen_remainder(silence_gen_state_t *s) +SPAN_DECLARE(int) silence_gen_remainder(silence_gen_state_t *s) { return s->remaining_samples; } /*- End of function --------------------------------------------------------*/ -int silence_gen_generated(silence_gen_state_t *s) +SPAN_DECLARE(int) silence_gen_generated(silence_gen_state_t *s) { return s->total_samples; } /*- End of function --------------------------------------------------------*/ -void silence_gen_status_handler(silence_gen_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) silence_gen_status_handler(silence_gen_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -silence_gen_state_t *silence_gen_init(silence_gen_state_t *s, int silent_samples) +SPAN_DECLARE(silence_gen_state_t *) silence_gen_init(silence_gen_state_t *s, int silent_samples) { if (s == NULL) { @@ -137,7 +137,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_dummy_mod(void *user_data, int16_t amp[], int len) +SPAN_DECLARE(int) span_dummy_mod(void *user_data, int16_t amp[], int len) { return len; } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h Mon Feb 2 15:36:29 2009 @@ -392,7 +392,7 @@ \param user_data An opaque pointer for the callback routine. \return A pointer to the initialised context, or NULL if there was a problem. */ -SPAN_DECLARE(adsi_rx_state_t) *adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data); +SPAN_DECLARE(adsi_rx_state_t *) adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data); SPAN_DECLARE(int) adsi_rx_free(adsi_rx_state_t *s); @@ -409,7 +409,7 @@ \param standard The code for the ADSI standard to be used. \return A pointer to the initialised context, or NULL if there was a problem. */ -SPAN_DECLARE(adsi_tx_state_t) *adsi_tx_init(adsi_tx_state_t *s, int standard); +SPAN_DECLARE(adsi_tx_state_t *) adsi_tx_init(adsi_tx_state_t *s, int standard); SPAN_DECLARE(int) adsi_tx_free(adsi_tx_state_t *s); @@ -474,7 +474,7 @@ \param standard The code for the standard. \return A pointer to the name. */ -SPAN_DECLARE(const char) *adsi_standard_to_str(int standard); +SPAN_DECLARE(const char *) adsi_standard_to_str(int standard); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/async.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/async.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/async.h Mon Feb 2 15:36:29 2009 @@ -138,7 +138,7 @@ \brief Convert a signal status to a short text description. \param status The modem signal status. \return A pointer to the description. */ -SPAN_DECLARE(const char) *signal_status_to_str(int status); +SPAN_DECLARE(const char *) signal_status_to_str(int status); /*! Initialise an asynchronous data transmit context. \brief Initialise an asynchronous data transmit context. @@ -150,7 +150,7 @@ \param get_byte The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ -SPAN_DECLARE(async_tx_state_t) *async_tx_init(async_tx_state_t *s, +SPAN_DECLARE(async_tx_state_t *) async_tx_init(async_tx_state_t *s, int data_bits, int parity_bits, int stop_bits, @@ -162,7 +162,7 @@ \brief Get the next bit of a transmitted serial bit stream. \param user_data An opaque point which must point to a transmitter context. \return the next bit, or PUTBIT_END_OF_DATA to indicate the data stream has ended. */ -SPAN_DECLARE(int) async_tx_get_bit(void *user_data); +int async_tx_get_bit(void *user_data); /*! Initialise an asynchronous data receiver context. \brief Initialise an asynchronous data receiver context. @@ -174,7 +174,7 @@ \param put_byte The callback routine used to put the received data. \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ -SPAN_DECLARE(async_rx_state_t) *async_rx_init(async_rx_state_t *s, +SPAN_DECLARE(async_rx_state_t *) async_rx_init(async_rx_state_t *s, int data_bits, int parity_bits, int stop_bits, @@ -191,7 +191,7 @@ - SIG_STATUS_TRAINING_SUCCEEDED - SIG_STATUS_TRAINING_FAILED - SIG_STATUS_END_OF_DATA */ -SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit); +void async_rx_put_bit(void *user_data, int bit); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h Mon Feb 2 15:36:29 2009 @@ -173,7 +173,7 @@ \param modem_control_handler x. \param modem_control_user_data x. \return A pointer to the AT context, or NULL if there was a problem. */ -SPAN_DECLARE(at_state_t) *at_init(at_state_t *s, +SPAN_DECLARE(at_state_t *) at_init(at_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, at_modem_control_handler_t *modem_control_handler, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h Mon Feb 2 15:36:29 2009 @@ -78,9 +78,9 @@ { #endif -SPAN_DECLARE(awgn_state_t) *awgn_init_dbm0(awgn_state_t *s, int idum, float level); +SPAN_DECLARE(awgn_state_t *) awgn_init_dbm0(awgn_state_t *s, int idum, float level); -SPAN_DECLARE(awgn_state_t) *awgn_init_dbov(awgn_state_t *s, int idum, float level); +SPAN_DECLARE(awgn_state_t *) awgn_init_dbov(awgn_state_t *s, int idum, float level); SPAN_DECLARE(int16_t) awgn(awgn_state_t *s); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h Mon Feb 2 15:36:29 2009 @@ -150,7 +150,7 @@ /*! \brief Initialise a Bell MF generator context. \param s The Bell MF generator context. \return A pointer to the Bell MF generator context.*/ -SPAN_DECLARE(bell_mf_tx_state_t) *bell_mf_tx_init(bell_mf_tx_state_t *s); +SPAN_DECLARE(bell_mf_tx_state_t *) bell_mf_tx_init(bell_mf_tx_state_t *s); /*! \brief Free a Bell MF generator context. \param s The Bell MF generator context. @@ -175,7 +175,7 @@ \param fwd TRUE if the context is for forward signals. FALSE if the context is for backward signals. \return A pointer to the MFC/R2 generator context.*/ -SPAN_DECLARE(r2_mf_tx_state_t) *r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd); +SPAN_DECLARE(r2_mf_tx_state_t *) r2_mf_tx_init(r2_mf_tx_state_t *s, int fwd); /*! \brief Free an R2 MF tone generator context. \param s The R2 MF tone generator context. @@ -205,7 +205,7 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the Bell MF receiver context.*/ -SPAN_DECLARE(bell_mf_rx_state_t) *bell_mf_rx_init(bell_mf_rx_state_t *s, +SPAN_DECLARE(bell_mf_rx_state_t *) bell_mf_rx_init(bell_mf_rx_state_t *s, digits_rx_callback_t callback, void *user_data); @@ -237,7 +237,7 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the R2 MF receiver context. */ -SPAN_DECLARE(r2_mf_rx_state_t) *r2_mf_rx_init(r2_mf_rx_state_t *s, +SPAN_DECLARE(r2_mf_rx_state_t *) r2_mf_rx_init(r2_mf_rx_state_t *s, int fwd, tone_report_func_t callback, void *user_data); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bert.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bert.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bert.h Mon Feb 2 15:36:29 2009 @@ -116,7 +116,7 @@ /*! Return a short description of a BERT event. \param event The event type. \return A pointer to a short text string describing the event. */ -SPAN_DECLARE(const char) *bert_event_to_str(int event); +SPAN_DECLARE(const char *) bert_event_to_str(int event); /*! Initialise a BERT context. \param s The BERT context. @@ -125,7 +125,7 @@ \param resync_len ??? \param resync_percent The percentage of bad bits which will cause a resync. \return The BERT context. */ -SPAN_DECLARE(bert_state_t) *bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent); +SPAN_DECLARE(bert_state_t *) bert_init(bert_state_t *s, int limit, int pattern, int resync_len, int resync_percent); /*! Get the next bit of the BERT sequence from the generator. \param s The BERT context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h Mon Feb 2 15:36:29 2009 @@ -59,11 +59,11 @@ { #endif -SPAN_DECLARE(filter_t) *filter_create(fspec_t *fs); +SPAN_DECLARE(filter_t *) filter_create(fspec_t *fs); SPAN_DECLARE(void) filter_delete(filter_t *fi); SPAN_DECLARE(float) filter_step(filter_t *fi, float x); -SPAN_DECLARE(cfilter_t) *cfilter_create(fspec_t *fs); +SPAN_DECLARE(cfilter_t *) cfilter_create(fspec_t *fs); SPAN_DECLARE(void) cfilter_delete(cfilter_t *cfi); SPAN_DECLARE(complexf_t) cfilter_step(cfilter_t *cfi, const complexf_t *z); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h Mon Feb 2 15:36:29 2009 @@ -125,7 +125,7 @@ /*! \brief Initialise a DTMF tone generator context. \param s The DTMF generator context. \return A pointer to the DTMF generator context. */ -SPAN_DECLARE(dtmf_tx_state_t) *dtmf_tx_init(dtmf_tx_state_t *s); +SPAN_DECLARE(dtmf_tx_state_t *) dtmf_tx_init(dtmf_tx_state_t *s); /*! \brief Free a DTMF tone generator context. \param s The DTMF tone generator context. @@ -191,7 +191,7 @@ \param user_data An opaque pointer which is associated with the context, and supplied in callbacks. \return A pointer to the DTMF receiver context. */ -SPAN_DECLARE(dtmf_rx_state_t) *dtmf_rx_init(dtmf_rx_state_t *s, +SPAN_DECLARE(dtmf_rx_state_t *) dtmf_rx_init(dtmf_rx_state_t *s, digits_rx_callback_t callback, void *user_data); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/echo.h Mon Feb 2 15:36:29 2009 @@ -196,7 +196,7 @@ \param len The length of the canceller, in samples. \return The new canceller context, or NULL if the canceller could not be created. */ -SPAN_DECLARE(echo_can_state_t) *echo_can_create(int len, int adaption_mode); +SPAN_DECLARE(echo_can_state_t *) echo_can_create(int len, int adaption_mode); /*! Free a voice echo canceller context. \param ec The echo canceller context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax.h Mon Feb 2 15:36:29 2009 @@ -85,14 +85,14 @@ \param s The FAX context. \return A pointer to the T.30 context, or NULL. */ -SPAN_DECLARE(t30_state_t) *fax_get_t30_state(fax_state_t *s); +SPAN_DECLARE(t30_state_t *) fax_get_t30_state(fax_state_t *s); /*! Get a pointer to the logging context associated with a FAX context. \brief Get a pointer to the logging context associated with a FAX context. \param s The FAX context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *fax_get_logging_state(fax_state_t *s); +SPAN_DECLARE(logging_state_t *) fax_get_logging_state(fax_state_t *s); /*! Initialise a FAX context. \brief Initialise a FAX context. @@ -101,7 +101,7 @@ context is for an answering party. \return A pointer to the FAX context, or NULL if there was a problem. */ -SPAN_DECLARE(fax_state_t) *fax_init(fax_state_t *s, int calling_party); +SPAN_DECLARE(fax_state_t *) fax_init(fax_state_t *s, int calling_party); /*! Release a FAX context. \brief Release a FAX context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h Mon Feb 2 15:36:29 2009 @@ -44,7 +44,7 @@ SPAN_DECLARE(int) fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len); SPAN_DECLARE(int) fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len); SPAN_DECLARE(int) fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len); -SPAN_DECLARE(fax_modems_state_t) *fax_modems_init(fax_modems_state_t *s, void *user_data); +SPAN_DECLARE(fax_modems_state_t *) fax_modems_init(fax_modems_state_t *s, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h Mon Feb 2 15:36:29 2009 @@ -143,7 +143,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(fsk_tx_state_t) *fsk_tx_init(fsk_tx_state_t *s, +SPAN_DECLARE(fsk_tx_state_t *) fsk_tx_init(fsk_tx_state_t *s, const fsk_spec_t *spec, get_bit_func_t get_bit, void *user_data); @@ -191,7 +191,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(fsk_rx_state_t) *fsk_rx_init(fsk_rx_state_t *s, +SPAN_DECLARE(fsk_rx_state_t *) fsk_rx_init(fsk_rx_state_t *s, const fsk_spec_t *spec, int sync_mode, put_bit_func_t put_bit, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g711.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g711.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g711.h Mon Feb 2 15:36:29 2009 @@ -278,7 +278,7 @@ \param s The G.711 context. \param mode The G.711 mode. \return A pointer to the G.711 context, or NULL for error. */ -SPAN_DECLARE(g711_state_t) *g711_init(g711_state_t *s, int mode); +SPAN_DECLARE(g711_state_t *) g711_init(g711_state_t *s, int mode); /*! Free a G.711 encode or decode context. \param s The G.711 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g722.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g722.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g722.h Mon Feb 2 15:36:29 2009 @@ -71,7 +71,7 @@ The valid rates are 64000, 56000 and 48000. \param options \return A pointer to the G.722 encode context, or NULL for error. */ -SPAN_DECLARE(g722_encode_state_t) *g722_encode_init(g722_encode_state_t *s, int rate, int options); +SPAN_DECLARE(g722_encode_state_t *) g722_encode_init(g722_encode_state_t *s, int rate, int options); SPAN_DECLARE(int) g722_encode_release(g722_encode_state_t *s); @@ -89,7 +89,7 @@ The valid rates are 64000, 56000 and 48000. \param options \return A pointer to the G.722 decode context, or NULL for error. */ -SPAN_DECLARE(g722_decode_state_t) *g722_decode_init(g722_decode_state_t *s, int rate, int options); +SPAN_DECLARE(g722_decode_state_t *) g722_decode_init(g722_decode_state_t *s, int rate, int options); SPAN_DECLARE(int) g722_decode_release(g722_decode_state_t *s); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g726.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g726.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g726.h Mon Feb 2 15:36:29 2009 @@ -77,7 +77,7 @@ \param ext_coding The coding used outside G.726. \param packing One of the G.726_PACKING_xxx options. \return A pointer to the G.726 context, or NULL for error. */ -SPAN_DECLARE(g726_state_t) *g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing); +SPAN_DECLARE(g726_state_t *) g726_init(g726_state_t *s, int bit_rate, int ext_coding, int packing); /*! Free a G.726 encode or decode context. \param s The G.726 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h Mon Feb 2 15:36:29 2009 @@ -83,7 +83,7 @@ \param s The GSM 06.10 context \param packing One of the GSM0610_PACKING_xxx options. \return A pointer to the GSM 06.10 context, or NULL for error. */ -SPAN_DECLARE(gsm0610_state_t) *gsm0610_init(gsm0610_state_t *s, int packing); +SPAN_DECLARE(gsm0610_state_t *) gsm0610_init(gsm0610_state_t *s, int packing); /*! Release a GSM 06.10 encode or decode context. \param s The GSM 06.10 context Modified: freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h Mon Feb 2 15:36:29 2009 @@ -94,7 +94,7 @@ \param user_data An opaque parameter for the callback routine. \return A pointer to the HDLC receiver context. */ -SPAN_DECLARE(hdlc_rx_state_t) *hdlc_rx_init(hdlc_rx_state_t *s, +SPAN_DECLARE(hdlc_rx_state_t *) hdlc_rx_init(hdlc_rx_state_t *s, int crc32, int report_bad_frames, int framing_ok_threshold, @@ -150,7 +150,7 @@ \param user_data An opaque parameter for the callback routine. \return A pointer to the HDLC transmitter context. */ -SPAN_DECLARE(hdlc_tx_state_t) *hdlc_tx_init(hdlc_tx_state_t *s, +SPAN_DECLARE(hdlc_tx_state_t *) hdlc_tx_init(hdlc_tx_state_t *s, int crc32, int inter_frame_flags, int progressive, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h Mon Feb 2 15:36:29 2009 @@ -73,7 +73,7 @@ zero sample samples means treat each encode or decode operation as a chunk. \return A pointer to the IMA ADPCM context, or NULL for error. */ -SPAN_DECLARE(ima_adpcm_state_t) *ima_adpcm_init(ima_adpcm_state_t *s, +SPAN_DECLARE(ima_adpcm_state_t *) ima_adpcm_init(ima_adpcm_state_t *s, int variant, int chunk_size); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h Mon Feb 2 15:36:29 2009 @@ -74,7 +74,7 @@ \param s The LPC10e context \param error_correction ??? \return A pointer to the LPC10e context, or NULL for error. */ -SPAN_DECLARE(lpc10_encode_state_t) *lpc10_encode_init(lpc10_encode_state_t *s, int error_correction); +SPAN_DECLARE(lpc10_encode_state_t *) lpc10_encode_init(lpc10_encode_state_t *s, int error_correction); SPAN_DECLARE(int) lpc10_encode_release(lpc10_encode_state_t *s); @@ -91,7 +91,7 @@ \param s The LPC10e context \param error_correction ??? \return A pointer to the LPC10e context, or NULL for error. */ -SPAN_DECLARE(lpc10_decode_state_t) *lpc10_decode_init(lpc10_decode_state_t *st, int error_correction); +SPAN_DECLARE(lpc10_decode_state_t *) lpc10_decode_init(lpc10_decode_state_t *st, int error_correction); SPAN_DECLARE(int) lpc10_decode_release(lpc10_decode_state_t *s); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h Mon Feb 2 15:36:29 2009 @@ -104,7 +104,7 @@ /*! \brief Initialise an instance of the modem connect tones generator. \param s The context. */ -SPAN_DECLARE(modem_connect_tones_tx_state_t) *modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, +SPAN_DECLARE(modem_connect_tones_tx_state_t *) modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, int tone_type); /*! \brief Free an instance of the modem connect tones generator. @@ -147,7 +147,7 @@ \param user_data An opaque pointer passed to the callback routine, \return A pointer to the context. */ -SPAN_DECLARE(modem_connect_tones_rx_state_t) *modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, +SPAN_DECLARE(modem_connect_tones_rx_state_t *) modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, int tone_type, tone_report_func_t tone_callback, void *user_data); @@ -157,7 +157,7 @@ \return 0 for OK, else -1. */ SPAN_DECLARE(int) modem_connect_tones_rx_free(modem_connect_tones_rx_state_t *s); -SPAN_DECLARE(const char) *modem_connect_tone_to_str(int tone); +SPAN_DECLARE(const char *) modem_connect_tone_to_str(int tone); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h Mon Feb 2 15:36:29 2009 @@ -110,7 +110,7 @@ \param len The length of the canceller, in samples. eturn The new canceller context, or NULL if the canceller could not be created. */ -SPAN_DECLARE(modem_echo_can_state_t) *modem_echo_can_create(int len); +SPAN_DECLARE(modem_echo_can_state_t *) modem_echo_can_create(int len); /*! Free a modem echo canceller context. \param ec The echo canceller context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/noise.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/noise.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/noise.h Mon Feb 2 15:36:29 2009 @@ -108,9 +108,9 @@ generation to be adjusted. \return A pointer to the noise generator context. */ -SPAN_DECLARE(noise_state_t) *noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality); +SPAN_DECLARE(noise_state_t *) noise_init_dbm0(noise_state_t *s, int seed, float level, int class_of_noise, int quality); -SPAN_DECLARE(noise_state_t) *noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality); +SPAN_DECLARE(noise_state_t *) noise_init_dbov(noise_state_t *s, int seed, float level, int class_of_noise, int quality); SPAN_DECLARE(int) noise_free(noise_state_t *s); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h Mon Feb 2 15:36:29 2009 @@ -61,7 +61,7 @@ \param bit_rate The required bit rate for the ADPCM data. The valid rates are 24000 and 32000. \return A pointer to the Oki ADPCM context, or NULL for error. */ -SPAN_DECLARE(oki_adpcm_state_t) *oki_adpcm_init(oki_adpcm_state_t *s, +SPAN_DECLARE(oki_adpcm_state_t *) oki_adpcm_init(oki_adpcm_state_t *s, int bit_rate); /*! Free an Oki ADPCM encode or decode context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/playout.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/playout.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/playout.h Mon Feb 2 15:36:29 2009 @@ -168,7 +168,7 @@ all its contents, before the context is freed. \param s The play-out context. \return The frame, or NULL is the queue is empty. */ -SPAN_DECLARE(playout_frame_t) *playout_get_unconditional(playout_state_t *s); +SPAN_DECLARE(playout_frame_t *) playout_get_unconditional(playout_state_t *s); /*! Find the current length of the buffer. \param s The play-out context. @@ -187,7 +187,7 @@ \param max_length Maximum length of the buffer, in samples. If this equals min_length, static length buffering is used. \return The new context */ -SPAN_DECLARE(playout_state_t) *playout_new(int min_length, int max_length); +SPAN_DECLARE(playout_state_t *) playout_new(int min_length, int max_length); /*! Destroy an instance of play-out buffering. \param s The play-out context to be destroyed */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/plc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/plc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/plc.h Mon Feb 2 15:36:29 2009 @@ -153,7 +153,7 @@ \brief Initialise a PLC context. \param s The packet loss concealer context. \return A pointer to the the packet loss concealer context. */ -SPAN_DECLARE(plc_state_t) *plc_init(plc_state_t *s); +SPAN_DECLARE(plc_state_t *) plc_init(plc_state_t *s); /*! Free a packet loss concealer context. \param s The packet loss concealer context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h Mon Feb 2 15:36:29 2009 @@ -66,14 +66,14 @@ \param s The power meter context. \param shift The shift to be used by the IIR filter. \return The power meter context. */ -SPAN_DECLARE(power_meter_t) *power_meter_init(power_meter_t *s, int shift); +SPAN_DECLARE(power_meter_t *) power_meter_init(power_meter_t *s, int shift); /*! Change the damping factor of a power meter context. \brief Change the damping factor of a power meter context. \param s The power meter context. \param shift The new shift to be used by the IIR filter. \return The power meter context. */ -SPAN_DECLARE(power_meter_t) *power_meter_damping(power_meter_t *s, int shift); +SPAN_DECLARE(power_meter_t *) power_meter_damping(power_meter_t *s, int shift); /*! Update a power meter. \brief Update a power meter. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/queue.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/queue.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/queue.h Mon Feb 2 15:36:29 2009 @@ -158,7 +158,7 @@ \param flags Flags controlling the operation of the queue. Valid flags are QUEUE_READ_ATOMIC and QUEUE_WRITE_ATOMIC. \return A pointer to the context if OK, else NULL. */ -SPAN_DECLARE(queue_state_t) *queue_init(queue_state_t *s, int len, int flags); +SPAN_DECLARE(queue_state_t *) queue_init(queue_state_t *s, int len, int flags); /*! Delete a queue. \brief Delete a queue. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h Mon Feb 2 15:36:29 2009 @@ -58,7 +58,7 @@ SPAN_DECLARE(void) span_schedule_update(span_sched_state_t *s, int us); SPAN_DECLARE(void) span_schedule_del(span_sched_state_t *s, int id); -SPAN_DECLARE(span_sched_state_t) *span_schedule_init(span_sched_state_t *s); +SPAN_DECLARE(span_sched_state_t *) span_schedule_init(span_sched_state_t *s); SPAN_DECLARE(int) span_schedule_release(span_sched_state_t *s); #if defined(__cplusplus) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h Mon Feb 2 15:36:29 2009 @@ -113,7 +113,7 @@ \param sig_update Callback function to handle signaling updates. \param user_data An opaque pointer. \return A pointer to the signalling tone context, or NULL if there was a problem. */ -SPAN_DECLARE(sig_tone_rx_state_t) *sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); +SPAN_DECLARE(sig_tone_rx_state_t *) sig_tone_rx_init(sig_tone_rx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); /*! Generate a block of signaling tone audio samples. \brief Generate a block of signaling tone audio samples. @@ -136,7 +136,7 @@ \param sig_update Callback function to handle signaling updates. \param user_data An opaque pointer. \return A pointer to the signalling tone context, or NULL if there was a problem. */ -SPAN_DECLARE(sig_tone_tx_state_t) *sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); +SPAN_DECLARE(sig_tone_tx_state_t *) sig_tone_tx_init(sig_tone_tx_state_t *s, int tone_type, sig_tone_func_t sig_update, void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h Mon Feb 2 15:36:29 2009 @@ -103,7 +103,7 @@ \param silent_samples The initial number of samples to set the silence to. \return A pointer to the silence generator context. */ -SPAN_DECLARE(silence_gen_state_t) *silence_gen_init(silence_gen_state_t *s, int silent_samples); +SPAN_DECLARE(silence_gen_state_t *) silence_gen_init(silence_gen_state_t *s, int silent_samples); /* The following dummy routines, to absorb data, don't really have a proper home, so they have been put here. */ @@ -117,7 +117,7 @@ \param len The length of the signal buffer \return 0. */ -SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len); +int span_dummy_rx(void *user_data, const int16_t amp[], int len); /*! A dummy routine to use as a signal modifier callback, when we aren't really trying to process the signal. It just returns without affecting Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h Mon Feb 2 15:36:29 2009 @@ -73,7 +73,7 @@ descriptor. \return The supervisory tone set descriptor. */ -SPAN_DECLARE(super_tone_rx_descriptor_t) *super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc); +SPAN_DECLARE(super_tone_rx_descriptor_t *) super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc); /*! Free a supervisory tone detector descriptor. \param desc The supervisory tone set desciptor. @@ -110,7 +110,7 @@ \param user_data An opaque pointer passed when calling the callback routine. \return The supervisory tone detector context. */ -SPAN_DECLARE(super_tone_rx_state_t) *super_tone_rx_init(super_tone_rx_state_t *s, +SPAN_DECLARE(super_tone_rx_state_t *) super_tone_rx_init(super_tone_rx_state_t *s, super_tone_rx_descriptor_t *desc, tone_report_func_t callback, void *user_data); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h Mon Feb 2 15:36:29 2009 @@ -50,7 +50,7 @@ { #endif -SPAN_DECLARE(super_tone_tx_step_t) *super_tone_tx_make_step(super_tone_tx_step_t *s, +SPAN_DECLARE(super_tone_tx_step_t *) super_tone_tx_make_step(super_tone_tx_step_t *s, float f1, float l1, float f2, @@ -65,7 +65,7 @@ \param s The supervisory tone generator context. \param tree The supervisory tone tree to be generated. \return The supervisory tone generator context. */ -SPAN_DECLARE(super_tone_tx_state_t) *super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree); +SPAN_DECLARE(super_tone_tx_state_t *) super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree); /*! Generate a block of audio samples for a supervisory tone pattern. \brief Generate a block of audio samples for a supervisory tone pattern. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30.h Mon Feb 2 15:36:29 2009 @@ -558,7 +558,7 @@ \param send_hdlc_handler \param send_hdlc_user_data \return A pointer to the context, or NULL if there was a problem. */ -SPAN_DECLARE(t30_state_t) *t30_init(t30_state_t *s, +SPAN_DECLARE(t30_state_t *) t30_init(t30_state_t *s, int calling_party, t30_set_handler_t *set_rx_type_handler, void *set_rx_type_user_data, @@ -607,7 +607,7 @@ \brief Get a bit of received non-ECM image data. \param user_data An opaque pointer, which must point to the T.30 context. \return The next bit to transmit. */ -SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data); +int t30_non_ecm_get_bit(void *user_data); /*! Get a byte of received non-ECM image data. \brief Get a byte of received non-ECM image data. @@ -627,7 +627,7 @@ \brief Process a bit of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param bit The received bit. */ -SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit); +void t30_non_ecm_put_bit(void *user_data, int bit); /*! Process a byte of received non-ECM image data. \brief Process a byte of received non-ECM image data @@ -648,7 +648,7 @@ \param msg The HDLC message. \param len The length of the message, in octets. \param ok TRUE if the frame was received without error. */ -SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); +void t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); /*! Report the passage of time to the T.30 engine. \brief Report the passage of time to the T.30 engine. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h Mon Feb 2 15:36:29 2009 @@ -113,14 +113,14 @@ \param s The T.30 context. \param id A pointer to the identifier. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_ident(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_ident(t30_state_t *s); /*! Get the transmitted identifier associated with a T.30 context. \brief Set the transmitted identifier associated with a T.30 context. \param s The T.30 context. \param id A pointer to the identifier. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_ident(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_ident(t30_state_t *s); /*! Set the transmitted sub-address associated with a T.30 context. \brief Set the transmitted sub-address associated with a T.30 context. @@ -134,14 +134,14 @@ \param s The T.30 context. \param sub_address A pointer to the sub-address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_sub_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_sub_address(t30_state_t *s); /*! Get the received sub-address associated with a T.30 context. \brief Get the received sub-address associated with a T.30 context. \param s The T.30 context. \param sub_address A pointer to the sub-address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_sub_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_sub_address(t30_state_t *s); /*! Set the transmitted selective polling address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -157,7 +157,7 @@ \param s The T.30 context. \param selective_polling_address A pointer to the selective polling address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_selective_polling_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_selective_polling_address(t30_state_t *s); /*! Get the received selective polling address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -165,7 +165,7 @@ \param s The T.30 context. \param selective_polling_address A pointer to the selective polling address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_selective_polling_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_selective_polling_address(t30_state_t *s); /*! Set the transmitted polled sub-address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -181,7 +181,7 @@ \param s The T.30 context. \param polled_sub_address A pointer to the polled sub-address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_polled_sub_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_polled_sub_address(t30_state_t *s); /*! Get the received polled sub-address (i.e. the one we will send to the far end) associated with a T.30 context. @@ -189,7 +189,7 @@ \param s The T.30 context. \param polled_sub_address A pointer to the polled sub-address. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_polled_sub_address(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_polled_sub_address(t30_state_t *s); /*! Set the transmitted sender ident (i.e. the one we will send to the far end) associated with a T.30 context. @@ -205,7 +205,7 @@ \param s The T.30 context. \param sender_ident A pointer to the sender ident. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_sender_ident(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_sender_ident(t30_state_t *s); /*! Get the received sender ident (i.e. the one we will send to the far end) associated with a T.30 context. @@ -213,7 +213,7 @@ \param s The T.30 context. \param sender_ident A pointer to the sender ident. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_sender_ident(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_sender_ident(t30_state_t *s); /*! Set the transmitted password (i.e. the one we will send to the far end) associated with a T.30 context. @@ -229,7 +229,7 @@ \param s The T.30 context. \param password A pointer to the password. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_tx_password(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_tx_password(t30_state_t *s); /*! Get the received password (i.e. the one we will send to the far end) associated with a T.30 context. @@ -237,7 +237,7 @@ \param s The T.30 context. \param password A pointer to the password. \return 0 for OK, else -1. */ -SPAN_DECLARE(const char) *t30_get_rx_password(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_password(t30_state_t *s); /*! Set the transmitted ??? (i.e. the one we will send to the far end) associated with a T.30 context. @@ -406,19 +406,19 @@ \brief Get the country of origin of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the country name, or NULL if the country is not known. */ -SPAN_DECLARE(const char) *t30_get_rx_country(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_country(t30_state_t *s); /*! Get the name of the vendor of the remote FAX machine associated with a T.30 context. \brief Get the name of the vendor of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the vendor name, or NULL if the vendor is not known. */ -SPAN_DECLARE(const char) *t30_get_rx_vendor(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_vendor(t30_state_t *s); /*! Get the name of the model of the remote FAX machine associated with a T.30 context. \brief Get the name of the model of the remote FAX machine associated with a T.30 context. \param s The T.30 context. \return a pointer to the model name, or NULL if the model is not known. */ -SPAN_DECLARE(const char) *t30_get_rx_model(t30_state_t *s); +SPAN_DECLARE(const char *) t30_get_rx_model(t30_state_t *s); /*! Specify the file name of the next TIFF file to be received by a T.30 context. @@ -557,7 +557,7 @@ \param s The T.30 context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *t30_get_logging_state(t30_state_t *s); +SPAN_DECLARE(logging_state_t *) t30_get_logging_state(t30_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h Mon Feb 2 15:36:29 2009 @@ -40,7 +40,7 @@ \param x The frametype octet. \return A pointer to the text name for the frame type. If the frame type is not value, the string "???" is returned. */ -SPAN_DECLARE(const char) *t30_frametype(uint8_t x); +SPAN_DECLARE(const char *) t30_frametype(uint8_t x); /*! Decode a DIS, DTC or DCS frame, and log the contents. \brief Decode a DIS, DTC or DCS frame, and log the contents. @@ -53,7 +53,7 @@ \brief Convert a phase E completion code to a short text description. \param result The result code. \return A pointer to the description. */ -SPAN_DECLARE(const char) *t30_completion_code_to_str(int result); +SPAN_DECLARE(const char *) t30_completion_code_to_str(int result); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t31.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t31.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t31.h Mon Feb 2 15:36:29 2009 @@ -111,9 +111,9 @@ \param s The T.31 context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *t31_get_logging_state(t31_state_t *s); +SPAN_DECLARE(logging_state_t *) t31_get_logging_state(t31_state_t *s); -SPAN_DECLARE(t38_core_state_t) *t31_get_t38_core_state(t31_state_t *s); +SPAN_DECLARE(t38_core_state_t *) t31_get_t38_core_state(t31_state_t *s); /*! Initialise a T.31 context. This must be called before the first use of the context, to initialise its contents. @@ -126,7 +126,7 @@ \param tx_t38_packet_handler ??? \param tx_t38_packet_user_data ??? \return A pointer to the T.31 context. */ -SPAN_DECLARE(t31_state_t) *t31_init(t31_state_t *s, +SPAN_DECLARE(t31_state_t *) t31_init(t31_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, t31_modem_control_handler_t *modem_control_handler, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h Mon Feb 2 15:36:29 2009 @@ -197,28 +197,28 @@ /*! \brief Convert the code for an indicator to a short text name. \param indicator The type of indicator. \return A pointer to a short text name for the indicator. */ -SPAN_DECLARE(const char) *t38_indicator_to_str(int indicator); +SPAN_DECLARE(const char *) t38_indicator_to_str(int indicator); /*! \brief Convert the code for a type of data to a short text name. \param data_type The data type. \return A pointer to a short text name for the data type. */ -SPAN_DECLARE(const char) *t38_data_type_to_str(int data_type); +SPAN_DECLARE(const char *) t38_data_type_to_str(int data_type); /*! \brief Convert the code for a type of data field to a short text name. \param field_type The field type. \return A pointer to a short text name for the field type. */ -SPAN_DECLARE(const char) *t38_field_type_to_str(int field_type); +SPAN_DECLARE(const char *) t38_field_type_to_str(int field_type); /*! \brief Convert the code for a CM profile code to text description. \param profile The profile code from a CM message. \return A pointer to a short text description of the profile. */ -SPAN_DECLARE(const char) *t38_cm_profile_to_str(int profile); +SPAN_DECLARE(const char *) t38_cm_profile_to_str(int profile); /*! \brief Convert a JM message code to text description. \param data The data field of the message. \param len The length of the data field. \return A pointer to a short text description of the profile. */ -SPAN_DECLARE(const char) *t38_jm_to_str(const uint8_t *data, int len); +SPAN_DECLARE(const char *) t38_jm_to_str(const uint8_t *data, int len); /*! \brief Convert a V34rate message to an actual bit rate. \param data The data field of the message. @@ -326,9 +326,9 @@ \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *t38_core_get_logging_state(t38_core_state_t *s); +SPAN_DECLARE(logging_state_t *) t38_core_get_logging_state(t38_core_state_t *s); -SPAN_DECLARE(t38_core_state_t) *t38_core_init(t38_core_state_t *s, +SPAN_DECLARE(t38_core_state_t *) t38_core_init(t38_core_state_t *s, t38_rx_indicator_handler_t *rx_indicator_handler, t38_rx_data_handler_t *rx_data_handler, t38_rx_missing_handler_t *rx_missing_handler, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h Mon Feb 2 15:36:29 2009 @@ -82,7 +82,7 @@ \param tx_packet_handler A callback routine to encapsulate and transmit T.38 packets. \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ -SPAN_DECLARE(t38_gateway_state_t) *t38_gateway_init(t38_gateway_state_t *s, +SPAN_DECLARE(t38_gateway_state_t *) t38_gateway_init(t38_gateway_state_t *s, t38_tx_packet_handler_t *tx_packet_handler, void *tx_packet_user_data); @@ -177,14 +177,14 @@ \param s The T.38 context. \return A pointer to the T.38 core context, or NULL. */ -SPAN_DECLARE(t38_core_state_t) *t38_gateway_get_t38_core_state(t38_gateway_state_t *s); +SPAN_DECLARE(t38_core_state_t *) t38_gateway_get_t38_core_state(t38_gateway_state_t *s); /*! Get a pointer to the logging context associated with a T.38 context. \brief Get a pointer to the logging context associated with a T.38 context. \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *t38_gateway_get_logging_state(t38_gateway_state_t *s); +SPAN_DECLARE(logging_state_t *) t38_gateway_get_logging_state(t38_gateway_state_t *s); /*! Set a callback function for T.30 frame exchange monitoring. This is called from the heart of the signal processing, so don't take too long in the handler routine. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h Mon Feb 2 15:36:29 2009 @@ -59,7 +59,7 @@ \param mode TRUE for image data mode, or FALSE for TCF mode. \param bits The minimum number of bits per FAX image row. \return A pointer to the buffer context, or NULL if there was a problem. */ -SPAN_DECLARE(t38_non_ecm_buffer_state_t) *t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); +SPAN_DECLARE(t38_non_ecm_buffer_state_t *) t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits); /*! \brief Set the mode of a T.38 rate adapting non-ECM buffer context. \param s The buffer context. @@ -93,7 +93,7 @@ /*! \brief Get the next bit of data from a T.38 rate adapting non-ECM buffer context. \param user_data The buffer context, cast to a void pointer. \return The next bit, or one of the values indicating a change of modem status. */ -SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data); +int t38_non_ecm_buffer_get_bit(void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h Mon Feb 2 15:36:29 2009 @@ -69,7 +69,7 @@ \param s The T.38 context. \return A pointer to the T.30 context, or NULL. */ -SPAN_DECLARE(t30_state_t) *t38_terminal_get_t30_state(t38_terminal_state_t *s); +SPAN_DECLARE(t30_state_t *) t38_terminal_get_t30_state(t38_terminal_state_t *s); /*! Get a pointer to the T.38 core IFP packet engine associated with a termination mode T.38 context. @@ -78,14 +78,14 @@ \param s The T.38 context. \return A pointer to the T.38 core context, or NULL. */ -SPAN_DECLARE(t38_core_state_t) *t38_terminal_get_t38_core_state(t38_terminal_state_t *s); +SPAN_DECLARE(t38_core_state_t *) t38_terminal_get_t38_core_state(t38_terminal_state_t *s); /*! Get a pointer to the logging context associated with a T.38 context. \brief Get a pointer to the logging context associated with a T.38 context. \param s The T.38 context. \return A pointer to the logging context, or NULL. */ -SPAN_DECLARE(logging_state_t) *t38_terminal_get_logging_state(t38_terminal_state_t *s); +SPAN_DECLARE(logging_state_t *) t38_terminal_get_logging_state(t38_terminal_state_t *s); /*! \brief Initialise a termination mode T.38 context. \param s The T.38 context. @@ -94,7 +94,7 @@ \param tx_packet_handler A callback routine to encapsulate and transmit T.38 packets. \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ -SPAN_DECLARE(t38_terminal_state_t) *t38_terminal_init(t38_terminal_state_t *s, +SPAN_DECLARE(t38_terminal_state_t *) t38_terminal_init(t38_terminal_state_t *s, int calling_party, t38_tx_packet_handler_t *tx_packet_handler, void *tx_packet_user_data); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t4.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t4.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t4.h Mon Feb 2 15:36:29 2009 @@ -213,7 +213,7 @@ \param file The name of the file to be received. \param output_encoding The output encoding. \return A pointer to the context, or NULL if there was a problem. */ -SPAN_DECLARE(t4_state_t) *t4_rx_init(t4_state_t *s, const char *file, int output_encoding); +SPAN_DECLARE(t4_state_t *) t4_rx_init(t4_state_t *s, const char *file, int output_encoding); /*! \brief Prepare to receive the next page of the current document. \param s The T.4 context. @@ -311,7 +311,7 @@ \param start_page The first page to send. -1 for no restriction. \param stop_page The last page to send. -1 for no restriction. \return A pointer to the context, or NULL if there was a problem. */ -SPAN_DECLARE(t4_state_t) *t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page); +SPAN_DECLARE(t4_state_t *) t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page); /*! \brief Prepare to send the next page of the current document. \param s The T.4 context. @@ -445,7 +445,7 @@ \brief Get the short text name of an encoding format. \param encoding The encoding type. \return A pointer to the string. */ -SPAN_DECLARE(const char) *t4_encoding_to_str(int encoding); +SPAN_DECLARE(const char *) t4_encoding_to_str(int encoding); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h Mon Feb 2 15:36:29 2009 @@ -28,21 +28,24 @@ #if !defined(_SPANDSP_TELEPHONY_H_) #define _SPANDSP_TELEPHONY_H_ -#if defined(SPANDSP_USE_EXPORT_CAPABILITY) -#if defined(__GNUC__) || defined(__SUNCC__) -#define SPAN_DECLARE(type) __attribute__((visibility("default"))) type -#define SPAN_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type -#define SPAN_DECLARE_DATA __attribute__((visibility("default"))) -#endif #if defined(WIN32) -#define SPAN_DECLARE(type) __declspec(dllexport) type __stdcall -#define SPAN_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl -#define SPAN_DECLARE_DATA __declspec(dllexport) -#endif +# if defined(LIBSPANDSP_EXPORTS) +# define SPAN_DECLARE(type) __declspec(dllexport) type __stdcall +# define SPAN_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl +# define SPAN_DECLARE_DATA __declspec(dllexport) +# else +# define SPAN_DECLARE(type) __declspec(dllimport) type __stdcall +# define SPAN_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl +# define SPAN_DECLARE_DATA __declspec(dllimport) +# endif +#elif defined(SPANDSP_USE_EXPORT_CAPABILITY) && (defined(__GNUC__) || defined(__SUNCC__)) +# define SPAN_DECLARE(type) __attribute__((visibility("default"))) type +# define SPAN_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type +# define SPAN_DECLARE_DATA __attribute__((visibility("default"))) #else -#define SPAN_DECLARE(type) /**/ type -#define SPAN_DECLARE_NONSTD(type) /**/ type -#define SPAN_DECLARE_DATA /**/ +# define SPAN_DECLARE(type) /**/ type +# define SPAN_DECLARE_NONSTD(type) /**/ type +# define SPAN_DECLARE_DATA /**/ #endif #define SAMPLE_RATE 8000 Modified: freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h Mon Feb 2 15:36:29 2009 @@ -71,7 +71,7 @@ \param sample_rate The sample rate of the signal. \param playout_rate The ratio between the output speed and the input speed. \return A pointer to the context, or NULL if there was a problem. */ -SPAN_DECLARE(time_scale_state_t) *time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate); +SPAN_DECLARE(time_scale_state_t *) time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate); /*! \brief Free a time scale context. \param s The time scale context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h Mon Feb 2 15:36:29 2009 @@ -88,7 +88,7 @@ int d4, int repeat); -SPAN_DECLARE(tone_gen_state_t) *tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t); +SPAN_DECLARE(tone_gen_state_t *) tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t); SPAN_DECLARE(int) tone_gen(tone_gen_state_t *s, int16_t amp[], int max_samples); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h Mon Feb 2 15:36:29 2009 @@ -243,7 +243,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v17_rx_state_t) *v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v17_rx_state_t *) v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.17 modem receive context. \brief Reinitialise an existing V.17 modem receive context. @@ -259,7 +259,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v17_rx_free(v17_rx_state_t *s); -SPAN_DECLARE(logging_state_t) *v17_rx_get_logging_state(v17_rx_state_t *s); +SPAN_DECLARE(logging_state_t *) v17_rx_get_logging_state(v17_rx_state_t *s); /*! Change the put_bit function associated with a V.17 modem receive context. \brief Change the put_bit function associated with a V.17 modem receive context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h Mon Feb 2 15:36:29 2009 @@ -109,7 +109,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v17_tx_state_t) *v17_tx_init(v17_tx_state_t *s, int rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v17_tx_state_t *) v17_tx_init(v17_tx_state_t *s, int rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.17 modem transmit context, so it may be reused. \brief Reinitialise an existing V.17 modem transmit context. @@ -126,7 +126,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v17_tx_free(v17_tx_state_t *s); -SPAN_DECLARE(logging_state_t) *v17_tx_get_logging_state(v17_tx_state_t *s); +SPAN_DECLARE(logging_state_t *) v17_tx_get_logging_state(v17_tx_state_t *s); /*! Change the get_bit function associated with a V.17 modem transmit context. \brief Change the get_bit function associated with a V.17 modem transmit context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h Mon Feb 2 15:36:29 2009 @@ -144,7 +144,7 @@ \param put_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer, passed in calls to the get and put routines. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v22bis_state_t) *v22bis_init(v22bis_state_t *s, +SPAN_DECLARE(v22bis_state_t *) v22bis_init(v22bis_state_t *s, int bit_rate, int guard, int caller, @@ -158,7 +158,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v22bis_free(v22bis_state_t *s); -SPAN_DECLARE(logging_state_t) *v22bis_get_logging_state(v22bis_state_t *s); +SPAN_DECLARE(logging_state_t *) v22bis_get_logging_state(v22bis_state_t *s); /*! Change the get_bit function associated with a V.22bis modem context. \brief Change the get_bit function associated with a V.22bis modem context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h Mon Feb 2 15:36:29 2009 @@ -78,7 +78,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v27ter_rx_state_t) *v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v27ter_rx_state_t *) v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.27ter modem receive context. \brief Reinitialise an existing V.27ter modem receive context. @@ -94,7 +94,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v27ter_rx_free(v27ter_rx_state_t *s); -SPAN_DECLARE(logging_state_t) *v27ter_rx_get_logging_state(v27ter_rx_state_t *s); +SPAN_DECLARE(logging_state_t *) v27ter_rx_get_logging_state(v27ter_rx_state_t *s); /*! Change the put_bit function associated with a V.27ter modem receive context. \brief Change the put_bit function associated with a V.27ter modem receive context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h Mon Feb 2 15:36:29 2009 @@ -91,7 +91,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v27ter_tx_state_t) *v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v27ter_tx_state_t *) v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.27ter modem transmit context, so it may be reused. \brief Reinitialise an existing V.27ter modem transmit context. @@ -107,7 +107,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v27ter_tx_free(v27ter_tx_state_t *s); -SPAN_DECLARE(logging_state_t) *v27ter_tx_get_logging_state(v27ter_tx_state_t *s); +SPAN_DECLARE(logging_state_t *) v27ter_tx_get_logging_state(v27ter_tx_state_t *s); /*! Change the get_bit function associated with a V.27ter modem transmit context. \brief Change the get_bit function associated with a V.27ter modem transmit context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h Mon Feb 2 15:36:29 2009 @@ -147,7 +147,7 @@ \param put_bit The callback routine used to put the received data. \param user_data An opaque pointer passed to the put_bit routine. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v29_rx_state_t) *v29_rx_init(v29_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); +SPAN_DECLARE(v29_rx_state_t *) v29_rx_init(v29_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data); /*! Reinitialise an existing V.29 modem receive context. \brief Reinitialise an existing V.29 modem receive context. @@ -163,7 +163,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v29_rx_free(v29_rx_state_t *s); -SPAN_DECLARE(logging_state_t) *v29_rx_get_logging_state(v29_rx_state_t *s); +SPAN_DECLARE(logging_state_t *) v29_rx_get_logging_state(v29_rx_state_t *s); /*! Change the put_bit function associated with a V.29 modem receive context. \brief Change the put_bit function associated with a V.29 modem receive context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h Mon Feb 2 15:36:29 2009 @@ -122,7 +122,7 @@ \param get_bit The callback routine used to get the data to be transmitted. \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ -SPAN_DECLARE(v29_tx_state_t) *v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); +SPAN_DECLARE(v29_tx_state_t *) v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data); /*! Reinitialise an existing V.29 modem transmit context, so it may be reused. \brief Reinitialise an existing V.29 modem transmit context. @@ -138,7 +138,7 @@ \return 0 for OK */ SPAN_DECLARE(int) v29_tx_free(v29_tx_state_t *s); -SPAN_DECLARE(logging_state_t) *v29_tx_get_logging_state(v29_tx_state_t *s); +SPAN_DECLARE(logging_state_t *) v29_tx_get_logging_state(v29_tx_state_t *s); /*! Change the get_bit function associated with a V.29 modem transmit context. \brief Change the get_bit function associated with a V.29 modem transmit context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42.h Mon Feb 2 15:36:29 2009 @@ -82,7 +82,7 @@ { #endif -SPAN_DECLARE(const char) *lapm_status_to_str(int status); +SPAN_DECLARE(const char *) lapm_status_to_str(int status); /*! Dump LAP.M frames in a raw and/or decoded forms \param frame The frame itself @@ -94,7 +94,7 @@ /*! Accept an HDLC packet */ -SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); +void lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); /*! Transmit a LAP.M frame */ @@ -135,7 +135,7 @@ \param user_data An opaque pointer passed to the frame handler routine. \return ??? */ -SPAN_DECLARE(v42_state_t) *v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data); +SPAN_DECLARE(v42_state_t *) v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data); /*! Restart a V.42 context. \param s The V.42 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h Mon Feb 2 15:36:29 2009 @@ -106,7 +106,7 @@ \param data_user_data . \param max_data_len The maximum length that should be passed to the data handler. \return The V.42bis context. */ -SPAN_DECLARE(v42bis_state_t) *v42bis_init(v42bis_state_t *s, +SPAN_DECLARE(v42bis_state_t *) v42bis_init(v42bis_state_t *s, int negotiated_p0, int negotiated_p1, int negotiated_p2, Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v8.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v8.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v8.h Mon Feb 2 15:36:29 2009 @@ -128,7 +128,7 @@ \param result_handler The callback routine used to handle the results of negotiation. \param user_data An opaque pointer passed to the result_handler routine. \return A pointer to the V.8 context, or NULL if there was a problem. */ -SPAN_DECLARE(v8_state_t) *v8_init(v8_state_t *s, +SPAN_DECLARE(v8_state_t *) v8_init(v8_state_t *s, int caller, int available_modulations, v8_result_handler_t *result_handler, @@ -146,7 +146,7 @@ \return 0 for OK. */ SPAN_DECLARE(int) v8_free(v8_state_t *s); -SPAN_DECLARE(logging_state_t) *v8_get_logging_state(v8_state_t *s); +SPAN_DECLARE(logging_state_t *) v8_get_logging_state(v8_state_t *s); /*! Generate a block of V.8 audio samples. \brief Generate a block of V.8 audio samples. @@ -171,11 +171,11 @@ \param modulation_schemes The list of supported modulations. */ SPAN_DECLARE(void) v8_log_supported_modulations(v8_state_t *s, int modulation_schemes); -SPAN_DECLARE(const char) *v8_call_function_to_str(int call_function); -SPAN_DECLARE(const char) *v8_modulation_to_str(int modulation_scheme); -SPAN_DECLARE(const char) *v8_protocol_to_str(int protocol); -SPAN_DECLARE(const char) *v8_pstn_access_to_str(int pstn_access); -SPAN_DECLARE(const char) *v8_pcm_modem_availability_to_str(int pcm_modem_availability); +SPAN_DECLARE(const char *) v8_call_function_to_str(int call_function); +SPAN_DECLARE(const char *) v8_modulation_to_str(int modulation_scheme); +SPAN_DECLARE(const char *) v8_protocol_to_str(int protocol); +SPAN_DECLARE(const char *) v8_pstn_access_to_str(int pstn_access); +SPAN_DECLARE(const char *) v8_pcm_modem_availability_to_str(int pcm_modem_availability); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/super_tone_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/super_tone_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/super_tone_rx.c Mon Feb 2 15:36:29 2009 @@ -105,7 +105,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_rx_add_tone(super_tone_rx_descriptor_t *desc) +SPAN_DECLARE(int) super_tone_rx_add_tone(super_tone_rx_descriptor_t *desc) { if (desc->tones%5 == 0) { @@ -119,7 +119,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_rx_add_element(super_tone_rx_descriptor_t *desc, +SPAN_DECLARE(int) super_tone_rx_add_element(super_tone_rx_descriptor_t *desc, int tone, int f1, int f2, @@ -197,7 +197,7 @@ } /*- End of function --------------------------------------------------------*/ -super_tone_rx_descriptor_t *super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc) +SPAN_DECLARE(super_tone_rx_descriptor_t *) super_tone_rx_make_descriptor(super_tone_rx_descriptor_t *desc) { if (desc == NULL) { @@ -215,7 +215,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_rx_free_descriptor(super_tone_rx_descriptor_t *desc) +SPAN_DECLARE(int) super_tone_rx_free_descriptor(super_tone_rx_descriptor_t *desc) { if (desc) free(desc); @@ -223,14 +223,14 @@ } /*- End of function --------------------------------------------------------*/ -void super_tone_rx_segment_callback(super_tone_rx_state_t *s, +SPAN_DECLARE(void) super_tone_rx_segment_callback(super_tone_rx_state_t *s, void (*callback)(void *data, int f1, int f2, int duration)) { s->segment_callback = callback; } /*- End of function --------------------------------------------------------*/ -super_tone_rx_state_t *super_tone_rx_init(super_tone_rx_state_t *s, +SPAN_DECLARE(super_tone_rx_state_t *) super_tone_rx_init(super_tone_rx_state_t *s, super_tone_rx_descriptor_t *desc, tone_report_func_t callback, void *user_data) @@ -266,7 +266,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_rx_free(super_tone_rx_state_t *s) +SPAN_DECLARE(int) super_tone_rx_free(super_tone_rx_state_t *s) { if (s) free(s); @@ -410,7 +410,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_rx(super_tone_rx_state_t *s, const int16_t amp[], int samples) +SPAN_DECLARE(int) super_tone_rx(super_tone_rx_state_t *s, const int16_t amp[], int samples) { int i; int x; Modified: freeswitch/trunk/libs/spandsp/src/super_tone_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/super_tone_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/super_tone_tx.c Mon Feb 2 15:36:29 2009 @@ -69,7 +69,7 @@ two iterations of 50 seconds each. */ -super_tone_tx_step_t *super_tone_tx_make_step(super_tone_tx_step_t *s, +SPAN_DECLARE(super_tone_tx_step_t *) super_tone_tx_make_step(super_tone_tx_step_t *s, float f1, float l1, float f2, @@ -111,7 +111,7 @@ } /*- End of function --------------------------------------------------------*/ -void super_tone_tx_free(super_tone_tx_step_t *s) +SPAN_DECLARE(void) super_tone_tx_free(super_tone_tx_step_t *s) { super_tone_tx_step_t *t; @@ -127,7 +127,7 @@ } /*- End of function --------------------------------------------------------*/ -super_tone_tx_state_t *super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree) +SPAN_DECLARE(super_tone_tx_state_t *) super_tone_tx_init(super_tone_tx_state_t *s, super_tone_tx_step_t *tree) { if (tree == NULL) return NULL; @@ -146,7 +146,7 @@ } /*- End of function --------------------------------------------------------*/ -int super_tone_tx(super_tone_tx_state_t *s, int16_t amp[], int max_samples) +SPAN_DECLARE(int) super_tone_tx(super_tone_tx_state_t *s, int16_t amp[], int max_samples) { int samples; int limit; Modified: freeswitch/trunk/libs/spandsp/src/t30.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30.c Mon Feb 2 15:36:29 2009 @@ -5026,7 +5026,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_non_ecm_put_byte(void *user_data, int byte) +SPAN_DECLARE(void) t30_non_ecm_put_byte(void *user_data, int byte) { t30_state_t *s; @@ -5062,7 +5062,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_non_ecm_put_chunk(void *user_data, const uint8_t buf[], int len) +SPAN_DECLARE(void) t30_non_ecm_put_chunk(void *user_data, const uint8_t buf[], int len) { t30_state_t *s; int i; @@ -5137,7 +5137,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_non_ecm_get_byte(void *user_data) +SPAN_DECLARE(int) t30_non_ecm_get_byte(void *user_data) { int byte; t30_state_t *s; @@ -5172,7 +5172,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_non_ecm_get_chunk(void *user_data, uint8_t buf[], int max_len) +SPAN_DECLARE(int) t30_non_ecm_get_chunk(void *user_data, uint8_t buf[], int max_len) { int len; t30_state_t *s; @@ -5356,7 +5356,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_front_end_status(void *user_data, int status) +SPAN_DECLARE(void) t30_front_end_status(void *user_data, int status) { t30_state_t *s; @@ -5671,7 +5671,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_timer_update(t30_state_t *s, int samples) +SPAN_DECLARE(void) t30_timer_update(t30_state_t *s, int samples) { if (s->timer_t0_t1 > 0) { @@ -5723,7 +5723,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_terminate(t30_state_t *s) +SPAN_DECLARE(void) t30_terminate(t30_state_t *s) { if (s->phase != T30_PHASE_CALL_FINISHED) { @@ -5753,7 +5753,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_get_transfer_statistics(t30_state_t *s, t30_stats_t *t) +SPAN_DECLARE(void) t30_get_transfer_statistics(t30_state_t *s, t30_stats_t *t) { t4_stats_t stats; @@ -5775,7 +5775,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_local_interrupt_request(t30_state_t *s, int state) +SPAN_DECLARE(void) t30_local_interrupt_request(t30_state_t *s, int state) { if (s->timer_t3 > 0) { @@ -5787,7 +5787,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_restart(t30_state_t *s) +SPAN_DECLARE(int) t30_restart(t30_state_t *s) { s->phase = T30_PHASE_IDLE; s->next_phase = T30_PHASE_IDLE; @@ -5822,7 +5822,7 @@ } /*- End of function --------------------------------------------------------*/ -t30_state_t *t30_init(t30_state_t *s, +SPAN_DECLARE(t30_state_t *) t30_init(t30_state_t *s, int calling_party, t30_set_handler_t *set_rx_type_handler, void *set_rx_type_user_data, @@ -5863,7 +5863,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_release(t30_state_t *s) +SPAN_DECLARE(int) t30_release(t30_state_t *s) { /* Make sure any FAX in progress is tidied up. If the tidying up has already happened, repeating it here is harmless. */ @@ -5881,7 +5881,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_free(t30_state_t *s) +SPAN_DECLARE(int) t30_free(t30_state_t *s) { t30_release(s); free(s); @@ -5889,7 +5889,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_call_active(t30_state_t *s) +SPAN_DECLARE(int) t30_call_active(t30_state_t *s) { return (s->phase != T30_PHASE_CALL_FINISHED); } Modified: freeswitch/trunk/libs/spandsp/src/t30_api.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30_api.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30_api.c Mon Feb 2 15:36:29 2009 @@ -73,7 +73,7 @@ #include "t30_local.h" -int t30_set_tx_ident(t30_state_t *s, const char *id) +SPAN_DECLARE(int) t30_set_tx_ident(t30_state_t *s, const char *id) { if (id == NULL) { @@ -88,7 +88,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_ident(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_ident(t30_state_t *s) { if (s->tx_info.ident[0] == '\0') return NULL; @@ -96,7 +96,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_ident(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_ident(t30_state_t *s) { if (s->rx_info.ident[0] == '\0') return NULL; @@ -104,7 +104,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_sub_address(t30_state_t *s, const char *sub_address) +SPAN_DECLARE(int) t30_set_tx_sub_address(t30_state_t *s, const char *sub_address) { if (sub_address == NULL) { @@ -118,7 +118,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_sub_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_sub_address(t30_state_t *s) { if (s->tx_info.sub_address[0] == '\0') return NULL; @@ -126,7 +126,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_sub_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_sub_address(t30_state_t *s) { if (s->rx_info.sub_address[0] == '\0') return NULL; @@ -134,7 +134,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_selective_polling_address(t30_state_t *s, const char *selective_polling_address) +SPAN_DECLARE(int) t30_set_tx_selective_polling_address(t30_state_t *s, const char *selective_polling_address) { if (selective_polling_address == NULL) { @@ -148,7 +148,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_selective_polling_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_selective_polling_address(t30_state_t *s) { if (s->tx_info.selective_polling_address[0] == '\0') return NULL; @@ -156,7 +156,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_selective_polling_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_selective_polling_address(t30_state_t *s) { if (s->rx_info.selective_polling_address[0] == '\0') return NULL; @@ -164,7 +164,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_polled_sub_address(t30_state_t *s, const char *polled_sub_address) +SPAN_DECLARE(int) t30_set_tx_polled_sub_address(t30_state_t *s, const char *polled_sub_address) { if (polled_sub_address == NULL) { @@ -178,7 +178,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_polled_sub_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_polled_sub_address(t30_state_t *s) { if (s->tx_info.polled_sub_address[0] == '\0') return NULL; @@ -186,7 +186,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_polled_sub_address(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_polled_sub_address(t30_state_t *s) { if (s->rx_info.polled_sub_address[0] == '\0') return NULL; @@ -194,7 +194,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_sender_ident(t30_state_t *s, const char *sender_ident) +SPAN_DECLARE(int) t30_set_tx_sender_ident(t30_state_t *s, const char *sender_ident) { if (sender_ident == NULL) { @@ -208,7 +208,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_sender_ident(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_sender_ident(t30_state_t *s) { if (s->tx_info.sender_ident[0] == '\0') return NULL; @@ -216,7 +216,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_sender_ident(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_sender_ident(t30_state_t *s) { if (s->rx_info.sender_ident[0] == '\0') return NULL; @@ -224,7 +224,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_password(t30_state_t *s, const char *password) +SPAN_DECLARE(int) t30_set_tx_password(t30_state_t *s, const char *password) { if (password == NULL) { @@ -238,7 +238,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_tx_password(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_tx_password(t30_state_t *s) { if (s->tx_info.password[0] == '\0') return NULL; @@ -246,7 +246,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_password(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_password(t30_state_t *s) { if (s->rx_info.password[0] == '\0') return NULL; @@ -254,7 +254,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_nsf(t30_state_t *s, const uint8_t *nsf, int len) +SPAN_DECLARE(int) t30_set_tx_nsf(t30_state_t *s, const uint8_t *nsf, int len) { if (s->tx_info.nsf) free(s->tx_info.nsf); @@ -272,7 +272,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_nsf(t30_state_t *s, const uint8_t *nsf[]) +SPAN_DECLARE(size_t) t30_get_tx_nsf(t30_state_t *s, const uint8_t *nsf[]) { if (nsf) *nsf = s->tx_info.nsf; @@ -280,7 +280,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_nsf(t30_state_t *s, const uint8_t *nsf[]) +SPAN_DECLARE(size_t) t30_get_rx_nsf(t30_state_t *s, const uint8_t *nsf[]) { if (nsf) *nsf = s->rx_info.nsf; @@ -288,7 +288,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_nsc(t30_state_t *s, const uint8_t *nsc, int len) +SPAN_DECLARE(int) t30_set_tx_nsc(t30_state_t *s, const uint8_t *nsc, int len) { if (s->tx_info.nsc) free(s->tx_info.nsc); @@ -306,7 +306,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_nsc(t30_state_t *s, const uint8_t *nsc[]) +SPAN_DECLARE(size_t) t30_get_tx_nsc(t30_state_t *s, const uint8_t *nsc[]) { if (nsc) *nsc = s->tx_info.nsc; @@ -314,7 +314,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_nsc(t30_state_t *s, const uint8_t *nsc[]) +SPAN_DECLARE(size_t) t30_get_rx_nsc(t30_state_t *s, const uint8_t *nsc[]) { if (nsc) *nsc = s->rx_info.nsc; @@ -322,7 +322,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_nss(t30_state_t *s, const uint8_t *nss, int len) +SPAN_DECLARE(int) t30_set_tx_nss(t30_state_t *s, const uint8_t *nss, int len) { if (s->tx_info.nss) free(s->tx_info.nss); @@ -340,7 +340,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_nss(t30_state_t *s, const uint8_t *nss[]) +SPAN_DECLARE(size_t) t30_get_tx_nss(t30_state_t *s, const uint8_t *nss[]) { if (nss) *nss = s->tx_info.nss; @@ -348,7 +348,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_nss(t30_state_t *s, const uint8_t *nss[]) +SPAN_DECLARE(size_t) t30_get_rx_nss(t30_state_t *s, const uint8_t *nss[]) { if (nss) *nss = s->rx_info.nss; @@ -356,7 +356,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_tsa(t30_state_t *s, int type, const char *address, int len) +SPAN_DECLARE(int) t30_set_tx_tsa(t30_state_t *s, int type, const char *address, int len) { if (s->tx_info.tsa) free(s->tx_info.tsa); @@ -378,7 +378,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_tsa(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_tx_tsa(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->tx_info.tsa_type; @@ -388,7 +388,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_tsa(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_rx_tsa(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->rx_info.tsa_type; @@ -398,7 +398,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_ira(t30_state_t *s, int type, const char *address, int len) +SPAN_DECLARE(int) t30_set_tx_ira(t30_state_t *s, int type, const char *address, int len) { if (s->tx_info.ira) free(s->tx_info.ira); @@ -412,7 +412,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_ira(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_tx_ira(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->tx_info.ira_type; @@ -422,7 +422,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_ira(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_rx_ira(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->rx_info.ira_type; @@ -432,7 +432,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_cia(t30_state_t *s, int type, const char *address, int len) +SPAN_DECLARE(int) t30_set_tx_cia(t30_state_t *s, int type, const char *address, int len) { if (s->tx_info.cia) free(s->tx_info.cia); @@ -446,7 +446,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_cia(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_tx_cia(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->tx_info.cia_type; @@ -456,7 +456,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_cia(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_rx_cia(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->rx_info.cia_type; @@ -466,7 +466,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_isp(t30_state_t *s, int type, const char *address, int len) +SPAN_DECLARE(int) t30_set_tx_isp(t30_state_t *s, int type, const char *address, int len) { if (s->tx_info.isp) free(s->tx_info.isp); @@ -480,7 +480,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_isp(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_tx_isp(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->tx_info.isp_type; @@ -490,7 +490,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_isp(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_rx_isp(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->rx_info.isp_type; @@ -500,7 +500,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_csa(t30_state_t *s, int type, const char *address, int len) +SPAN_DECLARE(int) t30_set_tx_csa(t30_state_t *s, int type, const char *address, int len) { if (s->tx_info.csa) free(s->tx_info.csa); @@ -514,7 +514,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_csa(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_tx_csa(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->tx_info.csa_type; @@ -524,7 +524,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_rx_csa(t30_state_t *s, int *type, const char *address[]) +SPAN_DECLARE(size_t) t30_get_rx_csa(t30_state_t *s, int *type, const char *address[]) { if (type) *type = s->rx_info.csa_type; @@ -534,7 +534,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_tx_page_header_info(t30_state_t *s, const char *info) +SPAN_DECLARE(int) t30_set_tx_page_header_info(t30_state_t *s, const char *info) { if (info == NULL) { @@ -549,7 +549,7 @@ } /*- End of function --------------------------------------------------------*/ -size_t t30_get_tx_page_header_info(t30_state_t *s, char *info) +SPAN_DECLARE(size_t) t30_get_tx_page_header_info(t30_state_t *s, char *info) { if (info) strcpy(info, s->header_info); @@ -557,25 +557,25 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_country(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_country(t30_state_t *s) { return s->country; } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_vendor(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_vendor(t30_state_t *s) { return s->vendor; } /*- End of function --------------------------------------------------------*/ -const char *t30_get_rx_model(t30_state_t *s) +SPAN_DECLARE(const char *) t30_get_rx_model(t30_state_t *s) { return s->model; } /*- End of function --------------------------------------------------------*/ -void t30_set_rx_file(t30_state_t *s, const char *file, int stop_page) +SPAN_DECLARE(void) t30_set_rx_file(t30_state_t *s, const char *file, int stop_page) { strncpy(s->rx_file, file, sizeof(s->rx_file)); s->rx_file[sizeof(s->rx_file) - 1] = '\0'; @@ -583,7 +583,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_set_tx_file(t30_state_t *s, const char *file, int start_page, int stop_page) +SPAN_DECLARE(void) t30_set_tx_file(t30_state_t *s, const char *file, int start_page, int stop_page) { strncpy(s->tx_file, file, sizeof(s->tx_file)); s->tx_file[sizeof(s->tx_file) - 1] = '\0'; @@ -592,13 +592,13 @@ } /*- End of function --------------------------------------------------------*/ -void t30_set_iaf_mode(t30_state_t *s, int iaf) +SPAN_DECLARE(void) t30_set_iaf_mode(t30_state_t *s, int iaf) { s->iaf = iaf; } /*- End of function --------------------------------------------------------*/ -int t30_set_ecm_capability(t30_state_t *s, int enabled) +SPAN_DECLARE(int) t30_set_ecm_capability(t30_state_t *s, int enabled) { s->ecm_allowed = enabled; t30_build_dis_or_dtc(s); @@ -606,7 +606,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_rx_encoding(t30_state_t *s, int encoding) +SPAN_DECLARE(int) t30_set_rx_encoding(t30_state_t *s, int encoding) { switch (encoding) { @@ -620,7 +620,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_minimum_scan_line_time(t30_state_t *s, int min_time) +SPAN_DECLARE(int) t30_set_minimum_scan_line_time(t30_state_t *s, int min_time) { /* There are only certain possible times supported, so we need to select the code which best matches the request. */ @@ -641,7 +641,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_supported_modems(t30_state_t *s, int supported_modems) +SPAN_DECLARE(int) t30_set_supported_modems(t30_state_t *s, int supported_modems) { s->supported_modems = supported_modems; t30_build_dis_or_dtc(s); @@ -649,7 +649,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_supported_compressions(t30_state_t *s, int supported_compressions) +SPAN_DECLARE(int) t30_set_supported_compressions(t30_state_t *s, int supported_compressions) { s->supported_compressions = supported_compressions; t30_build_dis_or_dtc(s); @@ -657,7 +657,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions) +SPAN_DECLARE(int) t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions) { s->supported_resolutions = supported_resolutions; t30_build_dis_or_dtc(s); @@ -665,7 +665,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_supported_image_sizes(t30_state_t *s, int supported_image_sizes) +SPAN_DECLARE(int) t30_set_supported_image_sizes(t30_state_t *s, int supported_image_sizes) { s->supported_image_sizes = supported_image_sizes; t30_build_dis_or_dtc(s); @@ -673,7 +673,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_set_supported_t30_features(t30_state_t *s, int supported_t30_features) +SPAN_DECLARE(int) t30_set_supported_t30_features(t30_state_t *s, int supported_t30_features) { s->supported_t30_features = supported_t30_features; t30_build_dis_or_dtc(s); @@ -681,55 +681,55 @@ } /*- End of function --------------------------------------------------------*/ -void t30_set_status(t30_state_t *s, int status) +SPAN_DECLARE(void) t30_set_status(t30_state_t *s, int status) { s->current_status = status; } /*- End of function --------------------------------------------------------*/ -int t30_set_receiver_not_ready(t30_state_t *s, int count) +SPAN_DECLARE(int) t30_set_receiver_not_ready(t30_state_t *s, int count) { s->receiver_not_ready_count = count; return 0; } /*- End of function --------------------------------------------------------*/ -void t30_set_phase_b_handler(t30_state_t *s, t30_phase_b_handler_t *handler, void *user_data) +SPAN_DECLARE(void) t30_set_phase_b_handler(t30_state_t *s, t30_phase_b_handler_t *handler, void *user_data) { s->phase_b_handler = handler; s->phase_b_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void t30_set_phase_d_handler(t30_state_t *s, t30_phase_d_handler_t *handler, void *user_data) +SPAN_DECLARE(void) t30_set_phase_d_handler(t30_state_t *s, t30_phase_d_handler_t *handler, void *user_data) { s->phase_d_handler = handler; s->phase_d_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void t30_set_phase_e_handler(t30_state_t *s, t30_phase_e_handler_t *handler, void *user_data) +SPAN_DECLARE(void) t30_set_phase_e_handler(t30_state_t *s, t30_phase_e_handler_t *handler, void *user_data) { s->phase_e_handler = handler; s->phase_e_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void t30_set_document_handler(t30_state_t *s, t30_document_handler_t *handler, void *user_data) +SPAN_DECLARE(void) t30_set_document_handler(t30_state_t *s, t30_document_handler_t *handler, void *user_data) { s->document_handler = handler; s->document_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void t30_set_real_time_frame_handler(t30_state_t *s, t30_real_time_frame_handler_t *handler, void *user_data) +SPAN_DECLARE(void) t30_set_real_time_frame_handler(t30_state_t *s, t30_real_time_frame_handler_t *handler, void *user_data) { s->real_time_frame_handler = handler; s->real_time_frame_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *t30_get_logging_state(t30_state_t *s) +SPAN_DECLARE(logging_state_t *) t30_get_logging_state(t30_state_t *s) { return &s->logging; } Modified: freeswitch/trunk/libs/spandsp/src/t30_logging.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30_logging.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30_logging.c Mon Feb 2 15:36:29 2009 @@ -90,7 +90,7 @@ DISBIT8 = 0x80 }; -const char *t30_completion_code_to_str(int result) +SPAN_DECLARE(const char *) t30_completion_code_to_str(int result) { switch (result) { @@ -223,7 +223,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t30_frametype(uint8_t x) +SPAN_DECLARE(const char *) t30_frametype(uint8_t x) { switch (x) { @@ -488,7 +488,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_decode_dis_dtc_dcs(t30_state_t *s, const uint8_t *pkt, int len) +SPAN_DECLARE(void) t30_decode_dis_dtc_dcs(t30_state_t *s, const uint8_t *pkt, int len) { logging_state_t *log; uint8_t frame_type; Modified: freeswitch/trunk/libs/spandsp/src/t31.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t31.c (original) +++ freeswitch/trunk/libs/spandsp/src/t31.c Mon Feb 2 15:36:29 2009 @@ -930,7 +930,7 @@ } /*- End of function --------------------------------------------------------*/ -int t31_t38_send_timeout(t31_state_t *s, int samples) +SPAN_DECLARE(int) t31_t38_send_timeout(t31_state_t *s, int samples) { t31_t38_front_end_state_t *fe; int delay; @@ -2039,14 +2039,14 @@ } /*- End of function --------------------------------------------------------*/ -void t31_call_event(t31_state_t *s, int event) +SPAN_DECLARE(void) t31_call_event(t31_state_t *s, int event) { span_log(&s->logging, SPAN_LOG_FLOW, "Call event %d received\n", event); at_call_event(&s->at_state, event); } /*- End of function --------------------------------------------------------*/ -int t31_at_rx(t31_state_t *s, const char *t, int len) +SPAN_DECLARE(int) t31_at_rx(t31_state_t *s, const char *t, int len) { if (s->dte_data_timeout) s->dte_data_timeout = s->call_samples + ms_to_samples(5000); @@ -2258,7 +2258,7 @@ } /*- End of function --------------------------------------------------------*/ -int t31_rx(t31_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) t31_rx(t31_state_t *s, int16_t amp[], int len) { int i; int32_t power; @@ -2322,7 +2322,7 @@ } /*- End of function --------------------------------------------------------*/ -int t31_tx(t31_state_t *s, int16_t amp[], int max_len) +SPAN_DECLARE(int) t31_tx(t31_state_t *s, int16_t amp[], int max_len) { int len; @@ -2347,19 +2347,19 @@ } /*- End of function --------------------------------------------------------*/ -void t31_set_transmit_on_idle(t31_state_t *s, int transmit_on_idle) +SPAN_DECLARE(void) t31_set_transmit_on_idle(t31_state_t *s, int transmit_on_idle) { s->audio.modems.transmit_on_idle = transmit_on_idle; } /*- End of function --------------------------------------------------------*/ -void t31_set_tep_mode(t31_state_t *s, int use_tep) +SPAN_DECLARE(void) t31_set_tep_mode(t31_state_t *s, int use_tep) { s->audio.modems.use_tep = use_tep; } /*- End of function --------------------------------------------------------*/ -void t31_set_t38_config(t31_state_t *s, int without_pacing) +SPAN_DECLARE(void) t31_set_t38_config(t31_state_t *s, int without_pacing) { if (without_pacing) { @@ -2382,20 +2382,20 @@ } /*- End of function --------------------------------------------------------*/ -void t31_set_mode(t31_state_t *s, int t38_mode) +SPAN_DECLARE(void) t31_set_mode(t31_state_t *s, int t38_mode) { s->t38_mode = t38_mode; span_log(&s->logging, SPAN_LOG_FLOW, "Mode set to %d\n", s->t38_mode); } /*- End of function --------------------------------------------------------*/ -logging_state_t *t31_get_logging_state(t31_state_t *s) +SPAN_DECLARE(logging_state_t *) t31_get_logging_state(t31_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -t38_core_state_t *t31_get_t38_core_state(t31_state_t *s) +SPAN_DECLARE(t38_core_state_t *) t31_get_t38_core_state(t31_state_t *s) { return &s->t38_fe.t38; } @@ -2445,7 +2445,7 @@ } /*- End of function --------------------------------------------------------*/ -t31_state_t *t31_init(t31_state_t *s, +SPAN_DECLARE(t31_state_t *) t31_init(t31_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, t31_modem_control_handler_t *modem_control_handler, @@ -2507,7 +2507,7 @@ } /*- End of function --------------------------------------------------------*/ -int t31_release(t31_state_t *s) +SPAN_DECLARE(int) t31_release(t31_state_t *s) { at_reset_call_info(&s->at_state); free(s); Modified: freeswitch/trunk/libs/spandsp/src/t35.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t35.c (original) +++ freeswitch/trunk/libs/spandsp/src/t35.c Mon Feb 2 15:36:29 2009 @@ -798,7 +798,7 @@ /*- End of function --------------------------------------------------------*/ #endif -int t35_decode(const uint8_t *msg, int len, const char **country, const char **vendor, const char **model) +SPAN_DECLARE(int) t35_decode(const uint8_t *msg, int len, const char **country, const char **vendor, const char **model) { int vendor_decoded; const nsf_data_t *p; Modified: freeswitch/trunk/libs/spandsp/src/t38_core.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_core.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_core.c Mon Feb 2 15:36:29 2009 @@ -92,7 +92,7 @@ { 215000, 0, 0} /* T38_IND_V33_14400_TRAINING */ }; -const char *t38_indicator_to_str(int indicator) +SPAN_DECLARE(const char *) t38_indicator_to_str(int indicator) { switch (indicator) { @@ -147,7 +147,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t38_data_type_to_str(int data_type) +SPAN_DECLARE(const char *) t38_data_type_to_str(int data_type) { switch (data_type) { @@ -186,7 +186,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t38_field_type_to_str(int field_type) +SPAN_DECLARE(const char *) t38_field_type_to_str(int field_type) { switch (field_type) { @@ -219,7 +219,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t38_cm_profile_to_str(int profile) +SPAN_DECLARE(const char *) t38_cm_profile_to_str(int profile) { switch (profile) { @@ -240,7 +240,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t38_jm_to_str(const uint8_t *data, int len) +SPAN_DECLARE(const char *) t38_jm_to_str(const uint8_t *data, int len) { if (len < 2) return "???"; @@ -271,7 +271,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_v34rate_to_bps(const uint8_t *data, int len) +SPAN_DECLARE(int) t38_v34rate_to_bps(const uint8_t *data, int len) { int i; int rate; @@ -327,7 +327,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_core_rx_ifp_packet(t38_core_state_t *s, const uint8_t *buf, int len, uint16_t seq_no) +SPAN_DECLARE(int) t38_core_rx_ifp_packet(t38_core_state_t *s, const uint8_t *buf, int len, uint16_t seq_no) { int i; int t30_indicator; @@ -777,7 +777,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_core_send_indicator(t38_core_state_t *s, int indicator, int count) +SPAN_DECLARE(int) t38_core_send_indicator(t38_core_state_t *s, int indicator, int count) { uint8_t buf[100]; int len; @@ -809,13 +809,13 @@ } /*- End of function --------------------------------------------------------*/ -int t38_core_send_flags_delay(t38_core_state_t *s, int indicator) +SPAN_DECLARE(int) t38_core_send_flags_delay(t38_core_state_t *s, int indicator) { return modem_startup_time[indicator].flags; } /*- End of function --------------------------------------------------------*/ -int t38_core_send_data(t38_core_state_t *s, int data_type, int field_type, const uint8_t field[], int field_len, int count) +SPAN_DECLARE(int) t38_core_send_data(t38_core_state_t *s, int data_type, int field_type, const uint8_t field[], int field_len, int count) { t38_data_field_t field0; uint8_t buf[1000]; @@ -835,7 +835,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_core_send_data_multi_field(t38_core_state_t *s, int data_type, const t38_data_field_t field[], int fields, int count) +SPAN_DECLARE(int) t38_core_send_data_multi_field(t38_core_state_t *s, int data_type, const t38_data_field_t field[], int fields, int count) { uint8_t buf[1000]; int len; @@ -851,79 +851,79 @@ } /*- End of function --------------------------------------------------------*/ -void t38_set_data_rate_management_method(t38_core_state_t *s, int method) +SPAN_DECLARE(void) t38_set_data_rate_management_method(t38_core_state_t *s, int method) { s->data_rate_management_method = method; } /*- End of function --------------------------------------------------------*/ -void t38_set_data_transport_protocol(t38_core_state_t *s, int data_transport_protocol) +SPAN_DECLARE(void) t38_set_data_transport_protocol(t38_core_state_t *s, int data_transport_protocol) { s->data_transport_protocol = data_transport_protocol; } /*- End of function --------------------------------------------------------*/ -void t38_set_fill_bit_removal(t38_core_state_t *s, int fill_bit_removal) +SPAN_DECLARE(void) t38_set_fill_bit_removal(t38_core_state_t *s, int fill_bit_removal) { s->fill_bit_removal = fill_bit_removal; } /*- End of function --------------------------------------------------------*/ -void t38_set_mmr_transcoding(t38_core_state_t *s, int mmr_transcoding) +SPAN_DECLARE(void) t38_set_mmr_transcoding(t38_core_state_t *s, int mmr_transcoding) { s->mmr_transcoding = mmr_transcoding; } /*- End of function --------------------------------------------------------*/ -void t38_set_jbig_transcoding(t38_core_state_t *s, int jbig_transcoding) +SPAN_DECLARE(void) t38_set_jbig_transcoding(t38_core_state_t *s, int jbig_transcoding) { s->jbig_transcoding = jbig_transcoding; } /*- End of function --------------------------------------------------------*/ -void t38_set_max_buffer_size(t38_core_state_t *s, int max_buffer_size) +SPAN_DECLARE(void) t38_set_max_buffer_size(t38_core_state_t *s, int max_buffer_size) { s->max_buffer_size = max_buffer_size; } /*- End of function --------------------------------------------------------*/ -void t38_set_max_datagram_size(t38_core_state_t *s, int max_datagram_size) +SPAN_DECLARE(void) t38_set_max_datagram_size(t38_core_state_t *s, int max_datagram_size) { s->max_datagram_size = max_datagram_size; } /*- End of function --------------------------------------------------------*/ -void t38_set_t38_version(t38_core_state_t *s, int t38_version) +SPAN_DECLARE(void) t38_set_t38_version(t38_core_state_t *s, int t38_version) { s->t38_version = t38_version; } /*- End of function --------------------------------------------------------*/ -void t38_set_sequence_number_handling(t38_core_state_t *s, int check) +SPAN_DECLARE(void) t38_set_sequence_number_handling(t38_core_state_t *s, int check) { s->check_sequence_numbers = check; } /*- End of function --------------------------------------------------------*/ -void t38_set_tep_handling(t38_core_state_t *s, int allow_for_tep) +SPAN_DECLARE(void) t38_set_tep_handling(t38_core_state_t *s, int allow_for_tep) { s->allow_for_tep = allow_for_tep; } /*- End of function --------------------------------------------------------*/ -int t38_get_fastest_image_data_rate(t38_core_state_t *s) +SPAN_DECLARE(int) t38_get_fastest_image_data_rate(t38_core_state_t *s) { return s->fastest_image_data_rate; } /*- End of function --------------------------------------------------------*/ -logging_state_t *t38_core_get_logging_state(t38_core_state_t *s) +SPAN_DECLARE(logging_state_t *) t38_core_get_logging_state(t38_core_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -t38_core_state_t *t38_core_init(t38_core_state_t *s, +SPAN_DECLARE(t38_core_state_t *) t38_core_init(t38_core_state_t *s, t38_rx_indicator_handler_t *rx_indicator_handler, t38_rx_data_handler_t *rx_data_handler, t38_rx_missing_handler_t *rx_missing_handler, Modified: freeswitch/trunk/libs/spandsp/src/t38_gateway.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_gateway.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_gateway.c Mon Feb 2 15:36:29 2009 @@ -2016,7 +2016,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_gateway_rx(t38_gateway_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) t38_gateway_rx(t38_gateway_state_t *s, int16_t amp[], int len) { int i; @@ -2059,7 +2059,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_gateway_tx(t38_gateway_state_t *s, int16_t amp[], int max_len) +SPAN_DECLARE(int) t38_gateway_tx(t38_gateway_state_t *s, int16_t amp[], int max_len) { int len; #if defined(LOG_FAX_AUDIO) @@ -2104,7 +2104,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_gateway_get_transfer_statistics(t38_gateway_state_t *s, t38_stats_t *t) +SPAN_DECLARE(void) t38_gateway_get_transfer_statistics(t38_gateway_state_t *s, t38_stats_t *t) { memset(t, 0, sizeof(*t)); t->bit_rate = s->core.fast_bit_rate; @@ -2113,31 +2113,31 @@ } /*- End of function --------------------------------------------------------*/ -t38_core_state_t *t38_gateway_get_t38_core_state(t38_gateway_state_t *s) +SPAN_DECLARE(t38_core_state_t *) t38_gateway_get_t38_core_state(t38_gateway_state_t *s) { return &s->t38x.t38; } /*- End of function --------------------------------------------------------*/ -logging_state_t *t38_gateway_get_logging_state(t38_gateway_state_t *s) +SPAN_DECLARE(logging_state_t *) t38_gateway_get_logging_state(t38_gateway_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_ecm_capability(t38_gateway_state_t *s, int ecm_allowed) +SPAN_DECLARE(void) t38_gateway_set_ecm_capability(t38_gateway_state_t *s, int ecm_allowed) { s->core.ecm_allowed = ecm_allowed; } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_transmit_on_idle(t38_gateway_state_t *s, int transmit_on_idle) +SPAN_DECLARE(void) t38_gateway_set_transmit_on_idle(t38_gateway_state_t *s, int transmit_on_idle) { s->audio.modems.transmit_on_idle = transmit_on_idle; } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_supported_modems(t38_gateway_state_t *s, int supported_modems) +SPAN_DECLARE(void) t38_gateway_set_supported_modems(t38_gateway_state_t *s, int supported_modems) { s->core.supported_modems = supported_modems; if ((s->core.supported_modems & T30_SUPPORT_V17)) @@ -2150,7 +2150,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_nsx_suppression(t38_gateway_state_t *s, +SPAN_DECLARE(void) t38_gateway_set_nsx_suppression(t38_gateway_state_t *s, const uint8_t *from_t38, int from_t38_len, const uint8_t *from_modem, @@ -2161,19 +2161,19 @@ } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_tep_mode(t38_gateway_state_t *s, int use_tep) +SPAN_DECLARE(void) t38_gateway_set_tep_mode(t38_gateway_state_t *s, int use_tep) { s->audio.modems.use_tep = use_tep; } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_fill_bit_removal(t38_gateway_state_t *s, int remove) +SPAN_DECLARE(void) t38_gateway_set_fill_bit_removal(t38_gateway_state_t *s, int remove) { s->core.to_t38.fill_bit_removal = remove; } /*- End of function --------------------------------------------------------*/ -void t38_gateway_set_real_time_frame_handler(t38_gateway_state_t *s, +SPAN_DECLARE(void) t38_gateway_set_real_time_frame_handler(t38_gateway_state_t *s, t38_gateway_real_time_frame_handler_t *handler, void *user_data) { @@ -2210,7 +2210,7 @@ } /*- End of function --------------------------------------------------------*/ -t38_gateway_state_t *t38_gateway_init(t38_gateway_state_t *s, +SPAN_DECLARE(t38_gateway_state_t *) t38_gateway_init(t38_gateway_state_t *s, t38_tx_packet_handler_t *tx_packet_handler, void *tx_packet_user_data) { @@ -2273,7 +2273,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_gateway_free(t38_gateway_state_t *s) +SPAN_DECLARE(int) t38_gateway_free(t38_gateway_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c Mon Feb 2 15:36:29 2009 @@ -114,7 +114,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_non_ecm_buffer_push(t38_non_ecm_buffer_state_t *s) +SPAN_DECLARE(void) t38_non_ecm_buffer_push(t38_non_ecm_buffer_state_t *s) { /* Don't flow control the data any more. Just push out the remainder of the data in the buffer as fast as we can, and shut down. */ @@ -123,7 +123,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_non_ecm_buffer_inject(t38_non_ecm_buffer_state_t *s, const uint8_t *buf, int len) +SPAN_DECLARE(void) t38_non_ecm_buffer_inject(t38_non_ecm_buffer_state_t *s, const uint8_t *buf, int len) { int i; int upper; @@ -218,7 +218,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_non_ecm_buffer_report_input_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging) +SPAN_DECLARE(void) t38_non_ecm_buffer_report_input_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging) { if (s->in_octets || s->min_row_bits_fill_octets) { @@ -235,7 +235,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_non_ecm_buffer_report_output_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging) +SPAN_DECLARE(void) t38_non_ecm_buffer_report_output_status(t38_non_ecm_buffer_state_t *s, logging_state_t *logging) { if (s->out_octets || s->flow_control_fill_octets) { @@ -252,14 +252,14 @@ } /*- End of function --------------------------------------------------------*/ -void t38_non_ecm_buffer_set_mode(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) +SPAN_DECLARE(void) t38_non_ecm_buffer_set_mode(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) { s->image_data_mode = mode; s->min_row_bits = min_row_bits; } /*- End of function --------------------------------------------------------*/ -t38_non_ecm_buffer_state_t *t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) +SPAN_DECLARE(t38_non_ecm_buffer_state_t *) t38_non_ecm_buffer_init(t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) { memset(s, 0, sizeof(*s)); s->octet = 0xFF; Modified: freeswitch/trunk/libs/spandsp/src/t38_terminal.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_terminal.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_terminal.c Mon Feb 2 15:36:29 2009 @@ -825,7 +825,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_terminal_send_timeout(t38_terminal_state_t *s, int samples) +SPAN_DECLARE(int) t38_terminal_send_timeout(t38_terminal_state_t *s, int samples) { t38_terminal_front_end_state_t *fe; int delay; @@ -1004,7 +1004,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_terminal_set_config(t38_terminal_state_t *s, int without_pacing) +SPAN_DECLARE(void) t38_terminal_set_config(t38_terminal_state_t *s, int without_pacing) { if (without_pacing) { @@ -1027,7 +1027,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_terminal_set_tep_mode(t38_terminal_state_t *s, int use_tep) +SPAN_DECLARE(void) t38_terminal_set_tep_mode(t38_terminal_state_t *s, int use_tep) { if (use_tep) s->t38_fe.chunking_modes |= T38_CHUNKING_ALLOW_TEP_TIME; @@ -1037,7 +1037,7 @@ } /*- End of function --------------------------------------------------------*/ -void t38_terminal_set_fill_bit_removal(t38_terminal_state_t *s, int remove) +SPAN_DECLARE(void) t38_terminal_set_fill_bit_removal(t38_terminal_state_t *s, int remove) { if (remove) s->t38_fe.iaf |= T30_IAF_MODE_NO_FILL_BITS; @@ -1047,13 +1047,13 @@ } /*- End of function --------------------------------------------------------*/ -t30_state_t *t38_terminal_get_t30_state(t38_terminal_state_t *s) +SPAN_DECLARE(t30_state_t *) t38_terminal_get_t30_state(t38_terminal_state_t *s) { return &s->t30; } /*- End of function --------------------------------------------------------*/ -t38_core_state_t *t38_terminal_get_t38_core_state(t38_terminal_state_t *s) +SPAN_DECLARE(t38_core_state_t *) t38_terminal_get_t38_core_state(t38_terminal_state_t *s) { return &s->t38_fe.t38; } @@ -1090,13 +1090,13 @@ } /*- End of function --------------------------------------------------------*/ -logging_state_t *t38_terminal_get_logging_state(t38_terminal_state_t *s) +SPAN_DECLARE(logging_state_t *) t38_terminal_get_logging_state(t38_terminal_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -t38_terminal_state_t *t38_terminal_init(t38_terminal_state_t *s, +SPAN_DECLARE(t38_terminal_state_t *) t38_terminal_init(t38_terminal_state_t *s, int calling_party, t38_tx_packet_handler_t *tx_packet_handler, void *tx_packet_user_data) @@ -1133,14 +1133,14 @@ } /*- End of function --------------------------------------------------------*/ -int t38_terminal_release(t38_terminal_state_t *s) +SPAN_DECLARE(int) t38_terminal_release(t38_terminal_state_t *s) { t30_release(&s->t30); return 0; } /*- End of function --------------------------------------------------------*/ -int t38_terminal_free(t38_terminal_state_t *s) +SPAN_DECLARE(int) t38_terminal_free(t38_terminal_state_t *s) { t30_release(&s->t30); free(s); Modified: freeswitch/trunk/libs/spandsp/src/t4.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t4.c (original) +++ freeswitch/trunk/libs/spandsp/src/t4.c Mon Feb 2 15:36:29 2009 @@ -743,7 +743,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_end_page(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_end_page(t4_state_t *s) { int row; int i; @@ -1125,19 +1125,19 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_put_bit(t4_state_t *s, int bit) +SPAN_DECLARE(int) t4_rx_put_bit(t4_state_t *s, int bit) { return rx_put_bits(s, bit & 1, 1); } /*- End of function --------------------------------------------------------*/ -int t4_rx_put_byte(t4_state_t *s, uint8_t byte) +SPAN_DECLARE(int) t4_rx_put_byte(t4_state_t *s, uint8_t byte) { return rx_put_bits(s, byte & 0xFF, 8); } /*- End of function --------------------------------------------------------*/ -int t4_rx_put_chunk(t4_state_t *s, const uint8_t buf[], int len) +SPAN_DECLARE(int) t4_rx_put_chunk(t4_state_t *s, const uint8_t buf[], int len) { int i; uint8_t byte; @@ -1152,7 +1152,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_set_row_write_handler(t4_state_t *s, t4_row_write_handler_t handler, void *user_data) +SPAN_DECLARE(int) t4_rx_set_row_write_handler(t4_state_t *s, t4_row_write_handler_t handler, void *user_data) { s->row_write_handler = handler; s->row_write_user_data = user_data; @@ -1160,7 +1160,7 @@ } /*- End of function --------------------------------------------------------*/ -t4_state_t *t4_rx_init(t4_state_t *s, const char *file, int output_encoding) +SPAN_DECLARE(t4_state_t *) t4_rx_init(t4_state_t *s, const char *file, int output_encoding) { memset(s, 0, sizeof(*s)); span_log_init(&s->logging, SPAN_LOG_NONE, NULL); @@ -1213,7 +1213,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_start_page(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_start_page(t4_state_t *s) { int bytes_per_row; int run_space; @@ -1286,7 +1286,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_delete(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_delete(t4_state_t *s) { if (t4_rx_end(s)) return -1; @@ -1296,7 +1296,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_rx_end(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_end(t4_state_t *s) { if (!s->rx) return -1; @@ -1307,55 +1307,55 @@ } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_rx_encoding(t4_state_t *s, int encoding) +SPAN_DECLARE(void) t4_rx_set_rx_encoding(t4_state_t *s, int encoding) { s->line_encoding = encoding; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_image_width(t4_state_t *s, int width) +SPAN_DECLARE(void) t4_rx_set_image_width(t4_state_t *s, int width) { s->image_width = width; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_y_resolution(t4_state_t *s, int resolution) +SPAN_DECLARE(void) t4_rx_set_y_resolution(t4_state_t *s, int resolution) { s->y_resolution = resolution; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_x_resolution(t4_state_t *s, int resolution) +SPAN_DECLARE(void) t4_rx_set_x_resolution(t4_state_t *s, int resolution) { s->x_resolution = resolution; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_dcs(t4_state_t *s, const char *dcs) +SPAN_DECLARE(void) t4_rx_set_dcs(t4_state_t *s, const char *dcs) { s->dcs = (dcs && dcs[0]) ? dcs : NULL; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_sub_address(t4_state_t *s, const char *sub_address) +SPAN_DECLARE(void) t4_rx_set_sub_address(t4_state_t *s, const char *sub_address) { s->sub_address = (sub_address && sub_address[0]) ? sub_address : NULL; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_far_ident(t4_state_t *s, const char *ident) +SPAN_DECLARE(void) t4_rx_set_far_ident(t4_state_t *s, const char *ident) { s->far_ident = (ident && ident[0]) ? ident : NULL; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_vendor(t4_state_t *s, const char *vendor) +SPAN_DECLARE(void) t4_rx_set_vendor(t4_state_t *s, const char *vendor) { s->vendor = vendor; } /*- End of function --------------------------------------------------------*/ -void t4_rx_set_model(t4_state_t *s, const char *model) +SPAN_DECLARE(void) t4_rx_set_model(t4_state_t *s, const char *model) { s->model = model; } @@ -1709,7 +1709,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_set_row_read_handler(t4_state_t *s, t4_row_read_handler_t handler, void *user_data) +SPAN_DECLARE(int) t4_tx_set_row_read_handler(t4_state_t *s, t4_row_read_handler_t handler, void *user_data) { s->row_read_handler = handler; s->row_read_user_data = user_data; @@ -1717,7 +1717,7 @@ } /*- End of function --------------------------------------------------------*/ -t4_state_t *t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page) +SPAN_DECLARE(t4_state_t *) t4_tx_init(t4_state_t *s, const char *file, int start_page, int stop_page) { int run_space; @@ -1806,7 +1806,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_start_page(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_start_page(t4_state_t *s) { int row; int i; @@ -1965,7 +1965,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_more_pages(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_more_pages(t4_state_t *s) { span_log(&s->logging, SPAN_LOG_FLOW, "Checking for the existance of page %d\n", s->pages_transferred + 1); if (s->pages_transferred >= s->stop_page) @@ -1986,7 +1986,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_restart_page(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_restart_page(t4_state_t *s) { s->bit_pos = 7; s->bit_ptr = 0; @@ -1994,14 +1994,14 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_end_page(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_end_page(t4_state_t *s) { s->pages_transferred++; return 0; } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_bit(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_bit(t4_state_t *s) { int bit; @@ -2017,7 +2017,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_byte(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_byte(t4_state_t *s) { if (s->bit_ptr >= s->image_size) return 0x100; @@ -2025,7 +2025,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_chunk(t4_state_t *s, uint8_t buf[], int max_len) +SPAN_DECLARE(int) t4_tx_get_chunk(t4_state_t *s, uint8_t buf[], int max_len) { if (s->bit_ptr >= s->image_size) return 0; @@ -2037,7 +2037,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_check_bit(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_check_bit(t4_state_t *s) { int bit; @@ -2048,7 +2048,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_delete(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_delete(t4_state_t *s) { if (t4_tx_end(s)) return -1; @@ -2058,7 +2058,7 @@ } /*- End of function --------------------------------------------------------*/ -int t4_tx_end(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_end(t4_state_t *s) { if (s->rx) return -1; @@ -2069,7 +2069,7 @@ } /*- End of function --------------------------------------------------------*/ -void t4_tx_set_tx_encoding(t4_state_t *s, int encoding) +SPAN_DECLARE(void) t4_tx_set_tx_encoding(t4_state_t *s, int encoding) { s->line_encoding = encoding; s->rows_to_next_1d_row = s->max_rows_to_next_1d_row - 1; @@ -2077,43 +2077,43 @@ } /*- End of function --------------------------------------------------------*/ -void t4_tx_set_min_row_bits(t4_state_t *s, int bits) +SPAN_DECLARE(void) t4_tx_set_min_row_bits(t4_state_t *s, int bits) { s->min_bits_per_row = bits; } /*- End of function --------------------------------------------------------*/ -void t4_tx_set_local_ident(t4_state_t *s, const char *ident) +SPAN_DECLARE(void) t4_tx_set_local_ident(t4_state_t *s, const char *ident) { s->local_ident = (ident && ident[0]) ? ident : NULL; } /*- End of function --------------------------------------------------------*/ -void t4_tx_set_header_info(t4_state_t *s, const char *info) +SPAN_DECLARE(void) t4_tx_set_header_info(t4_state_t *s, const char *info) { s->header_info = (info && info[0]) ? info : NULL; } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_y_resolution(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_y_resolution(t4_state_t *s) { return s->y_resolution; } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_x_resolution(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_x_resolution(t4_state_t *s) { return s->x_resolution; } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_image_width(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_image_width(t4_state_t *s) { return s->image_width; } /*- End of function --------------------------------------------------------*/ -int t4_tx_get_pages_in_file(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_get_pages_in_file(t4_state_t *s) { int max; @@ -2131,7 +2131,7 @@ } /*- End of function --------------------------------------------------------*/ -void t4_get_transfer_statistics(t4_state_t *s, t4_stats_t *t) +SPAN_DECLARE(void) t4_get_transfer_statistics(t4_state_t *s, t4_stats_t *t) { t->pages_transferred = s->pages_transferred - s->start_page; t->pages_in_file = s->pages_in_file; @@ -2146,7 +2146,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *t4_encoding_to_str(int encoding) +SPAN_DECLARE(const char *) t4_encoding_to_str(int encoding) { switch (encoding) { Modified: freeswitch/trunk/libs/spandsp/src/time_scale.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/time_scale.c (original) +++ freeswitch/trunk/libs/spandsp/src/time_scale.c Mon Feb 2 15:36:29 2009 @@ -99,7 +99,7 @@ } /*- End of function --------------------------------------------------------*/ -int time_scale_rate(time_scale_state_t *s, float playout_rate) +SPAN_DECLARE(int) time_scale_rate(time_scale_state_t *s, float playout_rate) { if (playout_rate <= 0.0f) return -1; @@ -124,7 +124,7 @@ } /*- End of function --------------------------------------------------------*/ -time_scale_state_t *time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate) +SPAN_DECLARE(time_scale_state_t *) time_scale_init(time_scale_state_t *s, int sample_rate, float playout_rate) { int alloced; @@ -157,14 +157,14 @@ } /*- End of function --------------------------------------------------------*/ -int time_scale_free(time_scale_state_t *s) +SPAN_DECLARE(int) time_scale_free(time_scale_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -int time_scale(time_scale_state_t *s, int16_t out[], int16_t in[], int len) +SPAN_DECLARE(int) time_scale(time_scale_state_t *s, int16_t out[], int16_t in[], int len) { double lcpf; int pitch; @@ -272,7 +272,7 @@ } /*- End of function --------------------------------------------------------*/ -int time_scale_max_output_len(time_scale_state_t *s, int input_len) +SPAN_DECLARE(int) time_scale_max_output_len(time_scale_state_t *s, int input_len) { return (int) (input_len*s->playout_rate + s->min_pitch + 1); } Modified: freeswitch/trunk/libs/spandsp/src/tone_detect.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/tone_detect.c (original) +++ freeswitch/trunk/libs/spandsp/src/tone_detect.c Mon Feb 2 15:36:29 2009 @@ -186,7 +186,7 @@ } /*- End of function --------------------------------------------------------*/ -complexf_t periodogram(const complexf_t coeffs[], const complexf_t amp[], int len) +SPAN_DECLARE(complexf_t) periodogram(const complexf_t coeffs[], const complexf_t amp[], int len) { complexf_t sum; complexf_t diff; @@ -205,7 +205,7 @@ } /*- End of function --------------------------------------------------------*/ -int periodogram_prepare(complexf_t sum[], complexf_t diff[], const complexf_t amp[], int len) +SPAN_DECLARE(int) periodogram_prepare(complexf_t sum[], complexf_t diff[], const complexf_t amp[], int len) { int i; @@ -218,7 +218,7 @@ } /*- End of function --------------------------------------------------------*/ -complexf_t periodogram_apply(const complexf_t coeffs[], const complexf_t sum[], const complexf_t diff[], int len) +SPAN_DECLARE(complexf_t) periodogram_apply(const complexf_t coeffs[], const complexf_t sum[], const complexf_t diff[], int len) { complexf_t x; int i; @@ -233,7 +233,7 @@ } /*- End of function --------------------------------------------------------*/ -int periodogram_generate_coeffs(complexf_t coeffs[], float freq, int sample_rate, int window_len) +SPAN_DECLARE(int) periodogram_generate_coeffs(complexf_t coeffs[], float freq, int sample_rate, int window_len) { float window; float sum; @@ -262,7 +262,7 @@ } /*- End of function --------------------------------------------------------*/ -float periodogram_generate_phase_offset(complexf_t *offset, float freq, int sample_rate, int interval) +SPAN_DECLARE(float) periodogram_generate_phase_offset(complexf_t *offset, float freq, int sample_rate, int interval) { float x; @@ -274,7 +274,7 @@ } /*- End of function --------------------------------------------------------*/ -float periodogram_freq_error(const complexf_t *phase_offset, float scale, const complexf_t *last_result, const complexf_t *result) +SPAN_DECLARE(float) periodogram_freq_error(const complexf_t *phase_offset, float scale, const complexf_t *last_result, const complexf_t *result) { complexf_t prediction; Modified: freeswitch/trunk/libs/spandsp/src/tone_generate.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/tone_generate.c (original) +++ freeswitch/trunk/libs/spandsp/src/tone_generate.c Mon Feb 2 15:36:29 2009 @@ -60,7 +60,7 @@ #define ms_to_samples(t) (((t)*SAMPLE_RATE)/1000) -void make_tone_gen_descriptor(tone_gen_descriptor_t *s, +SPAN_DECLARE(void) make_tone_gen_descriptor(tone_gen_descriptor_t *s, int f1, int l1, int f2, @@ -106,7 +106,7 @@ } /*- End of function --------------------------------------------------------*/ -tone_gen_state_t *tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t) +SPAN_DECLARE(tone_gen_state_t *) tone_gen_init(tone_gen_state_t *s, tone_gen_descriptor_t *t) { int i; @@ -128,7 +128,7 @@ } /*- End of function --------------------------------------------------------*/ -int tone_gen(tone_gen_state_t *s, int16_t amp[], int max_samples) +SPAN_DECLARE(int) tone_gen(tone_gen_state_t *s, int16_t amp[], int max_samples) { int samples; int limit; Modified: freeswitch/trunk/libs/spandsp/src/v17rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v17rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v17rx.c Mon Feb 2 15:36:29 2009 @@ -132,25 +132,25 @@ }; #endif -float v17_rx_carrier_frequency(v17_rx_state_t *s) +SPAN_DECLARE(float) v17_rx_carrier_frequency(v17_rx_state_t *s) { return dds_frequencyf(s->carrier_phase_rate); } /*- End of function --------------------------------------------------------*/ -float v17_rx_symbol_timing_correction(v17_rx_state_t *s) +SPAN_DECLARE(float) v17_rx_symbol_timing_correction(v17_rx_state_t *s) { return (float) s->total_baud_timing_correction/((float) RX_PULSESHAPER_COEFF_SETS*10.0f/3.0f); } /*- End of function --------------------------------------------------------*/ -float v17_rx_signal_power(v17_rx_state_t *s) +SPAN_DECLARE(float) v17_rx_signal_power(v17_rx_state_t *s) { return power_meter_current_dbm0(&s->power); } /*- End of function --------------------------------------------------------*/ -void v17_rx_signal_cutoff(v17_rx_state_t *s, float cutoff) +SPAN_DECLARE(void) v17_rx_signal_cutoff(v17_rx_state_t *s, float cutoff) { /* The 0.4 factor allows for the gain of the DC blocker */ s->carrier_on_power = (int32_t) (power_meter_level_dbm0(cutoff + 2.5f)*0.4f); @@ -168,9 +168,9 @@ /*- End of function --------------------------------------------------------*/ #if defined(SPANDSP_USE_FIXED_POINTx) -int v17_rx_equalizer_state(v17_rx_state_t *s, complexi16_t **coeffs) +SPAN_DECLARE(int) v17_rx_equalizer_state(v17_rx_state_t *s, complexi16_t **coeffs) #else -int v17_rx_equalizer_state(v17_rx_state_t *s, complexf_t **coeffs) +SPAN_DECLARE(int) v17_rx_equalizer_state(v17_rx_state_t *s, complexf_t **coeffs) #endif { *coeffs = s->eq_coeff; @@ -955,7 +955,7 @@ } /*- End of function --------------------------------------------------------*/ -int v17_rx(v17_rx_state_t *s, const int16_t amp[], int len) +SPAN_DECLARE(int) v17_rx(v17_rx_state_t *s, const int16_t amp[], int len) { int i; int step; @@ -1111,27 +1111,27 @@ } /*- End of function --------------------------------------------------------*/ -void v17_rx_set_put_bit(v17_rx_state_t *s, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(void) v17_rx_set_put_bit(v17_rx_state_t *s, put_bit_func_t put_bit, void *user_data) { s->put_bit = put_bit; s->put_bit_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void v17_rx_set_modem_status_handler(v17_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v17_rx_set_modem_status_handler(v17_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v17_rx_get_logging_state(v17_rx_state_t *s) +SPAN_DECLARE(logging_state_t *) v17_rx_get_logging_state(v17_rx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v17_rx_restart(v17_rx_state_t *s, int bit_rate, int short_train) +SPAN_DECLARE(int) v17_rx_restart(v17_rx_state_t *s, int bit_rate, int short_train) { int i; @@ -1240,7 +1240,7 @@ } /*- End of function --------------------------------------------------------*/ -v17_rx_state_t *v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(v17_rx_state_t *) v17_rx_init(v17_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data) { if (s == NULL) { @@ -1263,14 +1263,14 @@ } /*- End of function --------------------------------------------------------*/ -int v17_rx_free(v17_rx_state_t *s) +SPAN_DECLARE(int) v17_rx_free(v17_rx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -void v17_rx_set_qam_report_handler(v17_rx_state_t *s, qam_report_handler_t handler, void *user_data) +SPAN_DECLARE(void) v17_rx_set_qam_report_handler(v17_rx_state_t *s, qam_report_handler_t handler, void *user_data) { s->qam_report = handler; s->qam_user_data = user_data; Modified: freeswitch/trunk/libs/spandsp/src/v17tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v17tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v17tx.c Mon Feb 2 15:36:29 2009 @@ -249,7 +249,7 @@ } /*- End of function --------------------------------------------------------*/ -int v17_tx(v17_tx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) v17_tx(v17_tx_state_t *s, int16_t amp[], int len) { #if defined(SPANDSP_USE_FIXED_POINT) complexi_t x; @@ -308,7 +308,7 @@ } /*- End of function --------------------------------------------------------*/ -void v17_tx_power(v17_tx_state_t *s, float power) +SPAN_DECLARE(void) v17_tx_power(v17_tx_state_t *s, float power) { /* The constellation design seems to keep the average power the same, regardless of which bit rate is in use. */ @@ -320,7 +320,7 @@ } /*- End of function --------------------------------------------------------*/ -void v17_tx_set_get_bit(v17_tx_state_t *s, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(void) v17_tx_set_get_bit(v17_tx_state_t *s, get_bit_func_t get_bit, void *user_data) { if (s->get_bit == s->current_get_bit) s->current_get_bit = get_bit; @@ -329,20 +329,20 @@ } /*- End of function --------------------------------------------------------*/ -void v17_tx_set_modem_status_handler(v17_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v17_tx_set_modem_status_handler(v17_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v17_tx_get_logging_state(v17_tx_state_t *s) +SPAN_DECLARE(logging_state_t *) v17_tx_get_logging_state(v17_tx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v17_tx_restart(v17_tx_state_t *s, int bit_rate, int tep, int short_train) +SPAN_DECLARE(int) v17_tx_restart(v17_tx_state_t *s, int bit_rate, int tep, int short_train) { switch (bit_rate) { @@ -387,7 +387,7 @@ } /*- End of function --------------------------------------------------------*/ -v17_tx_state_t *v17_tx_init(v17_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(v17_tx_state_t *) v17_tx_init(v17_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) { if (s == NULL) { @@ -406,7 +406,7 @@ } /*- End of function --------------------------------------------------------*/ -int v17_tx_free(v17_tx_state_t *s) +SPAN_DECLARE(int) v17_tx_free(v17_tx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v22bis_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v22bis_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v22bis_rx.c Mon Feb 2 15:36:29 2009 @@ -124,25 +124,25 @@ {15, 14, 14, 1, 1, 3} }; -float v22bis_rx_carrier_frequency(v22bis_state_t *s) +SPAN_DECLARE(float) v22bis_rx_carrier_frequency(v22bis_state_t *s) { return dds_frequencyf(s->rx.carrier_phase_rate); } /*- End of function --------------------------------------------------------*/ -float v22bis_symbol_timing_correction(v22bis_state_t *s) +SPAN_DECLARE(float) v22bis_symbol_timing_correction(v22bis_state_t *s) { return (float) s->rx.total_baud_timing_correction/((float) PULSESHAPER_COEFF_SETS*40.0f/(3.0f*2.0f)); } /*- End of function --------------------------------------------------------*/ -float v22bis_rx_signal_power(v22bis_state_t *s) +SPAN_DECLARE(float) v22bis_rx_signal_power(v22bis_state_t *s) { return power_meter_current_dbm0(&s->rx.rx_power); } /*- End of function --------------------------------------------------------*/ -int v22bis_equalizer_state(v22bis_state_t *s, complexf_t **coeffs) +SPAN_DECLARE(int) v22bis_equalizer_state(v22bis_state_t *s, complexf_t **coeffs) { *coeffs = s->rx.eq_coeff; return 2*V22BIS_EQUALIZER_LEN + 1; @@ -566,7 +566,7 @@ } /*- End of function --------------------------------------------------------*/ -int v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len) +SPAN_DECLARE(int) v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len) { int i; int j; @@ -679,7 +679,7 @@ } /*- End of function --------------------------------------------------------*/ -int v22bis_rx_restart(v22bis_state_t *s, int bit_rate) +SPAN_DECLARE(int) v22bis_rx_restart(v22bis_state_t *s, int bit_rate) { /* If bit_rate is 2400, the real bit rate is negotiated. If bit_rate is 1200, the real bit rate is forced to 1200. */ @@ -715,7 +715,7 @@ } /*- End of function --------------------------------------------------------*/ -void v22bis_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data) +SPAN_DECLARE(void) v22bis_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t handler, void *user_data) { s->rx.qam_report = handler; s->rx.qam_user_data = user_data; Modified: freeswitch/trunk/libs/spandsp/src/v22bis_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v22bis_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v22bis_tx.c Mon Feb 2 15:36:29 2009 @@ -522,7 +522,7 @@ } /*- End of function --------------------------------------------------------*/ -int v22bis_tx(v22bis_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) v22bis_tx(v22bis_state_t *s, int16_t amp[], int len) { complexf_t x; complexf_t z; @@ -564,7 +564,7 @@ } /*- End of function --------------------------------------------------------*/ -void v22bis_tx_power(v22bis_state_t *s, float power) +SPAN_DECLARE(void) v22bis_tx_power(v22bis_state_t *s, float power) { float l; @@ -592,27 +592,27 @@ } /*- End of function --------------------------------------------------------*/ -void v22bis_set_get_bit(v22bis_state_t *s, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(void) v22bis_set_get_bit(v22bis_state_t *s, get_bit_func_t get_bit, void *user_data) { s->get_bit = get_bit; s->user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void v22bis_set_put_bit(v22bis_state_t *s, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(void) v22bis_set_put_bit(v22bis_state_t *s, put_bit_func_t put_bit, void *user_data) { s->put_bit = put_bit; s->user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v22bis_get_logging_state(v22bis_state_t *s) +SPAN_DECLARE(logging_state_t *) v22bis_get_logging_state(v22bis_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v22bis_restart(v22bis_state_t *s, int bit_rate) +SPAN_DECLARE(int) v22bis_restart(v22bis_state_t *s, int bit_rate) { if (bit_rate != 2400 && bit_rate != 1200) return -1; @@ -622,7 +622,7 @@ } /*- End of function --------------------------------------------------------*/ -v22bis_state_t *v22bis_init(v22bis_state_t *s, +SPAN_DECLARE(v22bis_state_t *) v22bis_init(v22bis_state_t *s, int bit_rate, int guard, int caller, @@ -672,7 +672,7 @@ } /*- End of function --------------------------------------------------------*/ -int v22bis_free(v22bis_state_t *s) +SPAN_DECLARE(int) v22bis_free(v22bis_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v27ter_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v27ter_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v27ter_rx.c Mon Feb 2 15:36:29 2009 @@ -128,13 +128,13 @@ }; #endif -float v27ter_rx_carrier_frequency(v27ter_rx_state_t *s) +SPAN_DECLARE(float) v27ter_rx_carrier_frequency(v27ter_rx_state_t *s) { return dds_frequencyf(s->carrier_phase_rate); } /*- End of function --------------------------------------------------------*/ -float v27ter_rx_symbol_timing_correction(v27ter_rx_state_t *s) +SPAN_DECLARE(float) v27ter_rx_symbol_timing_correction(v27ter_rx_state_t *s) { int steps_per_symbol; @@ -143,13 +143,13 @@ } /*- End of function --------------------------------------------------------*/ -float v27ter_rx_signal_power(v27ter_rx_state_t *s) +SPAN_DECLARE(float) v27ter_rx_signal_power(v27ter_rx_state_t *s) { return power_meter_current_dbm0(&s->power); } /*- End of function --------------------------------------------------------*/ -void v27ter_rx_signal_cutoff(v27ter_rx_state_t *s, float cutoff) +SPAN_DECLARE(void) v27ter_rx_signal_cutoff(v27ter_rx_state_t *s, float cutoff) { /* The 0.4 factor allows for the gain of the DC blocker */ s->carrier_on_power = (int32_t) (power_meter_level_dbm0(cutoff + 2.5f)*0.4f); @@ -167,9 +167,9 @@ /*- End of function --------------------------------------------------------*/ #if defined(SPANDSP_USE_FIXED_POINTx) -int v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexi16_t **coeffs) +SPAN_DECLARE(int) v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexi16_t **coeffs) #else -int v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexf_t **coeffs) +SPAN_DECLARE(int) v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexf_t **coeffs) #endif { *coeffs = s->eq_coeff; @@ -741,7 +741,7 @@ } /*- End of function --------------------------------------------------------*/ -int v27ter_rx(v27ter_rx_state_t *s, const int16_t amp[], int len) +SPAN_DECLARE(int) v27ter_rx(v27ter_rx_state_t *s, const int16_t amp[], int len) { int i; int step; @@ -1009,27 +1009,27 @@ } /*- End of function --------------------------------------------------------*/ -void v27ter_rx_set_put_bit(v27ter_rx_state_t *s, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(void) v27ter_rx_set_put_bit(v27ter_rx_state_t *s, put_bit_func_t put_bit, void *user_data) { s->put_bit = put_bit; s->put_bit_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void v27ter_rx_set_modem_status_handler(v27ter_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v27ter_rx_set_modem_status_handler(v27ter_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v27ter_rx_get_logging_state(v27ter_rx_state_t *s) +SPAN_DECLARE(logging_state_t *) v27ter_rx_get_logging_state(v27ter_rx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, int old_train) +SPAN_DECLARE(int) v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, int old_train) { span_log(&s->logging, SPAN_LOG_FLOW, "Restarting V.27ter\n"); if (bit_rate != 4800 && bit_rate != 2400) @@ -1096,7 +1096,7 @@ } /*- End of function --------------------------------------------------------*/ -v27ter_rx_state_t *v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(v27ter_rx_state_t *) v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data) { if (s == NULL) { @@ -1115,14 +1115,14 @@ } /*- End of function --------------------------------------------------------*/ -int v27ter_rx_free(v27ter_rx_state_t *s) +SPAN_DECLARE(int) v27ter_rx_free(v27ter_rx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -void v27ter_rx_set_qam_report_handler(v27ter_rx_state_t *s, qam_report_handler_t handler, void *user_data) +SPAN_DECLARE(void) v27ter_rx_set_qam_report_handler(v27ter_rx_state_t *s, qam_report_handler_t handler, void *user_data) { s->qam_report = handler; s->qam_user_data = user_data; Modified: freeswitch/trunk/libs/spandsp/src/v27ter_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v27ter_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v27ter_tx.c Mon Feb 2 15:36:29 2009 @@ -235,7 +235,7 @@ } /*- End of function --------------------------------------------------------*/ -int v27ter_tx(v27ter_tx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) v27ter_tx(v27ter_tx_state_t *s, int16_t amp[], int len) { #if defined(SPANDSP_USE_FIXED_POINT) complexi_t x; @@ -341,7 +341,7 @@ } /*- End of function --------------------------------------------------------*/ -void v27ter_tx_power(v27ter_tx_state_t *s, float power) +SPAN_DECLARE(void) v27ter_tx_power(v27ter_tx_state_t *s, float power) { float l; @@ -356,7 +356,7 @@ } /*- End of function --------------------------------------------------------*/ -void v27ter_tx_set_get_bit(v27ter_tx_state_t *s, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(void) v27ter_tx_set_get_bit(v27ter_tx_state_t *s, get_bit_func_t get_bit, void *user_data) { if (s->get_bit == s->current_get_bit) s->current_get_bit = get_bit; @@ -365,20 +365,20 @@ } /*- End of function --------------------------------------------------------*/ -void v27ter_tx_set_modem_status_handler(v27ter_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v27ter_tx_set_modem_status_handler(v27ter_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v27ter_tx_get_logging_state(v27ter_tx_state_t *s) +SPAN_DECLARE(logging_state_t *) v27ter_tx_get_logging_state(v27ter_tx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v27ter_tx_restart(v27ter_tx_state_t *s, int bit_rate, int tep) +SPAN_DECLARE(int) v27ter_tx_restart(v27ter_tx_state_t *s, int bit_rate, int tep) { if (bit_rate != 4800 && bit_rate != 2400) return -1; @@ -401,7 +401,7 @@ } /*- End of function --------------------------------------------------------*/ -v27ter_tx_state_t *v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(v27ter_tx_state_t *) v27ter_tx_init(v27ter_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) { if (s == NULL) { @@ -420,7 +420,7 @@ } /*- End of function --------------------------------------------------------*/ -int v27ter_tx_free(v27ter_tx_state_t *s) +SPAN_DECLARE(int) v27ter_tx_free(v27ter_tx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v29rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v29rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v29rx.c Mon Feb 2 15:36:29 2009 @@ -139,25 +139,25 @@ #define SYNC_CROSS_CORR_COEFF_C -0.378857f /* -alpha*sin(low_edge) */ #endif -float v29_rx_carrier_frequency(v29_rx_state_t *s) +SPAN_DECLARE(float) v29_rx_carrier_frequency(v29_rx_state_t *s) { return dds_frequencyf(s->carrier_phase_rate); } /*- End of function --------------------------------------------------------*/ -float v29_rx_symbol_timing_correction(v29_rx_state_t *s) +SPAN_DECLARE(float) v29_rx_symbol_timing_correction(v29_rx_state_t *s) { return (float) s->total_baud_timing_correction/((float) RX_PULSESHAPER_COEFF_SETS*10.0f/3.0f); } /*- End of function --------------------------------------------------------*/ -float v29_rx_signal_power(v29_rx_state_t *s) +SPAN_DECLARE(float) v29_rx_signal_power(v29_rx_state_t *s) { return power_meter_current_dbm0(&s->power); } /*- End of function --------------------------------------------------------*/ -void v29_rx_signal_cutoff(v29_rx_state_t *s, float cutoff) +SPAN_DECLARE(void) v29_rx_signal_cutoff(v29_rx_state_t *s, float cutoff) { /* The 0.4 factor allows for the gain of the DC blocker */ s->carrier_on_power = (int32_t) (power_meter_level_dbm0(cutoff + 2.5f)*0.4f); @@ -175,9 +175,9 @@ /*- End of function --------------------------------------------------------*/ #if defined(SPANDSP_USE_FIXED_POINT) -int v29_rx_equalizer_state(v29_rx_state_t *s, complexi16_t **coeffs) +SPAN_DECLARE(int) v29_rx_equalizer_state(v29_rx_state_t *s, complexi16_t **coeffs) #else -int v29_rx_equalizer_state(v29_rx_state_t *s, complexf_t **coeffs) +SPAN_DECLARE(int) v29_rx_equalizer_state(v29_rx_state_t *s, complexf_t **coeffs) #endif { *coeffs = s->eq_coeff; @@ -829,7 +829,7 @@ } /*- End of function --------------------------------------------------------*/ -int v29_rx(v29_rx_state_t *s, const int16_t amp[], int len) +SPAN_DECLARE(int) v29_rx(v29_rx_state_t *s, const int16_t amp[], int len) { int i; int step; @@ -999,27 +999,27 @@ } /*- End of function --------------------------------------------------------*/ -void v29_rx_set_put_bit(v29_rx_state_t *s, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(void) v29_rx_set_put_bit(v29_rx_state_t *s, put_bit_func_t put_bit, void *user_data) { s->put_bit = put_bit; s->put_bit_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void v29_rx_set_modem_status_handler(v29_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v29_rx_set_modem_status_handler(v29_rx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v29_rx_get_logging_state(v29_rx_state_t *s) +SPAN_DECLARE(logging_state_t *) v29_rx_get_logging_state(v29_rx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v29_rx_restart(v29_rx_state_t *s, int bit_rate, int old_train) +SPAN_DECLARE(int) v29_rx_restart(v29_rx_state_t *s, int bit_rate, int old_train) { switch (bit_rate) { @@ -1116,7 +1116,7 @@ } /*- End of function --------------------------------------------------------*/ -v29_rx_state_t *v29_rx_init(v29_rx_state_t *s, int rate, put_bit_func_t put_bit, void *user_data) +SPAN_DECLARE(v29_rx_state_t *) v29_rx_init(v29_rx_state_t *s, int rate, put_bit_func_t put_bit, void *user_data) { if (s == NULL) { @@ -1141,14 +1141,14 @@ } /*- End of function --------------------------------------------------------*/ -int v29_rx_free(v29_rx_state_t *s) +SPAN_DECLARE(int) v29_rx_free(v29_rx_state_t *s) { free(s); return 0; } /*- End of function --------------------------------------------------------*/ -void v29_rx_set_qam_report_handler(v29_rx_state_t *s, qam_report_handler_t handler, void *user_data) +SPAN_DECLARE(void) v29_rx_set_qam_report_handler(v29_rx_state_t *s, qam_report_handler_t handler, void *user_data) { s->qam_report = handler; s->qam_user_data = user_data; Modified: freeswitch/trunk/libs/spandsp/src/v29tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v29tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v29tx.c Mon Feb 2 15:36:29 2009 @@ -193,7 +193,7 @@ } /*- End of function --------------------------------------------------------*/ -int v29_tx(v29_tx_state_t *s, int16_t amp[], int len) +SPAN_DECLARE(int) v29_tx(v29_tx_state_t *s, int16_t amp[], int len) { #if defined(SPANDSP_USE_FIXED_POINT) complexi_t x; @@ -288,7 +288,7 @@ } /*- End of function --------------------------------------------------------*/ -void v29_tx_power(v29_tx_state_t *s, float power) +SPAN_DECLARE(void) v29_tx_power(v29_tx_state_t *s, float power) { /* The constellation does not maintain constant average power as we change bit rates. We need to scale the gain we get here by a bit rate specific scaling factor each @@ -298,7 +298,7 @@ } /*- End of function --------------------------------------------------------*/ -void v29_tx_set_get_bit(v29_tx_state_t *s, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(void) v29_tx_set_get_bit(v29_tx_state_t *s, get_bit_func_t get_bit, void *user_data) { if (s->get_bit == s->current_get_bit) s->current_get_bit = get_bit; @@ -307,20 +307,20 @@ } /*- End of function --------------------------------------------------------*/ -void v29_tx_set_modem_status_handler(v29_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) +SPAN_DECLARE(void) v29_tx_set_modem_status_handler(v29_tx_state_t *s, modem_tx_status_func_t handler, void *user_data) { s->status_handler = handler; s->status_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -logging_state_t *v29_tx_get_logging_state(v29_tx_state_t *s) +SPAN_DECLARE(logging_state_t *) v29_tx_get_logging_state(v29_tx_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -int v29_tx_restart(v29_tx_state_t *s, int bit_rate, int tep) +SPAN_DECLARE(int) v29_tx_restart(v29_tx_state_t *s, int bit_rate, int tep) { span_log(&s->logging, SPAN_LOG_FLOW, "Restarting V.29\n"); s->bit_rate = bit_rate; @@ -357,7 +357,7 @@ } /*- End of function --------------------------------------------------------*/ -v29_tx_state_t *v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) +SPAN_DECLARE(v29_tx_state_t *) v29_tx_init(v29_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data) { if (s == NULL) { @@ -376,7 +376,7 @@ } /*- End of function --------------------------------------------------------*/ -int v29_tx_free(v29_tx_state_t *s) +SPAN_DECLARE(int) v29_tx_free(v29_tx_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v42.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42.c Mon Feb 2 15:36:29 2009 @@ -356,7 +356,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *lapm_status_to_str(int status) +SPAN_DECLARE(const char *) lapm_status_to_str(int status) { switch (status) { @@ -382,34 +382,34 @@ } /*- End of function --------------------------------------------------------*/ -int lapm_tx(lapm_state_t *s, const void *buf, int len) +SPAN_DECLARE(int) lapm_tx(lapm_state_t *s, const void *buf, int len) { return queue_write(s->tx_queue, buf, len); } /*- End of function --------------------------------------------------------*/ -int lapm_release(lapm_state_t *s) +SPAN_DECLARE(int) lapm_release(lapm_state_t *s) { s->state = LAPM_RELEASE; return 0; } /*- End of function --------------------------------------------------------*/ -int lapm_loopback(lapm_state_t *s, int enable) +SPAN_DECLARE(int) lapm_loopback(lapm_state_t *s, int enable) { s->state = LAPM_TEST; return 0; } /*- End of function --------------------------------------------------------*/ -int lapm_break(lapm_state_t *s, int enable) +SPAN_DECLARE(int) lapm_break(lapm_state_t *s, int enable) { s->state = LAPM_SIGNAL; return 0; } /*- End of function --------------------------------------------------------*/ -int lapm_tx_iframe(lapm_state_t *s, const void *buf, int len, int cr) +SPAN_DECLARE(int) lapm_tx_iframe(lapm_state_t *s, const void *buf, int len, int cr) { lapm_frame_queue_t *f; @@ -480,7 +480,7 @@ } /*- End of function --------------------------------------------------------*/ -void lapm_dump(lapm_state_t *s, const uint8_t *frame, int len, int showraw, int txrx) +SPAN_DECLARE(void) lapm_dump(lapm_state_t *s, const uint8_t *frame, int len, int showraw, int txrx) { const char *type; char direction_tag[2]; @@ -1316,7 +1316,7 @@ } /*- End of function --------------------------------------------------------*/ -void v42_rx_bit(void *user_data, int bit) +SPAN_DECLARE(void) v42_rx_bit(void *user_data, int bit) { v42_state_t *s; @@ -1329,7 +1329,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42_tx_bit(void *user_data) +SPAN_DECLARE(int) v42_tx_bit(void *user_data) { v42_state_t *s; int bit; @@ -1344,14 +1344,14 @@ } /*- End of function --------------------------------------------------------*/ -void v42_set_status_callback(v42_state_t *s, v42_status_func_t callback, void *user_data) +SPAN_DECLARE(void) v42_set_status_callback(v42_state_t *s, v42_status_func_t callback, void *user_data) { s->lapm.status_callback = callback; s->lapm.status_callback_user_data = user_data; } /*- End of function --------------------------------------------------------*/ -void v42_restart(v42_state_t *s) +SPAN_DECLARE(void) v42_restart(v42_state_t *s) { span_schedule_init(&s->lapm.sched); @@ -1379,7 +1379,7 @@ } /*- End of function --------------------------------------------------------*/ -v42_state_t *v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data) +SPAN_DECLARE(v42_state_t *) v42_init(v42_state_t *s, int caller, int detect, v42_frame_handler_t frame_handler, void *user_data) { int alloced; @@ -1417,7 +1417,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42_release(v42_state_t *s) +SPAN_DECLARE(int) v42_release(v42_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v42bis.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42bis.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42bis.c Mon Feb 2 15:36:29 2009 @@ -111,7 +111,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42bis_compress(v42bis_state_t *s, const uint8_t *buf, int len) +SPAN_DECLARE(int) v42bis_compress(v42bis_state_t *s, const uint8_t *buf, int len) { int ptr; int i; @@ -323,7 +323,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42bis_compress_flush(v42bis_state_t *s) +SPAN_DECLARE(int) v42bis_compress_flush(v42bis_state_t *s) { v42bis_compress_state_t *ss; @@ -369,7 +369,7 @@ /*- End of function --------------------------------------------------------*/ #endif -int v42bis_decompress(v42bis_state_t *s, const uint8_t *buf, int len) +SPAN_DECLARE(int) v42bis_decompress(v42bis_state_t *s, const uint8_t *buf, int len) { int ptr; int i; @@ -567,7 +567,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42bis_decompress_flush(v42bis_state_t *s) +SPAN_DECLARE(int) v42bis_decompress_flush(v42bis_state_t *s) { v42bis_decompress_state_t *ss; @@ -599,7 +599,7 @@ /*- End of function --------------------------------------------------------*/ #endif -void v42bis_compression_control(v42bis_state_t *s, int mode) +SPAN_DECLARE(void) v42bis_compression_control(v42bis_state_t *s, int mode) { s->compress.compression_mode = mode; switch (mode) @@ -614,7 +614,7 @@ } /*- End of function --------------------------------------------------------*/ -v42bis_state_t *v42bis_init(v42bis_state_t *s, +SPAN_DECLARE(v42bis_state_t *) v42bis_init(v42bis_state_t *s, int negotiated_p0, int negotiated_p1, int negotiated_p2, @@ -687,7 +687,7 @@ } /*- End of function --------------------------------------------------------*/ -int v42bis_release(v42bis_state_t *s) +SPAN_DECLARE(int) v42bis_release(v42bis_state_t *s) { free(s); return 0; Modified: freeswitch/trunk/libs/spandsp/src/v8.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v8.c (original) +++ freeswitch/trunk/libs/spandsp/src/v8.c Mon Feb 2 15:36:29 2009 @@ -91,7 +91,7 @@ V8_SYNC_V92 } v8_sync_types_e; -const char *v8_call_function_to_str(int call_function) +SPAN_DECLARE(const char *) v8_call_function_to_str(int call_function) { switch (call_function) { @@ -116,7 +116,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *v8_modulation_to_str(int modulation_scheme) +SPAN_DECLARE(const char *) v8_modulation_to_str(int modulation_scheme) { switch (modulation_scheme) { @@ -155,7 +155,7 @@ } /*- End of function --------------------------------------------------------*/ -const char *v8_protocol_to_str(int protocol) +SPAN_DECLARE(const char *) v8_protocol_to_str(int protocol) { switch (protocol) { @@ -170,19 +170,19 @@ } /*- End of function --------------------------------------------------------*/ -const char *v8_pstn_access_to_str(int pstn_access) +SPAN_DECLARE(const char *) v8_pstn_access_to_str(int pstn_access) { return "???"; } /*- End of function --------------------------------------------------------*/ -const char *v8_pcm_modem_availability_to_str(int pcm_modem_availability) +SPAN_DECLARE(const char *) v8_pcm_modem_availability_to_str(int pcm_modem_availability) { return "???"; } /*- End of function --------------------------------------------------------*/ -void v8_log_supported_modulations(v8_state_t *s, int modulation_schemes) +SPAN_DECLARE(void) v8_log_supported_modulations(v8_state_t *s, int modulation_schemes) { const char *comma; int i; @@ -609,7 +609,7 @@ } /*- End of function --------------------------------------------------------*/ -int v8_tx(v8_state_t *s, int16_t *amp, int max_len) +SPAN_DECLARE(int) v8_tx(v8_state_t *s, int16_t *amp, int max_len) { int len; @@ -632,7 +632,7 @@ } /*- End of function --------------------------------------------------------*/ -int v8_rx(v8_state_t *s, const int16_t *amp, int len) +SPAN_DECLARE(int) v8_rx(v8_state_t *s, const int16_t *amp, int len) { int i; int residual_samples; @@ -850,13 +850,13 @@ } /*- End of function --------------------------------------------------------*/ -logging_state_t *v8_get_logging_state(v8_state_t *s) +SPAN_DECLARE(logging_state_t *) v8_get_logging_state(v8_state_t *s) { return &s->logging; } /*- End of function --------------------------------------------------------*/ -v8_state_t *v8_init(v8_state_t *s, +SPAN_DECLARE(v8_state_t *) v8_init(v8_state_t *s, int caller, int available_modulations, v8_result_handler_t *result_handler, @@ -890,13 +890,13 @@ } /*- End of function --------------------------------------------------------*/ -int v8_release(v8_state_t *s) +SPAN_DECLARE(int) v8_release(v8_state_t *s) { return queue_free(s->tx_queue); } /*- End of function --------------------------------------------------------*/ -int v8_free(v8_state_t *s) +SPAN_DECLARE(int) v8_free(v8_state_t *s) { int ret; Modified: freeswitch/trunk/libs/spandsp/src/vector_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/vector_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/vector_float.c Mon Feb 2 15:36:29 2009 @@ -73,7 +73,7 @@ #include "spandsp/vector_float.h" #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_copyf(float z[], const float x[], int n) +SPAN_DECLARE(void) vec_copyf(float z[], const float x[], int n) { int i; __m128 n1; @@ -98,7 +98,7 @@ } } #else -void vec_copyf(float z[], const float x[], int n) +SPAN_DECLARE(void) vec_copyf(float z[], const float x[], int n) { int i; @@ -108,7 +108,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_copy(double z[], const double x[], int n) +SPAN_DECLARE(void) vec_copy(double z[], const double x[], int n) { int i; @@ -129,7 +129,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_negatef(float z[], const float x[], int n) +SPAN_DECLARE(void) vec_negatef(float z[], const float x[], int n) { int i; static const uint32_t mask = 0x80000000; @@ -158,7 +158,7 @@ } } #else -void vec_negatef(float z[], const float x[], int n) +SPAN_DECLARE(void) vec_negatef(float z[], const float x[], int n) { int i; @@ -168,7 +168,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_negate(double z[], const double x[], int n) +SPAN_DECLARE(void) vec_negate(double z[], const double x[], int n) { int i; @@ -189,7 +189,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_zerof(float z[], int n) +SPAN_DECLARE(void) vec_zerof(float z[], int n) { int i; __m128 n1; @@ -212,7 +212,7 @@ } } #else -void vec_zerof(float z[], int n) +SPAN_DECLARE(void) vec_zerof(float z[], int n) { int i; @@ -222,7 +222,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_zero(double z[], int n) +SPAN_DECLARE(void) vec_zero(double z[], int n) { int i; @@ -243,7 +243,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_setf(float z[], float x, int n) +SPAN_DECLARE(void) vec_setf(float z[], float x, int n) { int i; __m128 n1; @@ -266,7 +266,7 @@ } } #else -void vec_setf(float z[], float x, int n) +SPAN_DECLARE(void) vec_setf(float z[], float x, int n) { int i; @@ -276,7 +276,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_set(double z[], double x, int n) +SPAN_DECLARE(void) vec_set(double z[], double x, int n) { int i; @@ -297,7 +297,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_addf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_addf(float z[], const float x[], const float y[], int n) { int i; __m128 n1; @@ -325,7 +325,7 @@ } } #else -void vec_addf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_addf(float z[], const float x[], const float y[], int n) { int i; @@ -335,7 +335,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_add(double z[], const double x[], const double y[], int n) +SPAN_DECLARE(void) vec_add(double z[], const double x[], const double y[], int n) { int i; @@ -354,7 +354,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) { int i; __m128 n1; @@ -388,7 +388,7 @@ } } #else -void vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) { int i; @@ -398,7 +398,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_scaledxy_add(double z[], const double x[], double x_scale, const double y[], double y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_add(double z[], const double x[], double x_scale, const double y[], double y_scale, int n) { int i; @@ -419,7 +419,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n) +SPAN_DECLARE(void) vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n) { int i; __m128 n1; @@ -450,7 +450,7 @@ } } #else -void vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n) +SPAN_DECLARE(void) vec_scaledy_addf(float z[], const float x[], const float y[], float y_scale, int n) { int i; @@ -460,7 +460,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_scaledy_add(double z[], const double x[], const double y[], double y_scale, int n) +SPAN_DECLARE(void) vec_scaledy_add(double z[], const double x[], const double y[], double y_scale, int n) { int i; @@ -481,7 +481,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_subf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_subf(float z[], const float x[], const float y[], int n) { int i; __m128 n1; @@ -509,7 +509,7 @@ } } #else -void vec_subf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_subf(float z[], const float x[], const float y[], int n) { int i; @@ -519,7 +519,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_sub(double z[], const double x[], const double y[], int n) +SPAN_DECLARE(void) vec_sub(double z[], const double x[], const double y[], int n) { int i; @@ -539,7 +539,7 @@ /*- End of function --------------------------------------------------------*/ #endif -void vec_scaledxy_subf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_subf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) { int i; @@ -548,7 +548,7 @@ } /*- End of function --------------------------------------------------------*/ -void vec_scaledxy_sub(double z[], const double x[], double x_scale, const double y[], double y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_sub(double z[], const double x[], double x_scale, const double y[], double y_scale, int n) { int i; @@ -569,7 +569,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_scalar_mulf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_mulf(float z[], const float x[], float y, int n) { int i; __m128 n1; @@ -597,7 +597,7 @@ } } #else -void vec_scalar_mulf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_mulf(float z[], const float x[], float y, int n) { int i; @@ -607,7 +607,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_scalar_mul(double z[], const double x[], double y, int n) +SPAN_DECLARE(void) vec_scalar_mul(double z[], const double x[], double y, int n) { int i; @@ -617,7 +617,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_scalar_addf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_addf(float z[], const float x[], float y, int n) { int i; __m128 n1; @@ -645,7 +645,7 @@ } } #else -void vec_scalar_addf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_addf(float z[], const float x[], float y, int n) { int i; @@ -655,7 +655,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_scalar_add(double z[], const double x[], double y, int n) +SPAN_DECLARE(void) vec_scalar_add(double z[], const double x[], double y, int n) { int i; @@ -676,7 +676,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_scalar_subf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_subf(float z[], const float x[], float y, int n) { int i; __m128 n1; @@ -704,7 +704,7 @@ } } #else -void vec_scalar_subf(float z[], const float x[], float y, int n) +SPAN_DECLARE(void) vec_scalar_subf(float z[], const float x[], float y, int n) { int i; @@ -714,7 +714,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_scalar_sub(double z[], const double x[], double y, int n) +SPAN_DECLARE(void) vec_scalar_sub(double z[], const double x[], double y, int n) { int i; @@ -735,7 +735,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_mulf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_mulf(float z[], const float x[], const float y[], int n) { int i; __m128 n1; @@ -764,7 +764,7 @@ } } #else -void vec_mulf(float z[], const float x[], const float y[], int n) +SPAN_DECLARE(void) vec_mulf(float z[], const float x[], const float y[], int n) { int i; @@ -774,7 +774,7 @@ /*- End of function --------------------------------------------------------*/ #endif -void vec_mul(double z[], const double x[], const double y[], int n) +SPAN_DECLARE(void) vec_mul(double z[], const double x[], const double y[], int n) { int i; @@ -795,7 +795,7 @@ #endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -float vec_dot_prodf(const float x[], const float y[], int n) +SPAN_DECLARE(float) vec_dot_prodf(const float x[], const float y[], int n) { int i; float z; @@ -832,7 +832,7 @@ return z; } #else -float vec_dot_prodf(const float x[], const float y[], int n) +SPAN_DECLARE(float) vec_dot_prodf(const float x[], const float y[], int n) { int i; float z; @@ -845,7 +845,7 @@ /*- End of function --------------------------------------------------------*/ #endif -double vec_dot_prod(const double x[], const double y[], int n) +SPAN_DECLARE(double) vec_dot_prod(const double x[], const double y[], int n) { int i; double z; @@ -871,7 +871,7 @@ /*- End of function --------------------------------------------------------*/ #endif -float vec_circular_dot_prodf(const float x[], const float y[], int n, int pos) +SPAN_DECLARE(float) vec_circular_dot_prodf(const float x[], const float y[], int n, int pos) { float z; @@ -884,7 +884,7 @@ #define LMS_LEAK_RATE 0.9999f #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) -void vec_lmsf(const float x[], float y[], int n, float error) +SPAN_DECLARE(void) vec_lmsf(const float x[], float y[], int n, float error) { int i; __m128 n1; @@ -918,7 +918,7 @@ } } #else -void vec_lmsf(const float x[], float y[], int n, float error) +SPAN_DECLARE(void) vec_lmsf(const float x[], float y[], int n, float error) { int i; @@ -931,7 +931,7 @@ #endif /*- End of function --------------------------------------------------------*/ -void vec_circular_lmsf(const float x[], float y[], int n, int pos, float error) +SPAN_DECLARE(void) vec_circular_lmsf(const float x[], float y[], int n, int pos, float error) { vec_lmsf(&x[pos], &y[0], n - pos, error); vec_lmsf(&x[0], &y[n - pos], pos, error); Modified: freeswitch/trunk/libs/spandsp/src/vector_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/vector_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/vector_int.c Mon Feb 2 15:36:29 2009 @@ -72,7 +72,7 @@ #include "spandsp/telephony.h" #include "spandsp/vector_int.h" -int32_t vec_dot_prodi16(const int16_t x[], const int16_t y[], int n) +SPAN_DECLARE(int32_t) vec_dot_prodi16(const int16_t x[], const int16_t y[], int n) { int32_t z; @@ -285,7 +285,7 @@ } /*- End of function --------------------------------------------------------*/ -int32_t vec_circular_dot_prodi16(const int16_t x[], const int16_t y[], int n, int pos) +SPAN_DECLARE(int32_t) vec_circular_dot_prodi16(const int16_t x[], const int16_t y[], int n, int pos) { int32_t z; @@ -295,7 +295,7 @@ } /*- End of function --------------------------------------------------------*/ -void vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t error) +SPAN_DECLARE(void) vec_lmsi16(const int16_t x[], int16_t y[], int n, int16_t error) { int i; @@ -304,14 +304,14 @@ } /*- End of function --------------------------------------------------------*/ -void vec_circular_lmsi16(const int16_t x[], int16_t y[], int n, int pos, int16_t error) +SPAN_DECLARE(void) vec_circular_lmsi16(const int16_t x[], int16_t y[], int n, int pos, int16_t error) { vec_lmsi16(&x[pos], &y[0], n - pos, error); vec_lmsi16(&x[0], &y[n - pos], pos, error); } /*- End of function --------------------------------------------------------*/ -int32_t vec_min_maxi16(const int16_t x[], int n, int16_t out[]) +SPAN_DECLARE(int32_t) vec_min_maxi16(const int16_t x[], int n, int16_t out[]) { #if defined(__GNUC__) && defined(SPANDSP_USE_MMX) static const int32_t lower_bound = 0x80008000; From mikej at freeswitch.org Mon Feb 2 15:04:08 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 17:04:08 -0600 Subject: [Freeswitch-svn] [commit] r11603 - freeswitch/trunk Message-ID: Author: mikej Date: Mon Feb 2 17:04:08 2009 New Revision: 11603 Log: fail configure if you don't have a working c++ compiler Modified: freeswitch/trunk/configure.in Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Mon Feb 2 17:04:08 2009 @@ -53,6 +53,18 @@ # Checks for programs. AC_PROG_CC AC_PROG_CXX + +#check if the g++ compiler works +AC_CACHE_CHECK([whether the C++ compiler works], [ac_cv_sys_cxx_works], [ + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([int main() { }], [ac_cv_sys_cxx_works=yes], + [ac_cv_sys_cxx_works=no]) + AC_LANG_POP([C++]) + ]) +[ if [ "x$ac_cv_sys_cxx_works" = "xno" ]; then ] + AC_MSG_FAILURE([The C++ compiler does not work. Please (re)install the C++ compiler]) +[ fi ] + AC_PROG_AWK AC_PROG_MAKE_SET AC_PROG_INSTALL From mrene at freeswitch.org Mon Feb 2 18:34:38 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 20:34:38 -0600 Subject: [Freeswitch-svn] [commit] r11604 - freeswitch/trunk/src/mod/applications/mod_limit Message-ID: Author: mrene Date: Mon Feb 2 20:34:37 2009 New Revision: 11604 Log: Fix transfer bug, fix leak and make the channel hangup if the extension is \!hangup_cause Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Mon Feb 2 20:34:37 2009 @@ -57,12 +57,16 @@ #endif } globals; -struct limit_hash_item { +typedef struct { uint32_t total_usage; uint32_t rate_usage; time_t last_check; -}; -typedef struct limit_hash_item limit_hash_item_t; +} limit_hash_item_t; + +typedef struct { + uint8_t have_state_handler; + switch_hash_t *hash; + } limit_hash_private_t; static char limit_sql[] = @@ -295,7 +299,7 @@ { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_state_t state = switch_channel_get_state(channel); - switch_hash_t *channel_hash = switch_channel_get_private(channel, "limit_hash"); + limit_hash_private_t *pvt = switch_channel_get_private(channel, "limit_hash"); /* The call is either hung up, or is going back into the dialplan, decrement appropriate couters */ if (state == CS_HANGUP || state == CS_ROUTING) { @@ -303,7 +307,8 @@ switch_mutex_lock(globals.limit_hash_mutex); /* Loop through the channel's hashtable which contains mapping to all the limit_hash_item_t referenced by that channel */ - for(hi = switch_hash_first(NULL, channel_hash); hi; hi = switch_hash_next(hi)) + //for(hi = switch_hash_first(NULL, pvt->hash); hi; hi = switch_hash_next(hi)) + while((hi = switch_hash_first(NULL, pvt->hash))) { void *val = NULL; const void *key; @@ -316,9 +321,21 @@ /* We keep the structure even though the count is 0 so we do not allocate too often */ item->total_usage--; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Usage for %s is now %d\n", (const char*)key, item->total_usage); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Usage for %s is now %d\n", (const char*)key, item->total_usage); + + if (item->total_usage == 0) { + /* Noone is using this item anymore */ + switch_core_hash_delete(globals.limit_hash, (const char*)key); + free(item); + } + + switch_core_hash_delete(pvt->hash, (const char*)key); } + + /* Remove handler */ switch_core_event_hook_remove_state_change(session, hash_state_handler); + pvt->have_state_handler = 0; + switch_mutex_unlock(globals.limit_hash_mutex); } @@ -812,9 +829,8 @@ limit_hash_item_t *item = NULL; switch_channel_t *channel = switch_core_session_get_channel(session); time_t now = switch_epoch_time_now(NULL); - switch_hash_t *channel_hash = NULL; + limit_hash_private_t *pvt = NULL; uint8_t increment = 1; - uint8_t new_channel = 0; /* Parse application data */ if (!switch_strlen_zero(data)) { @@ -857,22 +873,25 @@ /* Check if that realm+id has ever been checked */ if (!(item = (limit_hash_item_t*)switch_core_hash_find(globals.limit_hash, hashkey))) { /* No, create an empty structure and add it, then continue like as if it existed */ - item = (limit_hash_item_t*)switch_core_alloc(globals.pool, sizeof(limit_hash_item_t)); + item = (limit_hash_item_t*)malloc(sizeof(limit_hash_item_t)); memset(item, 0, sizeof(limit_hash_item_t)); switch_core_hash_insert(globals.limit_hash, hashkey, item); } /* Did we already run on this channel before? */ - if ((channel_hash = switch_channel_get_private(channel, "limit_hash"))) + if ((pvt = switch_channel_get_private(channel, "limit_hash"))) { /* Yes, but check if we did that realm+id If we didnt, allow incrementing the counter. If we did, dont touch it but do the validation anyways */ - increment = !switch_core_hash_find(channel_hash, hashkey); + increment = !switch_core_hash_find(pvt->hash, hashkey); } else { /* This is the first limit check on this channel, create a hashtable, set our prviate data and add a state handler */ - new_channel = 1; + pvt = (limit_hash_private_t*)switch_core_session_alloc(session, sizeof(limit_hash_private_t)); + memset(pvt, 0, sizeof(limit_hash_private_t)); + switch_core_hash_init(&pvt->hash, switch_core_session_get_pool(session)); + switch_channel_set_private(channel, "limit_hash", pvt); } if (interval > 0) { @@ -885,22 +904,29 @@ if ((max >= 0) && (item->rate_usage > (uint32_t)max)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Usage for %s exceeds maximum rate of %d/%ds, now at %d\n", hashkey, max, interval, item->rate_usage); - switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); + if (*xfer_exten == '!') { + switch_channel_hangup(channel, switch_channel_str2cause(xfer_exten+1)); + } else { + switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); + } goto end; } } } else if ((max >= 0) && (item->total_usage + increment > (uint32_t)max)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Usage for %s is already at max value (%d)\n", hashkey, item->total_usage); - switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); + if (*xfer_exten == '!') { + switch_channel_hangup(channel, switch_channel_str2cause(xfer_exten+1)); + } else { + switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); + } goto end; } if (increment) { item->total_usage++; - if (!new_channel) { - switch_core_hash_insert(channel_hash, hashkey, item); - } + + switch_core_hash_insert(pvt->hash, hashkey, item); if (max == -1) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Usage for %s is now %d\n", hashkey, item->total_usage); @@ -915,11 +941,9 @@ switch_channel_set_variable(channel, "limit_usage", switch_core_session_sprintf(session, "%d", item->total_usage)); switch_channel_set_variable(channel, "limit_rate", switch_core_session_sprintf(session, "%d", item->rate_usage)); - if (new_channel) { - switch_core_hash_init(&channel_hash, switch_core_session_get_pool(session)); - switch_core_hash_insert(channel_hash, hashkey, item); - switch_channel_set_private(channel, "limit_hash", channel_hash); + if (!pvt->have_state_handler) { switch_core_event_hook_add_state_change(session, hash_state_handler); + pvt->have_state_handler = 1; } end: From intralanman at freeswitch.org Mon Feb 2 19:19:16 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 21:19:16 -0600 Subject: [Freeswitch-svn] [commit] r11607 - freeswitch/branches/jskopis Message-ID: Author: intralanman Date: Mon Feb 2 21:19:16 2009 New Revision: 11607 Log: adding branch for skopii... hopefully in the right place this time ;-) Added: freeswitch/branches/jskopis/ From mrene at freeswitch.org Mon Feb 2 19:46:53 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Mon, 02 Feb 2009 21:46:53 -0600 Subject: [Freeswitch-svn] [commit] r11608 - freeswitch/trunk/src/mod/applications/mod_limit Message-ID: Author: mrene Date: Mon Feb 2 21:46:53 2009 New Revision: 11608 Log: write different channel variables per realm_id Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Mon Feb 2 21:46:53 2009 @@ -938,9 +938,17 @@ } /* Save current usage & rate into channel variables so it can be used later in the dialplan, or added to CDR records */ - switch_channel_set_variable(channel, "limit_usage", switch_core_session_sprintf(session, "%d", item->total_usage)); - switch_channel_set_variable(channel, "limit_rate", switch_core_session_sprintf(session, "%d", item->rate_usage)); - + { + const char *susage = switch_core_session_sprintf(session, "%d", item->total_usage); + const char *srate = switch_core_session_sprintf(session, "%d", item->rate_usage); + + switch_channel_set_variable(channel, "limit_usage", susage); + switch_channel_set_variable(channel, switch_core_session_sprintf(session, "limit_usage_%s", hashkey), susage); + + switch_channel_set_variable(channel, "limit_rate", srate); + switch_channel_set_variable(channel, switch_core_session_sprintf(session, "limit_rate_%s", hashkey), srate); + } + if (!pvt->have_state_handler) { switch_core_event_hook_add_state_change(session, hash_state_handler); pvt->have_state_handler = 1; From rupa at freeswitch.org Tue Feb 3 07:59:46 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 09:59:46 -0600 Subject: [Freeswitch-svn] [commit] r11609 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 3 09:59:46 2009 New Revision: 11609 Log: add mutex around odbc calls Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 3 09:59:46 2009 @@ -120,6 +120,7 @@ char *dbname; char *odbc_dsn; switch_mutex_t *mutex; + switch_mutex_t *db_mutex; switch_odbc_handle_t *master_odbc; switch_hash_t *profile_hash; profile_t *default_profile; @@ -155,7 +156,7 @@ , destination_number, cur_route->suffix, cur_route->gw_suffix); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Returning Dialstring %s\n", data); - switch_safe_free(orig_destination_number); + switch_safe_free(orig_destination_number); /* don't need to free destination_number */ return data; } @@ -243,7 +244,7 @@ p = (char *)str; len = strlen(str); - switch_zmalloc(newstr, len+1); /* worst case, same string */ + switch_zmalloc(newstr, len+1); np = newstr; while(*p) { @@ -260,15 +261,19 @@ static switch_bool_t lcr_execute_sql_callback(char *sql, switch_core_db_callback_func_t callback, void *pdata) { + switch_bool_t retval = SWITCH_FALSE; + + switch_mutex_lock(globals.db_mutex); if (globals.odbc_dsn) { if(switch_odbc_handle_callback_exec(globals.master_odbc, sql, callback, pdata) == SWITCH_ODBC_FAIL) { - return SWITCH_FALSE; + retval = SWITCH_FALSE; } else { - return SWITCH_TRUE; + retval = SWITCH_TRUE; } } - return SWITCH_FALSE; + switch_mutex_unlock(globals.db_mutex); + return retval; } int route_add_callback(void *pArg, int argc, char **argv, char **columnNames) @@ -766,6 +771,9 @@ if (switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, globals.pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to initialize mutex\n"); } + if (switch_mutex_init(&globals.db_mutex, SWITCH_MUTEX_UNNESTED, globals.pool) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to initialize db_mutex\n"); + } if(set_db_random() == SWITCH_TRUE) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Database RANDOM function set to %s\n", db_random); From anthm at freeswitch.org Tue Feb 3 09:17:31 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 11:17:31 -0600 Subject: [Freeswitch-svn] [commit] r11610 - freeswitch/trunk/src Message-ID: Author: anthm Date: Tue Feb 3 11:17:31 2009 New Revision: 11610 Log: Modify state machine behaviour. Endpoint handlers can still veto all other state handlers by returning SWITCH_STATUS_FALSE Application handlers can only veto each other by returning SWITCH_STATUS_FALSE. Global handlers will still be called when application vetos but they can still veto each other. Default handler will not be called if application or global vetos or if state has changed from any handler. Modified: freeswitch/trunk/src/switch_core_state_machine.c freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_core_state_machine.c ============================================================================== --- freeswitch/trunk/src/switch_core_state_machine.c (original) +++ freeswitch/trunk/src/switch_core_state_machine.c Tue Feb 3 11:17:31 2009 @@ -276,12 +276,12 @@ midstate = state; \ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "(%s) State %s\n", switch_channel_get_name(session->channel), __STATE_STR); \ if (!driver_state_handler->on_##__STATE || (driver_state_handler->on_##__STATE(session) == SWITCH_STATUS_SUCCESS \ - && midstate == switch_channel_get_state(session->channel))) { \ + )) { \ while (do_extra_handlers && (application_state_handler = switch_channel_get_state_handler(session->channel, index++)) != 0) { \ if (!application_state_handler || !application_state_handler->on_##__STATE \ || (application_state_handler->on_##__STATE \ && application_state_handler->on_##__STATE(session) == SWITCH_STATUS_SUCCESS \ - && midstate == switch_channel_get_state(session->channel))) { \ + )) { \ proceed++; \ continue; \ } else { \ @@ -290,11 +290,13 @@ } \ } \ index = 0; \ + if (!proceed) global_proceed = 0; \ + proceed = 1; \ while (do_extra_handlers && proceed && (application_state_handler = switch_core_get_state_handler(index++)) != 0) { \ if (!application_state_handler || !application_state_handler->on_##__STATE || \ (application_state_handler->on_##__STATE && \ application_state_handler->on_##__STATE(session) == SWITCH_STATUS_SUCCESS \ - && midstate == switch_channel_get_state(session->channel))) { \ + )) { \ proceed++; \ continue; \ } else { \ @@ -302,7 +304,8 @@ break; \ } \ } \ - if (proceed) { \ + if (!proceed || midstate != switch_channel_get_state(session->channel)) global_proceed = 0; \ + if (global_proceed) { \ switch_core_standard_on_##__STATE(session); \ } \ } \ @@ -374,6 +377,7 @@ if (state != switch_channel_get_running_state(session->channel) || state == CS_HANGUP) { int index = 0; int proceed = 1; + int global_proceed = 1; int do_extra_handlers = 1; switch_channel_set_running_state(session->channel, state); Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Tue Feb 3 11:17:31 2009 @@ -58,8 +58,10 @@ { switch_channel_t *channel = switch_core_session_get_channel(session); - /* put the channel in a passive state until it is answered */ - switch_channel_set_state(channel, CS_CONSUME_MEDIA); + if (switch_channel_get_state(channel) == CS_ROUTING) { + /* put the channel in a passive state until it is answered */ + switch_channel_set_state(channel, CS_CONSUME_MEDIA); + } return SWITCH_STATUS_FALSE; } From rupa at freeswitch.org Tue Feb 3 10:49:25 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 12:49:25 -0600 Subject: [Freeswitch-svn] [commit] r11611 - freeswitch/trunk/src/mod/applications/mod_easyroute Message-ID: Author: rupa Date: Tue Feb 3 12:49:25 2009 New Revision: 11611 Log: fix memory leak on each sql execution Modified: freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c Modified: freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c (original) +++ freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c Tue Feb 3 12:49:25 2009 @@ -281,6 +281,7 @@ #else switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "mod_easyroute requires core ODBC support. Please refer to the documentation on how to enable this\n"); #endif + switch_safe_free(sql); if (globals.mutex){ switch_mutex_unlock(globals.mutex); } From mikej at freeswitch.org Tue Feb 3 10:50:18 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 12:50:18 -0600 Subject: [Freeswitch-svn] [commit] r11612 - in freeswitch/trunk/libs/spandsp: spandsp-sim src src/msvc src/spandsp tests Message-ID: Author: mikej Date: Tue Feb 3 12:50:18 2009 New Revision: 11612 Log: update to snapshot spandsp-20090204 Added: freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c freeswitch/trunk/libs/spandsp/spandsp-sim/line_model.c freeswitch/trunk/libs/spandsp/spandsp-sim/make_line_models.c freeswitch/trunk/libs/spandsp/spandsp-sim/rfc2198_sim.c freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c freeswitch/trunk/libs/spandsp/src/Makefile.am freeswitch/trunk/libs/spandsp/src/adsi.c freeswitch/trunk/libs/spandsp/src/async.c freeswitch/trunk/libs/spandsp/src/at_interpreter.c freeswitch/trunk/libs/spandsp/src/awgn.c freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c freeswitch/trunk/libs/spandsp/src/bert.c freeswitch/trunk/libs/spandsp/src/bit_operations.c freeswitch/trunk/libs/spandsp/src/bitstream.c freeswitch/trunk/libs/spandsp/src/complex_filters.c freeswitch/trunk/libs/spandsp/src/complex_vector_float.c freeswitch/trunk/libs/spandsp/src/complex_vector_int.c freeswitch/trunk/libs/spandsp/src/crc.c freeswitch/trunk/libs/spandsp/src/dds_float.c freeswitch/trunk/libs/spandsp/src/dds_int.c freeswitch/trunk/libs/spandsp/src/dtmf.c freeswitch/trunk/libs/spandsp/src/echo.c freeswitch/trunk/libs/spandsp/src/fax.c freeswitch/trunk/libs/spandsp/src/floating_fudge.h freeswitch/trunk/libs/spandsp/src/fsk.c freeswitch/trunk/libs/spandsp/src/g711.c freeswitch/trunk/libs/spandsp/src/g722.c freeswitch/trunk/libs/spandsp/src/g726.c freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c freeswitch/trunk/libs/spandsp/src/gsm0610_long_term.c freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c freeswitch/trunk/libs/spandsp/src/gsm0610_preprocess.c freeswitch/trunk/libs/spandsp/src/gsm0610_rpe.c freeswitch/trunk/libs/spandsp/src/gsm0610_short_term.c freeswitch/trunk/libs/spandsp/src/hdlc.c freeswitch/trunk/libs/spandsp/src/ima_adpcm.c freeswitch/trunk/libs/spandsp/src/libspandsp.dsp freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj freeswitch/trunk/libs/spandsp/src/logging.c freeswitch/trunk/libs/spandsp/src/lpc10_decode.c freeswitch/trunk/libs/spandsp/src/lpc10_encode.c freeswitch/trunk/libs/spandsp/src/lpc10_voicing.c freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c freeswitch/trunk/libs/spandsp/src/modem_echo.c freeswitch/trunk/libs/spandsp/src/msvc/config.h freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h freeswitch/trunk/libs/spandsp/src/noise.c freeswitch/trunk/libs/spandsp/src/oki_adpcm.c freeswitch/trunk/libs/spandsp/src/playout.c freeswitch/trunk/libs/spandsp/src/plc.c freeswitch/trunk/libs/spandsp/src/power_meter.c freeswitch/trunk/libs/spandsp/src/queue.c freeswitch/trunk/libs/spandsp/src/schedule.c freeswitch/trunk/libs/spandsp/src/sig_tone.c freeswitch/trunk/libs/spandsp/src/silence_gen.c freeswitch/trunk/libs/spandsp/src/spandsp.h.in freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h freeswitch/trunk/libs/spandsp/src/spandsp/async.h freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h freeswitch/trunk/libs/spandsp/src/spandsp/bert.h freeswitch/trunk/libs/spandsp/src/spandsp/bitstream.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h freeswitch/trunk/libs/spandsp/src/spandsp/echo.h freeswitch/trunk/libs/spandsp/src/spandsp/fax.h freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h freeswitch/trunk/libs/spandsp/src/spandsp/g711.h freeswitch/trunk/libs/spandsp/src/spandsp/g722.h freeswitch/trunk/libs/spandsp/src/spandsp/g726.h freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h freeswitch/trunk/libs/spandsp/src/spandsp/noise.h freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h freeswitch/trunk/libs/spandsp/src/spandsp/playout.h freeswitch/trunk/libs/spandsp/src/spandsp/plc.h freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h freeswitch/trunk/libs/spandsp/src/spandsp/queue.h freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/t30.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h freeswitch/trunk/libs/spandsp/src/spandsp/t31.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h freeswitch/trunk/libs/spandsp/src/spandsp/t4.h freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h freeswitch/trunk/libs/spandsp/src/spandsp/v42.h freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h freeswitch/trunk/libs/spandsp/src/spandsp/v8.h freeswitch/trunk/libs/spandsp/src/spandsp/version.h freeswitch/trunk/libs/spandsp/src/super_tone_rx.c freeswitch/trunk/libs/spandsp/src/super_tone_tx.c freeswitch/trunk/libs/spandsp/src/t30.c freeswitch/trunk/libs/spandsp/src/t30_api.c freeswitch/trunk/libs/spandsp/src/t30_logging.c freeswitch/trunk/libs/spandsp/src/t31.c freeswitch/trunk/libs/spandsp/src/t35.c freeswitch/trunk/libs/spandsp/src/t38_core.c freeswitch/trunk/libs/spandsp/src/t38_gateway.c freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c freeswitch/trunk/libs/spandsp/src/t38_terminal.c freeswitch/trunk/libs/spandsp/src/t4.c freeswitch/trunk/libs/spandsp/src/time_scale.c freeswitch/trunk/libs/spandsp/src/tone_detect.c freeswitch/trunk/libs/spandsp/src/tone_generate.c freeswitch/trunk/libs/spandsp/src/v17rx.c freeswitch/trunk/libs/spandsp/src/v17tx.c freeswitch/trunk/libs/spandsp/src/v22bis_rx.c freeswitch/trunk/libs/spandsp/src/v22bis_tx.c freeswitch/trunk/libs/spandsp/src/v27ter_rx.c freeswitch/trunk/libs/spandsp/src/v27ter_tx.c freeswitch/trunk/libs/spandsp/src/v29rx.c freeswitch/trunk/libs/spandsp/src/v29tx.c freeswitch/trunk/libs/spandsp/src/v42.c freeswitch/trunk/libs/spandsp/src/v42bis.c freeswitch/trunk/libs/spandsp/src/v8.c freeswitch/trunk/libs/spandsp/src/vector_float.c freeswitch/trunk/libs/spandsp/src/vector_int.c freeswitch/trunk/libs/spandsp/tests/t31_tests.c Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g1050.c,v 1.12 2009/01/31 08:48:10 steveu Exp $ + * $Id: g1050.c,v 1.13 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -37,7 +37,6 @@ #include #include #include -#include "floating_fudge.h" #if defined(HAVE_TGMATH_H) #include #endif @@ -45,6 +44,7 @@ #define GEN_CONST #include #endif +#include "floating_fudge.h" #include "spandsp.h" #include "spandsp/g1050.h" Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/line_model.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/line_model.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/line_model.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: line_model.c,v 1.7 2008/11/30 10:17:30 steveu Exp $ + * $Id: line_model.c,v 1.8 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -37,7 +37,6 @@ #include #include #include -#include "floating_fudge.h" #if defined(HAVE_TGMATH_H) #include #endif @@ -45,6 +44,7 @@ #define GEN_CONST #include #endif +#include "floating_fudge.h" #define SPANDSP_EXPOSE_INTERNAL_STRUCTURES #include "spandsp.h" Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/make_line_models.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/make_line_models.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/make_line_models.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: make_line_models.c,v 1.7 2008/07/25 13:56:54 steveu Exp $ + * $Id: make_line_models.c,v 1.8 2009/02/03 16:28:39 steveu Exp $ */ /*! \page make_line_models_page Telephony line model construction @@ -41,18 +41,18 @@ #include #include #include -#include "floating_fudge.h" -#if defined(HAVE_FFTW3_H) -#include -#else -#include -#endif #if defined(HAVE_TGMATH_H) #include #endif #if defined(HAVE_MATH_H) #include #endif +#include "floating_fudge.h" +#if defined(HAVE_FFTW3_H) +#include +#else +#include +#endif #include "spandsp.h" Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/rfc2198_sim.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/rfc2198_sim.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/rfc2198_sim.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: rfc2198_sim.c,v 1.6 2008/07/02 14:48:25 steveu Exp $ + * $Id: rfc2198_sim.c,v 1.7 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -37,7 +37,6 @@ #include #include #include -#include "floating_fudge.h" #if defined(HAVE_TGMATH_H) #include #endif @@ -45,6 +44,7 @@ #define GEN_CONST #include #endif +#include "floating_fudge.h" #include "spandsp.h" #include "spandsp/g1050.h" Modified: freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c ============================================================================== --- freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c (original) +++ freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: test_utils.c,v 1.11 2009/01/31 08:48:10 steveu Exp $ + * $Id: test_utils.c,v 1.12 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -35,13 +35,13 @@ #include #include #include -#include "floating_fudge.h" #if defined(HAVE_TGMATH_H) #include #endif #if defined(HAVE_MATH_H) #include #endif +#include "floating_fudge.h" #include #include #include Modified: freeswitch/trunk/libs/spandsp/src/Makefile.am ============================================================================== --- freeswitch/trunk/libs/spandsp/src/Makefile.am (original) +++ freeswitch/trunk/libs/spandsp/src/Makefile.am Tue Feb 3 12:50:18 2009 @@ -16,7 +16,7 @@ ## License along with this program; if not, write to the Free Software ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## -## $Id: Makefile.am,v 1.121 2009/01/31 12:24:11 steveu Exp $ +## $Id: Makefile.am,v 1.122 2009/02/03 16:33:13 steveu Exp $ AM_CFLAGS = $(COMP_VENDOR_CFLAGS) AM_LDFLAGS = $(COMP_VENDOR_LDFLAGS) @@ -143,6 +143,7 @@ spandsp/dds.h \ spandsp/dtmf.h \ spandsp/echo.h \ + spandsp/fast_convert.h \ spandsp/fax.h \ spandsp/fax_modems.h \ spandsp/fir.h \ Modified: freeswitch/trunk/libs/spandsp/src/adsi.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/adsi.c (original) +++ freeswitch/trunk/libs/spandsp/src/adsi.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: adsi.c,v 1.68 2009/01/29 01:41:05 steveu Exp $ + * $Id: adsi.c,v 1.69 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/queue.h" #include "spandsp/complex.h" @@ -412,9 +413,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(adsi_rx_state_t *) adsi_rx_init(adsi_rx_state_t *s, - int standard, - put_msg_func_t put_msg, - void *user_data) + int standard, + put_msg_func_t put_msg, + void *user_data) { if (s == NULL) { @@ -490,10 +491,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) adsi_tx_set_preamble(adsi_tx_state_t *s, - int preamble_len, - int preamble_ones_len, - int postamble_ones_len, - int stop_bits) + int preamble_len, + int preamble_ones_len, + int postamble_ones_len, + int stop_bits) { if (preamble_len < 0) { Modified: freeswitch/trunk/libs/spandsp/src/async.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/async.c (original) +++ freeswitch/trunk/libs/spandsp/src/async.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: async.c,v 1.15 2009/01/05 13:48:31 steveu Exp $ + * $Id: async.c,v 1.16 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -73,12 +73,12 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(async_rx_state_t *) async_rx_init(async_rx_state_t *s, - int data_bits, - int parity, - int stop_bits, - int use_v14, - put_byte_func_t put_byte, - void *user_data) + int data_bits, + int parity, + int stop_bits, + int use_v14, + put_byte_func_t put_byte, + void *user_data) { if (s == NULL) { @@ -103,7 +103,7 @@ } /*- End of function --------------------------------------------------------*/ -void async_rx_put_bit(void *user_data, int bit) +SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit) { async_rx_state_t *s; @@ -185,12 +185,12 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(async_tx_state_t *) async_tx_init(async_tx_state_t *s, - int data_bits, - int parity, - int stop_bits, - int use_v14, - get_byte_func_t get_byte, - void *user_data) + int data_bits, + int parity, + int stop_bits, + int use_v14, + get_byte_func_t get_byte, + void *user_data) { if (s == NULL) { @@ -216,7 +216,7 @@ } /*- End of function --------------------------------------------------------*/ -int async_tx_get_bit(void *user_data) +SPAN_DECLARE(int) async_tx_get_bit(void *user_data) { async_tx_state_t *s; int bit; Modified: freeswitch/trunk/libs/spandsp/src/at_interpreter.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/at_interpreter.c (original) +++ freeswitch/trunk/libs/spandsp/src/at_interpreter.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: at_interpreter.c,v 1.34 2009/01/16 15:13:16 steveu Exp $ + * $Id: at_interpreter.c,v 1.35 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -5292,10 +5292,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(at_state_t *) at_init(at_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - at_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data) + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + at_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/awgn.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/awgn.c (original) +++ freeswitch/trunk/libs/spandsp/src/awgn.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: awgn.c,v 1.20 2009/01/28 03:41:26 steveu Exp $ + * $Id: awgn.c,v 1.21 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -57,6 +57,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/saturated.h" #include "spandsp/awgn.h" Modified: freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c (original) +++ freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bell_r2_mf.c,v 1.36 2009/01/31 08:48:10 steveu Exp $ + * $Id: bell_r2_mf.c,v 1.37 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -45,6 +45,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/queue.h" #include "spandsp/dc_restore.h" #include "spandsp/complex.h" @@ -612,8 +613,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(bell_mf_rx_state_t *) bell_mf_rx_init(bell_mf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data) + digits_rx_callback_t callback, + void *user_data) { int i; static int initialised = FALSE; @@ -785,9 +786,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(r2_mf_rx_state_t *) r2_mf_rx_init(r2_mf_rx_state_t *s, - int fwd, - tone_report_func_t callback, - void *user_data) + int fwd, + tone_report_func_t callback, + void *user_data) { int i; static int initialised = FALSE; Modified: freeswitch/trunk/libs/spandsp/src/bert.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bert.c (original) +++ freeswitch/trunk/libs/spandsp/src/bert.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bert.c,v 1.30 2008/11/30 13:44:35 steveu Exp $ + * $Id: bert.c,v 1.31 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) Modified: freeswitch/trunk/libs/spandsp/src/bit_operations.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bit_operations.c (original) +++ freeswitch/trunk/libs/spandsp/src/bit_operations.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bit_operations.c,v 1.15 2008/06/28 01:13:08 steveu Exp $ + * $Id: bit_operations.c,v 1.16 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -69,7 +69,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(__x86_64__) -uint64_t bit_reverse_8bytes(uint64_t x) +SPAN_DECLARE(uint64_t) bit_reverse_8bytes(uint64_t x) { x = ((x & 0xF0F0F0F0F0F0F0F0LLU) >> 4) | ((x & 0x0F0F0F0F0F0F0F0FLLU) << 4); x = ((x & 0xCCCCCCCCCCCCCCCCLLU) >> 2) | ((x & 0x3333333333333333LLU) << 2); Modified: freeswitch/trunk/libs/spandsp/src/bitstream.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/bitstream.c (original) +++ freeswitch/trunk/libs/spandsp/src/bitstream.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bitstream.c,v 1.16 2009/01/05 13:48:31 steveu Exp $ + * $Id: bitstream.c,v 1.17 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -41,7 +41,7 @@ #include "spandsp/private/bitstream.h" -void bitstream_put(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits) +SPAN_DECLARE(void) bitstream_put(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits) { value &= ((1 << bits) - 1); if (s->residue + bits <= 32) @@ -58,7 +58,7 @@ } /*- End of function --------------------------------------------------------*/ -void bitstream_put2(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits) +SPAN_DECLARE(void) bitstream_put2(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits) { value &= ((1 << bits) - 1); if (s->residue + bits <= 32) @@ -74,7 +74,7 @@ } /*- End of function --------------------------------------------------------*/ -uint32_t bitstream_get(bitstream_state_t *s, const uint8_t **c, int bits) +SPAN_DECLARE(uint32_t) bitstream_get(bitstream_state_t *s, const uint8_t **c, int bits) { uint32_t x; @@ -90,7 +90,7 @@ } /*- End of function --------------------------------------------------------*/ -uint32_t bitstream_get2(bitstream_state_t *s, const uint8_t **c, int bits) +SPAN_DECLARE(uint32_t) bitstream_get2(bitstream_state_t *s, const uint8_t **c, int bits) { uint32_t x; @@ -105,7 +105,7 @@ } /*- End of function --------------------------------------------------------*/ -void bitstream_flush(bitstream_state_t *s, uint8_t **c) +SPAN_DECLARE(void) bitstream_flush(bitstream_state_t *s, uint8_t **c) { if (s->residue > 0) { @@ -115,7 +115,7 @@ } /*- End of function --------------------------------------------------------*/ -void bitstream_flush2(bitstream_state_t *s, uint8_t **c) +SPAN_DECLARE(void) bitstream_flush2(bitstream_state_t *s, uint8_t **c) { if (s->residue > 0) { @@ -125,7 +125,7 @@ } /*- End of function --------------------------------------------------------*/ -bitstream_state_t *bitstream_init(bitstream_state_t *s) +SPAN_DECLARE(bitstream_state_t *) bitstream_init(bitstream_state_t *s) { if (s == NULL) return NULL; Modified: freeswitch/trunk/libs/spandsp/src/complex_filters.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_filters.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_filters.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_filters.c,v 1.15 2009/01/31 08:48:10 steveu Exp $ + * $Id: complex_filters.c,v 1.16 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -53,17 +53,20 @@ } return fi; } +/*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) filter_delete(filter_t *fi) { if (fi) free(fi); } +/*- End of function --------------------------------------------------------*/ SPAN_DECLARE(float) filter_step(filter_t *fi, float x) { return fi->fs->fsf(fi, x); } +/*- End of function --------------------------------------------------------*/ SPAN_DECLARE(cfilter_t *) cfilter_create(fspec_t *fs) { @@ -85,6 +88,7 @@ } return cfi; } +/*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) cfilter_delete(cfilter_t *cfi) { @@ -94,6 +98,7 @@ filter_delete(cfi->imf); } } +/*- End of function --------------------------------------------------------*/ SPAN_DECLARE(complexf_t) cfilter_step(cfilter_t *cfi, const complexf_t *z) { @@ -103,3 +108,5 @@ cc.im = filter_step(cfi->imf, z->im); return cc; } +/*- End of function --------------------------------------------------------*/ +/*- End of file ------------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/complex_vector_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_vector_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_vector_float.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_vector_float.c,v 1.14 2009/01/28 03:41:26 steveu Exp $ + * $Id: complex_vector_float.c,v 1.15 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -135,7 +135,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n) +SPAN_DECLARE(void) cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n) { int i; @@ -179,7 +179,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -complexl_t cvec_dot_prodl(const complexl_t x[], const complexl_t y[], int n) +SPAN_DECLARE(complexl_t) cvec_dot_prodl(const complexl_t x[], const complexl_t y[], int n) { int i; complexl_t z; Modified: freeswitch/trunk/libs/spandsp/src/complex_vector_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/complex_vector_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/complex_vector_int.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_vector_int.c,v 1.6 2009/01/28 03:41:26 steveu Exp $ + * $Id: complex_vector_int.c,v 1.7 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/crc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/crc.c (original) +++ freeswitch/trunk/libs/spandsp/src/crc.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: crc.c,v 1.5 2009/01/05 13:48:31 steveu Exp $ + * $Id: crc.c,v 1.6 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/dds_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dds_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/dds_float.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dds_float.c,v 1.10 2009/01/28 03:41:26 steveu Exp $ + * $Id: dds_float.c,v 1.11 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/dds_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dds_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/dds_int.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dds_int.c,v 1.14 2009/01/29 01:41:05 steveu Exp $ + * $Id: dds_int.c,v 1.15 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/dtmf.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/dtmf.c (original) +++ freeswitch/trunk/libs/spandsp/src/dtmf.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dtmf.c,v 1.49 2009/01/31 08:48:10 steveu Exp $ + * $Id: dtmf.c,v 1.50 2009/02/03 16:28:39 steveu Exp $ */ /*! \file dtmf.h */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/queue.h" #include "spandsp/complex.h" #include "spandsp/dds.h" @@ -251,7 +252,7 @@ /* Avoid reporting multiple no digit conditions on flaky hits */ if (s->in_digit || hit) { - i = (s->in_digit && !hit) ? -99 : lrintf(log10f(s->energy)*10.0f - DTMF_POWER_OFFSET + DBM0_MAX_POWER); + i = (s->in_digit && !hit) ? -99 : lfastrintf(log10f(s->energy)*10.0f - DTMF_POWER_OFFSET + DBM0_MAX_POWER); s->realtime_callback(s->realtime_callback_data, hit, i, 0); } } @@ -322,8 +323,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, - tone_report_func_t callback, - void *user_data) + tone_report_func_t callback, + void *user_data) { s->realtime_callback = callback; s->realtime_callback_data = user_data; @@ -331,10 +332,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) dtmf_rx_parms(dtmf_rx_state_t *s, - int filter_dialtone, - int twist, - int reverse_twist, - int threshold) + int filter_dialtone, + int twist, + int reverse_twist, + int threshold) { float x; @@ -359,8 +360,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(dtmf_rx_state_t *) dtmf_rx_init(dtmf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data) + digits_rx_callback_t callback, + void *user_data) { int i; static int initialised = FALSE; Modified: freeswitch/trunk/libs/spandsp/src/echo.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/echo.c (original) +++ freeswitch/trunk/libs/spandsp/src/echo.c Tue Feb 3 12:50:18 2009 @@ -27,7 +27,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: echo.c,v 1.30 2009/01/28 03:41:26 steveu Exp $ + * $Id: echo.c,v 1.31 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -95,6 +95,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/saturated.h" #include "spandsp/dc_restore.h" Modified: freeswitch/trunk/libs/spandsp/src/fax.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/fax.c (original) +++ freeswitch/trunk/libs/spandsp/src/fax.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fax.c,v 1.84 2009/01/28 03:41:26 steveu Exp $ + * $Id: fax.c,v 1.85 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/floating_fudge.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/floating_fudge.h (original) +++ freeswitch/trunk/libs/spandsp/src/floating_fudge.h Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: floating_fudge.h,v 1.6 2009/01/29 01:41:05 steveu Exp $ + * $Id: floating_fudge.h,v 1.7 2009/02/03 16:28:39 steveu Exp $ */ #if !defined(_FLOATING_FUDGE_H_) @@ -130,367 +130,6 @@ } #endif -/* The following code, to handle issues with lrint() and lrintf() on various - * platforms, is adapted from similar code in libsndfile, which is: - * - * Copyright (C) 2001-2004 Erik de Castro Lopo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - */ - -/* - * On Intel Pentium processors (especially PIII and probably P4), converting - * from float to int is very slow. To meet the C specs, the code produced by - * most C compilers targeting Pentium needs to change the FPU rounding mode - * before the float to int conversion is performed. - * - * Changing the FPU rounding mode causes the FPU pipeline to be flushed. It - * is this flushing of the pipeline which is so slow. - * - * Fortunately the ISO C99 specification defines the functions lrint, lrintf, - * llrint and llrintf which fix this problem as a side effect. - * - * On Unix-like systems, the configure process should have detected the - * presence of these functions. If they weren't found we have to replace them - * here with a standard C cast. - */ - -/* - * The C99 prototypes for these functions are as follows: - * - * int rintf(float x); - * int rint(double x); - * long int lrintf(float x); - * long int lrint(double x); - * long long int llrintf(float x); - * long long int llrint(double x); - * - * The presence of the required functions are detected during the configure - * process and the values HAVE_LRINT and HAVE_LRINTF are set accordingly in - * the config file. - */ - -#if defined(__CYGWIN__) - /* - * CYGWIN has lrint and lrintf functions, but they are slow and buggy: - * http://sourceware.org/ml/cygwin/2005-06/msg00153.html - * http://sourceware.org/ml/cygwin/2005-09/msg00047.html - * The latest version of cygwin seems to have made no effort to fix this. - * These replacement functions (pulled from the Public Domain MinGW - * math.h header) replace the native versions. - */ - static __inline__ long int lrint(double x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - - return retval; - } - - static __inline__ long int lrintf(float x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - return retval; - } - - static __inline__ long int lfastrint(double x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - - return retval; - } - - static __inline__ long int lfastrintf(float x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - return retval; - } -#elif defined(HAVE_LRINT) && defined(HAVE_LRINTF) - -#if defined(__i386__) - /* These routines are guaranteed fast on an i386 machine. Using the built in - lrint() and lrintf() should be similar, but they may not always be enabled. - Sometimes, especially with "-O0", you might get slow calls to routines. */ - static __inline__ long int lfastrint(double x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - - return retval; - } - - static __inline__ long int lfastrintf(float x) - { - long int retval; - - __asm__ __volatile__ - ( - "fistpl %0" - : "=m" (retval) - : "t" (x) - : "st" - ); - return retval; - } -#elif defined(__x86_64__) - /* On an x86_64 machine, the fastest thing seems to be a pure assignment from a - double or float to an int. It looks like the design on the x86_64 took account - of the default behaviour specified for C. */ - static __inline__ long int lfastrint(double x) - { - return (long int) (x); - } - - static __inline__ long int lfastrintf(float x) - { - return (long int) (x); - } -#elif defined(__ppc__) || defined(__powerpc__) - static __inline__ long int lfastrint(register double x) - { - int res[2]; - - __asm__ __volatile__ - ( - "fctiw %1, %1\n\t" - "stfd %1, %0" - : "=m" (res) /* Output */ - : "f" (x) /* Input */ - : "memory" - ); - - return res[1]; - } - - static __inline__ long int lfastrintf(register float x) - { - int res[2]; - - __asm__ __volatile__ - ( - "fctiw %1, %1\n\t" - "stfd %1, %0" - : "=m" (res) /* Output */ - : "f" (x) /* Input */ - : "memory" - ); - - return res[1]; - } -#endif - -#elif defined(WIN32) || defined(_WIN32) - /* - * Win32 doesn't seem to have the lrint() and lrintf() functions. - * Therefore implement inline versions of these functions here. - */ - __inline long int lrint(double x) - { - long int i; - - _asm - { - fld x - fistp i - }; - return i; - } - - __inline long int lrintf(float x) - { - long int i; - - _asm - { - fld x - fistp i - }; - return i; - } - - __inline float rintf(float flt) - { - _asm - { fld flt - frndint - } - } - - __inline double rint(double dbl) - { - __asm - { - fld dbl - frndint - } - } - - __inline long int lfastrint(double x) - { - long int i; - - _asm - { - fld x - fistp i - }; - return i; - } - - __inline long int lfastrintf(float x) - { - long int i; - - _asm - { - fld x - fistp i - }; - return i; - } -#elif defined(WIN64) || defined(_WIN64) - /* - * Win64 machines will do best with a simple assignment. - */ - __inline long int lfastrint(double x) - { - return (long int) (x); - } - - __inline long int lfastrintf(float x) - { - return (long int) (x); - } -#elif defined(__MWERKS__) && defined(macintosh) - /* This MacOS 9 solution was provided by Stephane Letz */ - - long int __inline__ lfastrint(register double x) - { - long int res[2]; - - asm - { - fctiw x, x - stfd x, res - } - return res[1]; - } - - long int __inline__ lfastrintf(register float x) - { - long int res[2]; - - asm - { - fctiw x, x - stfd x, res - } - return res[1]; - } - -#elif defined(__MACH__) && defined(__APPLE__) && (defined(__ppc__) || defined(__powerpc__)) - /* For Apple Mac OS/X - do recent versions still need this? */ - - static __inline__ long int lfastrint(register double x) - { - int res[2]; - - __asm__ __volatile__ - ( - "fctiw %1, %1\n\t" - "stfd %1, %0" - : "=m" (res) /* Output */ - : "f" (x) /* Input */ - : "memory" - ); - - return res[1]; - } - - static __inline__ long int lfastrintf(register float x) - { - int res[2]; - - __asm__ __volatile__ - ( - "fctiw %1, %1\n\t" - "stfd %1, %0" - : "=m" (res) /* Output */ - : "f" (x) /* Input */ - : "memory" - ); - - return res[1]; - } -#else - /* There is nothing else to do, but use a simple casting operation, instead of a real - rint() type function. Since we are only trying to use rint() to speed up conversions, - the accuracy issues related to changing the rounding scheme are of little concern - to us. */ - - #if !defined(__sgi) - #warning "No usable lrint() and lrintf() functions available." - #warning "Replacing these functions with a simple C cast." - #endif - - static __inline__ long int lfastrint(double x) - { - return (long int) (x); - } - - static __inline__ long int lfastrintf(float x) - { - return (long int) (x); - } - -#endif - #if defined(__cplusplus) } #endif Modified: freeswitch/trunk/libs/spandsp/src/fsk.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/fsk.c (original) +++ freeswitch/trunk/libs/spandsp/src/fsk.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fsk.c,v 1.50 2009/01/29 18:30:14 steveu Exp $ + * $Id: fsk.c,v 1.51 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -121,9 +121,9 @@ }; SPAN_DECLARE(fsk_tx_state_t *) fsk_tx_init(fsk_tx_state_t *s, - const fsk_spec_t *spec, - get_bit_func_t get_bit, - void *user_data) + const fsk_spec_t *spec, + get_bit_func_t get_bit, + void *user_data) { if (s == NULL) { @@ -231,10 +231,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(fsk_rx_state_t *) fsk_rx_init(fsk_rx_state_t *s, - const fsk_spec_t *spec, - int sync_mode, - put_bit_func_t put_bit, - void *user_data) + const fsk_spec_t *spec, + int sync_mode, + put_bit_func_t put_bit, + void *user_data) { int chop; Modified: freeswitch/trunk/libs/spandsp/src/g711.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g711.c (original) +++ freeswitch/trunk/libs/spandsp/src/g711.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g711.c,v 1.14 2009/01/28 03:41:26 steveu Exp $ + * $Id: g711.c,v 1.15 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -98,9 +98,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) g711_decode(g711_state_t *s, - int16_t amp[], - const uint8_t g711_data[], - int g711_bytes) + int16_t amp[], + const uint8_t g711_data[], + int g711_bytes) { int i; @@ -122,9 +122,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) g711_encode(g711_state_t *s, - uint8_t g711_data[], - const int16_t amp[], - int len) + uint8_t g711_data[], + const int16_t amp[], + int len) { int i; @@ -146,9 +146,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) g711_transcode(g711_state_t *s, - uint8_t g711_out[], - const uint8_t g711_in[], - int g711_bytes) + uint8_t g711_out[], + const uint8_t g711_in[], + int g711_bytes) { int i; Modified: freeswitch/trunk/libs/spandsp/src/g722.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g722.c (original) +++ freeswitch/trunk/libs/spandsp/src/g722.c Tue Feb 3 12:50:18 2009 @@ -28,7 +28,7 @@ * Computer Science, Speech Group * Chengxiang Lu and Alex Hauptmann * - * $Id: g722.c,v 1.6 2009/01/29 18:30:14 steveu Exp $ + * $Id: g722.c,v 1.7 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -49,6 +49,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/saturated.h" #include "spandsp/vector_int.h" #include "spandsp/g722.h" Modified: freeswitch/trunk/libs/spandsp/src/g726.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/g726.c (original) +++ freeswitch/trunk/libs/spandsp/src/g726.c Tue Feb 3 12:50:18 2009 @@ -48,7 +48,7 @@ * 2550 Garcia Avenue * Mountain View, California 94043 * - * $Id: g726.c,v 1.26 2009/01/28 03:41:26 steveu Exp $ + * $Id: g726.c,v 1.27 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -1065,9 +1065,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) g726_decode(g726_state_t *s, - int16_t amp[], - const uint8_t g726_data[], - int g726_bytes) + int16_t amp[], + const uint8_t g726_data[], + int g726_bytes) { int i; int samples; @@ -1121,9 +1121,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) g726_encode(g726_state_t *s, - uint8_t g726_data[], - const int16_t amp[], - int len) + uint8_t g726_data[], + const int16_t amp[], + int len) { int i; int g726_bytes; Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_decode.c,v 1.24 2009/01/28 03:41:26 steveu Exp $ + * $Id: gsm0610_decode.c,v 1.25 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_encode.c,v 1.28 2009/01/28 03:41:26 steveu Exp $ + * $Id: gsm0610_encode.c,v 1.29 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_long_term.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_long_term.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_long_term.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_long_term.c,v 1.20 2009/01/28 03:41:26 steveu Exp $ + * $Id: gsm0610_long_term.c,v 1.21 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_lpc.c,v 1.27 2009/01/28 03:41:26 steveu Exp $ + * $Id: gsm0610_lpc.c,v 1.28 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/bit_operations.h" #include "spandsp/saturated.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_preprocess.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_preprocess.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_preprocess.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_preprocess.c,v 1.16 2009/01/28 03:41:27 steveu Exp $ + * $Id: gsm0610_preprocess.c,v 1.17 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_rpe.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_rpe.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_rpe.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_rpe.c,v 1.24 2009/01/28 03:41:27 steveu Exp $ + * $Id: gsm0610_rpe.c,v 1.25 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_short_term.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_short_term.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_short_term.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * This code is based on the widely used GSM 06.10 code available from * http://kbs.cs.tu-berlin.de/~jutta/toast.html * - * $Id: gsm0610_short_term.c,v 1.18 2009/01/28 03:41:27 steveu Exp $ + * $Id: gsm0610_short_term.c,v 1.19 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/bitstream.h" #include "spandsp/saturated.h" #include "spandsp/gsm0610.h" Modified: freeswitch/trunk/libs/spandsp/src/hdlc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/hdlc.c (original) +++ freeswitch/trunk/libs/spandsp/src/hdlc.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: hdlc.c,v 1.68 2009/01/31 09:47:59 steveu Exp $ + * $Id: hdlc.c,v 1.69 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -296,11 +296,11 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(hdlc_rx_state_t *) hdlc_rx_init(hdlc_rx_state_t *s, - int crc32, - int report_bad_frames, - int framing_ok_threshold, - hdlc_frame_handler_t handler, - void *user_data) + int crc32, + int report_bad_frames, + int framing_ok_threshold, + hdlc_frame_handler_t handler, + void *user_data) { if (s == NULL) { @@ -319,7 +319,7 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) hdlc_rx_get_stats(hdlc_rx_state_t *s, - hdlc_rx_stats_t *t) + hdlc_rx_stats_t *t) { t->bytes = s->rx_bytes; t->good_frames = s->rx_frames; @@ -547,11 +547,11 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(hdlc_tx_state_t *) hdlc_tx_init(hdlc_tx_state_t *s, - int crc32, - int inter_frame_flags, - int progressive, - hdlc_underflow_handler_t handler, - void *user_data) + int crc32, + int inter_frame_flags, + int progressive, + hdlc_underflow_handler_t handler, + void *user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/ima_adpcm.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/ima_adpcm.c (original) +++ freeswitch/trunk/libs/spandsp/src/ima_adpcm.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: ima_adpcm.c,v 1.33 2009/01/28 03:41:27 steveu Exp $ + * $Id: ima_adpcm.c,v 1.34 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -44,6 +44,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/saturated.h" #include "spandsp/ima_adpcm.h" #include "spandsp/private/ima_adpcm.h" @@ -299,9 +300,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) ima_adpcm_decode(ima_adpcm_state_t *s, - int16_t amp[], - const uint8_t ima_data[], - int ima_bytes) + int16_t amp[], + const uint8_t ima_data[], + int ima_bytes) { int i; int j; @@ -415,9 +416,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) ima_adpcm_encode(ima_adpcm_state_t *s, - uint8_t ima_data[], - const int16_t amp[], - int len) + uint8_t ima_data[], + const int16_t amp[], + int len) { int i; int bytes; Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.dsp ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.dsp (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.dsp Tue Feb 3 12:50:18 2009 @@ -479,6 +479,10 @@ # End Source File # Begin Source File +SOURCE=.\spandsp/fast_convert.h +# End Source File +# Begin Source File + SOURCE=.\spandsp/fax.h # End Source File # Begin Source File Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj Tue Feb 3 12:50:18 2009 @@ -178,822 +178,217 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/spandsp/src/logging.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/logging.c (original) +++ freeswitch/trunk/libs/spandsp/src/logging.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: logging.c,v 1.29 2009/01/20 04:24:45 steveu Exp $ + * $Id: logging.c,v 1.30 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -83,7 +83,7 @@ } /*- End of function --------------------------------------------------------*/ -int span_log(logging_state_t *s, int level, const char *format, ...) +SPAN_DECLARE(int) span_log(logging_state_t *s, int level, const char *format, ...) { char msg[1024 + 1]; va_list arg_ptr; Modified: freeswitch/trunk/libs/spandsp/src/lpc10_decode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/lpc10_decode.c (original) +++ freeswitch/trunk/libs/spandsp/src/lpc10_decode.c Tue Feb 3 12:50:18 2009 @@ -26,7 +26,7 @@ * implementation of the LPC-10 2400 bps Voice Coder. They do not * exert copyright claims on their code, and it may be freely used. * - * $Id: lpc10_decode.c,v 1.25 2009/01/28 03:41:27 steveu Exp $ + * $Id: lpc10_decode.c,v 1.26 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -46,6 +46,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/dc_restore.h" #include "spandsp/lpc10.h" #include "spandsp/private/lpc10.h" @@ -1102,7 +1103,7 @@ synths(s, voice, &pitch, &rms, rc, speech); base = i*LPC10_SAMPLES_PER_FRAME; for (j = 0; j < LPC10_SAMPLES_PER_FRAME; j++) - amp[base + j] = (int16_t) lrintf(32768.0f*speech[j]); + amp[base + j] = (int16_t) lfastrintf(32768.0f*speech[j]); } return len*LPC10_SAMPLES_PER_FRAME; Modified: freeswitch/trunk/libs/spandsp/src/lpc10_encode.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/lpc10_encode.c (original) +++ freeswitch/trunk/libs/spandsp/src/lpc10_encode.c Tue Feb 3 12:50:18 2009 @@ -26,7 +26,7 @@ * implementation of the LPC-10 2400 bps Voice Coder. They do not * exert copyright claims on their code, and it may be freely used. * - * $Id: lpc10_encode.c,v 1.26 2009/01/28 03:41:27 steveu Exp $ + * $Id: lpc10_encode.c,v 1.27 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) Modified: freeswitch/trunk/libs/spandsp/src/lpc10_voicing.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/lpc10_voicing.c (original) +++ freeswitch/trunk/libs/spandsp/src/lpc10_voicing.c Tue Feb 3 12:50:18 2009 @@ -26,7 +26,7 @@ * implementation of the LPC-10 2400 bps Voice Coder. They do not * exert copyright claims on their code, and it may be freely used. * - * $Id: lpc10_voicing.c,v 1.17 2009/01/28 03:41:27 steveu Exp $ + * $Id: lpc10_voicing.c,v 1.18 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) @@ -46,6 +46,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/dc_restore.h" #include "spandsp/lpc10.h" #include "spandsp/private/lpc10.h" @@ -158,11 +159,11 @@ /* Normalize ZC, LBE, and FBE to old fixed window length of 180. */ /* (The fraction 90/VLEN has a range of 0.58 to 1) */ r2 = (float) (*zc << 1); - *zc = lrintf(r2*(90.0f/vlen)); + *zc = lfastrintf(r2*(90.0f/vlen)); r1 = lp_rms/4*(90.0f/vlen); - *lbe = min(lrintf(r1), 32767); + *lbe = min(lfastrintf(r1), 32767); r1 = ap_rms/4*(90.0f/vlen); - *fbe = min(lrintf(r1), 32767); + *fbe = min(lfastrintf(r1), 32767); } /*- End of function --------------------------------------------------------*/ @@ -323,7 +324,7 @@ /* running average full-band voiced energy to the running average */ /* full-band unvoiced energy. SNR filter has gain of 63. */ r1 = (s->snr + s->fbve/(float) max(s->fbue, 1))*63/64.0f; - s->snr = (float) lrintf(r1); + s->snr = (float) lfastrintf(r1); snr2 = s->snr*s->fbue/max(s->lbue, 1); /* Quantize SNR to SNRL according to VDCL thresholds. */ i1 = nvdcl - 1; @@ -465,18 +466,18 @@ if (s->voibuf[3][half] == 0) { r1 = (s->sfbue*63 + (min(fbe, s->ofbue*3) << 3))/64.0f; - s->sfbue = lrintf(r1); + s->sfbue = lfastrintf(r1); s->fbue = s->sfbue/8; s->ofbue = fbe; r1 = (s->slbue*63 + (min(lbe, s->olbue*3) << 3))/64.0f; - s->slbue = lrintf(r1); + s->slbue = lfastrintf(r1); s->lbue = s->slbue/8; s->olbue = lbe; } else { - s->lbve = lrintf((s->lbve*63 + lbe)/64.0f); - s->fbve = lrintf((s->fbve*63 + fbe)/64.0f); + s->lbve = lfastrintf((s->lbve*63 + lbe)/64.0f); + s->fbve = lfastrintf((s->fbve*63 + fbe)/64.0f); } /* Set dither threshold to yield proper zero crossing rates in the */ /* presence of low frequency noise and low level signal input. */ Modified: freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c (original) +++ freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_connect_tones.c,v 1.32 2009/01/29 18:30:14 steveu Exp $ + * $Id: modem_connect_tones.c,v 1.33 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -45,6 +45,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/complex.h" #include "spandsp/dds.h" @@ -87,8 +88,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) modem_connect_tones_tx(modem_connect_tones_tx_state_t *s, - int16_t amp[], - int len) + int16_t amp[], + int len) { int16_t mod; int i; @@ -197,7 +198,7 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(modem_connect_tones_tx_state_t *) modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, - int tone_type) + int tone_type) { int alloced; @@ -326,7 +327,7 @@ s->flags_seen = 0; if (++s->flags_seen >= HDLC_FRAMING_OK_THRESHOLD && !s->framing_ok_announced) { - report_tone_state(s, MODEM_CONNECT_TONES_FAX_PREAMBLE, lrintf(fsk_rx_signal_power(&(s->v21rx)))); + report_tone_state(s, MODEM_CONNECT_TONES_FAX_PREAMBLE, lfastrintf(fsk_rx_signal_power(&(s->v21rx)))); s->framing_ok_announced = TRUE; } } @@ -366,7 +367,7 @@ famp = v1 - 1.2994747954630f*s->z1 + s->z2; s->z2 = s->z1; s->z1 = v1; - notched = (int16_t) lrintf(famp); + notched = (int16_t) lfastrintf(famp); /* Estimate the overall energy in the channel, and the energy in the notch (i.e. overall channel energy - tone energy => noise). @@ -379,7 +380,7 @@ if (s->tone_present != MODEM_CONNECT_TONES_FAX_CNG) { if (++s->tone_cycle_duration >= ms_to_samples(415)) - report_tone_state(s, MODEM_CONNECT_TONES_FAX_CNG, lrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); + report_tone_state(s, MODEM_CONNECT_TONES_FAX_CNG, lfastrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); } } else @@ -409,7 +410,7 @@ famp = v1 + 0.1567596f*s->z1 + s->z2; s->z2 = s->z1; s->z1 = v1; - notched = (int16_t) lrintf(famp); + notched = (int16_t) lfastrintf(famp); /* Estimate the overall energy in the channel, and the energy in the notch (i.e. overall channel energy - tone energy => noise). Use abs instead of multiply for speed (is it really faster?). @@ -442,7 +443,7 @@ if (s->tone_cycle_duration >= ms_to_samples(450 - 25)) { if (++s->good_cycles == 3) - report_tone_state(s, MODEM_CONNECT_TONES_ANS_PR, lrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); + report_tone_state(s, MODEM_CONNECT_TONES_ANS_PR, lfastrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); } else { @@ -456,7 +457,7 @@ if (s->tone_cycle_duration >= ms_to_samples(550)) { if (s->tone_present == MODEM_CONNECT_TONES_NONE) - report_tone_state(s, MODEM_CONNECT_TONES_ANS, lrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); + report_tone_state(s, MODEM_CONNECT_TONES_ANS, lfastrintf(log10f(s->channel_level/32768.0f)*20.0f + DBM0_MAX_POWER + 0.8f)); s->good_cycles = 0; s->tone_cycle_duration = ms_to_samples(550); } @@ -500,9 +501,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(modem_connect_tones_rx_state_t *) modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, - int tone_type, - tone_report_func_t tone_callback, - void *user_data) + int tone_type, + tone_report_func_t tone_callback, + void *user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/modem_echo.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/modem_echo.c (original) +++ freeswitch/trunk/libs/spandsp/src/modem_echo.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_echo.c,v 1.24 2009/01/28 03:41:27 steveu Exp $ + * $Id: modem_echo.c,v 1.25 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/msvc/config.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/config.h (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/config.h Tue Feb 3 12:50:18 2009 @@ -1,7 +1,7 @@ /* * SpanDSP - a series of DSP components for telephony * - * inttypes.h - a fudge for MSVC, which lacks this header + * config.h - a fudge for MSVC, which lacks this header * * Written by Steve Underwood * @@ -10,7 +10,7 @@ * * This file is released in the public domain. * - * $Id: config.h,v 1.1 2009/01/29 18:30:14 steveu Exp $ + * $Id: config.h,v 1.2 2009/02/03 16:39:41 steveu Exp $ */ #if !defined(_MSVC_CONFIG_H_) @@ -32,6 +32,8 @@ #define HAVE_MATH_H #define HAVE_TGMATH_H +#define HAVE_LONG_DOUBLE + #define SPANDSP_USE_EXPORT_CAPABILITY 1 #ifdef __cplusplus Modified: freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h (original) +++ freeswitch/trunk/libs/spandsp/src/msvc/spandsp.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: spandsp.h.in,v 1.15 2009/01/31 08:48:10 steveu Exp $ + * $Id: spandsp.h.in,v 1.16 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -33,6 +33,7 @@ #undef SPANDSP_USE_FIXED_POINT #undef SPANDSP_MISALIGNED_ACCESS_FAILS +#define SPANDSP_USE_EXPORT_CAPABILITY 1 #include #include @@ -43,6 +44,7 @@ #include #include +#include #include #include #include Modified: freeswitch/trunk/libs/spandsp/src/noise.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/noise.c (original) +++ freeswitch/trunk/libs/spandsp/src/noise.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: noise.c,v 1.29 2009/01/31 08:48:10 steveu Exp $ + * $Id: noise.c,v 1.30 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -45,6 +45,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/saturated.h" #include "spandsp/noise.h" Modified: freeswitch/trunk/libs/spandsp/src/oki_adpcm.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/oki_adpcm.c (original) +++ freeswitch/trunk/libs/spandsp/src/oki_adpcm.c Tue Feb 3 12:50:18 2009 @@ -27,7 +27,7 @@ * The actual OKI ADPCM encode and decode method is derived from freely * available code, whose exact origins seem uncertain. * - * $Id: oki_adpcm.c,v 1.30 2009/01/05 13:48:31 steveu Exp $ + * $Id: oki_adpcm.c,v 1.31 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -266,9 +266,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) oki_adpcm_decode(oki_adpcm_state_t *s, - int16_t amp[], - const uint8_t oki_data[], - int oki_bytes) + int16_t amp[], + const uint8_t oki_data[], + int oki_bytes) { int i; int x; @@ -319,9 +319,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) oki_adpcm_encode(oki_adpcm_state_t *s, - uint8_t oki_data[], - const int16_t amp[], - int len) + uint8_t oki_data[], + const int16_t amp[], + int len) { int x; int l; Modified: freeswitch/trunk/libs/spandsp/src/playout.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/playout.c (original) +++ freeswitch/trunk/libs/spandsp/src/playout.c Tue Feb 3 12:50:18 2009 @@ -29,7 +29,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: playout.c,v 1.15 2009/01/05 13:48:31 steveu Exp $ + * $Id: playout.c,v 1.16 2009/02/03 16:28:39 steveu Exp $ */ #if defined(HAVE_CONFIG_H) Modified: freeswitch/trunk/libs/spandsp/src/plc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/plc.c (original) +++ freeswitch/trunk/libs/spandsp/src/plc.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: plc.c,v 1.25 2009/01/28 03:41:27 steveu Exp $ + * $Id: plc.c,v 1.26 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ @@ -45,6 +45,7 @@ #include #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/saturated.h" #include "spandsp/plc.h" Modified: freeswitch/trunk/libs/spandsp/src/power_meter.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/power_meter.c (original) +++ freeswitch/trunk/libs/spandsp/src/power_meter.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: power_meter.c,v 1.26 2009/01/28 03:41:27 steveu Exp $ + * $Id: power_meter.c,v 1.27 2009/02/03 16:28:39 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/queue.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/queue.c (original) +++ freeswitch/trunk/libs/spandsp/src/queue.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: queue.c,v 1.27 2009/01/31 08:48:10 steveu Exp $ + * $Id: queue.c,v 1.28 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/schedule.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/schedule.c (original) +++ freeswitch/trunk/libs/spandsp/src/schedule.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: schedule.c,v 1.20 2009/01/05 13:48:31 steveu Exp $ + * $Id: schedule.c,v 1.21 2009/02/03 16:28:40 steveu Exp $ */ #if defined(HAVE_CONFIG_H) Modified: freeswitch/trunk/libs/spandsp/src/sig_tone.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/sig_tone.c (original) +++ freeswitch/trunk/libs/spandsp/src/sig_tone.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: sig_tone.c,v 1.29 2009/01/30 07:19:25 steveu Exp $ + * $Id: sig_tone.c,v 1.30 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #undef SPANDSP_USE_FIXED_POINT #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/dc_restore.h" #include "spandsp/saturated.h" #include "spandsp/complex.h" Modified: freeswitch/trunk/libs/spandsp/src/silence_gen.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/silence_gen.c (original) +++ freeswitch/trunk/libs/spandsp/src/silence_gen.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: silence_gen.c,v 1.17 2009/01/28 03:41:27 steveu Exp $ + * $Id: silence_gen.c,v 1.18 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -131,7 +131,7 @@ /* The following dummy routines, to absorb data, don't really have a proper home, so they have been put here. */ -int span_dummy_rx(void *user_data, const int16_t amp[], int len) +SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len) { return 0; } Modified: freeswitch/trunk/libs/spandsp/src/spandsp.h.in ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp.h.in (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp.h.in Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: spandsp.h.in,v 1.15 2009/01/31 08:48:10 steveu Exp $ + * $Id: spandsp.h.in,v 1.16 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -44,6 +44,7 @@ #include #include +#include #include #include #include Modified: freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: adsi.h,v 1.34 2009/01/31 08:48:11 steveu Exp $ + * $Id: adsi.h,v 1.35 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/async.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/async.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/async.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: async.h,v 1.20 2009/01/31 08:48:11 steveu Exp $ + * $Id: async.h,v 1.21 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -151,18 +151,18 @@ \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ SPAN_DECLARE(async_tx_state_t *) async_tx_init(async_tx_state_t *s, - int data_bits, - int parity_bits, - int stop_bits, - int use_v14, - get_byte_func_t get_byte, - void *user_data); + int data_bits, + int parity_bits, + int stop_bits, + int use_v14, + get_byte_func_t get_byte, + void *user_data); /*! Get the next bit of a transmitted serial bit stream. \brief Get the next bit of a transmitted serial bit stream. \param user_data An opaque point which must point to a transmitter context. \return the next bit, or PUTBIT_END_OF_DATA to indicate the data stream has ended. */ -int async_tx_get_bit(void *user_data); +SPAN_DECLARE(int) async_tx_get_bit(void *user_data); /*! Initialise an asynchronous data receiver context. \brief Initialise an asynchronous data receiver context. @@ -175,12 +175,12 @@ \param user_data An opaque pointer. \return A pointer to the initialised context, or NULL if there was a problem. */ SPAN_DECLARE(async_rx_state_t *) async_rx_init(async_rx_state_t *s, - int data_bits, - int parity_bits, - int stop_bits, - int use_v14, - put_byte_func_t put_byte, - void *user_data); + int data_bits, + int parity_bits, + int stop_bits, + int use_v14, + put_byte_func_t put_byte, + void *user_data); /*! Accept a bit from a received serial bit stream \brief Accept a bit from a received serial bit stream @@ -191,7 +191,7 @@ - SIG_STATUS_TRAINING_SUCCEEDED - SIG_STATUS_TRAINING_FAILED - SIG_STATUS_END_OF_DATA */ -void async_rx_put_bit(void *user_data, int bit); +SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: at_interpreter.h,v 1.21 2009/01/31 08:48:11 steveu Exp $ + * $Id: at_interpreter.h,v 1.22 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -174,10 +174,10 @@ \param modem_control_user_data x. \return A pointer to the AT context, or NULL if there was a problem. */ SPAN_DECLARE(at_state_t *) at_init(at_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - at_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data); + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + at_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data); /*! Free an AT interpreter context. \brief Free an AT interpreter context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: awgn.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ + * $Id: awgn.h,v 1.17 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bell_r2_mf.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ + * $Id: bell_r2_mf.h,v 1.23 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -206,8 +206,8 @@ and supplied in callbacks. \return A pointer to the Bell MF receiver context.*/ SPAN_DECLARE(bell_mf_rx_state_t *) bell_mf_rx_init(bell_mf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data); + digits_rx_callback_t callback, + void *user_data); /*! \brief Free a Bell MF receiver context. \param s The Bell MF receiver context. @@ -238,9 +238,9 @@ and supplied in callbacks. \return A pointer to the R2 MF receiver context. */ SPAN_DECLARE(r2_mf_rx_state_t *) r2_mf_rx_init(r2_mf_rx_state_t *s, - int fwd, - tone_report_func_t callback, - void *user_data); + int fwd, + tone_report_func_t callback, + void *user_data); /*! \brief Free an R2 MF receiver context. \param s The R2 MF receiver context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bert.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bert.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bert.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bert.h,v 1.21 2009/01/31 08:48:11 steveu Exp $ + * $Id: bert.h,v 1.22 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_BERT_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/bitstream.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/bitstream.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/bitstream.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: bitstream.h,v 1.12 2008/11/30 12:45:09 steveu Exp $ + * $Id: bitstream.h,v 1.13 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -50,30 +50,30 @@ \param c A pointer to the bitstream output buffer. \param value The value to be pushed into the output buffer. \param bits The number of bits of value to be pushed. 1 to 25 bits is valid. */ -void bitstream_put(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits); +SPAN_DECLARE(void) bitstream_put(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits); -void bitstream_put2(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits); +SPAN_DECLARE(void) bitstream_put2(bitstream_state_t *s, uint8_t **c, uint32_t value, int bits); /*! \brief Get a chunk of bits from the input buffer. \param s A pointer to the bitstream context. \param c A pointer to the bitstream input buffer. \param bits The number of bits of value to be grabbed. 1 to 25 bits is valid. \return The value retrieved from the input buffer. */ -uint32_t bitstream_get(bitstream_state_t *s, const uint8_t **c, int bits); +SPAN_DECLARE(uint32_t) bitstream_get(bitstream_state_t *s, const uint8_t **c, int bits); -uint32_t bitstream_get2(bitstream_state_t *s, const uint8_t **c, int bits); +SPAN_DECLARE(uint32_t) bitstream_get2(bitstream_state_t *s, const uint8_t **c, int bits); /*! \brief Flush any residual bit to the output buffer. \param s A pointer to the bitstream context. \param c A pointer to the bitstream output buffer. */ -void bitstream_flush(bitstream_state_t *s, uint8_t **c); +SPAN_DECLARE(void) bitstream_flush(bitstream_state_t *s, uint8_t **c); -void bitstream_flush2(bitstream_state_t *s, uint8_t **c); +SPAN_DECLARE(void) bitstream_flush2(bitstream_state_t *s, uint8_t **c); /*! \brief Initialise a bitstream context. \param s A pointer to the bitstream context. \return A pointer to the bitstream context. */ -bitstream_state_t *bitstream_init(bitstream_state_t *s); +SPAN_DECLARE(bitstream_state_t *) bitstream_init(bitstream_state_t *s); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_filters.h,v 1.13 2009/01/31 08:48:11 steveu Exp $ + * $Id: complex_filters.h,v 1.14 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_COMPLEX_FILTERS_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: dtmf.h,v 1.30 2009/01/31 08:48:11 steveu Exp $ + * $Id: dtmf.h,v 1.31 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_DTMF_H_) @@ -192,8 +192,8 @@ and supplied in callbacks. \return A pointer to the DTMF receiver context. */ SPAN_DECLARE(dtmf_rx_state_t *) dtmf_rx_init(dtmf_rx_state_t *s, - digits_rx_callback_t callback, - void *user_data); + digits_rx_callback_t callback, + void *user_data); /*! \brief Free a DTMF receiver context. \param s The DTMF receiver context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/echo.h Tue Feb 3 12:50:18 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: echo.h,v 1.17 2009/01/31 08:48:11 steveu Exp $ + * $Id: echo.h,v 1.18 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Added: freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h Tue Feb 3 12:50:18 2009 @@ -0,0 +1,402 @@ +/* + * SpanDSP - a series of DSP components for telephony + * + * fast_convert.h - Quick ways to convert floating point numbers to integers + * + * Written by Steve Underwood + * + * Copyright (C) 2009 Steve Underwood + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id: fast_convert.h,v 1.1 2009/02/03 16:28:41 steveu Exp $ + */ + +#if !defined(_SPANDSP_FAST_CONVERT_H_) +#define _SPANDSP_FAST_CONVERT_H_ + +#if defined(__cplusplus) +extern "C" +{ +#endif + +/* The following code, to handle issues with lrint() and lrintf() on various + * platforms, is adapted from similar code in libsndfile, which is: + * + * Copyright (C) 2001-2004 Erik de Castro Lopo + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + */ + +/* + * On Intel Pentium processors (especially PIII and probably P4), converting + * from float to int is very slow. To meet the C specs, the code produced by + * most C compilers targeting Pentium needs to change the FPU rounding mode + * before the float to int conversion is performed. + * + * Changing the FPU rounding mode causes the FPU pipeline to be flushed. It + * is this flushing of the pipeline which is so slow. + * + * Fortunately the ISO C99 specification defines the functions lrint, lrintf, + * llrint and llrintf which fix this problem as a side effect. + * + * On Unix-like systems, the configure process should have detected the + * presence of these functions. If they weren't found we have to replace them + * here with a standard C cast. + */ + +/* + * The C99 prototypes for these functions are as follows: + * + * int rintf(float x); + * int rint(double x); + * long int lrintf(float x); + * long int lrint(double x); + * long long int llrintf(float x); + * long long int llrint(double x); + * + * The presence of the required functions are detected during the configure + * process and the values HAVE_LRINT and HAVE_LRINTF are set accordingly in + * the config file. + */ + +#if defined(__CYGWIN__) + /* + * CYGWIN has lrint and lrintf functions, but they are slow and buggy: + * http://sourceware.org/ml/cygwin/2005-06/msg00153.html + * http://sourceware.org/ml/cygwin/2005-09/msg00047.html + * The latest version of cygwin seems to have made no effort to fix this. + * These replacement functions (pulled from the Public Domain MinGW + * math.h header) replace the native versions. + */ +#if 0 + static __inline__ long int lrint(double x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + + return retval; + } + + static __inline__ long int lrintf(float x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + return retval; + } +#endif + + static __inline__ long int lfastrint(double x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + + return retval; + } + + static __inline__ long int lfastrintf(float x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + return retval; + } +#elif defined(HAVE_LRINT) && defined(HAVE_LRINTF) + +#if defined(__i386__) + /* These routines are guaranteed fast on an i386 machine. Using the built in + lrint() and lrintf() should be similar, but they may not always be enabled. + Sometimes, especially with "-O0", you might get slow calls to routines. */ + static __inline__ long int lfastrint(double x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + + return retval; + } + + static __inline__ long int lfastrintf(float x) + { + long int retval; + + __asm__ __volatile__ + ( + "fistpl %0" + : "=m" (retval) + : "t" (x) + : "st" + ); + return retval; + } +#elif defined(__x86_64__) + /* On an x86_64 machine, the fastest thing seems to be a pure assignment from a + double or float to an int. It looks like the design on the x86_64 took account + of the default behaviour specified for C. */ + static __inline__ long int lfastrint(double x) + { + return (long int) (x); + } + + static __inline__ long int lfastrintf(float x) + { + return (long int) (x); + } +#elif defined(__ppc__) || defined(__powerpc__) + static __inline__ long int lfastrint(register double x) + { + int res[2]; + + __asm__ __volatile__ + ( + "fctiw %1, %1\n\t" + "stfd %1, %0" + : "=m" (res) /* Output */ + : "f" (x) /* Input */ + : "memory" + ); + + return res[1]; + } + + static __inline__ long int lfastrintf(register float x) + { + int res[2]; + + __asm__ __volatile__ + ( + "fctiw %1, %1\n\t" + "stfd %1, %0" + : "=m" (res) /* Output */ + : "f" (x) /* Input */ + : "memory" + ); + + return res[1]; + } +#endif + +#elif defined(WIN32) || defined(_WIN32) + /* + * Win32 doesn't seem to have the lrint() and lrintf() functions. + * Therefore implement inline versions of these functions here. + */ + __inline long int lrint(double x) + { + long int i; + + _asm + { + fld x + fistp i + }; + return i; + } + + __inline long int lrintf(float x) + { + long int i; + + _asm + { + fld x + fistp i + }; + return i; + } + + __inline float rintf(float flt) + { + _asm + { fld flt + frndint + } + } + + __inline double rint(double dbl) + { + __asm + { + fld dbl + frndint + } + } + + __inline long int lfastrint(double x) + { + long int i; + + _asm + { + fld x + fistp i + }; + return i; + } + + __inline long int lfastrintf(float x) + { + long int i; + + _asm + { + fld x + fistp i + }; + return i; + } +#elif defined(WIN64) || defined(_WIN64) + /* Win64 machines will do best with a simple assignment. */ + + __inline long int lfastrint(double x) + { + return (long int) (x); + } + + __inline long int lfastrintf(float x) + { + return (long int) (x); + } +#elif defined(__MWERKS__) && defined(macintosh) + /* This MacOS 9 solution was provided by Stephane Letz */ + + long int __inline__ lfastrint(register double x) + { + long int res[2]; + + asm + { + fctiw x, x + stfd x, res + } + return res[1]; + } + + long int __inline__ lfastrintf(register float x) + { + long int res[2]; + + asm + { + fctiw x, x + stfd x, res + } + return res[1]; + } +#elif defined(__MACH__) && defined(__APPLE__) && (defined(__ppc__) || defined(__powerpc__)) + /* For Apple Mac OS/X - do recent versions still need this? */ + + static __inline__ long int lfastrint(register double x) + { + int res[2]; + + __asm__ __volatile__ + ( + "fctiw %1, %1\n\t" + "stfd %1, %0" + : "=m" (res) /* Output */ + : "f" (x) /* Input */ + : "memory" + ); + + return res[1]; + } + + static __inline__ long int lfastrintf(register float x) + { + int res[2]; + + __asm__ __volatile__ + ( + "fctiw %1, %1\n\t" + "stfd %1, %0" + : "=m" (res) /* Output */ + : "f" (x) /* Input */ + : "memory" + ); + + return res[1]; + } +#else + /* There is nothing else to do, but use a simple casting operation, instead of a real + rint() type function. Since we are only trying to use rint() to speed up conversions, + the accuracy issues related to changing the rounding scheme are of little concern + to us. */ + + #if !defined(__sgi) + #warning "No usable lrint() and lrintf() functions available." + #warning "Replacing these functions with a simple C cast." + #endif + + static __inline__ long int lfastrint(double x) + { + return (long int) (x); + } + + static __inline__ long int lfastrintf(float x) + { + return (long int) (x); + } +#endif + +#if defined(__cplusplus) +} +#endif + +#endif + +/*- End of file ------------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fax.h,v 1.37 2009/01/31 08:48:11 steveu Exp $ + * $Id: fax.h,v 1.38 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fax_modems.h,v 1.7 2009/01/31 08:48:11 steveu Exp $ + * $Id: fax_modems.h,v 1.8 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fsk.h,v 1.34 2009/01/31 08:48:11 steveu Exp $ + * $Id: fsk.h,v 1.35 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -144,9 +144,9 @@ \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ SPAN_DECLARE(fsk_tx_state_t *) fsk_tx_init(fsk_tx_state_t *s, - const fsk_spec_t *spec, - get_bit_func_t get_bit, - void *user_data); + const fsk_spec_t *spec, + get_bit_func_t get_bit, + void *user_data); /*! Adjust an FSK modem transmit context's power output. \brief Adjust an FSK modem transmit context's power output. @@ -192,10 +192,10 @@ \param user_data An opaque pointer. \return A pointer to the modem context, or NULL if there was a problem. */ SPAN_DECLARE(fsk_rx_state_t *) fsk_rx_init(fsk_rx_state_t *s, - const fsk_spec_t *spec, - int sync_mode, - put_bit_func_t put_bit, - void *user_data); + const fsk_spec_t *spec, + int sync_mode, + put_bit_func_t put_bit, + void *user_data); /*! Process a block of received FSK modem audio samples. \brief Process a block of received FSK modem audio samples. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g711.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g711.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g711.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g711.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ + * $Id: g711.h,v 1.17 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g722.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g722.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g722.h Tue Feb 3 12:50:18 2009 @@ -28,7 +28,7 @@ * Computer Science, Speech Group * Chengxiang Lu and Alex Hauptmann * - * $Id: g722.h,v 1.23 2009/01/31 08:48:11 steveu Exp $ + * $Id: g722.h,v 1.24 2009/02/03 16:28:41 steveu Exp $ */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/g726.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/g726.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/g726.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: g726.h,v 1.23 2009/01/31 08:48:11 steveu Exp $ + * $Id: g726.h,v 1.24 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: gsm0610.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ + * $Id: gsm0610.h,v 1.20 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_GSM0610_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: hdlc.h,v 1.41 2009/01/31 08:48:11 steveu Exp $ + * $Id: hdlc.h,v 1.42 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -95,11 +95,11 @@ \return A pointer to the HDLC receiver context. */ SPAN_DECLARE(hdlc_rx_state_t *) hdlc_rx_init(hdlc_rx_state_t *s, - int crc32, - int report_bad_frames, - int framing_ok_threshold, - hdlc_frame_handler_t handler, - void *user_data); + int crc32, + int report_bad_frames, + int framing_ok_threshold, + hdlc_frame_handler_t handler, + void *user_data); /*! \brief Set the maximum frame length for an HDLC receiver context. \param s A pointer to an HDLC receiver context. @@ -151,11 +151,11 @@ \return A pointer to the HDLC transmitter context. */ SPAN_DECLARE(hdlc_tx_state_t *) hdlc_tx_init(hdlc_tx_state_t *s, - int crc32, - int inter_frame_flags, - int progressive, - hdlc_underflow_handler_t handler, - void *user_data); + int crc32, + int inter_frame_flags, + int progressive, + hdlc_underflow_handler_t handler, + void *user_data); /*! \brief Set the maximum frame length for an HDLC transmitter context. \param s A pointer to an HDLC transmitter context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h Tue Feb 3 12:50:18 2009 @@ -26,7 +26,7 @@ * Based on a bit from here, a bit from there, eye of toad, * ear of bat, etc - plus, of course, my own 2 cents. * - * $Id: ima_adpcm.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ + * $Id: ima_adpcm.h,v 1.23 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -74,8 +74,8 @@ as a chunk. \return A pointer to the IMA ADPCM context, or NULL for error. */ SPAN_DECLARE(ima_adpcm_state_t *) ima_adpcm_init(ima_adpcm_state_t *s, - int variant, - int chunk_size); + int variant, + int chunk_size); /*! Free an IMA ADPCM encode or decode context. \param s The IMA ADPCM context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: lpc10.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ + * $Id: lpc10.h,v 1.20 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_LPC10_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h Tue Feb 3 12:50:18 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_connect_tones.h,v 1.20 2009/01/31 08:48:11 steveu Exp $ + * $Id: modem_connect_tones.h,v 1.21 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -105,7 +105,7 @@ \param s The context. */ SPAN_DECLARE(modem_connect_tones_tx_state_t *) modem_connect_tones_tx_init(modem_connect_tones_tx_state_t *s, - int tone_type); + int tone_type); /*! \brief Free an instance of the modem connect tones generator. \param s The context. @@ -148,9 +148,9 @@ \return A pointer to the context. */ SPAN_DECLARE(modem_connect_tones_rx_state_t *) modem_connect_tones_rx_init(modem_connect_tones_rx_state_t *s, - int tone_type, - tone_report_func_t tone_callback, - void *user_data); + int tone_type, + tone_report_func_t tone_callback, + void *user_data); /*! \brief Free an instance of the modem connect tones detector. \param s The context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: modem_echo.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ + * $Id: modem_echo.h,v 1.13 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/noise.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/noise.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/noise.h Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: noise.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ + * $Id: noise.h,v 1.16 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: oki_adpcm.h,v 1.22 2009/01/31 08:48:11 steveu Exp $ + * $Id: oki_adpcm.h,v 1.23 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -62,7 +62,7 @@ The valid rates are 24000 and 32000. \return A pointer to the Oki ADPCM context, or NULL for error. */ SPAN_DECLARE(oki_adpcm_state_t *) oki_adpcm_init(oki_adpcm_state_t *s, - int bit_rate); + int bit_rate); /*! Free an Oki ADPCM encode or decode context. \param s The Oki ADPCM context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/playout.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/playout.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/playout.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: playout.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ + * $Id: playout.h,v 1.13 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_PLAYOUT_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/plc.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/plc.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/plc.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: plc.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ + * $Id: plc.h,v 1.20 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: power_meter.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ + * $Id: power_meter.h,v 1.17 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_POWER_METER_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/queue.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/queue.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/queue.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: queue.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ + * $Id: queue.h,v 1.20 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: saturated.h,v 1.1 2008/09/19 14:02:05 steveu Exp $ + * $Id: saturated.h,v 1.3 2009/02/03 17:25:53 steveu Exp $ */ /*! \file */ @@ -75,7 +75,8 @@ return INT16_MAX; if (famp < (float) INT16_MIN) return INT16_MIN; - return (int16_t) rintf(famp); + //return (int16_t) lfastrintf(famp); + return (int16_t) lrintf(famp); } /*- End of function --------------------------------------------------------*/ @@ -85,7 +86,8 @@ return INT16_MAX; if (damp < (double) INT16_MIN) return INT16_MIN; - return (int16_t) rint(damp); + //return (int16_t) lfastrint(damp); + return (int16_t) lrint(damp); } /*- End of function --------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: schedule.h,v 1.18 2009/01/31 08:48:11 steveu Exp $ + * $Id: schedule.h,v 1.19 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: sig_tone.h,v 1.16 2009/01/31 08:48:11 steveu Exp $ + * $Id: sig_tone.h,v 1.17 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: silence_gen.h,v 1.13 2009/01/31 08:48:11 steveu Exp $ + * $Id: silence_gen.h,v 1.14 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_SILENCE_GEN_H_) @@ -117,7 +117,7 @@ \param len The length of the signal buffer \return 0. */ -int span_dummy_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len); /*! A dummy routine to use as a signal modifier callback, when we aren't really trying to process the signal. It just returns without affecting Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_rx.h,v 1.19 2009/01/31 08:48:11 steveu Exp $ + * $Id: super_tone_rx.h,v 1.20 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_SUPER_TONE_RX_H_) @@ -111,9 +111,9 @@ \return The supervisory tone detector context. */ SPAN_DECLARE(super_tone_rx_state_t *) super_tone_rx_init(super_tone_rx_state_t *s, - super_tone_rx_descriptor_t *desc, - tone_report_func_t callback, - void *user_data); + super_tone_rx_descriptor_t *desc, + tone_report_func_t callback, + void *user_data); /*! Release a supervisory tone detector. \param s The supervisory tone context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_tx.h,v 1.15 2009/01/31 08:48:11 steveu Exp $ + * $Id: super_tone_tx.h,v 1.16 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_SUPER_TONE_TX_H_) @@ -51,12 +51,12 @@ #endif SPAN_DECLARE(super_tone_tx_step_t *) super_tone_tx_make_step(super_tone_tx_step_t *s, - float f1, - float l1, - float f2, - float l2, - int length, - int cycles); + float f1, + float l1, + float f2, + float l2, + int length, + int cycles); SPAN_DECLARE(void) super_tone_tx_free(super_tone_tx_step_t *s); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.h,v 1.121 2009/01/31 08:48:11 steveu Exp $ + * $Id: t30.h,v 1.122 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -559,13 +559,13 @@ \param send_hdlc_user_data \return A pointer to the context, or NULL if there was a problem. */ SPAN_DECLARE(t30_state_t *) t30_init(t30_state_t *s, - int calling_party, - t30_set_handler_t *set_rx_type_handler, - void *set_rx_type_user_data, - t30_set_handler_t *set_tx_type_handler, - void *set_tx_type_user_data, - t30_send_hdlc_handler_t *send_hdlc_handler, - void *send_hdlc_user_data); + int calling_party, + t30_set_handler_t *set_rx_type_handler, + void *set_rx_type_user_data, + t30_set_handler_t *set_tx_type_handler, + void *set_tx_type_user_data, + t30_send_hdlc_handler_t *send_hdlc_handler, + void *send_hdlc_user_data); /*! Release a T.30 context. \brief Release a T.30 context. @@ -607,7 +607,7 @@ \brief Get a bit of received non-ECM image data. \param user_data An opaque pointer, which must point to the T.30 context. \return The next bit to transmit. */ -int t30_non_ecm_get_bit(void *user_data); +SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data); /*! Get a byte of received non-ECM image data. \brief Get a byte of received non-ECM image data. @@ -627,7 +627,7 @@ \brief Process a bit of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param bit The received bit. */ -void t30_non_ecm_put_bit(void *user_data, int bit); +SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit); /*! Process a byte of received non-ECM image data. \brief Process a byte of received non-ECM image data @@ -648,7 +648,7 @@ \param msg The HDLC message. \param len The length of the message, in octets. \param ok TRUE if the frame was received without error. */ -void t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); +SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); /*! Report the passage of time to the T.30 engine. \brief Report the passage of time to the T.30 engine. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_api.h,v 1.8 2009/01/31 08:48:11 steveu Exp $ + * $Id: t30_api.h,v 1.9 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_logging.h,v 1.3 2009/01/31 08:48:11 steveu Exp $ + * $Id: t30_logging.h,v 1.4 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t31.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t31.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t31.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t31.h,v 1.56 2009/01/31 08:48:11 steveu Exp $ + * $Id: t31.h,v 1.57 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -127,12 +127,12 @@ \param tx_t38_packet_user_data ??? \return A pointer to the T.31 context. */ SPAN_DECLARE(t31_state_t *) t31_init(t31_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - t31_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data, - t38_tx_packet_handler_t *tx_t38_packet_handler, - void *tx_t38_packet_user_data); + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + t31_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data, + t38_tx_packet_handler_t *tx_t38_packet_handler, + void *tx_t38_packet_user_data); /*! Release a T.31 context. \brief Release a T.31 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_core.h,v 1.35 2009/01/31 08:48:11 steveu Exp $ + * $Id: t38_core.h,v 1.36 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -329,12 +329,12 @@ SPAN_DECLARE(logging_state_t *) t38_core_get_logging_state(t38_core_state_t *s); SPAN_DECLARE(t38_core_state_t *) t38_core_init(t38_core_state_t *s, - t38_rx_indicator_handler_t *rx_indicator_handler, - t38_rx_data_handler_t *rx_data_handler, - t38_rx_missing_handler_t *rx_missing_handler, - void *rx_user_data, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); + t38_rx_indicator_handler_t *rx_indicator_handler, + t38_rx_data_handler_t *rx_data_handler, + t38_rx_missing_handler_t *rx_missing_handler, + void *rx_user_data, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_gateway.h,v 1.60 2009/01/31 08:48:11 steveu Exp $ + * $Id: t38_gateway.h,v 1.61 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -83,8 +83,8 @@ \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ SPAN_DECLARE(t38_gateway_state_t *) t38_gateway_init(t38_gateway_state_t *s, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); /*! Free a gateway mode T.38 context. \brief Free a T.38 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_non_ecm_buffer.h,v 1.4 2009/01/31 08:48:11 steveu Exp $ + * $Id: t38_non_ecm_buffer.h,v 1.5 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -93,7 +93,7 @@ /*! \brief Get the next bit of data from a T.38 rate adapting non-ECM buffer context. \param user_data The buffer context, cast to a void pointer. \return The next bit, or one of the values indicating a change of modem status. */ -int t38_non_ecm_buffer_get_bit(void *user_data); +SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_terminal.h,v 1.40 2009/01/31 08:48:11 steveu Exp $ + * $Id: t38_terminal.h,v 1.41 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -95,9 +95,9 @@ \param tx_packet_user_data An opaque pointer passed to the tx_packet_handler routine. \return A pointer to the termination mode T.38 context, or NULL if there was a problem. */ SPAN_DECLARE(t38_terminal_state_t *) t38_terminal_init(t38_terminal_state_t *s, - int calling_party, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data); + int calling_party, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data); /*! Release a termination mode T.38 context. \brief Release a T.38 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t4.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t4.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t4.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.h,v 1.54 2009/01/31 08:48:11 steveu Exp $ + * $Id: t4.h,v 1.55 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h Tue Feb 3 12:50:18 2009 @@ -22,30 +22,30 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: telephony.h,v 1.15 2009/01/31 12:12:21 steveu Exp $ + * $Id: telephony.h,v 1.16 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_TELEPHONY_H_) #define _SPANDSP_TELEPHONY_H_ #if defined(WIN32) -# if defined(LIBSPANDSP_EXPORTS) -# define SPAN_DECLARE(type) __declspec(dllexport) type __stdcall -# define SPAN_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl -# define SPAN_DECLARE_DATA __declspec(dllexport) -# else -# define SPAN_DECLARE(type) __declspec(dllimport) type __stdcall -# define SPAN_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl -# define SPAN_DECLARE_DATA __declspec(dllimport) -# endif -#elif defined(SPANDSP_USE_EXPORT_CAPABILITY) && (defined(__GNUC__) || defined(__SUNCC__)) -# define SPAN_DECLARE(type) __attribute__((visibility("default"))) type -# define SPAN_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type -# define SPAN_DECLARE_DATA __attribute__((visibility("default"))) +#if defined(LIBSPANDSP_EXPORTS) +#define SPAN_DECLARE(type) __declspec(dllexport) type __stdcall +#define SPAN_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl +#define SPAN_DECLARE_DATA __declspec(dllexport) #else -# define SPAN_DECLARE(type) /**/ type -# define SPAN_DECLARE_NONSTD(type) /**/ type -# define SPAN_DECLARE_DATA /**/ +#define SPAN_DECLARE(type) __declspec(dllimport) type __stdcall +#define SPAN_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl +#define SPAN_DECLARE_DATA __declspec(dllimport) +#endif +#elif defined(SPANDSP_USE_EXPORT_CAPABILITY) && (defined(__GNUC__) || defined(__SUNCC__)) +#define SPAN_DECLARE(type) __attribute__((visibility("default"))) type +#define SPAN_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type +#define SPAN_DECLARE_DATA __attribute__((visibility("default"))) +#else +#define SPAN_DECLARE(type) /**/ type +#define SPAN_DECLARE_NONSTD(type) /**/ type +#define SPAN_DECLARE_DATA /**/ #endif #define SAMPLE_RATE 8000 Modified: freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: time_scale.h,v 1.18 2009/01/31 08:48:11 steveu Exp $ + * $Id: time_scale.h,v 1.19 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_TIME_SCALE_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_detect.h,v 1.43 2009/01/31 08:48:11 steveu Exp $ + * $Id: tone_detect.h,v 1.44 2009/02/03 16:28:41 steveu Exp $ */ #if !defined(_SPANDSP_TONE_DETECT_H_) @@ -75,29 +75,29 @@ #endif /*! \brief Create a descriptor for use with either a Goertzel transform */ -void make_goertzel_descriptor(goertzel_descriptor_t *t, - float freq, - int samples); +SPAN_DECLARE(void) make_goertzel_descriptor(goertzel_descriptor_t *t, + float freq, + int samples); /*! \brief Initialise the state of a Goertzel transform. \param s The Goertzel context. If NULL, a context is allocated with malloc. \param t The Goertzel descriptor. \return A pointer to the Goertzel state. */ -goertzel_state_t *goertzel_init(goertzel_state_t *s, - goertzel_descriptor_t *t); +SPAN_DECLARE(goertzel_state_t *) goertzel_init(goertzel_state_t *s, + goertzel_descriptor_t *t); /*! \brief Reset the state of a Goertzel transform. \param s The Goertzel context. */ -void goertzel_reset(goertzel_state_t *s); +SPAN_DECLARE(void) goertzel_reset(goertzel_state_t *s); /*! \brief Update the state of a Goertzel transform. \param s The Goertzel context. \param amp The samples to be transformed. \param samples The number of samples. \return The number of samples unprocessed */ -int goertzel_update(goertzel_state_t *s, - const int16_t amp[], - int samples); +SPAN_DECLARE(int) goertzel_update(goertzel_state_t *s, + const int16_t amp[], + int samples); /*! \brief Evaluate the final result of a Goertzel transform. \param s The Goertzel context. @@ -106,9 +106,9 @@ [Floating point] ((samples_per_goertzel_block*32768.0/1.4142)*10^((x - DBM0_MAX_SINE_POWER)/20.0))^2 [Fixed point] ((samples_per_goertzel_block*256.0/1.4142)*10^((x - DBM0_MAX_SINE_POWER)/20.0))^2 */ #if defined(SPANDSP_USE_FIXED_POINT) -int32_t goertzel_result(goertzel_state_t *s); +SPAN_DECLARE(int32_t) goertzel_result(goertzel_state_t *s); #else -float goertzel_result(goertzel_state_t *s); +SPAN_DECLARE(float) goertzel_result(goertzel_state_t *s); #endif /*! \brief Update the state of a Goertzel transform. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_generate.h,v 1.36 2009/01/31 08:48:11 steveu Exp $ + * $Id: tone_generate.h,v 1.37 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17rx.h,v 1.59 2009/01/31 08:48:11 steveu Exp $ + * $Id: v17rx.h,v 1.60 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17tx.h,v 1.38 2009/01/31 08:48:11 steveu Exp $ + * $Id: v17tx.h,v 1.39 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v22bis.h,v 1.33 2009/01/31 08:48:11 steveu Exp $ + * $Id: v22bis.h,v 1.34 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -145,12 +145,12 @@ \param user_data An opaque pointer, passed in calls to the get and put routines. \return A pointer to the modem context, or NULL if there was a problem. */ SPAN_DECLARE(v22bis_state_t *) v22bis_init(v22bis_state_t *s, - int bit_rate, - int guard, - int caller, - get_bit_func_t get_bit, - put_bit_func_t put_bit, - void *user_data); + int bit_rate, + int guard, + int caller, + get_bit_func_t get_bit, + put_bit_func_t put_bit, + void *user_data); /*! Free a V.22bis modem receive context. \brief Free a V.22bis modem receive context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_rx.h,v 1.55 2009/01/31 08:48:11 steveu Exp $ + * $Id: v27ter_rx.h,v 1.56 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_tx.h,v 1.38 2009/01/31 08:48:11 steveu Exp $ + * $Id: v27ter_tx.h,v 1.39 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29rx.h,v 1.66 2009/01/31 08:48:11 steveu Exp $ + * $Id: v29rx.h,v 1.67 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29tx.h,v 1.36 2009/01/31 08:48:11 steveu Exp $ + * $Id: v29tx.h,v 1.37 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42.h,v 1.27 2009/01/31 08:48:11 steveu Exp $ + * $Id: v42.h,v 1.28 2009/02/03 16:28:41 steveu Exp $ */ /*! \page v42_page V.42 modem error correction @@ -94,7 +94,7 @@ /*! Accept an HDLC packet */ -void lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); +SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); /*! Transmit a LAP.M frame */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42bis.h,v 1.24 2009/01/31 08:48:11 steveu Exp $ + * $Id: v42bis.h,v 1.25 2009/02/03 16:28:41 steveu Exp $ */ /*! \page v42bis_page V.42bis modem data compression @@ -107,15 +107,15 @@ \param max_data_len The maximum length that should be passed to the data handler. \return The V.42bis context. */ SPAN_DECLARE(v42bis_state_t *) v42bis_init(v42bis_state_t *s, - int negotiated_p0, - int negotiated_p1, - int negotiated_p2, - v42bis_frame_handler_t frame_handler, - void *frame_user_data, - int max_frame_len, - v42bis_data_handler_t data_handler, - void *data_user_data, - int max_data_len); + int negotiated_p0, + int negotiated_p1, + int negotiated_p2, + v42bis_frame_handler_t frame_handler, + void *frame_user_data, + int max_frame_len, + v42bis_data_handler_t data_handler, + void *data_user_data, + int max_data_len); /*! Set the compression mode. \param s The V.42bis context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v8.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v8.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v8.h Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v8.h,v 1.26 2009/01/31 08:48:11 steveu Exp $ + * $Id: v8.h,v 1.27 2009/02/03 16:28:41 steveu Exp $ */ /*! \file */ @@ -129,10 +129,10 @@ \param user_data An opaque pointer passed to the result_handler routine. \return A pointer to the V.8 context, or NULL if there was a problem. */ SPAN_DECLARE(v8_state_t *) v8_init(v8_state_t *s, - int caller, - int available_modulations, - v8_result_handler_t *result_handler, - void *user_data); + int caller, + int available_modulations, + v8_result_handler_t *result_handler, + void *user_data); /*! Release a V.8 context. \brief Release a V.8 context. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/version.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/version.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/version.h Tue Feb 3 12:50:18 2009 @@ -30,8 +30,8 @@ /* The date and time of the version are in UTC form. */ -#define SPANDSP_RELEASE_DATE 20090131 -#define SPANDSP_RELEASE_TIME 122642 +#define SPANDSP_RELEASE_DATE 20090203 +#define SPANDSP_RELEASE_TIME 172817 #endif /*- End of file ------------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/super_tone_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/super_tone_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/super_tone_rx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_rx.c,v 1.31 2009/01/28 03:41:27 steveu Exp $ + * $Id: super_tone_rx.c,v 1.32 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/complex.h" #include "spandsp/vector_float.h" #include "spandsp/complex_vector_float.h" @@ -120,11 +121,11 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(int) super_tone_rx_add_element(super_tone_rx_descriptor_t *desc, - int tone, - int f1, - int f2, - int min, - int max) + int tone, + int f1, + int f2, + int min, + int max) { int step; @@ -224,16 +225,16 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) super_tone_rx_segment_callback(super_tone_rx_state_t *s, - void (*callback)(void *data, int f1, int f2, int duration)) + void (*callback)(void *data, int f1, int f2, int duration)) { s->segment_callback = callback; } /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(super_tone_rx_state_t *) super_tone_rx_init(super_tone_rx_state_t *s, - super_tone_rx_descriptor_t *desc, - tone_report_func_t callback, - void *user_data) + super_tone_rx_descriptor_t *desc, + tone_report_func_t callback, + void *user_data) { int i; Modified: freeswitch/trunk/libs/spandsp/src/super_tone_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/super_tone_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/super_tone_tx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: super_tone_tx.c,v 1.27 2009/01/28 03:41:27 steveu Exp $ + * $Id: super_tone_tx.c,v 1.28 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/complex.h" #include "spandsp/dds.h" #include "spandsp/tone_generate.h" @@ -70,12 +71,12 @@ */ SPAN_DECLARE(super_tone_tx_step_t *) super_tone_tx_make_step(super_tone_tx_step_t *s, - float f1, - float l1, - float f2, - float l2, - int length, - int cycles) + float f1, + float l1, + float f2, + float l2, + int length, + int cycles) { if (s == NULL) { @@ -193,7 +194,7 @@ /* There must be two, and only two tones */ xamp = dds_modf(&s->phase[0], -s->tone[0].phase_rate, s->tone[0].gain, 0) *(1.0f + dds_modf(&s->phase[1], s->tone[1].phase_rate, s->tone[1].gain, 0)); - amp[samples] = (int16_t) lrintf(xamp); + amp[samples] = (int16_t) lfastrintf(xamp); } } else @@ -207,7 +208,7 @@ break; xamp += dds_modf(&s->phase[i], s->tone[i].phase_rate, s->tone[i].gain, 0); } - amp[samples] = (int16_t) lrintf(xamp); + amp[samples] = (int16_t) lfastrintf(xamp); } } if (s->current_position) Modified: freeswitch/trunk/libs/spandsp/src/t30.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.c,v 1.282 2009/01/31 09:47:59 steveu Exp $ + * $Id: t30.c,v 1.283 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -4986,7 +4986,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_non_ecm_put_bit(void *user_data, int bit) +SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit) { t30_state_t *s; @@ -5102,7 +5102,7 @@ } /*- End of function --------------------------------------------------------*/ -int t30_non_ecm_get_bit(void *user_data) +SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data) { int bit; t30_state_t *s; @@ -5302,7 +5302,7 @@ } /*- End of function --------------------------------------------------------*/ -void t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok) +SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok) { t30_state_t *s; @@ -5823,13 +5823,13 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(t30_state_t *) t30_init(t30_state_t *s, - int calling_party, - t30_set_handler_t *set_rx_type_handler, - void *set_rx_type_user_data, - t30_set_handler_t *set_tx_type_handler, - void *set_tx_type_user_data, - t30_send_hdlc_handler_t *send_hdlc_handler, - void *send_hdlc_user_data) + int calling_party, + t30_set_handler_t *set_rx_type_handler, + void *set_rx_type_user_data, + t30_set_handler_t *set_tx_type_handler, + void *set_tx_type_user_data, + t30_send_hdlc_handler_t *send_hdlc_handler, + void *send_hdlc_user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/t30_api.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30_api.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30_api.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_api.c,v 1.12 2009/01/28 03:41:27 steveu Exp $ + * $Id: t30_api.c,v 1.13 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/t30_logging.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30_logging.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30_logging.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30_logging.c,v 1.10 2009/01/28 03:41:27 steveu Exp $ + * $Id: t30_logging.c,v 1.11 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/t31.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t31.c (original) +++ freeswitch/trunk/libs/spandsp/src/t31.c Tue Feb 3 12:50:18 2009 @@ -25,7 +25,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t31.c,v 1.137 2009/01/29 01:41:06 steveu Exp $ + * $Id: t31.c,v 1.139 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -633,17 +633,17 @@ static void set_octets_per_data_packet(t31_state_t *s, int bit_rate) { s->t38_fe.tx_bit_rate = bit_rate; - if (s->t38_fe.ms_per_tx_chunk == 0) - { - s->t38_fe.octets_per_data_packet = MAX_OCTETS_PER_UNPACED_CHUNK; - } - else + if (s->t38_fe.ms_per_tx_chunk) { s->t38_fe.octets_per_data_packet = s->t38_fe.ms_per_tx_chunk*bit_rate/(8*1000); /* Make sure we have a positive number (i.e. we didn't truncate to zero). */ if (s->t38_fe.octets_per_data_packet < 1) s->t38_fe.octets_per_data_packet = 1; } + else + { + s->t38_fe.octets_per_data_packet = MAX_OCTETS_PER_UNPACED_CHUNK; + } } /*- End of function --------------------------------------------------------*/ @@ -682,22 +682,34 @@ bit_reverse(buf, buf, len); if (len < fe->octets_per_data_packet) { - /* That's the end of the image data. Do a little padding now */ - memset(buf + len, 0, fe->octets_per_data_packet - len); - fe->non_ecm_trailer_bytes = 3*fe->octets_per_data_packet + len; - len = fe->octets_per_data_packet; - fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_4; + /* That's the end of the image data. */ + if (s->t38_fe.ms_per_tx_chunk) + { + /* Pad the end of the data with some zeros. If we just stop abruptly + at the end of the EOLs, some ATAs fail to clean up properly before + shutting down their transmit modem, and the last few rows of the image + are lost or corrupted. Simply delaying the no-signal message does not + help for all implentations. It is usually ignored, which is probably + the right thing to do after receiving a message saying the signal has + ended. */ + memset(buf + len, 0, fe->octets_per_data_packet - len); + fe->non_ecm_trailer_bytes = 3*fe->octets_per_data_packet + len; + len = fe->octets_per_data_packet; + fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_4; + } + else + { + /* If we are sending quickly there seems no point in doing any padding */ + t38_core_send_data(&fe->t38, fe->current_tx_data_type, T38_FIELD_T4_NON_ECM_SIG_END, buf, len, fe->t38.data_end_tx_count); + fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_5; + delay = 0; + } } t38_core_send_data(&fe->t38, fe->current_tx_data_type, T38_FIELD_T4_NON_ECM_DATA, buf, len, fe->t38.data_tx_count); delay = bits_to_us(s, 8*len); break; case T38_TIMED_STEP_NON_ECM_MODEM_4: - /* This pads the end of the data with some zeros. If we just stop abruptly - at the end of the EOLs, some ATAs fail to clean up properly before - shutting down their transmit modem, and the last few rows of the image - are corrupted. Simply delaying the no-signal message does not help for - all implentations. It is usually ignored, which is probably the right - thing to do after receiving a message saying the signal has ended. */ + /* Send padding */ len = fe->octets_per_data_packet; fe->non_ecm_trailer_bytes -= len; if (fe->non_ecm_trailer_bytes <= 0) @@ -708,7 +720,9 @@ fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_5; /* Allow a bit more time than the data will take to play out, to ensure the far ATA does not cut things short. */ - delay = bits_to_us(s, 8*len) + 60000; + delay = bits_to_us(s, 8*len); + if (s->t38_fe.ms_per_tx_chunk) + delay += 60000; front_end_status(s, T30_FRONT_END_SEND_STEP_COMPLETE); break; } @@ -790,7 +804,9 @@ fe->timed_step = T38_TIMED_STEP_HDLC_MODEM_5; /* We add a bit of extra time here, as with some implementations the carrier falling too abruptly causes data loss. */ - delay = bits_to_us(s, i*8 + fe->hdlc_tx.extra_bits) + 100000; + delay = bits_to_us(s, i*8 + fe->hdlc_tx.extra_bits); + if (s->t38_fe.ms_per_tx_chunk) + delay += 100000; at_put_response_code(&s->at_state, AT_RESPONSE_CODE_OK); t31_set_at_rx_mode(s, AT_MODE_OFFHOOK_COMMAND); } @@ -831,7 +847,9 @@ fe->timed_step = T38_TIMED_STEP_HDLC_MODEM_5; /* We add a bit of extra time here, as with some implementations the carrier falling too abruptly causes data loss. */ - delay = bits_to_us(s, fe->hdlc_tx.extra_bits) + 100000; + delay = bits_to_us(s, fe->hdlc_tx.extra_bits); + if (s->t38_fe.ms_per_tx_chunk) + delay += 100000; front_end_status(s, T30_FRONT_END_SEND_STEP_COMPLETE); break; } @@ -2446,12 +2464,12 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(t31_state_t *) t31_init(t31_state_t *s, - at_tx_handler_t *at_tx_handler, - void *at_tx_user_data, - t31_modem_control_handler_t *modem_control_handler, - void *modem_control_user_data, - t38_tx_packet_handler_t *tx_t38_packet_handler, - void *tx_t38_packet_user_data) + at_tx_handler_t *at_tx_handler, + void *at_tx_user_data, + t31_modem_control_handler_t *modem_control_handler, + void *modem_control_user_data, + t38_tx_packet_handler_t *tx_t38_packet_handler, + void *tx_t38_packet_user_data) { int alloced; Modified: freeswitch/trunk/libs/spandsp/src/t35.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t35.c (original) +++ freeswitch/trunk/libs/spandsp/src/t35.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t35.c,v 1.28 2009/01/05 13:48:31 steveu Exp $ + * $Id: t35.c,v 1.29 2009/02/03 16:28:40 steveu Exp $ */ /* @@ -738,7 +738,7 @@ }; #if 0 -void nsf_find_station_id(int reverse_order) +SPAN_DECLARE(void) nsf_find_station_id(int reverse_order) { const char *id = NULL; int idSize = 0; Modified: freeswitch/trunk/libs/spandsp/src/t38_core.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_core.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_core.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_core.c,v 1.50 2009/01/28 03:41:27 steveu Exp $ + * $Id: t38_core.c,v 1.51 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -924,12 +924,12 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(t38_core_state_t *) t38_core_init(t38_core_state_t *s, - t38_rx_indicator_handler_t *rx_indicator_handler, - t38_rx_data_handler_t *rx_data_handler, - t38_rx_missing_handler_t *rx_missing_handler, - void *rx_user_data, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data) + t38_rx_indicator_handler_t *rx_indicator_handler, + t38_rx_data_handler_t *rx_data_handler, + t38_rx_missing_handler_t *rx_missing_handler, + void *rx_user_data, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/t38_gateway.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_gateway.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_gateway.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_gateway.c,v 1.152 2009/01/29 18:30:14 steveu Exp $ + * $Id: t38_gateway.c,v 1.153 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -2151,10 +2151,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t38_gateway_set_nsx_suppression(t38_gateway_state_t *s, - const uint8_t *from_t38, - int from_t38_len, - const uint8_t *from_modem, - int from_modem_len) + const uint8_t *from_t38, + int from_t38_len, + const uint8_t *from_modem, + int from_modem_len) { s->t38x.suppress_nsx_len[0] = (from_t38_len < 0 || from_t38_len < MAX_NSX_SUPPRESSION) ? (from_t38_len + 3) : 0; s->t38x.suppress_nsx_len[1] = (from_modem_len < 0 || from_modem_len < MAX_NSX_SUPPRESSION) ? (from_modem_len + 3) : 0; @@ -2174,8 +2174,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t38_gateway_set_real_time_frame_handler(t38_gateway_state_t *s, - t38_gateway_real_time_frame_handler_t *handler, - void *user_data) + t38_gateway_real_time_frame_handler_t *handler, + void *user_data) { s->core.real_time_frame_handler = handler; s->core.real_time_frame_user_data = user_data; @@ -2190,8 +2190,8 @@ /*- End of function --------------------------------------------------------*/ static int t38_gateway_t38_init(t38_gateway_state_t *t, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data) + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data) { t38_gateway_t38_state_t *s; @@ -2211,8 +2211,8 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(t38_gateway_state_t *) t38_gateway_init(t38_gateway_state_t *s, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data) + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data) { if (tx_packet_handler == NULL) return NULL; Modified: freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c Tue Feb 3 12:50:18 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_non_ecm_buffer.c,v 1.5 2009/01/28 03:41:27 steveu Exp $ + * $Id: t38_non_ecm_buffer.c,v 1.6 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -75,7 +75,7 @@ } /*- End of function --------------------------------------------------------*/ -int t38_non_ecm_buffer_get_bit(void *user_data) +SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data) { t38_non_ecm_buffer_state_t *s; int bit; Modified: freeswitch/trunk/libs/spandsp/src/t38_terminal.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_terminal.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_terminal.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_terminal.c,v 1.120 2009/01/29 01:41:06 steveu Exp $ + * $Id: t38_terminal.c,v 1.122 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -585,24 +585,36 @@ bit_reverse(buf, buf, len); if (len < fe->octets_per_data_packet) { - /* That's the end of the image data. Do a little padding now */ - memset(buf + len, 0, fe->octets_per_data_packet - len); - fe->non_ecm_trailer_bytes = 3*fe->octets_per_data_packet + len; - len = fe->octets_per_data_packet; - fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_4; + /* That's the end of the image data. */ + if (s->t38_fe.ms_per_tx_chunk) + { + /* Pad the end of the data with some zeros. If we just stop abruptly + at the end of the EOLs, some ATAs fail to clean up properly before + shutting down their transmit modem, and the last few rows of the image + are lost or corrupted. Simply delaying the no-signal message does not + help for all implentations. It is usually ignored, which is probably + the right thing to do after receiving a message saying the signal has + ended. */ + memset(buf + len, 0, fe->octets_per_data_packet - len); + fe->non_ecm_trailer_bytes = 3*fe->octets_per_data_packet + len; + len = fe->octets_per_data_packet; + fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_4; + } + else + { + /* If we are sending quickly there seems no point in doing any padding */ + t38_core_send_data(&fe->t38, fe->current_tx_data_type, T38_FIELD_T4_NON_ECM_SIG_END, buf, len, fe->t38.data_end_tx_count); + fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_5; + delay = 0; + } } t38_core_send_data(&fe->t38, fe->current_tx_data_type, T38_FIELD_T4_NON_ECM_DATA, buf, len, fe->t38.data_tx_count); delay = bits_to_us(s, 8*len); break; case T38_TIMED_STEP_NON_ECM_MODEM_4: - /* This pads the end of the data with some zeros. If we just stop abruptly - at the end of the EOLs, some ATAs fail to clean up properly before - shutting down their transmit modem, and the last few rows of the image - are corrupted. Simply delaying the no-signal message does not help for - all implentations. It is usually ignored, which is probably the right - thing to do after receiving a message saying the signal has ended. */ + /* Send padding */ len = fe->octets_per_data_packet; - fe->non_ecm_trailer_bytes -= len; + fe->non_ecm_trailer_bytes -= fe->octets_per_data_packet; if (fe->non_ecm_trailer_bytes <= 0) { len += fe->non_ecm_trailer_bytes; @@ -611,7 +623,9 @@ fe->timed_step = T38_TIMED_STEP_NON_ECM_MODEM_5; /* Allow a bit more time than the data will take to play out, to ensure the far ATA does not cut things short. */ - delay = bits_to_us(s, 8*len) + 60000; + delay = bits_to_us(s, 8*len); + if (s->t38_fe.ms_per_tx_chunk) + delay += 60000; front_end_status(s, T30_FRONT_END_SEND_STEP_COMPLETE); break; } @@ -687,7 +701,9 @@ fe->timed_step = T38_TIMED_STEP_HDLC_MODEM_5; /* We add a bit of extra time here, as with some implementations the carrier falling too abruptly causes data loss. */ - delay = bits_to_us(s, i*8 + fe->hdlc_tx.extra_bits) + 100000; + delay = bits_to_us(s, i*8 + fe->hdlc_tx.extra_bits); + if (s->t38_fe.ms_per_tx_chunk) + delay += 100000; front_end_status(s, T30_FRONT_END_SEND_STEP_COMPLETE); } else @@ -726,7 +742,9 @@ fe->timed_step = T38_TIMED_STEP_HDLC_MODEM_5; /* We add a bit of extra time here, as with some implementations the carrier falling too abruptly causes data loss. */ - delay = bits_to_us(s, fe->hdlc_tx.extra_bits) + 100000; + delay = bits_to_us(s, fe->hdlc_tx.extra_bits); + if (s->t38_fe.ms_per_tx_chunk) + delay += 100000; front_end_status(s, T30_FRONT_END_SEND_STEP_COMPLETE); break; } @@ -1097,9 +1115,9 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(t38_terminal_state_t *) t38_terminal_init(t38_terminal_state_t *s, - int calling_party, - t38_tx_packet_handler_t *tx_packet_handler, - void *tx_packet_user_data) + int calling_party, + t38_tx_packet_handler_t *tx_packet_handler, + void *tx_packet_user_data) { if (tx_packet_handler == NULL) return NULL; Modified: freeswitch/trunk/libs/spandsp/src/t4.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t4.c (original) +++ freeswitch/trunk/libs/spandsp/src/t4.c Tue Feb 3 12:50:18 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.c,v 1.120 2009/01/31 08:48:10 steveu Exp $ + * $Id: t4.c,v 1.121 2009/02/03 16:28:40 steveu Exp $ */ /* Modified: freeswitch/trunk/libs/spandsp/src/time_scale.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/time_scale.c (original) +++ freeswitch/trunk/libs/spandsp/src/time_scale.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: time_scale.c,v 1.28 2009/01/29 01:41:06 steveu Exp $ + * $Id: time_scale.c,v 1.29 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -47,6 +47,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/time_scale.h" #include "spandsp/saturated.h" Modified: freeswitch/trunk/libs/spandsp/src/tone_detect.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/tone_detect.c (original) +++ freeswitch/trunk/libs/spandsp/src/tone_detect.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_detect.c,v 1.49 2009/01/28 03:41:27 steveu Exp $ + * $Id: tone_detect.c,v 1.50 2009/02/03 16:28:40 steveu Exp $ */ /*! \file tone_detect.h */ @@ -58,7 +58,7 @@ #define M_PI 3.14159265358979323846264338327 #endif -void make_goertzel_descriptor(goertzel_descriptor_t *t, float freq, int samples) +SPAN_DECLARE(void) make_goertzel_descriptor(goertzel_descriptor_t *t, float freq, int samples) { #if defined(SPANDSP_USE_FIXED_POINT) t->fac = 16383.0f*2.0f*cosf(2.0f*M_PI*(freq/(float) SAMPLE_RATE)); @@ -69,8 +69,8 @@ } /*- End of function --------------------------------------------------------*/ -goertzel_state_t *goertzel_init(goertzel_state_t *s, - goertzel_descriptor_t *t) +SPAN_DECLARE(goertzel_state_t *) goertzel_init(goertzel_state_t *s, + goertzel_descriptor_t *t) { if (s == NULL) { @@ -91,7 +91,7 @@ } /*- End of function --------------------------------------------------------*/ -void goertzel_reset(goertzel_state_t *s) +SPAN_DECLARE(void) goertzel_reset(goertzel_state_t *s) { #if defined(SPANDSP_USE_FIXED_POINT) s->v2 = @@ -104,9 +104,9 @@ } /*- End of function --------------------------------------------------------*/ -int goertzel_update(goertzel_state_t *s, - const int16_t amp[], - int samples) +SPAN_DECLARE(int) goertzel_update(goertzel_state_t *s, + const int16_t amp[], + int samples) { int i; #if defined(SPANDSP_USE_FIXED_POINT) @@ -139,9 +139,9 @@ /*- End of function --------------------------------------------------------*/ #if defined(SPANDSP_USE_FIXED_POINT) -int32_t goertzel_result(goertzel_state_t *s) +SPAN_DECLARE(int32_t) goertzel_result(goertzel_state_t *s) #else -float goertzel_result(goertzel_state_t *s) +SPAN_DECLARE(float) goertzel_result(goertzel_state_t *s) #endif { #if defined(SPANDSP_USE_FIXED_POINT) Modified: freeswitch/trunk/libs/spandsp/src/tone_generate.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/tone_generate.c (original) +++ freeswitch/trunk/libs/spandsp/src/tone_generate.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: tone_generate.c,v 1.48 2009/01/28 03:41:27 steveu Exp $ + * $Id: tone_generate.c,v 1.49 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/dc_restore.h" #include "spandsp/complex.h" #include "spandsp/dds.h" @@ -61,15 +62,15 @@ #define ms_to_samples(t) (((t)*SAMPLE_RATE)/1000) SPAN_DECLARE(void) make_tone_gen_descriptor(tone_gen_descriptor_t *s, - int f1, - int l1, - int f2, - int l2, - int d1, - int d2, - int d3, - int d4, - int repeat) + int f1, + int l1, + int f2, + int l2, + int d1, + int d2, + int d3, + int d4, + int repeat) { memset(s, 0, sizeof(*s)); if (f1) @@ -170,7 +171,7 @@ #else xamp = dds_modf(&s->phase[0], -s->tone[0].phase_rate, s->tone[0].gain, 0) *(1.0f + dds_modf(&s->phase[1], s->tone[1].phase_rate, s->tone[1].gain, 0)); - amp[samples] = (int16_t) lrintf(xamp); + amp[samples] = (int16_t) lfastrintf(xamp); #endif } } @@ -200,7 +201,7 @@ #if defined(SPANDSP_USE_FIXED_POINT) amp[samples] = xamp; #else - amp[samples] = (int16_t) lrintf(xamp); + amp[samples] = (int16_t) lfastrintf(xamp); #endif } } Modified: freeswitch/trunk/libs/spandsp/src/v17rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v17rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v17rx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17rx.c,v 1.131 2009/01/30 10:22:23 steveu Exp $ + * $Id: v17rx.c,v 1.132 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/v17tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v17tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v17tx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v17tx.c,v 1.69 2009/01/28 03:41:27 steveu Exp $ + * $Id: v17tx.c,v 1.70 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -44,6 +44,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/complex.h" #include "spandsp/vector_float.h" @@ -301,7 +302,7 @@ /* Now create and modulate the carrier */ z = dds_complexf(&(s->carrier_phase), s->carrier_phase_rate); /* Don't bother saturating. We should never clip. */ - amp[sample] = (int16_t) lrintf((x.re*z.re - x.im*z.im)*s->gain); + amp[sample] = (int16_t) lfastrintf((x.re*z.re - x.im*z.im)*s->gain); #endif } return sample; Modified: freeswitch/trunk/libs/spandsp/src/v22bis_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v22bis_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v22bis_rx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v22bis_rx.c,v 1.46 2009/01/28 03:41:27 steveu Exp $ + * $Id: v22bis_rx.c,v 1.47 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/v22bis_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v22bis_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v22bis_tx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v22bis_tx.c,v 1.49 2009/01/28 03:41:27 steveu Exp $ + * $Id: v22bis_tx.c,v 1.50 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -46,6 +46,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/complex.h" #include "spandsp/vector_float.h" @@ -558,7 +559,7 @@ famp += dds_modf(&(s->tx.guard_phase), s->tx.guard_phase_rate, s->tx.guard_level, 0); } /* Don't bother saturating. We should never clip. */ - amp[sample] = (int16_t) lrintf(famp); + amp[sample] = (int16_t) lfastrintf(famp); } return sample; } @@ -623,12 +624,12 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(v22bis_state_t *) v22bis_init(v22bis_state_t *s, - int bit_rate, - int guard, - int caller, - get_bit_func_t get_bit, - put_bit_func_t put_bit, - void *user_data) + int bit_rate, + int guard, + int caller, + get_bit_func_t get_bit, + put_bit_func_t put_bit, + void *user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/v27ter_rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v27ter_rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v27ter_rx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_rx.c,v 1.115 2009/01/30 10:22:23 steveu Exp $ + * $Id: v27ter_rx.c,v 1.116 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/v27ter_tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v27ter_tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v27ter_tx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v27ter_tx.c,v 1.71 2009/01/28 03:41:27 steveu Exp $ + * $Id: v27ter_tx.c,v 1.72 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -44,6 +44,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/complex.h" #include "spandsp/vector_float.h" @@ -292,7 +293,7 @@ /* Now create and modulate the carrier */ z = dds_complexf(&(s->carrier_phase), s->carrier_phase_rate); /* Don't bother saturating. We should never clip. */ - amp[sample] = (int16_t) lrintf((x.re*z.re - x.im*z.im)*s->gain_4800); + amp[sample] = (int16_t) lfastrintf((x.re*z.re - x.im*z.im)*s->gain_4800); #endif } } @@ -333,7 +334,7 @@ /* Now create and modulate the carrier */ z = dds_complexf(&(s->carrier_phase), s->carrier_phase_rate); /* Don't bother saturating. We should never clip. */ - amp[sample] = (int16_t) lrintf((x.re*z.re - x.im*z.im)*s->gain_2400); + amp[sample] = (int16_t) lfastrintf((x.re*z.re - x.im*z.im)*s->gain_2400); #endif } } Modified: freeswitch/trunk/libs/spandsp/src/v29rx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v29rx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v29rx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29rx.c,v 1.152 2009/01/30 10:22:23 steveu Exp $ + * $Id: v29rx.c,v 1.153 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/v29tx.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v29tx.c (original) +++ freeswitch/trunk/libs/spandsp/src/v29tx.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v29tx.c,v 1.84 2009/01/28 03:41:27 steveu Exp $ + * $Id: v29tx.c,v 1.85 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -44,6 +44,7 @@ #include "floating_fudge.h" #include "spandsp/telephony.h" +#include "spandsp/fast_convert.h" #include "spandsp/logging.h" #include "spandsp/complex.h" #include "spandsp/vector_float.h" @@ -245,7 +246,7 @@ /* Now create and modulate the carrier */ z = dds_complexf(&(s->carrier_phase), s->carrier_phase_rate); /* Don't bother saturating. We should never clip. */ - amp[sample] = (int16_t) lrintf((x.re*z.re - x.im*z.im)*s->gain); + amp[sample] = (int16_t) lfastrintf((x.re*z.re - x.im*z.im)*s->gain); #endif } return sample; Modified: freeswitch/trunk/libs/spandsp/src/v42.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42.c,v 1.47 2009/01/05 13:48:32 steveu Exp $ + * $Id: v42.c,v 1.48 2009/02/03 16:28:40 steveu Exp $ */ /* THIS IS A WORK IN PROGRESS. IT IS NOT FINISHED. */ @@ -89,8 +89,8 @@ static void t401_expired(span_sched_state_t *s, void *user_data); static void t403_expired(span_sched_state_t *s, void *user_data); -void lapm_reset(lapm_state_t *s); -void lapm_restart(lapm_state_t *s); +SPAN_DECLARE(void) lapm_reset(lapm_state_t *s); +SPAN_DECLARE(void) lapm_restart(lapm_state_t *s); static void lapm_link_down(lapm_state_t *s); @@ -667,7 +667,7 @@ } /*- End of function --------------------------------------------------------*/ -void lapm_reset(lapm_state_t *s) +SPAN_DECLARE(void) lapm_reset(lapm_state_t *s) { lapm_frame_queue_t *f; lapm_frame_queue_t *p; @@ -709,7 +709,7 @@ } /*- End of function --------------------------------------------------------*/ -void lapm_receive(void *user_data, const uint8_t *frame, int len, int ok) +SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *frame, int len, int ok) { lapm_state_t *s; lapm_frame_queue_t *f; @@ -1068,7 +1068,7 @@ } /*- End of function --------------------------------------------------------*/ -void lapm_restart(lapm_state_t *s) +SPAN_DECLARE(void) lapm_restart(lapm_state_t *s) { #if 0 if (s->state != LAPM_RELEASE) Modified: freeswitch/trunk/libs/spandsp/src/v42bis.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42bis.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42bis.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42bis.c,v 1.35 2009/01/05 13:48:32 steveu Exp $ + * $Id: v42bis.c,v 1.36 2009/02/03 16:28:40 steveu Exp $ */ /* THIS IS A WORK IN PROGRESS. IT IS NOT FINISHED. @@ -353,7 +353,7 @@ /*- End of function --------------------------------------------------------*/ #if 0 -int v42bis_compress_dump(v42bis_state_t *s) +SPAN_DECLARE(int) v42bis_compress_dump(v42bis_state_t *s) { int i; @@ -583,7 +583,7 @@ /*- End of function --------------------------------------------------------*/ #if 0 -int v42bis_decompress_dump(v42bis_state_t *s) +SPAN_DECLARE(int) v42bis_decompress_dump(v42bis_state_t *s) { int i; @@ -615,15 +615,15 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(v42bis_state_t *) v42bis_init(v42bis_state_t *s, - int negotiated_p0, - int negotiated_p1, - int negotiated_p2, - v42bis_frame_handler_t frame_handler, - void *frame_user_data, - int max_frame_len, - v42bis_data_handler_t data_handler, - void *data_user_data, - int max_data_len) + int negotiated_p0, + int negotiated_p1, + int negotiated_p2, + v42bis_frame_handler_t frame_handler, + void *frame_user_data, + int max_frame_len, + v42bis_data_handler_t data_handler, + void *data_user_data, + int max_data_len) { int i; Modified: freeswitch/trunk/libs/spandsp/src/v8.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v8.c (original) +++ freeswitch/trunk/libs/spandsp/src/v8.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v8.c,v 1.37 2009/01/28 03:41:27 steveu Exp $ + * $Id: v8.c,v 1.38 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -857,10 +857,10 @@ /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(v8_state_t *) v8_init(v8_state_t *s, - int caller, - int available_modulations, - v8_result_handler_t *result_handler, - void *user_data) + int caller, + int available_modulations, + v8_result_handler_t *result_handler, + void *user_data) { if (s == NULL) { Modified: freeswitch/trunk/libs/spandsp/src/vector_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/vector_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/vector_float.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: vector_float.c,v 1.19 2009/01/28 03:41:27 steveu Exp $ + * $Id: vector_float.c,v 1.20 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ @@ -118,7 +118,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_copyl(long double z[], const long double x[], int n) +SPAN_DECLARE(void) vec_copyl(long double z[], const long double x[], int n) { int i; @@ -178,7 +178,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_negatel(long double z[], const long double x[], int n) +SPAN_DECLARE(void) vec_negatel(long double z[], const long double x[], int n) { int i; @@ -232,7 +232,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_zerol(long double z[], int n) +SPAN_DECLARE(void) vec_zerol(long double z[], int n) { int i; @@ -286,7 +286,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_setl(long double z[], long double x, int n) +SPAN_DECLARE(void) vec_setl(long double z[], long double x, int n) { int i; @@ -344,7 +344,8 @@ } /*- End of function --------------------------------------------------------*/ -void vec_addl(long double z[], const long double x[], const long double y[], int n) +#if defined(HAVE_LONG_DOUBLE) +SPAN_DECLARE(void) vec_addl(long double z[], const long double x[], const long double y[], int n) { int i; @@ -352,6 +353,7 @@ z[i] = x[i] + y[i]; } /*- End of function --------------------------------------------------------*/ +#endif #if defined(__GNUC__) && defined(SPANDSP_USE_SSE2) SPAN_DECLARE(void) vec_scaledxy_addf(float z[], const float x[], float x_scale, const float y[], float y_scale, int n) @@ -408,7 +410,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_scaledxy_addl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_addl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n) { int i; @@ -470,7 +472,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_scaledy_addl(long double z[], const long double x[], const long double y[], long double y_scale, int n) +SPAN_DECLARE(void) vec_scaledy_addl(long double z[], const long double x[], const long double y[], long double y_scale, int n) { int i; @@ -529,7 +531,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_subl(long double z[], const long double x[], const long double y[], int n) +SPAN_DECLARE(void) vec_subl(long double z[], const long double x[], const long double y[], int n) { int i; @@ -558,7 +560,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_scaledxy_subl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n) +SPAN_DECLARE(void) vec_scaledxy_subl(long double z[], const long double x[], long double x_scale, const long double y[], long double y_scale, int n) { int i; @@ -665,7 +667,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_scalar_addl(long double z[], const long double x[], long double y, int n) +SPAN_DECLARE(void) vec_scalar_addl(long double z[], const long double x[], long double y, int n) { int i; @@ -724,7 +726,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_scalar_subl(long double z[], const long double x[], long double y, int n) +SPAN_DECLARE(void) vec_scalar_subl(long double z[], const long double x[], long double y, int n) { int i; @@ -784,7 +786,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -void vec_mull(long double z[], const long double x[], const long double y[], int n) +SPAN_DECLARE(void) vec_mull(long double z[], const long double x[], const long double y[], int n) { int i; @@ -858,7 +860,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(HAVE_LONG_DOUBLE) -long double vec_dot_prodl(const long double x[], const long double y[], int n) +SPAN_DECLARE(long double) vec_dot_prodl(const long double x[], const long double y[], int n) { int i; long double z; Modified: freeswitch/trunk/libs/spandsp/src/vector_int.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/vector_int.c (original) +++ freeswitch/trunk/libs/spandsp/src/vector_int.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: vector_int.c,v 1.23 2009/01/28 03:41:27 steveu Exp $ + * $Id: vector_int.c,v 1.24 2009/02/03 16:28:40 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/tests/t31_tests.c ============================================================================== --- freeswitch/trunk/libs/spandsp/tests/t31_tests.c (original) +++ freeswitch/trunk/libs/spandsp/tests/t31_tests.c Tue Feb 3 12:50:18 2009 @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t31_tests.c,v 1.69 2009/01/23 16:07:14 steveu Exp $ + * $Id: t31_tests.c,v 1.70 2009/02/02 13:05:28 steveu Exp $ */ /*! \file */ @@ -106,7 +106,8 @@ RESPONSE("\r\nOK\r\n"), EXCHANGE("AT+FRH=3\r", "\r\nCONNECT\r\n"), // - RESPONSE("\xFF\x13\x80\x00\xEE\xF8\x80\x80\x91\x80\x80\x80\x18\x78\x57\x10\x03"), + RESPONSE("\xFF\x13\x80\x00\xEE\xF8\x80\x80\x91\x80\x80\x80\x18\x78\x57\x10\x03"), // For audio FAXing + //RESPONSE("\xFF\x13\x80\x04\xEE\xF8\x80\x80\x91\x80\x80\x80\x18\xE4\xE7\x10\x03"), // For T.38 FAXing RESPONSE("\r\nOK\r\n"), //EXCHANGE("AT+FRH=3\r", "\r\nNO CARRIER\r\n"), EXCHANGE("AT+FTH=3\r", "\r\nCONNECT\r\n"), From mikej at freeswitch.org Tue Feb 3 10:55:32 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 12:55:32 -0600 Subject: [Freeswitch-svn] [commit] r11613 - in freeswitch/trunk/libs/spandsp/src: . spandsp Message-ID: Author: mikej Date: Tue Feb 3 12:55:31 2009 New Revision: 11613 Log: fix windows build Modified: freeswitch/trunk/libs/spandsp/src/async.c freeswitch/trunk/libs/spandsp/src/silence_gen.c freeswitch/trunk/libs/spandsp/src/spandsp/async.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h freeswitch/trunk/libs/spandsp/src/spandsp/t30.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h freeswitch/trunk/libs/spandsp/src/spandsp/v42.h freeswitch/trunk/libs/spandsp/src/t30.c freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c freeswitch/trunk/libs/spandsp/src/v42.c Modified: freeswitch/trunk/libs/spandsp/src/async.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/async.c (original) +++ freeswitch/trunk/libs/spandsp/src/async.c Tue Feb 3 12:55:31 2009 @@ -103,7 +103,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit) +SPAN_DECLARE_NONSTD(void) async_rx_put_bit(void *user_data, int bit) { async_rx_state_t *s; @@ -216,7 +216,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) async_tx_get_bit(void *user_data) +SPAN_DECLARE_NONSTD(int) async_tx_get_bit(void *user_data) { async_tx_state_t *s; int bit; Modified: freeswitch/trunk/libs/spandsp/src/silence_gen.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/silence_gen.c (original) +++ freeswitch/trunk/libs/spandsp/src/silence_gen.c Tue Feb 3 12:55:31 2009 @@ -131,7 +131,7 @@ /* The following dummy routines, to absorb data, don't really have a proper home, so they have been put here. */ -SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len) +SPAN_DECLARE_NONSTD(int) span_dummy_rx(void *user_data, const int16_t amp[], int len) { return 0; } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/async.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/async.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/async.h Tue Feb 3 12:55:31 2009 @@ -162,7 +162,7 @@ \brief Get the next bit of a transmitted serial bit stream. \param user_data An opaque point which must point to a transmitter context. \return the next bit, or PUTBIT_END_OF_DATA to indicate the data stream has ended. */ -SPAN_DECLARE(int) async_tx_get_bit(void *user_data); +SPAN_DECLARE_NONSTD(int) async_tx_get_bit(void *user_data); /*! Initialise an asynchronous data receiver context. \brief Initialise an asynchronous data receiver context. @@ -191,7 +191,7 @@ - SIG_STATUS_TRAINING_SUCCEEDED - SIG_STATUS_TRAINING_FAILED - SIG_STATUS_END_OF_DATA */ -SPAN_DECLARE(void) async_rx_put_bit(void *user_data, int bit); +SPAN_DECLARE_NONSTD(void) async_rx_put_bit(void *user_data, int bit); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h Tue Feb 3 12:55:31 2009 @@ -125,7 +125,7 @@ SPAN_DECLARE(void) cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n); #if defined(HAVE_LONG_DOUBLE) -void cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n); +SPAN_DECLARE(void) cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n); #endif /*! \brief Find the dot product of two complex float vectors. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h Tue Feb 3 12:55:31 2009 @@ -117,7 +117,7 @@ \param len The length of the signal buffer \return 0. */ -SPAN_DECLARE(int) span_dummy_rx(void *user_data, const int16_t amp[], int len); +SPAN_DECLARE_NONSTD(int) span_dummy_rx(void *user_data, const int16_t amp[], int len); /*! A dummy routine to use as a signal modifier callback, when we aren't really trying to process the signal. It just returns without affecting Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30.h Tue Feb 3 12:55:31 2009 @@ -607,7 +607,7 @@ \brief Get a bit of received non-ECM image data. \param user_data An opaque pointer, which must point to the T.30 context. \return The next bit to transmit. */ -SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data); +SPAN_DECLARE_NONSTD(int) t30_non_ecm_get_bit(void *user_data); /*! Get a byte of received non-ECM image data. \brief Get a byte of received non-ECM image data. @@ -627,7 +627,7 @@ \brief Process a bit of received non-ECM image data \param user_data An opaque pointer, which must point to the T.30 context. \param bit The received bit. */ -SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit); +SPAN_DECLARE_NONSTD(void) t30_non_ecm_put_bit(void *user_data, int bit); /*! Process a byte of received non-ECM image data. \brief Process a byte of received non-ECM image data @@ -648,7 +648,7 @@ \param msg The HDLC message. \param len The length of the message, in octets. \param ok TRUE if the frame was received without error. */ -SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); +SPAN_DECLARE_NONSTD(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok); /*! Report the passage of time to the T.30 engine. \brief Report the passage of time to the T.30 engine. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h Tue Feb 3 12:55:31 2009 @@ -93,7 +93,7 @@ /*! \brief Get the next bit of data from a T.38 rate adapting non-ECM buffer context. \param user_data The buffer context, cast to a void pointer. \return The next bit, or one of the values indicating a change of modem status. */ -SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data); +SPAN_DECLARE_NONSTD(int) t38_non_ecm_buffer_get_bit(void *user_data); #if defined(__cplusplus) } Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42.h Tue Feb 3 12:55:31 2009 @@ -94,7 +94,7 @@ /*! Accept an HDLC packet */ -SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); +SPAN_DECLARE_NONSTD(void) lapm_receive(void *user_data, const uint8_t *buf, int len, int ok); /*! Transmit a LAP.M frame */ Modified: freeswitch/trunk/libs/spandsp/src/t30.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30.c Tue Feb 3 12:55:31 2009 @@ -4986,7 +4986,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(void) t30_non_ecm_put_bit(void *user_data, int bit) +SPAN_DECLARE_NONSTD(void) t30_non_ecm_put_bit(void *user_data, int bit) { t30_state_t *s; @@ -5102,7 +5102,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t30_non_ecm_get_bit(void *user_data) +SPAN_DECLARE_NONSTD(int) t30_non_ecm_get_bit(void *user_data) { int bit; t30_state_t *s; @@ -5302,7 +5302,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok) +SPAN_DECLARE_NONSTD(void) t30_hdlc_accept(void *user_data, const uint8_t *msg, int len, int ok) { t30_state_t *s; Modified: freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c Tue Feb 3 12:55:31 2009 @@ -75,7 +75,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t38_non_ecm_buffer_get_bit(void *user_data) +SPAN_DECLARE_NONSTD(int) t38_non_ecm_buffer_get_bit(void *user_data) { t38_non_ecm_buffer_state_t *s; int bit; Modified: freeswitch/trunk/libs/spandsp/src/v42.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42.c Tue Feb 3 12:55:31 2009 @@ -709,7 +709,7 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(void) lapm_receive(void *user_data, const uint8_t *frame, int len, int ok) +SPAN_DECLARE_NONSTD(void) lapm_receive(void *user_data, const uint8_t *frame, int len, int ok) { lapm_state_t *s; lapm_frame_queue_t *f; From mikej at freeswitch.org Tue Feb 3 11:37:59 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 13:37:59 -0600 Subject: [Freeswitch-svn] [commit] r11614 - freeswitch/trunk/src Message-ID: Author: mikej Date: Tue Feb 3 13:37:58 2009 New Revision: 11614 Log: allow you to specify -htdocs dir at runtime. Modified: freeswitch/trunk/src/switch.c Modified: freeswitch/trunk/src/switch.c ============================================================================== --- freeswitch/trunk/src/switch.c (original) +++ freeswitch/trunk/src/switch.c Tue Feb 3 13:37:58 2009 @@ -281,29 +281,30 @@ usageDesc = "these are the optional arguments you can pass to freeswitch\n" #ifdef WIN32 - "\t-service [name] -- start freeswitch as a service, cannot be used if loaded as a console app\n" - "\t-install [name] -- install freeswitch as a service, with optional service name\n" - "\t-uninstall -- remove freeswitch as a service\n" + "\t-service [name] -- start freeswitch as a service, cannot be used if loaded as a console app\n" + "\t-install [name] -- install freeswitch as a service, with optional service name\n" + "\t-uninstall -- remove freeswitch as a service\n" #else - "\t-nf -- no forking\n" - "\t-u [user] -- specify user to switch to\n" - "\t-g [group] -- specify group to switch to\n" + "\t-nf -- no forking\n" + "\t-u [user] -- specify user to switch to\n" + "\t-g [group] -- specify group to switch to\n" #endif - "\t-help -- this message\n" + "\t-help -- this message\n" #ifdef HAVE_SETRLIMIT - "\t-core -- dump cores\n" + "\t-core -- dump cores\n" #endif - "\t-hp -- enable high priority settings\n" - "\t-vg -- run under valgrind\n" - "\t-nosql -- disable internal sql scoreboard\n" - "\t-stop -- stop freeswitch\n" - "\t-nc -- do not output to a console and background\n" - "\t-c -- output to a console and stay in the foreground\n" - "\t-conf [confdir] -- specify an alternate config dir\n" - "\t-log [logdir] -- specify an alternate log dir\n" - "\t-db [dbdir] -- specify an alternate db dir\n" - "\t-mod [moddir] -- specify an alternate mod dir\n" - "\t-scripts [scriptsdir] -- specify an alternate scripts dir\n"; + "\t-hp -- enable high priority settings\n" + "\t-vg -- run under valgrind\n" + "\t-nosql -- disable internal sql scoreboard\n" + "\t-stop -- stop freeswitch\n" + "\t-nc -- do not output to a console and background\n" + "\t-c -- output to a console and stay in the foreground\n" + "\t-conf [confdir] -- specify an alternate config dir\n" + "\t-log [logdir] -- specify an alternate log dir\n" + "\t-db [dbdir] -- specify an alternate db dir\n" + "\t-mod [moddir] -- specify an alternate mod dir\n" + "\t-htdocs [htdocsdir] -- specify an alternate htdocs dir\n" + "\t-scripts [scriptsdir] -- specify an alternate scripts dir\n"; for (x = 1; x < argc; x++) { known_opt = 0; @@ -550,6 +551,22 @@ known_opt++; } + if (argv[x] && !strcmp(argv[x], "-htdocs")) { + x++; + if (argv[x] && strlen(argv[x])) { + SWITCH_GLOBAL_dirs.htdocs_dir = (char *) malloc(strlen(argv[x]) + 1); + if (!SWITCH_GLOBAL_dirs.htdocs_dir) { + fprintf(stderr, "Allocation error\n"); + return 255; + } + strcpy(SWITCH_GLOBAL_dirs.htdocs_dir, argv[x]); + } else { + fprintf(stderr, "When using -htdocs you must specify a htdocs directory\n"); + return 255; + } + known_opt++; + } + if (!known_opt || (argv[x] && (!strcmp(argv[x], "-help") || !strcmp(argv[x], "-h") || !strcmp(argv[x], "-?")))) { printf("%s\n", usageDesc); exit(0); From mikej at freeswitch.org Tue Feb 3 12:31:24 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 14:31:24 -0600 Subject: [Freeswitch-svn] [commit] r11615 - in freeswitch/trunk: . build/config Message-ID: Author: mikej Date: Tue Feb 3 14:31:24 2009 New Revision: 11615 Log: autoconf detect odbc library FSBUILD-8 Added: freeswitch/trunk/build/config/odbc.m4 Modified: freeswitch/trunk/acinclude.m4 freeswitch/trunk/configure.in Modified: freeswitch/trunk/acinclude.m4 ============================================================================== --- freeswitch/trunk/acinclude.m4 (original) +++ freeswitch/trunk/acinclude.m4 Tue Feb 3 14:31:24 2009 @@ -6,5 +6,6 @@ m4_include([build/config/ac_gcc_x86_cpuid.m4]) m4_include([build/config/ax_lib_mysql.m4]) m4_include([build/config/ax_check_java.m4]) +m4_include([build/config/odbc.m4]) m4_include([libs/apr/build/apr_common.m4]) m4_include([build/config/libcurl.m4]) Added: freeswitch/trunk/build/config/odbc.m4 ============================================================================== --- (empty file) +++ freeswitch/trunk/build/config/odbc.m4 Tue Feb 3 14:31:24 2009 @@ -0,0 +1,141 @@ +dnl Derrick Brashear +dnl from KTH krb and Arla + +AC_DEFUN([ODBC_INC_WHERE1], [ +ac_cv_found_odbc_inc=no +if test -f "$1/sql.h" ; then + ac_cv_found_odbc_inc=yes +fi +]) + +AC_DEFUN([ODBC_INC_WHERE], [ + for i in $1; do + AC_MSG_CHECKING(for odbc header in $i) + ODBC_INC_WHERE1($i) + if test "$ac_cv_found_odbc_inc" = "yes"; then + ac_cv_odbc_where_inc=$i + AC_MSG_RESULT(found) + break + else + AC_MSG_RESULT(no found) + fi + done +]) + +AC_DEFUN([ODBC_LIB_WHERE1], [ +saved_LIBS=$LIBS +LIBS="$saved_LIBS -L$1 -lodbc" +AC_TRY_LINK(, +[SQLHDBC con;SQLDisconnect(con);], +[ac_cv_found_odbc_lib=yes], +ac_cv_found_odbc_lib=no) +LIBS=$saved_LIBS +]) + +AC_DEFUN([TEST_LIBPATH], [ +changequote(<<, >>) +define(<>, translit(ac_cv_found_$2_lib, <<- *>>, <<__p>>)) +changequote([, ]) +if test "$AC_CV_FOUND" = "yes"; then + if test \! -r "$1/lib$2.a" -a \! -r "$1/lib$2.so" -a \! -r "$1/lib$2.sl" -a \! -r "$1/lib$2.dylib"; then + AC_CV_FOUND=no + fi +fi +]) + + +AC_DEFUN([ODBC_LIB_WHERE], [ + for i in $1; do + AC_MSG_CHECKING(for odbc library in $i) + ODBC_LIB_WHERE1($i) + TEST_LIBPATH($i, odbc) + if test "$ac_cv_found_odbc_lib" = "yes" ; then + ac_cv_odbc_where_lib=$i + AC_MSG_RESULT(found) + break + else + AC_MSG_RESULT(no found) + fi + done +]) + +AC_DEFUN([FIND_LIB_SUBDIR], +[dnl +AC_ARG_WITH([lib-subdir], AC_HELP_STRING([--with-lib-subdir=DIR],[Find libraries in DIR instead of lib])) +AC_CHECK_SIZEOF(long) +AC_CACHE_CHECK([what directory libraries are found in], [ac_cv_cmu_lib_subdir], +[test "X$with_lib_subdir" = "Xyes" && with_lib_subdir= +test "X$with_lib_subdir" = "Xno" && with_lib_subdir= + if test "X$with_lib_subdir" = "X" ; then + ac_cv_cmu_lib_subdir=lib + if test $ac_cv_sizeof_long -eq 4 ; then + test -d /usr/lib32 && ac_cv_cmu_lib_subdir=lib32 + fi + if test $ac_cv_sizeof_long -eq 8 ; then + test -d /usr/lib64 && ac_cv_cmu_lib_subdir=lib64 + fi + else + ac_cv_cmu_lib_subdir=$with_lib_subdir + fi]) + AC_SUBST(LIB_SUBDIR, $ac_cv_cmu_lib_subdir) + ]) + + +AC_DEFUN([AX_LIB_ODBC], [ +AC_REQUIRE([FIND_LIB_SUBDIR]) +AC_ARG_WITH(odbc, + [ --with-odbc=PREFIX Compile with ODBC support], + [if test "X$with_odbc" = "X"; then + with_odbc=yes + fi]) +AC_ARG_WITH(odbc-lib, + [ --with-odbc-lib=dir use odbc libraries in dir], + [if test "$withval" = "yes" -o "$withval" = "no"; then + AC_MSG_ERROR([No argument for --with-odbc-lib]) + fi]) +AC_ARG_WITH(odbc-include, + [ --with-odbc-include=dir use odbc headers in dir], + [if test "$withval" = "yes" -o "$withval" = "no"; then + AC_MSG_ERROR([No argument for --with-odbc-include]) + fi]) + + if test "X$with_odbc" != "X"; then + if test "$with_odbc" != "yes"; then + ac_cv_odbc_where_lib=$with_odbc + ac_cv_odbc_where_inc=$with_odbc/include + fi + fi + + if test "X$with_odbc_lib" != "X"; then + ac_cv_odbc_where_lib=$with_odbc_lib + fi + if test "X$ac_cv_odbc_where_lib" = "X"; then + ODBC_LIB_WHERE(/usr/$LIB_SUBDIR /usr/local/$LIB_SUBDIR) + fi + + if test "X$with_odbc_include" != "X"; then + ac_cv_odbc_where_inc=$with_odbc_include + fi + if test "X$ac_cv_odbc_where_inc" = "X"; then + ODBC_INC_WHERE(/usr/include /usr/local/include) + fi + + AC_MSG_CHECKING(whether to include odbc) + if test "X$ac_cv_odbc_where_lib" = "X" -a "X$ac_cv_odbc_where_inc" = "X"; then + ac_cv_found_odbc=no + AC_MSG_RESULT(no) + else + ac_cv_found_odbc=yes + AC_MSG_RESULT(yes) + ODBC_INC_DIR=$ac_cv_pcap_where_inc + ODBC_LIB_DIR=$ac_cv_pcap_where_lib + ODBC_INC_FLAGS="-I${ODBC_INC_DIR}" + ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc" + AC_SUBST(ODBC_INC_DIR) + AC_SUBST(ODBC_LIB_DIR) + AC_SUBST(ODBC_INC_FLAGS) + AC_SUBST(ODBC_LIB_FLAGS) + AC_DEFINE([HAVE_ODBC],[1],[libodbc]) + fi + ]) + Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Tue Feb 3 14:31:24 2009 @@ -505,6 +505,11 @@ AX_CHECK_JAVA +AX_LIB_ODBC +if test "$ac_cv_found_odbc" = "yes" ; then + enable_core_odbc_support="yes" +fi + AM_CONDITIONAL([ADD_ODBC],[test "x$enable_core_odbc_support" != "xno"]) AM_CONDITIONAL([ADD_LIBEDIT],[test "x$enable_core_libedit_support" != "xno"]) AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"]) From anthm at freeswitch.org Tue Feb 3 12:33:25 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 14:33:25 -0600 Subject: [Freeswitch-svn] [commit] r11616 - freeswitch/trunk/src Message-ID: Author: anthm Date: Tue Feb 3 14:33:24 2009 New Revision: 11616 Log: tweaks to call setup code Modified: freeswitch/trunk/src/switch_channel.c freeswitch/trunk/src/switch_ivr.c freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Tue Feb 3 14:33:24 2009 @@ -1623,8 +1623,6 @@ { switch_event_t *event; - switch_channel_perform_mark_ring_ready(channel, file, func, line); - if (!switch_channel_test_flag(channel, CF_EARLY_MEDIA)) { const char *uuid; switch_core_session_t *other_session; Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Tue Feb 3 14:33:24 2009 @@ -54,6 +54,7 @@ int sval = 0; const char *var; + /* if (!switch_channel_test_flag(channel, CF_OUTBOUND) && !switch_channel_test_flag(channel, CF_PROXY_MODE) && !switch_channel_media_ready(channel) && !switch_channel_test_flag(channel, CF_SERVICE)) { if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { @@ -61,6 +62,7 @@ return SWITCH_STATUS_FALSE; } } + */ if (!switch_channel_media_ready(channel)) { switch_yield(ms * 1000); Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Tue Feb 3 14:33:24 2009 @@ -216,7 +216,8 @@ switch_thread_create(&thread, thd_attr, collect_thread_run, collect, switch_core_session_get_pool(collect->session)); } -static int check_per_channel_timeouts(originate_status_t *originate_status, +static int check_per_channel_timeouts(originate_global_t *oglobals, + originate_status_t *originate_status, int max, time_t start) { @@ -229,7 +230,7 @@ !( switch_channel_test_flag(originate_status[i].peer_channel, CF_RING_READY) || switch_channel_test_flag(originate_status[i].peer_channel, CF_ANSWERED) || - switch_channel_test_flag(originate_status[i].peer_channel, CF_EARLY_MEDIA) + (!oglobals->monitor_early_media_ring && switch_channel_test_flag(originate_status[i].peer_channel, CF_EARLY_MEDIA)) ) ) { switch_channel_hangup(originate_status[i].peer_channel, SWITCH_CAUSE_PROGRESS_TIMEOUT); @@ -445,7 +446,7 @@ if (!oglobals->progress) { oglobals->progress = 1; } - + if (!oglobals->ring_ready && !oglobals->ignore_ring_ready) { oglobals->ring_ready = 1; } @@ -1533,7 +1534,7 @@ switch_yield(100000); } - check_per_channel_timeouts(originate_status, and_argc, start); + check_per_channel_timeouts(&oglobals, originate_status, and_argc, start); if (valid_channels == 0) { @@ -1662,7 +1663,7 @@ } /* When the AND operator is being used, and fail_on_single_reject is set, a hangup indicates that the call should fail. */ - check_per_channel_timeouts(originate_status, and_argc, start); + check_per_channel_timeouts(&oglobals, originate_status, and_argc, start); if (oglobals.session && switch_core_session_private_event_count(oglobals.session)) { switch_ivr_parse_all_events(oglobals.session); From mikej at freeswitch.org Tue Feb 3 12:45:42 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 14:45:42 -0600 Subject: [Freeswitch-svn] [commit] r11617 - freeswitch/trunk/src/mod/applications/mod_voicemail Message-ID: Author: mikej Date: Tue Feb 3 14:45:42 2009 New Revision: 11617 Log: mod_voicemail: voicemail insert into the proper fields (MODAPP-190) Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Tue Feb 3 14:45:42 2009 @@ -650,7 +650,9 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Old table voicemail_data found, migrating data!\n"); /* XXX: Old table found.. migrating data into new table */ if (switch_odbc_handle_exec(profile->master_odbc, - "insert into voicemail_msgs select created_epoch, read_epoch, user as username, domain, uuid," + "insert into voicemail_msgs (created_epoch, read_epoch, username, domain, uuid, cid_name, cid_number, " + "in_folder, file_path, message_len, flags, read_flags) " + "select created_epoch, read_epoch, user, domain, uuid, " "cid_name, cid_number, in_folder, file_path, message_len, flags, read_flags from voicemail_data", NULL) != SWITCH_ODBC_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to migrate old voicemail_data to voicemail_msgs!\n"); @@ -670,7 +672,9 @@ errmsg = NULL; } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Migrating data from voicemail_data to voicemail_msgs!\n"); - switch_core_db_exec(db, "insert into voicemail_msgs select created_epoch, read_epoch, user as username, domain, uuid," + switch_core_db_exec(db, "insert into voicemail_msgs (created_epoch, read_epoch, username, domain, uuid, cid_name, cid_number, " + "in_folder, file_path, message_len, flags, read_flags) " + "select created_epoch, read_epoch, user, domain, uuid, " "cid_name, cid_number, in_folder, file_path, message_len, flags, read_flags from voicemail_data", NULL, NULL, &errmsg); if (errmsg) { @@ -2313,7 +2317,9 @@ switch_event_fire(&message_event); - usql = switch_mprintf("insert into voicemail_msgs values(%ld,0,'%q','%q','%q','%q','%q','%q','%q','%u','','%q')", (long) switch_epoch_time_now(NULL), + usql = switch_mprintf("insert into voicemail_msgs(created_epoch, read_epoch, username, domain, uuid, cid_name, " + "cid_number, in_folder, file_path, message_len, flags, read_flags) " + "values(%ld,0,'%q','%q','%q','%q','%q','%q','%q','%u','','%q')", (long) switch_epoch_time_now(NULL), myid, domain_name, uuid_str, caller_id_name, caller_id_number, myfolder, file_path, message_len, read_flags); From mikej at freeswitch.org Tue Feb 3 12:46:29 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 14:46:29 -0600 Subject: [Freeswitch-svn] [commit] r11618 - freeswitch/trunk/libs/spandsp Message-ID: Author: mikej Date: Tue Feb 3 14:46:29 2009 New Revision: 11618 Log: remove generated file from tree Removed: freeswitch/trunk/libs/spandsp/spandsp.pc From rupa at freeswitch.org Tue Feb 3 13:20:09 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 15:20:09 -0600 Subject: [Freeswitch-svn] [commit] r11619 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 3 15:20:09 2009 New Revision: 11619 Log: Move to pools for dynamic allocations. Tested with valgrind. Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 3 15:20:09 2009 @@ -111,6 +111,7 @@ struct callback_obj { lcr_route head; int matches; + switch_memory_pool_t *pool; char *lookup_number; }; typedef struct callback_obj callback_t; @@ -132,15 +133,16 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_lcr_shutdown); SWITCH_MODULE_DEFINITION(mod_lcr, mod_lcr_load, mod_lcr_shutdown, NULL); -static char *get_bridge_data(const char *dialed_number, lcr_route cur_route) +static char *get_bridge_data(switch_memory_pool_t *pool, const char *dialed_number, lcr_route cur_route) { size_t lstrip; size_t tstrip; char *data = NULL; + char *pooldata = NULL; char *destination_number = NULL; char *orig_destination_number = NULL; - orig_destination_number = destination_number = strdup(dialed_number); + orig_destination_number = destination_number = switch_core_strdup(pool, dialed_number); tstrip = ((cur_route->digit_len - cur_route->tstrip) + 1); lstrip = cur_route->lstrip; @@ -155,8 +157,12 @@ data = switch_mprintf("%s%s%s%s%s", cur_route->gw_prefix, cur_route->prefix , destination_number, cur_route->suffix, cur_route->gw_suffix); + /* move to a pool and free here */ + pooldata = switch_core_strdup(pool, data); + switch_safe_free(data); + data = pooldata; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Returning Dialstring %s\n", data); - switch_safe_free(orig_destination_number); /* don't need to free destination_number */ return data; } @@ -236,7 +242,7 @@ } /* make a new string with digits only */ -static char *string_digitsonly(const char *str) +static char *string_digitsonly(switch_memory_pool_t *pool, const char *str) { char *p, *np, *newstr; size_t len; @@ -244,7 +250,7 @@ p = (char *)str; len = strlen(str); - switch_zmalloc(newstr, len+1); + newstr = switch_core_alloc(pool, len+1); np = newstr; while(*p) { @@ -281,7 +287,7 @@ lcr_route additional = NULL; lcr_route current = NULL; callback_t *cbt = (callback_t *) pArg; - char srate[10]; + switch_memory_pool_t *pool = cbt->pool; cbt->matches++; @@ -293,21 +299,20 @@ return SWITCH_STATUS_SUCCESS; } - switch_zmalloc(additional, sizeof(lcr_obj_t)); + additional = switch_core_alloc(pool, sizeof(lcr_obj_t)); additional->digit_len = strlen(argv[LCR_DIGITS_PLACE]); - additional->digit_str = switch_safe_strdup(argv[LCR_DIGITS_PLACE]); - additional->suffix = switch_safe_strdup(argv[LCR_SUFFIX_PLACE]); - additional->prefix = switch_safe_strdup(argv[LCR_PREFIX_PLACE]); - additional->carrier_name = switch_safe_strdup(argv[LCR_CARRIER_PLACE]); + additional->digit_str = switch_core_strdup(pool, argv[LCR_DIGITS_PLACE]); + additional->suffix = switch_core_strdup(pool, argv[LCR_SUFFIX_PLACE]); + additional->prefix = switch_core_strdup(pool, argv[LCR_PREFIX_PLACE]); + additional->carrier_name = switch_core_strdup(pool, argv[LCR_CARRIER_PLACE]); additional->rate = (float)atof(argv[LCR_RATE_PLACE]); - switch_snprintf(srate, sizeof(srate), "%0.5f", additional->rate); - additional->rate_str = switch_safe_strdup(srate); - additional->gw_prefix = switch_safe_strdup(argv[LCR_GW_PREFIX_PLACE]); - additional->gw_suffix = switch_safe_strdup(argv[LCR_GW_SUFFIX_PLACE]); + additional->rate_str = switch_core_sprintf(pool, "%0.5f", additional->rate); + additional->gw_prefix = switch_core_strdup(pool, argv[LCR_GW_PREFIX_PLACE]); + additional->gw_suffix = switch_core_strdup(pool, argv[LCR_GW_SUFFIX_PLACE]); additional->lstrip = atoi(argv[LCR_LSTRIP_PLACE]); additional->tstrip = atoi(argv[LCR_TSTRIP_PLACE]); - additional->dialstring = get_bridge_data(cbt->lookup_number, additional); + additional->dialstring = get_bridge_data(pool, cbt->lookup_number, additional); if (cbt->head == NULL) { additional->next = cbt->head; @@ -322,7 +327,6 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ignoring Duplicate route for termination point (%s:%s)\n", additional->gw_prefix, additional->gw_suffix); - switch_safe_free(additional); break; } @@ -356,6 +360,7 @@ return SWITCH_STATUS_FALSE; } + /* SWITCH_STANDARD_STREAM doesn't use pools. but we only have to free sql_stream.data */ SWITCH_STANDARD_STREAM(sql_stream); /* set up the query to be executed */ @@ -363,12 +368,11 @@ "SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix " ); sql_stream.write_function(&sql_stream, "FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits IN ("); - digits_copy = string_digitsonly(digits); + digits_copy = string_digitsonly(cb_struct->pool, digits); for (n = digit_len; n > 0; n--) { digits_copy[n] = '\0'; sql_stream.write_function(&sql_stream, "%s%s", (n==digit_len ? "" : ", "), digits_copy); } - switch_safe_free(digits_copy); sql_stream.write_function(&sql_stream, ") AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end "); if(profile->id > 0) { sql_stream.write_function(&sql_stream, "AND lcr_profile=%d ", profile->id); @@ -379,7 +383,7 @@ } sql_stream.write_function(&sql_stream, ";"); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "%s\n", (char *)sql_stream.data); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s\n", (char *)sql_stream.data); lookup_status = lcr_execute_sql_callback((char *)sql_stream.data, route_add_callback, cb_struct); switch_safe_free(sql_stream.data); @@ -485,7 +489,6 @@ if(!switch_strlen_zero((char *)order_by.data)) { profile->order_by = switch_core_strdup(globals.pool, (char *)order_by.data); - switch_safe_free(order_by.data); } else { /* default to rate */ profile->order_by = ", rate"; @@ -497,6 +500,7 @@ switch_core_hash_insert(globals.profile_hash, profile->name, profile); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Loaded lcr profile %s.\n", profile->name); } + switch_safe_free(order_by.data); } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "No lcr profiles defined.\n"); @@ -525,34 +529,22 @@ return status; } -static void destroy_list(lcr_route *head) -{ - lcr_route cur = NULL, top = *head; - - while (top) { - cur = top; - top = top->next; - switch_safe_free(cur->digit_str); - switch_safe_free(cur->suffix); - switch_safe_free(cur->prefix); - switch_safe_free(cur->carrier_name); - switch_safe_free(cur->gw_prefix); - switch_safe_free(cur->gw_suffix); - switch_safe_free(cur->rate_str); - switch_safe_free(cur); - } - *head = NULL; -} - SWITCH_STANDARD_DIALPLAN(lcr_dialplan_hunt) { switch_caller_extension_t *extension = NULL; switch_channel_t *channel = switch_core_session_get_channel(session); callback_t routes = { 0 }; lcr_route cur_route = { 0 }; - char *bridge_data = NULL; char *lcr_profile = NULL; + switch_memory_pool_t *pool = NULL; + if(session) { + pool = switch_core_session_get_pool(session); + } else { + switch_core_new_memory_pool(&pool); + } + routes.pool = pool; + if (!caller_profile) { caller_profile = switch_channel_get_caller_profile(channel); } @@ -562,24 +554,23 @@ if (lcr_do_lookup(&routes, caller_profile->destination_number, lcr_profile) == SWITCH_STATUS_SUCCESS) { if ((extension = switch_caller_extension_new(session, caller_profile->destination_number, caller_profile->destination_number)) == 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "memory error!\n"); - destroy_list(&routes.head); - return NULL; + goto end; } switch_channel_set_variable(channel, SWITCH_CONTINUE_ON_FAILURE_VARIABLE, "true"); switch_channel_set_variable(channel, SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE, "true"); for (cur_route = routes.head; cur_route; cur_route = cur_route->next) { - /*bridge_data = get_bridge_data(caller_profile->destination_number, cur_route);*/ switch_caller_extension_add_application(session, extension, "bridge", cur_route->dialstring); - switch_safe_free(bridge_data); } - destroy_list(&routes.head); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "LCR lookup failed for %s\n", caller_profile->destination_number); } - switch_safe_free(bridge_data); +end: + if(!session) { + switch_core_destroy_memory_pool(&pool); + } return extension; } @@ -610,11 +601,19 @@ char *last_delim = "|"; callback_t routes = { 0 }; lcr_route cur_route = { 0 }; + switch_memory_pool_t *pool; if (!(mydata = switch_core_session_strdup(session, data))) { return; } + if(session) { + pool = switch_core_session_get_pool(session); + } else { + switch_core_new_memory_pool(&pool); + } + routes.pool = pool; + if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { dest = argv[0]; if(argc > 1) { @@ -637,11 +636,14 @@ switch_channel_set_variable(channel, "lcr_route_count", vbuf); *(rbuf + strlen(rbuf) - 1) = '\0'; switch_channel_set_variable(channel, "lcr_auto_route", rbuf); - destroy_list(&routes.head); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "LCR lookup failed for %s\n", dest); } } + + if(!session) { + switch_core_destroy_memory_pool(&pool); + } } SWITCH_STANDARD_API(dialplan_lcr_function) @@ -655,21 +657,24 @@ lcr_route current = NULL; max_obj_t maximum_lengths = { 0 }; callback_t cb_struct = { 0 }; + switch_memory_pool_t *pool; switch_status_t lookup_status = SWITCH_STATUS_SUCCESS; - /*//switch_malloc(maximum_lengths, sizeof(max_obj_t)); */ + switch_core_new_memory_pool(&pool); + if (switch_strlen_zero(cmd)) { goto usage; } - mydata = switch_safe_strdup(cmd); + mydata = switch_core_strdup(pool, cmd); if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { - destination_number = strdup(argv[0]); + destination_number = switch_core_strdup(pool, argv[0]); if(argc > 1) { lcr_profile = argv[1]; } cb_struct.lookup_number = destination_number; + cb_struct.pool = pool; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO , "data passed to lcr is [%s]\n", cmd @@ -709,7 +714,7 @@ current = cb_struct.head; while (current) { - dialstring = get_bridge_data(destination_number, current); + dialstring = get_bridge_data(pool, destination_number, current); stream->write_function(stream, " | %s", current->digit_str); str_repeat((maximum_lengths.digit_str - current->digit_len), " ", stream); @@ -725,12 +730,9 @@ stream->write_function(stream, " |\n"); - switch_safe_free(dialstring); current = current->next; } - destroy_list(&cb_struct.head); - switch_safe_free(dialstring); } else { if(lookup_status == SWITCH_STATUS_SUCCESS) { stream->write_function(stream, "No Routes To Display\n"); @@ -740,7 +742,7 @@ } } - switch_safe_free(mydata); + switch_core_destroy_memory_pool(&pool); return SWITCH_STATUS_SUCCESS; usage: stream->write_function(stream, "USAGE: %s\n", LCR_SYNTAX); @@ -792,6 +794,10 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_lcr_shutdown) { + switch_odbc_handle_disconnect(globals.master_odbc); + switch_odbc_handle_destroy(&globals.master_odbc); + switch_core_destroy_memory_pool(&globals.pool); + switch_core_hash_destroy(&globals.profile_hash); return SWITCH_STATUS_SUCCESS; } From rupa at freeswitch.org Tue Feb 3 13:31:41 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 15:31:41 -0600 Subject: [Freeswitch-svn] [commit] r11620 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 3 15:31:41 2009 New Revision: 11620 Log: use switch_core_sprintf instead Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 3 15:31:41 2009 @@ -138,7 +138,6 @@ size_t lstrip; size_t tstrip; char *data = NULL; - char *pooldata = NULL; char *destination_number = NULL; char *orig_destination_number = NULL; @@ -154,14 +153,9 @@ destination_number += lstrip; } - data = switch_mprintf("%s%s%s%s%s", cur_route->gw_prefix, cur_route->prefix - , destination_number, cur_route->suffix, cur_route->gw_suffix); - - /* move to a pool and free here */ - pooldata = switch_core_strdup(pool, data); - switch_safe_free(data); - data = pooldata; - + data = switch_core_sprintf(pool, "%s%s%s%s%s", cur_route->gw_prefix, cur_route->prefix + , destination_number, cur_route->suffix, cur_route->gw_suffix); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Returning Dialstring %s\n", data); return data; } From rupa at freeswitch.org Tue Feb 3 13:41:48 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 15:41:48 -0600 Subject: [Freeswitch-svn] [commit] r11621 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 3 15:41:48 2009 New Revision: 11621 Log: protect switch_core_strdup from null db values Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 3 15:41:48 2009 @@ -296,16 +296,16 @@ additional = switch_core_alloc(pool, sizeof(lcr_obj_t)); additional->digit_len = strlen(argv[LCR_DIGITS_PLACE]); - additional->digit_str = switch_core_strdup(pool, argv[LCR_DIGITS_PLACE]); - additional->suffix = switch_core_strdup(pool, argv[LCR_SUFFIX_PLACE]); - additional->prefix = switch_core_strdup(pool, argv[LCR_PREFIX_PLACE]); - additional->carrier_name = switch_core_strdup(pool, argv[LCR_CARRIER_PLACE]); - additional->rate = (float)atof(argv[LCR_RATE_PLACE]); + additional->digit_str = switch_core_strdup(pool, switch_str_nil(argv[LCR_DIGITS_PLACE])); + additional->suffix = switch_core_strdup(pool, switch_str_nil(argv[LCR_SUFFIX_PLACE])); + additional->prefix = switch_core_strdup(pool, switch_str_nil(argv[LCR_PREFIX_PLACE])); + additional->carrier_name = switch_core_strdup(pool, switch_str_nil(argv[LCR_CARRIER_PLACE])); + additional->rate = (float)atof(switch_str_nil(argv[LCR_RATE_PLACE])); additional->rate_str = switch_core_sprintf(pool, "%0.5f", additional->rate); - additional->gw_prefix = switch_core_strdup(pool, argv[LCR_GW_PREFIX_PLACE]); - additional->gw_suffix = switch_core_strdup(pool, argv[LCR_GW_SUFFIX_PLACE]); - additional->lstrip = atoi(argv[LCR_LSTRIP_PLACE]); - additional->tstrip = atoi(argv[LCR_TSTRIP_PLACE]); + additional->gw_prefix = switch_core_strdup(pool, switch_str_nil(argv[LCR_GW_PREFIX_PLACE])); + additional->gw_suffix = switch_core_strdup(pool, switch_str_nil(argv[LCR_GW_SUFFIX_PLACE])); + additional->lstrip = atoi(switch_str_nil(argv[LCR_LSTRIP_PLACE])); + additional->tstrip = atoi(switch_str_nil(argv[LCR_TSTRIP_PLACE])); additional->dialstring = get_bridge_data(pool, cbt->lookup_number, additional); if (cbt->head == NULL) { From brian at freeswitch.org Tue Feb 3 13:51:48 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 15:51:48 -0600 Subject: [Freeswitch-svn] [commit] r11622 - freeswitch/trunk/build/config Message-ID: Author: brian Date: Tue Feb 3 15:51:48 2009 New Revision: 11622 Log: remove unused file Removed: freeswitch/trunk/build/config/ODBC.m4 From rupa at freeswitch.org Tue Feb 3 14:19:31 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 16:19:31 -0600 Subject: [Freeswitch-svn] [commit] r11623 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 3 16:19:31 2009 New Revision: 11623 Log: make MikeJ happy - switch_assert argv[0] != NULL Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 3 16:19:31 2009 @@ -663,6 +663,7 @@ mydata = switch_core_strdup(pool, cmd); if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { + switch_assert(argv[0] != NULL); destination_number = switch_core_strdup(pool, argv[0]); if(argc > 1) { lcr_profile = argv[1]; From mikej at freeswitch.org Tue Feb 3 15:16:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 17:16:10 -0600 Subject: [Freeswitch-svn] [commit] r11624 - freeswitch/trunk/src/mod/applications/mod_limit Message-ID: Author: mikej Date: Tue Feb 3 17:16:10 2009 New Revision: 11624 Log: fix windows build Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Tue Feb 3 17:16:10 2009 @@ -874,6 +874,7 @@ if (!(item = (limit_hash_item_t*)switch_core_hash_find(globals.limit_hash, hashkey))) { /* No, create an empty structure and add it, then continue like as if it existed */ item = (limit_hash_item_t*)malloc(sizeof(limit_hash_item_t)); + switch_assert(item); memset(item, 0, sizeof(limit_hash_item_t)); switch_core_hash_insert(globals.limit_hash, hashkey, item); } From mikej at freeswitch.org Tue Feb 3 15:20:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 17:20:10 -0600 Subject: [Freeswitch-svn] [commit] r11625 - freeswitch/trunk/src/mod/applications/mod_fax Message-ID: Author: mikej Date: Tue Feb 3 17:20:10 2009 New Revision: 11625 Log: remove hack Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Tue Feb 3 17:20:10 2009 @@ -34,26 +34,6 @@ #include -#ifdef WIN32 - __inline float rintf(float flt) - { - _asm - { fld flt - frndint - } - } - - __inline double rint(double dbl) - { - __asm - { - fld dbl - frndint - } - } - -#endif - #define SPANDSP_EXPOSE_INTERNAL_STRUCTURES #include #include From anthm at freeswitch.org Tue Feb 3 15:38:06 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 17:38:06 -0600 Subject: [Freeswitch-svn] [commit] r11626 - freeswitch/trunk/src/mod/applications/mod_conference Message-ID: Author: anthm Date: Tue Feb 3 17:38:06 2009 New Revision: 11626 Log: refactor conference record function to fix some bugs Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Tue Feb 3 17:38:06 2009 @@ -2129,7 +2129,7 @@ /* Sub-Routine called by a record entity inside a conference */ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *thread, void *obj) { - uint8_t data[SWITCH_RECOMMENDED_BUFFER_SIZE]; + int16_t *data_buf; switch_file_handle_t fh = { 0 }; conference_member_t smember = { 0 }, *member; conference_record_t *rec = (conference_record_t *) obj; @@ -2139,6 +2139,11 @@ char *vval; switch_timer_t timer = { 0 }; uint32_t rlen; + switch_size_t data_buf_len; + + data_buf_len = samples * sizeof(int16_t); + + switch_zmalloc(data_buf, data_buf_len); if (switch_thread_rwlock_tryrdlock(conference->rwlock) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Read Lock Fail\n"); @@ -2212,9 +2217,9 @@ switch_core_file_set_string(&fh, SWITCH_AUDIO_COL_STR_ARTIST, "FreeSWITCH mod_conference Software Conference Module"); while (switch_test_flag(member, MFLAG_RUNNING) && switch_test_flag(conference, CFLAG_RUNNING) && conference->count) { - switch_size_t len; + switch_size_t len = 0; mux_used = (uint32_t) switch_buffer_inuse(member->mux_buffer); - + if (switch_test_flag(member, MFLAG_FLUSH_BUFFER)) { if (mux_used) { switch_mutex_lock(member->audio_out_mutex); @@ -2225,26 +2230,26 @@ switch_clear_flag_locked(member, MFLAG_FLUSH_BUFFER); } - if (mux_used) { - /* Flush the output buffer and write all the data (presumably muxed) to the file */ - switch_mutex_lock(member->audio_out_mutex); - low_count = 0; + if (switch_test_flag((&fh), SWITCH_FILE_PAUSE)) { + switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER); + } else { + if (mux_used) { + /* Flush the output buffer and write all the data (presumably muxed) to the file */ + switch_mutex_lock(member->audio_out_mutex); + low_count = 0; - if ((rlen = (uint32_t) switch_buffer_read(member->mux_buffer, data, sizeof(data)))) { - if (!switch_test_flag((&fh), SWITCH_FILE_PAUSE)) { + if ((rlen = (uint32_t) switch_buffer_read(member->mux_buffer, data_buf, data_buf_len))) { len = (switch_size_t) rlen / sizeof(int16_t); } - } - switch_mutex_unlock(member->audio_out_mutex); - } else { - if (!switch_test_flag((&fh), SWITCH_FILE_PAUSE)) { + switch_mutex_unlock(member->audio_out_mutex); + } + + if (len < (switch_size_t) samples) { + memset(data_buf + (len * sizeof(int16_t)), 255, ((switch_size_t)samples - len) * sizeof(int16_t)); len = (switch_size_t) samples; - memset(data, 0, len); } - } - - if (!switch_test_flag((&fh), SWITCH_FILE_PAUSE)) { - if (switch_core_file_write(&fh, data, &len) != SWITCH_STATUS_SUCCESS) { + + if (!len || switch_core_file_write(&fh, data_buf, &len) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Write Failed\n"); switch_clear_flag_locked(member, MFLAG_RUNNING); } @@ -2255,6 +2260,7 @@ end: + switch_safe_free(data_buf); switch_core_timer_destroy(&timer); conference_del_member(conference, member); switch_buffer_destroy(&member->audio_buffer); From gmaruzz at freeswitch.org Tue Feb 3 15:39:17 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 17:39:17 -0600 Subject: [Freeswitch-svn] [commit] r11627 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Tue Feb 3 17:39:16 2009 New Revision: 11627 Log: skypiax: works on *. Starting tomorrow, cleaning all the code, making it readable, washing, rinsing, repeat, repeat, repeat... :-) Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Tue Feb 3 17:39:16 2009 @@ -12,6 +12,7 @@ /* GLOBAL VARIABLES */ int running = 1; +int skypiax_dir_entry_extension=1; //FIXME one var for each interface! char skypiax_console_active_array[50] = ""; char *skypiax_console_active = skypiax_console_active_array; /*! \brief Count of active channels for this module */ @@ -2085,7 +2086,7 @@ } int start_audio_threads(private_t *p) { - if (!p->tcp_srv_thread) { + //if (!p->tcp_srv_thread) { if (ast_pthread_create (&p->tcp_srv_thread, NULL, skypiax_do_tcp_srv_thread, p) < 0) { ERRORA("Unable to start tcp_srv_thread thread.\n", SKYPIAX_P_LOG); @@ -2096,8 +2097,8 @@ } else { DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); } - } - if (!p->tcp_cli_thread) { + //} + //if (!p->tcp_cli_thread) { if (ast_pthread_create (&p->tcp_cli_thread, NULL, skypiax_do_tcp_cli_thread, p) < 0) { ERRORA("Unable to start tcp_cli_thread thread.\n", SKYPIAX_P_LOG); @@ -2108,7 +2109,7 @@ } else { DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); } - } + //} #ifdef NOTDEF @@ -2287,6 +2288,377 @@ return RESULT_SUCCESS; } +int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[]) +{ + //int res; + struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); + //char list_command[64]; + char fn[256]; + char date[256] = ""; + time_t t; + char *configfile = SKYPIAX_DIR_CONFIG; + int add_to_skypiax_dir_conf = 1; + //int fromskype = 0; + //int fromcell = 0; + +#if 0 + if(directoriax_entry_extension){ + skypiax_dir_entry_extension=directoriax_entry_extension; + }else{ + ast_cli(fd, "No 'directoriax_entry_extension', you MUST have loaded directoriax.so\n"); + return RESULT_SUCCESS; + } +#endif + + if (argc != 2) + return RESULT_SHOWUSAGE; + if (!p) { + ast_cli(fd, "No \"current\" console ???, please enter 'help skypiax_console'\n"); + return RESULT_SUCCESS; + } + + if (!strcasecmp(argv[1], "add")) + add_to_skypiax_dir_conf = 1; + else if (!strcasecmp(argv[1], "replace")) + add_to_skypiax_dir_conf = 0; + else { + ast_cli(fd, "\n\nYou have neither specified 'add' nor 'replace'\n\n"); + return RESULT_SHOWUSAGE; + } + +#if 0 + if (!strcasecmp(argv[2], "fromskype")) + fromskype = 1; + else if (!strcasecmp(argv[2], "fromcell")) + fromcell = 1; + else { + ast_cli(fd, "\n\nYou have neither specified 'fromskype' nor 'fromcell'\n\n"); + return RESULT_SHOWUSAGE; + } + + if (fromcell) { + ast_cli(fd, + "Importing from cellphone is currently supported only on \"AT\" cellphones :( !\n"); + //fclose(p->phonebook_writing_fp); + //skypiax_dir_create_extensions(); + return RESULT_SUCCESS; + } + + if (fromskype) + if (!p->skype) { + ast_cli(fd, "Importing from skype is supported by skypiax_dir on chan_skypiax!\n"); + //fclose(p->phonebook_writing_fp); + //skypiax_dir_create_extensions(); + return RESULT_SUCCESS; + } + + if (fromcell || fromskype) + if (argc != 3) { + ast_cli(fd, + "\n\nYou don't have to specify a filename with 'fromcell' or with 'fromskype'\n\n"); + return RESULT_SHOWUSAGE; + } +#endif + + /*******************************************************************************************/ + + if (configfile[0] == '/') { + ast_copy_string(fn, configfile, sizeof(fn)); + } else { + snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile); + } + if (option_debug) + NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn); + time(&t); + ast_copy_string(date, ctime(&t), sizeof(date)); + + if (add_to_skypiax_dir_conf) + p->phonebook_writing_fp = fopen(fn, "a+"); + else + p->phonebook_writing_fp = fopen(fn, "w+"); + + if (p->phonebook_writing_fp) { + if (add_to_skypiax_dir_conf) { + if (option_debug) + NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn); + fprintf(p->phonebook_writing_fp, ";!\n"); + fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date); + fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__); + fprintf(p->phonebook_writing_fp, ";!\n"); + } else { + if (option_debug) + NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn); + fprintf(p->phonebook_writing_fp, ";!\n"); + fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n"); + fprintf(p->phonebook_writing_fp, ";! Filename: %s (%s)\n", configfile, fn); + fprintf(p->phonebook_writing_fp, ";! Creation Date: %s", date); + fprintf(p->phonebook_writing_fp, ";! Generated by: %s, %d\n", __FILE__, __LINE__); + fprintf(p->phonebook_writing_fp, ";!\n"); + fprintf(p->phonebook_writing_fp, "[general]\n\n"); + fprintf(p->phonebook_writing_fp, "[default]\n"); + } + + /*******************************************************************************************/ + //if (fromskype) { + if (p->skype) { + WARNINGA + ("About to querying the Skype client 'Contacts', it may take some moments... Don't worry.\n", + SKYPIAX_P_LOG); + if (p->skype_thread != AST_PTHREADT_NULL) { + char msg_to_skype[1024]; + + p->skype_friends[0] = '\0'; + sprintf(msg_to_skype, "#333 SEARCH FRIENDS"); + if (skypiax_skype_write(p, msg_to_skype) < 0) { + return -1; + } + + int friends_count = 0; + while (p->skype_friends[0] == '\0') { + /* FIXME needs a timeout, can't wait forever! + * eg. when skype is running but not connected! */ + usleep(100); + friends_count++; + if (friends_count > 20000) { + return -1; /* FIXME */ + } + } + + } + + if (p->skype_thread != AST_PTHREADT_NULL) { + char msg_to_skype[1024]; + + if (p->skype_friends[0] != '\0') { + char *buf, *where; + char **stringp; + int skype_dir_file_written = 0; + + buf = p->skype_friends; + stringp = &buf; + where = strsep(stringp, ", "); + while (where) { + if (where[0] != '\0') { + /* + * So, we have the Skype username (the HANDLE, I think is called). + * But we want to call the names we see in the Skype contact list + * So, let's check the DISPLAYNAME (the end user modified contact name) + * Then, we check the FULLNAME (that appears as it was the DISPLAYNAME + * if the end user has not modify it) + * If we still have neither DISPLAYNAME nor FULLNAME, we'll use the + * Skipe username (the HANDLE) + */ + + p->skype_displayname[0] = '\0'; + sprintf(msg_to_skype, "#765 GET USER %s DISPLAYNAME", where); + skypiax_skype_write(p, msg_to_skype); + int displayname_count = 0; + while (p->skype_displayname[0] == '\0') { + /* FIXME needs a timeout, can't wait forever! + * eg. when skype is running but not connected! */ + usleep(100); + displayname_count++; + if (displayname_count > 20000) + return -1; /* FIXME */ + } + if (p->skype_displayname[0] != '\0') { + char *where2; + char sanitized[300]; + + sanitized[0] = '\0'; + + where2 = strstr(p->skype_displayname, "DISPLAYNAME "); + if (where2) { + + /* there can be some *smart* that makes a displayname + * that is different than firstlast, */ + /* maybe initials, simbols, slashes, + * something smartish... let's check */ + + if (where2[12] != '\0') { + int i = 12; + int x = 0; + int spaces = 0; + int last_char_was_space = 0; + + for (i = 12; i < strlen(where2) && x < 299; i++) { + if (!isalnum(where2[i])) { + if (!isblank(where2[i])) { + /* bad char */ + continue; + } + /* is a space */ + if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ + continue; + last_char_was_space = 1; + sanitized[x] = ' '; + x++; + continue; + } + /* is alphanum */ + last_char_was_space = 0; + sanitized[x] = where2[i]; + x++; + continue; + } + + sanitized[x] = '\0'; + if (spaces == 0) { + } + DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", + SKYPIAX_P_LOG, sanitized, where, &where2[12]); + } + + if (where2[12] != '\0') { + skypiax_dir_entry_extension++; + if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, sanitized, "no", + p->skypiax_dir_entry_extension_prefix, "2", + skypiax_dir_entry_extension, "yes", "not_specified"); + } else { /* is a skype name */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, sanitized, "no", + p->skypiax_dir_entry_extension_prefix, "1", + skypiax_dir_entry_extension, "yes", "not_specified"); + } + skype_dir_file_written = 1; + + } + } + } + p->skype_displayname[0] = '\0'; + + p->skype_fullname[0] = '\0'; + sprintf(msg_to_skype, "#222 GET USER %s FULLNAME", where); + skypiax_skype_write(p, msg_to_skype); + int fullname_count = 0; + while (p->skype_fullname[0] == '\0') { + /* FIXME needs a timeout, can't wait forever! + * eg. when skype is running but not connected! */ + usleep(100); + fullname_count++; + if (fullname_count > 20000) + return -1; /* FIXME */ + } + if (p->skype_fullname[0] != '\0') { + char *where2; + char sanitized[300]; + + where2 = strstr(p->skype_fullname, "FULLNAME "); + if (where2) { + + /* there can be some *smart* that makes a fullname + * that is different than firstlast, */ + /* maybe initials, simbols, slashes, + * something smartish... let's check */ + + if (where2[9] != '\0') { + int i = 9; + int x = 0; + int spaces = 0; + int last_char_was_space = 0; + + for (i = 9; i < strlen(where2) && x < 299; i++) { + if (!isalnum(where2[i])) { + if (!isblank(where2[i])) { + /* bad char */ + continue; + } + /* is a space */ + if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ + continue; + last_char_was_space = 1; + sanitized[x] = ' '; + x++; + continue; + } + /* alphanum */ + last_char_was_space = 0; + sanitized[x] = where2[i]; + x++; + continue; + } + + sanitized[x] = '\0'; + if (spaces == 0) { + } + DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", + SKYPIAX_P_LOG, sanitized, where, &where2[9]); + } + + if (skype_dir_file_written == 0) { + skypiax_dir_entry_extension++; + if (where2[9] != '\0') { + if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, sanitized, "no", + p->skypiax_dir_entry_extension_prefix, "2", + skypiax_dir_entry_extension, "yes", "not_specified"); + } else { /* is a skype name */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, sanitized, "no", + p->skypiax_dir_entry_extension_prefix, "1", + skypiax_dir_entry_extension, "yes", "not_specified"); + + } + + } else { + if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, where, "no", + p->skypiax_dir_entry_extension_prefix, "2", + skypiax_dir_entry_extension, "yes", "not_specified"); + } else { /* is a skype name */ + fprintf(p->phonebook_writing_fp, + "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", + where, where, "no", + p->skypiax_dir_entry_extension_prefix, "1", + skypiax_dir_entry_extension, "yes", "not_specified"); + + } + } + } + + skype_dir_file_written = 0; + + } + + } + p->skype_fullname[0] = '\0'; + + } + where = strsep(stringp, ", "); + } + + p->skype_friends[0] = '\0'; + } + } + } else { + + ast_cli(fd, + "Skype not configured on the 'current' console, not importing from Skype client!\n"); + } + //} + /*******************************************************************************************/ + /*******************************************************************************************/ + } else { + ast_cli(fd, "\n\nfailed to open the skypiax_dir.conf configuration file: %s\n", fn); + ERRORA("failed to open the skypiax_dir.conf configuration file: %s\n", SKYPIAX_P_LOG, + fn); + return RESULT_FAILURE; + } + + fclose(p->phonebook_writing_fp); + //skypiax_dir_create_extensions(); + + return RESULT_SUCCESS; +} /************************************************/ #ifdef ASTERISK_VERSION_1_4 #ifndef AST_MODULE Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h Tue Feb 3 17:39:16 2009 @@ -111,6 +111,7 @@ /* DEFINITIONS */ #define SAMPLERATE_SKYPIAX 8000 #define SAMPLES_PER_FRAME SAMPLERATE_SKYPIAX/50 +#define SKYPIAX_DIR_CONFIG "directoriax.conf" /* LUIGI RIZZO's magic */ /* boost support. BOOST_SCALE * 10 ^(BOOST_MAX/20) must Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c Tue Feb 3 17:39:16 2009 @@ -3,7 +3,6 @@ #ifdef ASTERISK #define skypiax_sleep usleep #define tech_pvt p -#define SKYPIAX_DIR_CONFIG "directoriax.conf" extern int skypiax_debug; #define skypiax_file_write switch_file_write #define skypiax_file_read switch_file_read @@ -19,8 +18,6 @@ extern int option_debug; extern int running; -/* GLOBALS */ -int skypiax_dir_entry_extension=1; /*************************************/ #ifndef WIN32 XErrorHandler old_handler = 0; @@ -1638,376 +1635,3 @@ return 0; } -#ifdef ASTERISK -int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[]) -{ - //int res; - struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - //char list_command[64]; - char fn[256]; - char date[256] = ""; - time_t t; - char *configfile = SKYPIAX_DIR_CONFIG; - int add_to_skypiax_dir_conf = 1; - //int fromskype = 0; - //int fromcell = 0; - -#if 0 - if(directoriax_entry_extension){ - skypiax_dir_entry_extension=directoriax_entry_extension; - }else{ - ast_cli(fd, "No 'directoriax_entry_extension', you MUST have loaded directoriax.so\n"); - return RESULT_SUCCESS; - } -#endif - - if (argc != 2) - return RESULT_SHOWUSAGE; - if (!p) { - ast_cli(fd, "No \"current\" console ???, please enter 'help skypiax_console'\n"); - return RESULT_SUCCESS; - } - - if (!strcasecmp(argv[1], "add")) - add_to_skypiax_dir_conf = 1; - else if (!strcasecmp(argv[1], "replace")) - add_to_skypiax_dir_conf = 0; - else { - ast_cli(fd, "\n\nYou have neither specified 'add' nor 'replace'\n\n"); - return RESULT_SHOWUSAGE; - } - -#if 0 - if (!strcasecmp(argv[2], "fromskype")) - fromskype = 1; - else if (!strcasecmp(argv[2], "fromcell")) - fromcell = 1; - else { - ast_cli(fd, "\n\nYou have neither specified 'fromskype' nor 'fromcell'\n\n"); - return RESULT_SHOWUSAGE; - } - - if (fromcell) { - ast_cli(fd, - "Importing from cellphone is currently supported only on \"AT\" cellphones :( !\n"); - //fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - return RESULT_SUCCESS; - } - - if (fromskype) - if (!p->skype) { - ast_cli(fd, "Importing from skype is supported by skypiax_dir on chan_skypiax!\n"); - //fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - return RESULT_SUCCESS; - } - - if (fromcell || fromskype) - if (argc != 3) { - ast_cli(fd, - "\n\nYou don't have to specify a filename with 'fromcell' or with 'fromskype'\n\n"); - return RESULT_SHOWUSAGE; - } -#endif - - /*******************************************************************************************/ - - if (configfile[0] == '/') { - ast_copy_string(fn, configfile, sizeof(fn)); - } else { - snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile); - } - if (option_debug) - NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn); - time(&t); - ast_copy_string(date, ctime(&t), sizeof(date)); - - if (add_to_skypiax_dir_conf) - p->phonebook_writing_fp = fopen(fn, "a+"); - else - p->phonebook_writing_fp = fopen(fn, "w+"); - - if (p->phonebook_writing_fp) { - if (add_to_skypiax_dir_conf) { - if (option_debug) - NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date); - fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__); - fprintf(p->phonebook_writing_fp, ";!\n"); - } else { - if (option_debug) - NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n"); - fprintf(p->phonebook_writing_fp, ";! Filename: %s (%s)\n", configfile, fn); - fprintf(p->phonebook_writing_fp, ";! Creation Date: %s", date); - fprintf(p->phonebook_writing_fp, ";! Generated by: %s, %d\n", __FILE__, __LINE__); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, "[general]\n\n"); - fprintf(p->phonebook_writing_fp, "[default]\n"); - } - - /*******************************************************************************************/ - //if (fromskype) { - if (p->skype) { - WARNINGA - ("About to querying the Skype client 'Contacts', it may take some moments... Don't worry.\n", - SKYPIAX_P_LOG); - if (p->skype_thread != AST_PTHREADT_NULL) { - char msg_to_skype[1024]; - - p->skype_friends[0] = '\0'; - sprintf(msg_to_skype, "#333 SEARCH FRIENDS"); - if (skypiax_skype_write(p, msg_to_skype) < 0) { - return -1; - } - - int friends_count = 0; - while (p->skype_friends[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - friends_count++; - if (friends_count > 20000) { - return -1; /* FIXME */ - } - } - - } - - if (p->skype_thread != AST_PTHREADT_NULL) { - char msg_to_skype[1024]; - - if (p->skype_friends[0] != '\0') { - char *buf, *where; - char **stringp; - int skype_dir_file_written = 0; - - buf = p->skype_friends; - stringp = &buf; - where = strsep(stringp, ", "); - while (where) { - if (where[0] != '\0') { - /* - * So, we have the Skype username (the HANDLE, I think is called). - * But we want to call the names we see in the Skype contact list - * So, let's check the DISPLAYNAME (the end user modified contact name) - * Then, we check the FULLNAME (that appears as it was the DISPLAYNAME - * if the end user has not modify it) - * If we still have neither DISPLAYNAME nor FULLNAME, we'll use the - * Skipe username (the HANDLE) - */ - - p->skype_displayname[0] = '\0'; - sprintf(msg_to_skype, "#765 GET USER %s DISPLAYNAME", where); - skypiax_skype_write(p, msg_to_skype); - int displayname_count = 0; - while (p->skype_displayname[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - displayname_count++; - if (displayname_count > 20000) - return -1; /* FIXME */ - } - if (p->skype_displayname[0] != '\0') { - char *where2; - char sanitized[300]; - - sanitized[0] = '\0'; - - where2 = strstr(p->skype_displayname, "DISPLAYNAME "); - if (where2) { - - /* there can be some *smart* that makes a displayname - * that is different than firstlast, */ - /* maybe initials, simbols, slashes, - * something smartish... let's check */ - - if (where2[12] != '\0') { - int i = 12; - int x = 0; - int spaces = 0; - int last_char_was_space = 0; - - for (i = 12; i < strlen(where2) && x < 299; i++) { - if (!isalnum(where2[i])) { - if (!isblank(where2[i])) { - /* bad char */ - continue; - } - /* is a space */ - if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ - continue; - last_char_was_space = 1; - sanitized[x] = ' '; - x++; - continue; - } - /* is alphanum */ - last_char_was_space = 0; - sanitized[x] = where2[i]; - x++; - continue; - } - - sanitized[x] = '\0'; - if (spaces == 0) { - } - DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", - SKYPIAX_P_LOG, sanitized, where, &where2[12]); - } - - if (where2[12] != '\0') { - skypiax_dir_entry_extension++; - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - } - skype_dir_file_written = 1; - - } - } - } - p->skype_displayname[0] = '\0'; - - p->skype_fullname[0] = '\0'; - sprintf(msg_to_skype, "#222 GET USER %s FULLNAME", where); - skypiax_skype_write(p, msg_to_skype); - int fullname_count = 0; - while (p->skype_fullname[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - fullname_count++; - if (fullname_count > 20000) - return -1; /* FIXME */ - } - if (p->skype_fullname[0] != '\0') { - char *where2; - char sanitized[300]; - - where2 = strstr(p->skype_fullname, "FULLNAME "); - if (where2) { - - /* there can be some *smart* that makes a fullname - * that is different than firstlast, */ - /* maybe initials, simbols, slashes, - * something smartish... let's check */ - - if (where2[9] != '\0') { - int i = 9; - int x = 0; - int spaces = 0; - int last_char_was_space = 0; - - for (i = 9; i < strlen(where2) && x < 299; i++) { - if (!isalnum(where2[i])) { - if (!isblank(where2[i])) { - /* bad char */ - continue; - } - /* is a space */ - if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ - continue; - last_char_was_space = 1; - sanitized[x] = ' '; - x++; - continue; - } - /* alphanum */ - last_char_was_space = 0; - sanitized[x] = where2[i]; - x++; - continue; - } - - sanitized[x] = '\0'; - if (spaces == 0) { - } - DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", - SKYPIAX_P_LOG, sanitized, where, &where2[9]); - } - - if (skype_dir_file_written == 0) { - skypiax_dir_entry_extension++; - if (where2[9] != '\0') { - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - - } - - } else { - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, where, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, where, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - - } - } - } - - skype_dir_file_written = 0; - - } - - } - p->skype_fullname[0] = '\0'; - - } - where = strsep(stringp, ", "); - } - - p->skype_friends[0] = '\0'; - } - } - } else { - - ast_cli(fd, - "Skype not configured on the 'current' console, not importing from Skype client!\n"); - } - //} - /*******************************************************************************************/ - /*******************************************************************************************/ - } else { - ast_cli(fd, "\n\nfailed to open the skypiax_dir.conf configuration file: %s\n", fn); - ERRORA("failed to open the skypiax_dir.conf configuration file: %s\n", SKYPIAX_P_LOG, - fn); - return RESULT_FAILURE; - } - - fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - - return RESULT_SUCCESS; -} -#endif /* ASTERISK */ From mikej at freeswitch.org Tue Feb 3 17:27:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 19:27:55 -0600 Subject: [Freeswitch-svn] [commit] r11628 - freeswitch/trunk/libs/spandsp/src/spandsp Message-ID: Author: mikej Date: Tue Feb 3 19:27:55 2009 New Revision: 11628 Log: turn off #warnings for now Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h Tue Feb 3 19:27:55 2009 @@ -377,11 +377,12 @@ the accuracy issues related to changing the rounding scheme are of little concern to us. */ +#if 0 #if !defined(__sgi) #warning "No usable lrint() and lrintf() functions available." #warning "Replacing these functions with a simple C cast." #endif - +#endif static __inline__ long int lfastrint(double x) { return (long int) (x); From mikej at freeswitch.org Tue Feb 3 18:03:26 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 20:03:26 -0600 Subject: [Freeswitch-svn] [commit] r11629 - freeswitch/trunk Message-ID: Author: mikej Date: Tue Feb 3 20:03:26 2009 New Revision: 11629 Log: change configure check order so auto-detected odbc still adds CoreFoundation on OS-X Modified: freeswitch/trunk/configure.in Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Tue Feb 3 20:03:26 2009 @@ -186,6 +186,13 @@ AM_CONDITIONAL([WANT_DEBUG],[test "${enable_debug}" = "yes"]) +AC_ARG_ENABLE(core-odbc-support, + [AS_HELP_STRING([--enable-core-odbc-support], [Compile with ODBC Support])],,[enable_core_odbc_support="no"]) +AX_LIB_ODBC +if test "$ac_cv_found_odbc" = "yes" ; then + enable_core_odbc_support="yes" +fi + ESL_LDFLAGS= PLATFORM_CORE_DEPLIBS= # tweak platform specific flags @@ -491,8 +498,6 @@ LIBCURL_CHECK_CONFIG([yes], [7.13.0], [LIBCURL_DEPS=''], [LIBCURL_DEPS='${switch_srcdir}/libs/curl/lib/libcurl.la';LIBCURL='${switch_srcdir}/libs/curl/lib/libcurl.la';LIBCURL_CPPFLAGS='-I${switch_srcdir}/libs/curl/include']) AC_SUBST(LIBCURL_DEPS) -AC_ARG_ENABLE(core-odbc-support, - [AS_HELP_STRING([--enable-core-odbc-support], [Compile with ODBC Support])],,[enable_core_odbc_support="no"]) AC_ARG_ENABLE(core-libedit-support, [AS_HELP_STRING([--disable-core-libedit-support], [Compile without libedit Support])], [enable_core_libedit_support="$enableval"], [enable_core_libedit_support="yes"]) @@ -505,10 +510,6 @@ AX_CHECK_JAVA -AX_LIB_ODBC -if test "$ac_cv_found_odbc" = "yes" ; then - enable_core_odbc_support="yes" -fi AM_CONDITIONAL([ADD_ODBC],[test "x$enable_core_odbc_support" != "xno"]) AM_CONDITIONAL([ADD_LIBEDIT],[test "x$enable_core_libedit_support" != "xno"]) From mrene at freeswitch.org Tue Feb 3 18:56:17 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Tue, 03 Feb 2009 20:56:17 -0600 Subject: [Freeswitch-svn] [commit] r11630 - in freeswitch/trunk/src: . include mod/languages/mod_managed/managed mod/languages/mod_perl Message-ID: Author: mrene Date: Tue Feb 3 20:56:16 2009 New Revision: 11630 Log: Initialize uuid in CoreSession::CoreSession(switch_core_session_t*), make get_uuid return a const char* and a swigall Modified: freeswitch/trunk/src/include/switch_cpp.h freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp freeswitch/trunk/src/switch_cpp.cpp Modified: freeswitch/trunk/src/include/switch_cpp.h ============================================================================== --- freeswitch/trunk/src/include/switch_cpp.h (original) +++ freeswitch/trunk/src/include/switch_cpp.h Tue Feb 3 20:56:16 2009 @@ -350,7 +350,7 @@ /** \brief Get the uuid of this session * \return the uuid of this session */ - char *get_uuid() const { + const char *get_uuid() const { return uuid ? uuid : (char *) "uninitialized"; }; Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (original) +++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs Tue Feb 3 20:56:16 2009 @@ -455,6 +455,132 @@ using System; using System.Runtime.InteropServices; +public partial class Event : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal Event(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(Event obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~Event() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_Event(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public switch_event InternalEvent { + set { + freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr); + switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false); + return ret; + } + } + + public string serialized_string { + set { + freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr); + return ret; + } + } + + public int mine { + set { + freeswitchPINVOKE.Event_mine_set(swigCPtr, value); + } + get { + int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr); + return ret; + } + } + + public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) { + } + + public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) { + } + + public string Serialize(string format) { + string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format); + return ret; + } + + public bool SetPriority(switch_priority_t priority) { + bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority); + return ret; + } + + public string GetHeader(string header_name) { + string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name); + return ret; + } + + public string GetBody() { + string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr); + return ret; + } + + public string GetEventType() { + string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr); + return ret; + } + + public bool AddBody(string value) { + bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value); + return ret; + } + + public bool AddHeader(string header_name, string value) { + bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value); + return ret; + } + + public bool DeleteHeader(string header_name) { + bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name); + return ret; + } + + public bool Fire() { + bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr); + return ret; + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + public class EventConsumer : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; @@ -570,20 +696,20 @@ using System; using System.Runtime.InteropServices; -public partial class Event : IDisposable { +public class IvrMenu : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; - internal Event(IntPtr cPtr, bool cMemoryOwn) { + internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } - internal static HandleRef getCPtr(Event obj) { + internal static HandleRef getCPtr(IvrMenu obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } - ~Event() { + ~IvrMenu() { Dispose(); } @@ -591,93 +717,74 @@ lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; - freeswitchPINVOKE.delete_Event(swigCPtr); + freeswitchPINVOKE.delete_IvrMenu(swigCPtr); } swigCPtr = new HandleRef(null, IntPtr.Zero); GC.SuppressFinalize(this); } } - public switch_event InternalEvent { - set { - freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr); - switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false); - return ret; - } + public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) { } - public string serialized_string { - set { - freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr); - return ret; - } + public void bindAction(string action, string arg, string bind) { + freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind); } - public int mine { - set { - freeswitchPINVOKE.Event_mine_set(swigCPtr, value); - } - get { - int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr); - return ret; - } + public void Execute(CoreSession session, string name) { + freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name); } - public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) { - } +} - public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) { - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public string Serialize(string format) { - string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format); - return ret; - } +namespace FreeSWITCH.Native { - public bool SetPriority(switch_priority_t priority) { - bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority); - return ret; - } +using System; +using System.Runtime.InteropServices; - public string GetHeader(string header_name) { - string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name); - return ret; +public partial class ManagedSession : CoreSession { + private HandleRef swigCPtr; + + internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) { + swigCPtr = new HandleRef(this, cPtr); } - public string GetBody() { - string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr); - return ret; + internal static HandleRef getCPtr(ManagedSession obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } - public string GetEventType() { - string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr); - return ret; + ~ManagedSession() { + Dispose(); } - public bool AddBody(string value) { - bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value); - return ret; + public override void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_ManagedSession(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + base.Dispose(); + } } - public bool AddHeader(string header_name, string value) { - bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value); - return ret; + public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) { } - public bool DeleteHeader(string header_name) { - bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name); - return ret; + public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) { } - public bool Fire() { - bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr); - return ret; + public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) { } } @@ -696,3532 +803,2960 @@ using System; using System.Runtime.InteropServices; -public class freeswitch { - public static switch_directories SWITCH_GLOBAL_dirs { - set { - freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get(); - switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false); - return ret; - } - } +public class SWIGTYPE_p_FILE { + private HandleRef swigCPtr; - public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) { - int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; + internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) { - int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb)); - return ret; + protected SWIGTYPE_p_FILE() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol); - SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) { - string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) { - string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) { - int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg); - return ret; - } +public class SWIGTYPE_p_HashElem { + private HandleRef swigCPtr; - public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; + internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) { - int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail); - return ret; + protected SWIGTYPE_p_HashElem() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) { - int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); - return ret; - } +namespace FreeSWITCH.Native { - public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) { - int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel)); - return ret; - } +public class SWIGTYPE_p_apr_pool_t { + private HandleRef swigCPtr; - public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue); - return ret; + internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) { - long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; + protected SWIGTYPE_p_apr_pool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) { - int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_db_free_table(ref string result) { - freeswitchPINVOKE.switch_core_db_free_table(ref result); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_db_free(string z) { - freeswitchPINVOKE.switch_core_db_free(z); - } +namespace FreeSWITCH.Native { - public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) { - int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_mprintf(string zFormat) { - string ret = freeswitchPINVOKE.switch_mprintf(zFormat); - return ret; - } +public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) { - IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables)); - SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) { - int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size); - return ret; + protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_regex_free(SWIGTYPE_p_void data) { - freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) { - int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) { - freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_regex_match(string target, string expression) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match)); - return ret; - } +public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t { + private HandleRef swigCPtr; - public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { - freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); + internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); + protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { - freeswitchPINVOKE.switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); - return ret; + protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) { - uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); - } +public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); - return ret; + internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); - return ret; + protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug bug) { - freeswitchPINVOKE.switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator)); - return ret; - } +public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml { + private HandleRef swigCPtr; - public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr)); - return ret; + internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port); - return ret; + protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) { - freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_core_session_limit(uint new_limit) { - uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static uint switch_core_sessions_per_second(uint new_limit) { - uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit); - return ret; - } +public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_destroy() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy(); - return ret; + internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +namespace FreeSWITCH.Native { - public static int switch_core_add_state_handler(switch_state_handler_table state_handler) { - int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) { - freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler)); - } +public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_state_handler_table switch_core_get_state_handler(int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index); - switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) { - freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag); + protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +namespace FreeSWITCH.Native { - public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) { - string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) { - string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_core_session switch_core_session_request_uuid(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool, string use_uuid) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), use_uuid); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session session, string use_uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session), use_uuid); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) { - freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static uint switch_core_session_count() { - uint ret = freeswitchPINVOKE.switch_core_session_count(); - return ret; - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_switch_size_t switch_core_session_get_id(SWIGTYPE_p_switch_core_session session) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_get_id(SWIGTYPE_p_switch_core_session.getCPtr(session)), true); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_switch_size_t switch_core_session_id() { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool)); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) { - string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_core_get_uuid() { - string ret = freeswitchPINVOKE.switch_core_get_uuid(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static string switch_core_get_variable(string varname) { - string ret = freeswitchPINVOKE.switch_core_get_variable(varname); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_set_variable(string varname, string value) { - freeswitchPINVOKE.switch_core_set_variable(varname, value); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_dump_variables(switch_stream_handle stream) { - freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_session_hupall(switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall((int)cause); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause); - } +namespace FreeSWITCH.Native { - public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause); - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message)); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { - int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) { - int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) { - freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_thread_session_end(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_thread_session_end(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +namespace FreeSWITCH.Native { - public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_codec__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message), file, func, line); - return ret; + internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; + protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t { + private HandleRef swigCPtr; - public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); - return ret; + protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) { - freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig); - return ret; - } +public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); - return ret; + internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string); - return ret; + protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool, switch_bool_t case_sensitive) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)case_sensitive); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) { - IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash)); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) { - IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi)); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) { - freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val)); - } +public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_timer_next(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer)); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_timer_step(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_timer_sync(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_timer_destroy(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_codec_destroy(switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t { + private HandleRef swigCPtr; - public static void switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); + internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } - - public static void switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void { + private HandleRef swigCPtr; - public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename); - SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) { - freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_file_close(switch_file_handle fh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t { + private HandleRef swigCPtr; - public static void switch_core_speech_flush_tts(switch_speech_handle sh) { - freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh)); + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) { - freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val); + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) { - freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) { - freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar); - return ret; - } - - public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_directory_next(switch_directory_handle dh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_directory_close(switch_directory_handle dh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh)); - return ret; - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel); - SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_bool_t switch_core_ready() { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t { + private HandleRef swigCPtr; - public static uint switch_core_flags() { - uint ret = freeswitchPINVOKE.switch_core_flags(); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int set_high_priority() { - int ret = freeswitchPINVOKE.set_high_priority(); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int change_user_group(string user, string group) { - int ret = freeswitchPINVOKE.change_user_group(user, group); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_runtime_loop(int bg) { - freeswitchPINVOKE.switch_core_runtime_loop(bg); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_set_console(string console) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) { - freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_switch_time_t switch_core_uptime() { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) { - int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val)); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_FILE switch_core_get_console() { - IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console(); - SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) { - freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_core_set_globals() { - freeswitchPINVOKE.switch_core_set_globals(); - } +namespace FreeSWITCH.Native { - public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) { - byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) { - byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t { + private HandleRef swigCPtr; - public static SWIGTYPE_p_HashElem switch_core_mime_index() { - IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index(); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_core_mime_ext2type(string ext) { - string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_mime_add_type(string type, string ext) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name); - SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) { - IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_switch_time_t switch_micro_time_now() { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_micro_time_now(), true); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_core_memory_reclaim() { - freeswitchPINVOKE.switch_core_memory_reclaim(); - } +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t { + private HandleRef swigCPtr; - public static void switch_core_memory_reclaim_events() { - freeswitchPINVOKE.switch_core_memory_reclaim_events(); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_core_memory_reclaim_logger() { - freeswitchPINVOKE.switch_core_memory_reclaim_logger(); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_core_memory_reclaim_all() { - freeswitchPINVOKE.switch_core_memory_reclaim_all(); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_core_setrlimits() { - freeswitchPINVOKE.switch_core_setrlimits(); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_time_sync() { - freeswitchPINVOKE.switch_time_sync(); - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_time_t switch_epoch_time_now(SWIGTYPE_p_time_t t) { - SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_epoch_time_now(SWIGTYPE_p_time_t.getCPtr(t)), true); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_time_exp_tz_name(string tz, SWIGTYPE_p_switch_time_exp_t tm, SWIGTYPE_p_switch_time_t thetime) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_time_exp_tz_name(tz, SWIGTYPE_p_switch_time_exp_t.getCPtr(tm), SWIGTYPE_p_switch_time_t.getCPtr(thetime)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_load_network_lists(switch_bool_t reload) { - freeswitchPINVOKE.switch_load_network_lists((int)reload); + protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_time_set_monotonic(switch_bool_t enable) { - freeswitchPINVOKE.switch_time_set_monotonic((int)enable); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static uint switch_core_max_dtmf_duration(uint duration) { - uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_core_default_dtmf_duration(uint duration) { - uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_console_set_complete(string arg0) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0); - return ret; - } +public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension { + private HandleRef swigCPtr; - public static switch_status_t switch_console_set_alias(string arg0) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0); - return ret; + internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_system(string cmd, switch_bool_t wait) { - int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait); - return ret; + protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_cond_yield(SWIGTYPE_p_switch_interval_time_t t) { - freeswitchPINVOKE.switch_cond_yield(SWIGTYPE_p_switch_interval_time_t.getCPtr(t)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_cond_next() { - freeswitchPINVOKE.switch_cond_next(); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_chat_send(string name, string proto, string from, string to, string subject, string body, string type, string hint) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(name, proto, from, to, subject, body, type, hint); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_console_loop() { - freeswitchPINVOKE.switch_console_loop(); - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t { + private HandleRef swigCPtr; - public static int switch_toupper(int c) { - int ret = freeswitchPINVOKE.switch_toupper(c); - return ret; + internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_tolower(int c) { - int ret = freeswitchPINVOKE.switch_tolower(c); - return ret; + protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_isalnum(int c) { - int ret = freeswitchPINVOKE.switch_isalnum(c); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_isalpha(int c) { - int ret = freeswitchPINVOKE.switch_isalpha(c); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static int switch_iscntrl(int c) { - int ret = freeswitchPINVOKE.switch_iscntrl(c); - return ret; - } +namespace FreeSWITCH.Native { - public static int switch_isdigit(int c) { - int ret = freeswitchPINVOKE.switch_isdigit(c); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_isgraph(int c) { - int ret = freeswitchPINVOKE.switch_isgraph(c); - return ret; - } +public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t { + private HandleRef swigCPtr; - public static int switch_islower(int c) { - int ret = freeswitchPINVOKE.switch_islower(c); - return ret; + internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_isprint(int c) { - int ret = freeswitchPINVOKE.switch_isprint(c); - return ret; + protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_ispunct(int c) { - int ret = freeswitchPINVOKE.switch_ispunct(c); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_isspace(int c) { - int ret = freeswitchPINVOKE.switch_isspace(c); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static int switch_isupper(int c) { - int ret = freeswitchPINVOKE.switch_isupper(c); - return ret; - } +namespace FreeSWITCH.Native { - public static int switch_isxdigit(int c) { - int ret = freeswitchPINVOKE.switch_isxdigit(c); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_bool_t switch_is_moh(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s); - return ret; - } +public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) { - string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_bool_t switch_is_digit_string(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_find_local_ip(string buf, int len, int family) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) { - string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t { + private HandleRef swigCPtr; - public static ushort get_port(SWIGTYPE_p_sockaddr sa) { - ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa)); - return ret; + internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) { - int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static string switch_priority_name(switch_priority_t priority) { - string ret = freeswitchPINVOKE.switch_priority_name((int)priority); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static char switch_rfc2833_to_char(int arg0) { - char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0); - return ret; +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_f_p_switch_event__void { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static byte switch_char_to_rfc2833(char key) { - byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key); - return ret; + protected SWIGTYPE_p_f_p_switch_event__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_bool_t switch_string_var_check_const(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check_const(s); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_var_clean_string(string s) { - string ret = freeswitchPINVOKE.switch_var_clean_string(s); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_clean_string(string s) { - string ret = freeswitchPINVOKE.switch_clean_string(s); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_safe_strdup(string it) { - string ret = freeswitchPINVOKE.switch_safe_strdup(it); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t { + private HandleRef swigCPtr; - public static string switch_lc_strdup(string it) { - string ret = freeswitchPINVOKE.switch_lc_strdup(it); - return ret; + internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_uc_strdup(string it) { - string ret = freeswitchPINVOKE.switch_uc_strdup(it); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_bool_t switch_strstr(string s, string q) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) { - uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_bool_t switch_is_number(string str) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_strip_spaces(string str) { - string ret = freeswitchPINVOKE.switch_strip_spaces(str); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static string switch_separate_paren_args(string str) { - string ret = freeswitchPINVOKE.switch_separate_paren_args(str); - return ret; + internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_stristr(string instr, string str) { - string ret = freeswitchPINVOKE.switch_stristr(instr, str); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_bool_t switch_is_lan_addr(string ip) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) { - string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) { - string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) { - int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static string switch_cut_path(string arg0) { - string ret = freeswitchPINVOKE.switch_cut_path(arg0); - return ret; + internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_string_replace(string arg0, string search, string replace) { - string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static uint switch_url_encode(string url, string buf, uint len) { - uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_url_decode(string s) { - string ret = freeswitchPINVOKE.switch_url_decode(s); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_find_end_paren(string s, char open, char close) { - string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) { - int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp)); - return ret; + internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number); - switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t { + private HandleRef swigCPtr; - public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) { - freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data); + internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) { - string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) { - freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2)); - } +using System; +using System.Runtime.InteropServices; - public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static byte switch_channel_ready(SWIGTYPE_p_switch_channel channel) { - byte ret = freeswitchPINVOKE.switch_channel_ready(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) { - freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_call_cause_t switch_channel_str2cause(string str) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str); - return ret; - } +public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t { + private HandleRef swigCPtr; - public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause); - return ret; + protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static string switch_channel_cause2str(switch_call_cause_t cause) { - string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, switch_channel_flag_t flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, (int)flag); - return ret; - } +public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void { + private HandleRef swigCPtr; - public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) { - freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id); + internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel)); + protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); - } +namespace FreeSWITCH.Native { - public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); - } +public class SWIGTYPE_p_f_p_switch_scheduler_task__void { + private HandleRef swigCPtr; - public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; + internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) { - string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + protected SWIGTYPE_p_f_p_switch_scheduler_task__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) { - string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) { - string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); - return ret; - } +public class SWIGTYPE_p_f_p_switch_speech_handle__void { + private HandleRef swigCPtr; - public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel)); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) { - freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void { + private HandleRef swigCPtr; - public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } - - public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void { + private HandleRef swigCPtr; - public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { - int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { - freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index); - switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void { + private HandleRef swigCPtr; - public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) { - string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static string switch_channel_state_name(switch_channel_state_t state) { - string ret = freeswitchPINVOKE.switch_channel_state_name((int)state); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_channel_state_t switch_channel_name_state(string name) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } +namespace FreeSWITCH.Native { - public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } +using System; +using System.Runtime.InteropServices; - public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) { - string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) { - string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix); - return ret; + protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_channel_audio_sync(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_channel_set_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_set_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } +namespace FreeSWITCH.Native { - public static void switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } +using System; +using System.Runtime.InteropServices; - public static int switch_channel_test_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - int ret = freeswitchPINVOKE.switch_channel_test_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - return ret; - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static void switch_channel_set_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_set_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_channel_test_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - int ret = freeswitchPINVOKE.switch_channel_test_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) { - freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - } +using System; +using System.Runtime.InteropServices; - public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - } +public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - return ret; + internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_switch_size_t switch_buffer_read_loop(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read_loop(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t { + private HandleRef swigCPtr; - public static void switch_buffer_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) { - freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops); + internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_size_t switch_buffer_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer)); - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_event_shutdown() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown(); - return ret; + internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name); - return ret; + protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static string switch_event_get_header(switch_event arg0, string header_name) { - string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_event_get_body(switch_event arg0) { - string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name); - return ret; - } +public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void { + private HandleRef swigCPtr; - public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) { - freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); + internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup)); - return ret; + protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback)); - return ret; - } +public class SWIGTYPE_p_f_p_switch_timer__switch_status_t { + private HandleRef swigCPtr; - public static string switch_event_name(switch_event_types_t arg0) { - string ret = freeswitchPINVOKE.switch_event_name((int)arg0); - return ret; + internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type)); - return ret; + protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_event_running() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_event_expand_headers(switch_event arg0, string arg1) { - string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1); - return ret; - } +public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t { + private HandleRef swigCPtr; - public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction); - return ret; + internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) { - freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); + protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) { - string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) { - freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler)); - } +namespace FreeSWITCH.Native { - public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) { - uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last); - return ret; +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_f_p_void__void { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_f_p_void__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) { - int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) { - int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) { - int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len); - return ret; - } +namespace FreeSWITCH.Native { - public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) { - freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len); - } +using System; +using System.Runtime.InteropServices; - public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) { - freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor); - } +public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int { + private HandleRef swigCPtr; - public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) { - freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol); + internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) { - uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples); - return ret; + protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_mux_channels(SWIGTYPE_p_short data, uint samples, uint channels) { - freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), samples, channels); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) { - int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off); - return ret; - } +public class SWIGTYPE_p_f_void__switch_status_t { + private HandleRef swigCPtr; - public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) { - int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off); - return ret; + internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1)); - return ret; + protected SWIGTYPE_p_f_void__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_bool_t sync, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, (int)sync, switch_input_args_t.getCPtr(args)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout); - return ret; - } +public class SWIGTYPE_p_float { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah)); - return ret; + protected SWIGTYPE_p_float() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_float obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar); - return ret; - } +public class SWIGTYPE_p_int { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh)); - return ret; + internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags); - return ret; + protected SWIGTYPE_p_int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +public class SWIGTYPE_p_p_apr_pool_t { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream); - return ret; + internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; + protected SWIGTYPE_p_p_apr_pool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { - freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); + internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args)); - return ret; +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_p_char { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file); - return ret; + protected SWIGTYPE_p_p_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, var_name, digit_buffer, digit_buffer_length, digits_regex); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +public class SWIGTYPE_p_p_p_char { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args)); - return ret; + internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags); - return ret; + protected SWIGTYPE_p_p_p_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_p_real_pcre { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid); - return ret; + internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_media(string uuid, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags); - return ret; + protected SWIGTYPE_p_p_real_pcre() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_unhold_uuid(string uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } +public class SWIGTYPE_p_p_sqlite3 { + private HandleRef swigCPtr; - public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags); - return ret; + protected SWIGTYPE_p_p_sqlite3() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } +public class SWIGTYPE_p_p_sqlite3_stmt { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data)); - return ret; + internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits); - return ret; + protected SWIGTYPE_p_p_sqlite3_stmt() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) { - IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind); - return ret; - } +public class SWIGTYPE_p_p_switch_audio_resampler_t { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind); - return ret; + internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj)); - return ret; + protected SWIGTYPE_p_p_switch_audio_resampler_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } +public class SWIGTYPE_p_p_switch_buffer { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args)); - return ret; + internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) { - freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms); + protected SWIGTYPE_p_p_switch_buffer() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) { - freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_p_switch_caller_extension { + private HandleRef swigCPtr; - public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app); - return ret; + internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key); - return ret; + protected SWIGTYPE_p_p_switch_caller_extension() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) { - switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) { - switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data); - return ret; - } +public class SWIGTYPE_p_p_switch_channel { + private HandleRef swigCPtr; - public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) { - freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len); + protected SWIGTYPE_p_p_switch_channel() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) { - freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_rtp_shutdown() { - freeswitchPINVOKE.switch_rtp_shutdown(); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static ushort switch_rtp_set_start_port(ushort port) { - ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port); - return ret; - } +namespace FreeSWITCH.Native { - public static ushort switch_rtp_set_end_port(ushort port) { - ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static ushort switch_rtp_request_port(string ip) { - ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip); - return ret; - } +public class SWIGTYPE_p_p_switch_core_port_allocator { + private HandleRef swigCPtr; - public static void switch_rtp_release_port(string ip, ushort port) { - freeswitchPINVOKE.switch_rtp_release_port(ip, port); + internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_rtp_change_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_change_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval); - return ret; + protected SWIGTYPE_p_p_switch_core_port_allocator() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) { - string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) { - ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } +public class SWIGTYPE_p_p_switch_core_session { + private HandleRef swigCPtr; - public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) { - freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max); + protected SWIGTYPE_p_p_switch_core_session() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } +namespace FreeSWITCH.Native { - public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) { - byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session)); - } +public class SWIGTYPE_p_p_switch_core_session_message { + private HandleRef swigCPtr; - public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin); - return ret; + internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames); - return ret; + protected SWIGTYPE_p_p_switch_core_session_message() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); - } +namespace FreeSWITCH.Native { - public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, uint samples_per_interval) { - freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval); - } +public class SWIGTYPE_p_p_switch_event { + private HandleRef swigCPtr; - public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; + internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) { - freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload); + protected SWIGTYPE_p_p_switch_event() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) { - freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } +public class SWIGTYPE_p_p_switch_event_node { + private HandleRef swigCPtr; - public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true); - return ret; + internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true); - return ret; + protected SWIGTYPE_p_p_switch_event_node() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } +public class SWIGTYPE_p_p_switch_frame { + private HandleRef swigCPtr; - public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) { - int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame)); - return ret; + internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) { - int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; + protected SWIGTYPE_p_p_switch_frame() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) { - freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data)); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) { - freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te); - } +namespace FreeSWITCH.Native { - public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) { - freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt); - } +using System; +using System.Runtime.InteropServices; - public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +public class SWIGTYPE_p_p_switch_hash { + private HandleRef swigCPtr; - public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny); - return ret; + internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_bug_flag_t bugs) { - freeswitchPINVOKE.switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)bugs); + protected SWIGTYPE_p_p_switch_hash() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_log_shutdown() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown(); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static string switch_log_level2str(switch_log_level_t level) { - string ret = freeswitchPINVOKE.switch_log_level2str((int)level); - return ret; - } +public class SWIGTYPE_p_p_switch_ivr_digit_stream { + private HandleRef swigCPtr; - public static switch_log_level_t switch_log_str2level(string str) { - switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str); - return ret; + internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static uint switch_log_str2mask(string str) { - uint ret = freeswitchPINVOKE.switch_log_str2mask(str); - return ret; + protected SWIGTYPE_p_p_switch_ivr_digit_stream() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_xml switch_xml_parse_fd(int fd) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_xml switch_xml_parse_file(string file) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_xml switch_xml_parse_file_simple(string file) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; +public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_xml switch_xml_child(switch_xml xml, string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_xml_attr(switch_xml xml, string attr) { - string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr); - return ret; - } +namespace FreeSWITCH.Native { - public static string switch_xml_attr_soft(switch_xml xml, string attr) { - string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_xml switch_xml_get(switch_xml xml) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +public class SWIGTYPE_p_p_switch_ivr_menu { + private HandleRef swigCPtr; - public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) { - string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header); - return ret; + internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) { - string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; + protected SWIGTYPE_p_p_switch_ivr_menu() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_xml_free(switch_xml xml) { - freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml)); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) { - freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize); - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static string switch_xml_error(switch_xml xml) { - string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_xml switch_xml_new(string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx { + private HandleRef swigCPtr; - public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_xml switch_xml_cut(switch_xml xml) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_xml switch_xml_open_root(byte reload, ref string err) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err); - return ret; - } +public class SWIGTYPE_p_p_switch_media_bug { + private HandleRef swigCPtr; - public static switch_status_t switch_xml_destroy() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy(); - return ret; + internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_xml switch_xml_root() { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_root(); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + protected SWIGTYPE_p_p_switch_media_bug() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup)); - return ret; - } +public class SWIGTYPE_p_p_switch_network_list { + private HandleRef swigCPtr; - public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; + internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) { - freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections); + protected SWIGTYPE_p_p_switch_network_list() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) { - freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data)); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) { - uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding)); - return ret; - } +public class SWIGTYPE_p_p_switch_rtp { + private HandleRef swigCPtr; - public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function)); - return ret; + internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static uint switch_xml_parse_section_string(string str) { - uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str); - return ret; + protected SWIGTYPE_p_p_switch_rtp() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); - return ret; - } +public class SWIGTYPE_p_p_switch_xml { + private HandleRef swigCPtr; - public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); - return ret; + internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); - return ret; + protected SWIGTYPE_p_p_switch_xml() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); - return ret; - } +public class SWIGTYPE_p_p_switch_xml_binding { + private HandleRef swigCPtr; - public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); - return ret; + internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); - return ret; + protected SWIGTYPE_p_p_switch_xml_binding() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); - return ret; - } +namespace FreeSWITCH.Native { - public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); - return ret; - } +public class SWIGTYPE_p_p_void { + private HandleRef swigCPtr; - public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); - return ret; + internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); - return ret; + protected SWIGTYPE_p_p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); - return ret; + internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); - return ret; - } +namespace FreeSWITCH.Native { - public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) { - uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static uint switch_scheduler_del_task_id(uint task_id) { - uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id); - return ret; - } +public class SWIGTYPE_p_real_pcre { + private HandleRef swigCPtr; - public static uint switch_scheduler_del_task_group(string group) { - uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group); - return ret; + internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void switch_scheduler_task_thread_start() { - freeswitchPINVOKE.switch_scheduler_task_thread_start(); + protected SWIGTYPE_p_real_pcre() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void switch_scheduler_task_thread_stop() { - freeswitchPINVOKE.switch_scheduler_task_thread_stop(); + internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static int switch_config_open_file(switch_config cfg, string file_path) { - int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path); - return ret; - } +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public static void switch_config_close_file(switch_config cfg) { - freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg)); - } +namespace FreeSWITCH.Native { - public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) { - int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val); - return ret; - } +using System; +using System.Runtime.InteropServices; - public static void consoleLog(string level_str, string msg) { - freeswitchPINVOKE.consoleLog(level_str, msg); +public class SWIGTYPE_p_short { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void consoleCleanLog(string msg) { - freeswitchPINVOKE.consoleCleanLog(msg); + protected SWIGTYPE_p_short() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void console_log(string level_str, string msg) { - freeswitchPINVOKE.console_log(level_str, msg); + internal static HandleRef getCPtr(SWIGTYPE_p_short obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static void console_clean_log(string msg) { - freeswitchPINVOKE.console_clean_log(msg); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_sockaddr { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static void msleep(uint ms) { - freeswitchPINVOKE.msleep(ms); + protected SWIGTYPE_p_sockaddr() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static void bridge(CoreSession session_a, CoreSession session_b) { - freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_socklen_t { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } - public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen); - return ret; + protected SWIGTYPE_p_socklen_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get(); - public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get(); - public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get(); - public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get(); - public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get(); - public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get(); - public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get(); - public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get(); - public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get(); - public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get(); - public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); - public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get(); - public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get(); - public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get(); - public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get(); - public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get(); - public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get(); - public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get(); - public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get(); - public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get(); - public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get(); - public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get(); - public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get(); - public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get(); - public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get(); - public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get(); - public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get(); - public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get(); - public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get(); - public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get(); - public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get(); - public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get(); - public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get(); - public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get(); - public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get(); - public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get(); - public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get(); - public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get(); - public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get(); - public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get(); - public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get(); - public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get(); - public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get(); - public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get(); - public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get(); - public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get(); - public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get(); - public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get(); - public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get(); - public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get(); - public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get(); - public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get(); - public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get(); - public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get(); - public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get(); - public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get(); - public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get(); - public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); - public static readonly string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE = freeswitchPINVOKE.SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); - public static readonly string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get(); - public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get(); - public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); - public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get(); - public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get(); - public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get(); - public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get(); - public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); - public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get(); - public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); - public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); - public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get(); - public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); - public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); - public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get(); - public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get(); - public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); - public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get(); - public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get(); - public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get(); - public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get(); - public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get(); - public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get(); - public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); - public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); - public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); - public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get(); - public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get(); - public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get(); - public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get(); - public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get(); - public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); - public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get(); - public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get(); - public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get(); - public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get(); - public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get(); - public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get(); - public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get(); - public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get(); - public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get(); - public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get(); - public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get(); - public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); - public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get(); - public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get(); - public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get(); - public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get(); - public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get(); - public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get(); - public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get(); - public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get(); - public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get(); - public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get(); - public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get(); - public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get(); - public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get(); - public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get(); - public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get(); - public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get(); - public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get(); - public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get(); - public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get(); - public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get(); - public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get(); - public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get(); - public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get(); - public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get(); - public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get(); - public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get(); - public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get(); - public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get(); - public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get(); - public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get(); - public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get(); - public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); - public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get(); - public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get(); - public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get(); - public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get(); - public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get(); - public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get(); - public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get(); - public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get(); - public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get(); - public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get(); - public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } } } @@ -4238,11096 +3773,11484 @@ using System; using System.Runtime.InteropServices; -class freeswitchPINVOKE { +public class SWIGTYPE_p_sqlite3 { + private HandleRef swigCPtr; - protected class SWIGExceptionHelper { + internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - public delegate void ExceptionDelegate(string message); - public delegate void ExceptionArgumentDelegate(string message, string paramName); + protected SWIGTYPE_p_sqlite3() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException); - static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException); - static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException); - static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException); - static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException); - static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException); - static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException); - static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException); - static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException); - static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException); - static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException); + internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException); - static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException); - static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")] - public static extern void SWIGRegisterExceptionCallbacks_freeswitch( - ExceptionDelegate applicationDelegate, - ExceptionDelegate arithmeticDelegate, - ExceptionDelegate divideByZeroDelegate, - ExceptionDelegate indexOutOfRangeDelegate, - ExceptionDelegate invalidCastDelegate, - ExceptionDelegate invalidOperationDelegate, - ExceptionDelegate ioDelegate, - ExceptionDelegate nullReferenceDelegate, - ExceptionDelegate outOfMemoryDelegate, - ExceptionDelegate overflowDelegate, - ExceptionDelegate systemExceptionDelegate); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")] - public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch( - ExceptionArgumentDelegate argumentDelegate, - ExceptionArgumentDelegate argumentNullDelegate, - ExceptionArgumentDelegate argumentOutOfRangeDelegate); +using System; +using System.Runtime.InteropServices; - static void SetPendingApplicationException(string message) { - SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingArithmeticException(string message) { - SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingDivideByZeroException(string message) { - SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingIndexOutOfRangeException(string message) { - SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingInvalidCastException(string message) { - SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingInvalidOperationException(string message) { - SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingIOException(string message) { - SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingNullReferenceException(string message) { - SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingOutOfMemoryException(string message) { - SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingOverflowException(string message) { - SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingSystemException(string message) { - SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve())); - } +public class SWIGTYPE_p_sqlite3_stmt { + private HandleRef swigCPtr; - static void SetPendingArgumentException(string message, string paramName) { - SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve())); - } - static void SetPendingArgumentNullException(string message, string paramName) { - Exception e = SWIGPendingException.Retrieve(); - if (e != null) message = message + " Inner Exception: " + e.Message; - SWIGPendingException.Set(new System.ArgumentNullException(paramName, message)); - } - static void SetPendingArgumentOutOfRangeException(string message, string paramName) { - Exception e = SWIGPendingException.Retrieve(); - if (e != null) message = message + " Inner Exception: " + e.Message; - SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message)); - } + internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - static SWIGExceptionHelper() { - SWIGRegisterExceptionCallbacks_freeswitch( - applicationDelegate, - arithmeticDelegate, - divideByZeroDelegate, - indexOutOfRangeDelegate, - invalidCastDelegate, - invalidOperationDelegate, - ioDelegate, - nullReferenceDelegate, - outOfMemoryDelegate, - overflowDelegate, - systemDelegate); + protected SWIGTYPE_p_sqlite3_stmt() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - SWIGRegisterExceptionCallbacksArgument_freeswitch( - argumentDelegate, - argumentNullDelegate, - argumentOutOfRangeDelegate); - } + internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } +} - protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - public class SWIGPendingException { - [ThreadStatic] - private static Exception pendingException = null; - private static int numExceptionsPending = 0; +namespace FreeSWITCH.Native { - public static bool Pending { - get { - bool pending = false; - if (numExceptionsPending > 0) - if (pendingException != null) - pending = true; - return pending; - } - } +using System; +using System.Runtime.InteropServices; - public static void Set(Exception e) { - if (pendingException != null) - throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e); - pendingException = e; - lock(typeof(freeswitchPINVOKE)) { - numExceptionsPending++; - } - } +public class SWIGTYPE_p_switch_buffer { + private HandleRef swigCPtr; - public static Exception Retrieve() { - Exception e = null; - if (numExceptionsPending > 0) { - if (pendingException != null) { - e = pendingException; - pendingException = null; - lock(typeof(freeswitchPINVOKE)) { - numExceptionsPending--; - } - } - } - return e; - } + internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); } + protected SWIGTYPE_p_switch_buffer() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - protected class SWIGStringHelper { + internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - public delegate string SWIGStringDelegate(string message); - static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")] - public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate); +namespace FreeSWITCH.Native { - static string CreateString(string cString) { - return cString; - } +using System; +using System.Runtime.InteropServices; - static SWIGStringHelper() { - SWIGRegisterStringCallback_freeswitch(stringDelegate); - } - } +public class SWIGTYPE_p_switch_call_cause_t { + private HandleRef swigCPtr; - static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper(); + internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } + protected SWIGTYPE_p_switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")] - public static extern string FREESWITCH_PEN_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")] - public static extern string FREESWITCH_OID_PREFIX_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")] - public static extern string FREESWITCH_ITAD_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")] - public static extern int __EXTENSIONS___get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")] - public static extern int __BSD_VISIBLE_get(); +public class SWIGTYPE_p_switch_channel { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")] - public static extern string SWITCH_BLANK_STRING_get(); + internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")] - public static extern string SWITCH_SEQ_ESC_get(); + protected SWIGTYPE_p_switch_channel() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")] - public static extern char SWITCH_SEQ_HOME_CHAR_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")] - public static extern string SWITCH_SEQ_HOME_CHAR_STR_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")] - public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")] - public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")] - public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get(); +public class SWIGTYPE_p_switch_core_port_allocator { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")] - public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get(); + internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")] - public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get(); + protected SWIGTYPE_p_switch_core_port_allocator() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")] - public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")] - public static extern string SWITCH_SEQ_AND_COLOR_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")] - public static extern string SWITCH_SEQ_END_COLOR_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")] - public static extern string SWITCH_SEQ_F_BLACK_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")] - public static extern string SWITCH_SEQ_F_RED_get(); +public class SWIGTYPE_p_switch_core_session { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")] - public static extern string SWITCH_SEQ_F_GREEN_get(); + internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")] - public static extern string SWITCH_SEQ_F_YELLOW_get(); + protected SWIGTYPE_p_switch_core_session() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")] - public static extern string SWITCH_SEQ_F_BLUE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")] - public static extern string SWITCH_SEQ_F_MAGEN_get(); - - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")] - public static extern string SWITCH_SEQ_F_CYAN_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")] - public static extern string SWITCH_SEQ_F_WHITE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")] - public static extern string SWITCH_SEQ_B_BLACK_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")] - public static extern string SWITCH_SEQ_B_RED_get(); +public class SWIGTYPE_p_switch_event_node { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")] - public static extern string SWITCH_SEQ_B_GREEN_get(); + internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")] - public static extern string SWITCH_SEQ_B_YELLOW_get(); + protected SWIGTYPE_p_switch_event_node() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")] - public static extern string SWITCH_SEQ_B_BLUE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")] - public static extern string SWITCH_SEQ_B_MAGEN_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")] - public static extern string SWITCH_SEQ_B_CYAN_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")] - public static extern string SWITCH_SEQ_B_WHITE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")] - public static extern string SWITCH_SEQ_FBLACK_get(); +public class SWIGTYPE_p_switch_event_types_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")] - public static extern string SWITCH_SEQ_FRED_get(); + internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")] - public static extern string SWITCH_SEQ_FGREEN_get(); + protected SWIGTYPE_p_switch_event_types_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")] - public static extern string SWITCH_SEQ_FYELLOW_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")] - public static extern string SWITCH_SEQ_FBLUE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")] - public static extern string SWITCH_SEQ_FMAGEN_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")] - public static extern string SWITCH_SEQ_FCYAN_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")] - public static extern string SWITCH_SEQ_FWHITE_get(); +public class SWIGTYPE_p_switch_file_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")] - public static extern string SWITCH_SEQ_BBLACK_get(); + internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")] - public static extern string SWITCH_SEQ_BRED_get(); + protected SWIGTYPE_p_switch_file_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")] - public static extern string SWITCH_SEQ_BGREEN_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")] - public static extern string SWITCH_SEQ_BYELLOW_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")] - public static extern string SWITCH_SEQ_BBLUE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")] - public static extern string SWITCH_SEQ_BMAGEN_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")] - public static extern string SWITCH_SEQ_BCYAN_get(); +public class SWIGTYPE_p_switch_hash { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")] - public static extern string SWITCH_SEQ_BWHITE_get(); + internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")] - public static extern string SWITCH_SEQ_HOME_get(); + protected SWIGTYPE_p_switch_hash() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")] - public static extern string SWITCH_SEQ_CLEARLINE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")] - public static extern string SWITCH_SEQ_CLEARLINEEND_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")] - public static extern string SWITCH_SEQ_CLEARSCR_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")] - public static extern int SWITCH_DEFAULT_DTMF_DURATION_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")] - public static extern int SWITCH_MAX_DTMF_DURATION_get(); +public class SWIGTYPE_p_switch_interval_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")] - public static extern string SWITCH_PATH_SEPARATOR_get(); + internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")] - public static extern string SWITCH_URL_SEPARATOR_get(); + protected SWIGTYPE_p_switch_interval_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")] - public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")] - public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_action_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")] - public static extern string SWITCH_READ_RESULT_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_action_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")] - public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")] - public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")] - public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_digit_stream { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")] - public static extern string SWITCH_HOLDING_UUID_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")] - public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_digit_stream() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")] - public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get(); - - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")] - public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")] - public static extern string SWITCH_PROCESS_CDR_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_digit_stream_parser { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")] - public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")] - public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_digit_stream_parser() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")] - public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")] - public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")] - public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")] - public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")] - public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_menu { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")] - public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")] - public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_menu() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")] - public static extern string SWITCH_EXPORT_VARS_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")] - public static extern string SWITCH_R_SDP_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")] - public static extern string SWITCH_L_SDP_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")] - public static extern string SWITCH_B_SDP_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_menu_action_function_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")] - public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_menu_action_function_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")] - public static extern string SWITCH_ORIGINATOR_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")] - public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")] - public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")] - public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")] - public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); +public class SWIGTYPE_p_switch_ivr_menu_xml_ctx { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")] - public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); + internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")] - public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); + protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")] - public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")] - public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")] - public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); +public class SWIGTYPE_p_switch_loadable_module_interface { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")] - public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); + internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")] - public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); + protected SWIGTYPE_p_switch_loadable_module_interface() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")] - public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")] - public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")] - public static extern string SWITCH_SPEECH_KEY_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")] - public static extern string SWITCH_UUID_BRIDGE_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")] - public static extern int SWITCH_BITS_PER_BYTE_get(); +public class SWIGTYPE_p_switch_media_bug { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")] - public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); + internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")] - public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2); + protected SWIGTYPE_p_switch_media_bug() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")] - public static extern char switch_dtmf_t_digit_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")] - public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")] - public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")] - public static extern IntPtr new_switch_dtmf_t(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")] - public static extern void delete_switch_dtmf_t(HandleRef jarg1); +public class SWIGTYPE_p_switch_mutex_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")] - public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")] - public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_mutex_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")] - public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")] - public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")] - public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")] - public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")] - public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_switch_network_list { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")] - public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")] - public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_switch_network_list() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")] - public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")] - public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")] - public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")] - public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")] - public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_pollfd_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")] - public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2); + internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")] - public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_pollfd_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")] - public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")] - public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")] - public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")] - public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")] - public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2); +public class SWIGTYPE_p_switch_queue_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")] - public static extern byte switch_bitpack_t_under_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")] - public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2); + protected SWIGTYPE_p_switch_queue_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")] - public static extern byte switch_bitpack_t_over_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")] - public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")] - public static extern int switch_bitpack_t_mode_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")] - public static extern IntPtr new_switch_bitpack_t(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")] - public static extern void delete_switch_bitpack_t(HandleRef jarg1); +public class SWIGTYPE_p_switch_rtp { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")] - public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")] - public static extern string switch_directories_base_dir_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_rtp() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")] - public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")] - public static extern string switch_directories_mod_dir_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")] - public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")] - public static extern string switch_directories_conf_dir_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")] - public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_switch_size_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")] - public static extern string switch_directories_log_dir_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")] - public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_size_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")] - public static extern string switch_directories_db_dir_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")] - public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")] - public static extern string switch_directories_script_dir_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")] - public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")] - public static extern string switch_directories_temp_dir_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_sockaddr_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")] - public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")] - public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_sockaddr_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")] - public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")] - public static extern string switch_directories_grammar_dir_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")] - public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")] - public static extern string switch_directories_storage_dir_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")] - public static extern IntPtr new_switch_directories(); +public class SWIGTYPE_p_switch_socket_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")] - public static extern void delete_switch_directories(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")] - public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1); + internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")] - public static extern IntPtr SWITCH_GLOBAL_dirs_get(); + protected SWIGTYPE_p_switch_socket_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")] - public static extern int SWITCH_MAX_STACKS_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")] - public static extern int SWITCH_THREAD_STACKSIZE_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")] - public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")] - public static extern int SWITCH_MAX_INTERVAL_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")] - public static extern int SWITCH_INTERVAL_PAD_get(); +public class SWIGTYPE_p_switch_ssize_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")] - public static extern int SWITCH_MAX_SAMPLE_LEN_get(); + internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")] - public static extern int SWITCH_BYTES_PER_SAMPLE_get(); + protected SWIGTYPE_p_switch_ssize_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")] - public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")] - public static extern int SWITCH_MAX_CODECS_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")] - public static extern int SWITCH_MAX_STATE_HANDLERS_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")] - public static extern int SWITCH_CORE_QUEUE_LEN_get(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")] - public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); +public class SWIGTYPE_p_switch_thread_rwlock_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")] - public static extern int SWITCH_RTP_CNG_PAYLOAD_get(); + internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")] - public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_switch_thread_rwlock_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")] - public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")] - public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")] - public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")] - public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")] - public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_time_exp_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")] - public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")] - public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_time_exp_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")] - public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")] - public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")] - public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")] - public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")] - public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_switch_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")] - public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")] - public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_switch_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")] - public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")] - public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")] - public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")] - public static extern IntPtr new_switch_rtp_hdr_t(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")] - public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1); +public class SWIGTYPE_p_switch_xml_binding { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")] - public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")] - public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_xml_binding() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")] - public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")] - public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")] - public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")] - public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")] - public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")] - public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1); + internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")] - public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")] - public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")] - public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")] - public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")] - public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")] - public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")] - public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_unsigned_char { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")] - public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1); + internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")] - public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_unsigned_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")] - public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_set")] - public static extern void switch_t38_options_t_ip_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_get")] - public static extern string switch_t38_options_t_ip_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_set")] - public static extern void switch_t38_options_t_port_set(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_get")] - public static extern uint switch_t38_options_t_port_get(HandleRef jarg1); +public class SWIGTYPE_p_unsigned_int { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")] - public static extern IntPtr new_switch_t38_options_t(); + internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")] - public static extern void delete_switch_t38_options_t(HandleRef jarg1); + protected SWIGTYPE_p_unsigned_int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")] - public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")] - public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")] - public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")] - public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")] - public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_unsigned_long { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")] - public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1); + internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")] - public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_unsigned_long() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")] - public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")] - public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")] - public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")] - public static extern IntPtr new_switch_input_args_t(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")] - public static extern void delete_switch_input_args_t(HandleRef jarg1); +public class SWIGTYPE_p_unsigned_short { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")] - public static extern int SWITCH_API_VERSION_get(); + internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")] - public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_unsigned_short() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")] - public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")] - public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")] - public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")] - public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")] - public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1); +public class SWIGTYPE_p_void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")] - public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")] - public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1); + protected SWIGTYPE_p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")] - public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")] - public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")] - public static extern IntPtr new_switch_loadable_module_function_table_t(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")] - public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")] - public static extern int switch_core_db_close(HandleRef jarg1); +public partial class Stream : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")] - public static extern int switch_core_db_open(string jarg1, HandleRef jarg2); + internal Stream(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")] - public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(Stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")] - public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2); + ~Stream() { + Dispose(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")] - public static extern int switch_core_db_column_count(HandleRef jarg1); + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_Stream(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")] - public static extern string switch_core_db_errmsg(HandleRef jarg1); + public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")] - public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5); + public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")] - public static extern int switch_core_db_finalize(HandleRef jarg1); + public void Write(string data) { + freeswitchPINVOKE.Stream_Write(swigCPtr, data); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")] - public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5); + public string get_data() { + string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")] - public static extern int switch_core_db_step(HandleRef jarg1); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")] - public static extern int switch_core_db_reset(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")] - public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")] - public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")] - public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5); +public class freeswitch { + public static switch_directories SWITCH_GLOBAL_dirs { + set { + freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get(); + switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false); + return ret; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")] - public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3); + public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) { + int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")] - public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1); + public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) { + int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")] - public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6); + public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol); + SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")] - public static extern void switch_core_db_free_table(ref string jarg1); + public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) { + string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")] - public static extern void switch_core_db_free(string jarg1); + public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")] - public static extern int switch_core_db_changes(HandleRef jarg1); + public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) { + string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")] - public static extern int SWITCH_CORE_DB_OK_get(); + public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) { + int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")] - public static extern int SWITCH_CORE_DB_ERROR_get(); + public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")] - public static extern int SWITCH_CORE_DB_INTERNAL_get(); + public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) { + int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")] - public static extern int SWITCH_CORE_DB_PERM_get(); + public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) { + int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")] - public static extern int SWITCH_CORE_DB_ABORT_get(); + public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")] - public static extern int SWITCH_CORE_DB_BUSY_get(); + public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")] - public static extern int SWITCH_CORE_DB_LOCKED_get(); + public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")] - public static extern int SWITCH_CORE_DB_NOMEM_get(); + public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) { + int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")] - public static extern int SWITCH_CORE_DB_READONLY_get(); + public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")] - public static extern int SWITCH_CORE_DB_INTERRUPT_get(); + public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) { + long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")] - public static extern int SWITCH_CORE_DB_IOERR_get(); + public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) { + int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")] - public static extern int SWITCH_CORE_DB_CORRUPT_get(); + public static void switch_core_db_free_table(ref string result) { + freeswitchPINVOKE.switch_core_db_free_table(ref result); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")] - public static extern int SWITCH_CORE_DB_NOTFOUND_get(); + public static void switch_core_db_free(string z) { + freeswitchPINVOKE.switch_core_db_free(z); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")] - public static extern int SWITCH_CORE_DB_FULL_get(); + public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) { + int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")] - public static extern int SWITCH_CORE_DB_CANTOPEN_get(); + public static string switch_mprintf(string zFormat) { + string ret = freeswitchPINVOKE.switch_mprintf(zFormat); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")] - public static extern int SWITCH_CORE_DB_PROTOCOL_get(); + public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) { + IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables)); + SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")] - public static extern int SWITCH_CORE_DB_EMPTY_get(); + public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) { + int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")] - public static extern int SWITCH_CORE_DB_SCHEMA_get(); + public static void switch_regex_free(SWIGTYPE_p_void data) { + freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data)); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")] - public static extern int SWITCH_CORE_DB_TOOBIG_get(); + public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) { + int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")] - public static extern int SWITCH_CORE_DB_CONSTRAINT_get(); + public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) { + freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")] - public static extern int SWITCH_CORE_DB_MISMATCH_get(); + public static switch_status_t switch_regex_match(string target, string expression) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")] - public static extern int SWITCH_CORE_DB_MISUSE_get(); + public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")] - public static extern int SWITCH_CORE_DB_NOLFS_get(); + public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { + freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")] - public static extern int SWITCH_CORE_DB_AUTH_get(); + public static void switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")] - public static extern int SWITCH_CORE_DB_FORMAT_get(); + public static void switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { + freeswitchPINVOKE.switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")] - public static extern int SWITCH_CORE_DB_RANGE_get(); + public static void switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")] - public static extern int SWITCH_CORE_DB_NOTADB_get(); + public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")] - public static extern int SWITCH_CORE_DB_ROW_get(); + public static void switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")] - public static extern int SWITCH_CORE_DB_DONE_get(); + public static void switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")] - public static extern string switch_mprintf(string jarg1); + public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")] - public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5); + public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")] - public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6); + public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")] - public static extern void switch_regex_free(HandleRef jarg1); + public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")] - public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5); + public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")] - public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); + public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) { + uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")] - public static extern int switch_regex_match(string jarg1, string jarg2); + public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")] - public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3); + public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")] - public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); + public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")] - public static extern int SWITCH_MAX_STREAMS_get(); + public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")] - public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")] - public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1); + public static void switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug bug) { + freeswitchPINVOKE.switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")] - public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")] - public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1); + public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")] - public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")] - public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1); + public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")] - public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2); + public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) { + freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")] - public static extern uint switch_core_time_duration_min_get(HandleRef jarg1); + public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")] - public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")] - public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1); + public static uint switch_core_session_limit(uint new_limit) { + uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")] - public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2); + public static uint switch_core_sessions_per_second(uint new_limit) { + uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")] - public static extern uint switch_core_time_duration_day_get(HandleRef jarg1); + public static switch_status_t switch_core_destroy() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")] - public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")] - public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1); + public static switch_status_t switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")] - public static extern IntPtr new_switch_core_time_duration(); + public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")] - public static extern void delete_switch_core_time_duration(HandleRef jarg1); + public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")] - public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2); + public static int switch_core_add_state_handler(switch_state_handler_table state_handler) { + int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")] - public static extern string switch_app_log_app_get(HandleRef jarg1); + public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) { + freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")] - public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2); + public static switch_state_handler_table switch_core_get_state_handler(int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index); + switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")] - public static extern string switch_app_log_arg_get(HandleRef jarg1); + public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) { + freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")] - public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")] - public static extern IntPtr switch_app_log_next_get(HandleRef jarg1); + public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")] - public static extern IntPtr new_switch_app_log(); + public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")] - public static extern void delete_switch_app_log(HandleRef jarg1); + public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")] - public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2); + public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")] - public static extern string switch_core_session_message_from_get(HandleRef jarg1); + public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")] - public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2); + public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")] - public static extern int switch_core_session_message_message_id_get(HandleRef jarg1); + public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")] - public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2); + public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")] - public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1); + public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")] - public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2); + public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) { + string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")] - public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1); + public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) { + string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")] - public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2); + public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")] - public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_core_session switch_core_session_request_uuid(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool, string use_uuid) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), use_uuid); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")] - public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session session, string use_uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session), use_uuid); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")] - public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1); + public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) { + freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")] - public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2); + public static uint switch_core_session_count() { + uint ret = freeswitchPINVOKE.switch_core_session_count(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")] - public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_core_session_get_id(SWIGTYPE_p_switch_core_session session) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_get_id(SWIGTYPE_p_switch_core_session.getCPtr(session)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")] - public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2); + public static SWIGTYPE_p_switch_size_t switch_core_session_id() { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")] - public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool)); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")] - public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")] - public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")] - public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")] - public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1); + public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) { + string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")] - public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2); + public static string switch_core_get_uuid() { + string ret = freeswitchPINVOKE.switch_core_get_uuid(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")] - public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")] - public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2); + public static string switch_core_get_variable(string varname) { + string ret = freeswitchPINVOKE.switch_core_get_variable(varname); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")] - public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1); + public static void switch_core_set_variable(string varname, string value) { + freeswitchPINVOKE.switch_core_set_variable(varname, value); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")] - public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2); + public static void switch_core_dump_variables(switch_stream_handle stream) { + freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")] - public static extern uint switch_core_session_message_flags_get(HandleRef jarg1); + public static void switch_core_session_hupall(switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall((int)cause); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")] - public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2); + public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")] - public static extern string switch_core_session_message__file_get(HandleRef jarg1); + public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")] - public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")] - public static extern string switch_core_session_message__func_get(HandleRef jarg1); + public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")] - public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")] - public static extern int switch_core_session_message__line_get(HandleRef jarg1); + public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")] - public static extern IntPtr new_switch_core_session_message(); + public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")] - public static extern void delete_switch_core_session_message(HandleRef jarg1); + public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")] - public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")] - public static extern int switch_core_thread_session_running_get(HandleRef jarg1); + public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")] - public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")] - public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1); + public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")] - public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")] - public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1); + public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")] - public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2); + public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")] - public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1); + public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")] - public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2); + public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { + int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")] - public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1); + public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")] - public static extern IntPtr new_switch_core_thread_session(); + public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) { + int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")] - public static extern void delete_switch_core_thread_session(HandleRef jarg1); + public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) { + freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")] - public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2); + public static void switch_core_thread_session_end(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_thread_session_end(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")] - public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1); + public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")] - public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2); + public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")] - public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1); + public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")] - public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6); + public static switch_status_t switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")] - public static extern void switch_core_media_bug_pause(HandleRef jarg1); + public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")] - public static extern void switch_core_media_bug_resume(HandleRef jarg1); + public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")] - public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1); + public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")] - public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1); + public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")] - public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2); + public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")] - public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1); + public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")] - public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")] - public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2); + public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")] - public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")] - public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")] - public static extern int switch_core_media_bug_close(HandleRef jarg1); + public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")] - public static extern int switch_core_media_bug_remove_all(HandleRef jarg1); + public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) { + freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")] - public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")] - public static extern void switch_core_media_bug_flush(HandleRef jarg1); + public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")] - public static extern int switch_core_media_bug_flush_all(HandleRef jarg1); + public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")] - public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4); + public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")] - public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")] - public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2); + public static switch_status_t switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool, switch_bool_t case_sensitive) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)case_sensitive); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")] - public static extern void switch_core_port_allocator_destroy(HandleRef jarg1); + public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")] - public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3); + public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")] - public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3); + public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")] - public static extern uint switch_core_session_limit(uint jarg1); + public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")] - public static extern uint switch_core_sessions_per_second(uint jarg1); + public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")] - public static extern int switch_core_destroy(); + public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")] - public static extern int switch_core_session_read_lock(HandleRef jarg1); + public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")] - public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1); + public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) { + IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash)); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")] - public static extern void switch_core_session_write_lock(HandleRef jarg1); + public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) { + IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi)); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")] - public static extern void switch_core_session_rwunlock(HandleRef jarg1); + public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) { + freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")] - public static extern int switch_core_add_state_handler(HandleRef jarg1); + public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")] - public static extern void switch_core_remove_state_handler(HandleRef jarg1); + public static switch_status_t switch_core_timer_next(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")] - public static extern IntPtr switch_core_get_state_handler(int jarg1); + public static switch_status_t switch_core_timer_step(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")] - public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_timer_sync(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")] - public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")] - public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + public static switch_status_t switch_core_timer_destroy(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")] - public static extern void switch_core_session_run(HandleRef jarg1); + public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")] - public static extern uint switch_core_session_running(HandleRef jarg1); + public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")] - public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")] - public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")] - public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + public static switch_status_t switch_core_codec_destroy(switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")] - public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4); + public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")] - public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); + public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")] - public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); + public static void switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")] - public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2); + public static void switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")] - public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2); + public static void switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")] - public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1); + public static void switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")] - public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, HandleRef jarg2, string jarg3); + public static void switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")] - public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")] - public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + public static switch_status_t switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")] - public static extern uint switch_core_session_count(); + public static switch_status_t switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")] - public static extern IntPtr switch_core_session_get_id(HandleRef jarg1); + public static switch_status_t switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")] - public static extern IntPtr switch_core_session_id(); + public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")] - public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2); + public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")] - public static extern int switch_core_session_thread_launch(HandleRef jarg1); + public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")] - public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1); + public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")] - public static extern void switch_core_session_signal_state_change(HandleRef jarg1); + public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")] - public static extern string switch_core_session_get_uuid(HandleRef jarg1); + public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")] - public static extern string switch_core_get_uuid(); + public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")] - public static extern IntPtr switch_core_session_locate(string jarg1); + public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")] - public static extern string switch_core_get_variable(string jarg1); + public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")] - public static extern void switch_core_set_variable(string jarg1, string jarg2); + public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename); + SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")] - public static extern void switch_core_dump_variables(HandleRef jarg1); + public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")] - public static extern void switch_core_session_hupall(int jarg1); + public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) { + freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")] - public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3); + public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")] - public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")] - public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2); + public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")] - public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")] - public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")] - public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")] - public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_file_close(switch_file_handle fh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")] - public static extern int switch_core_session_flush_message(HandleRef jarg1); + public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")] - public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2); + public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")] - public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1); + public static void switch_core_speech_flush_tts(switch_speech_handle sh) { + freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")] - public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3); + public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) { + freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")] - public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3); + public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) { + freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")] - public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) { + freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")] - public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")] - public static extern IntPtr switch_core_session_get_private(HandleRef jarg1); + public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")] - public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")] - public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")] - public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")] - public static extern int switch_core_session_get_stream_count(HandleRef jarg1); + public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")] - public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")] - public static extern void switch_core_thread_session_end(HandleRef jarg1); + public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")] - public static extern void switch_core_service_session(HandleRef jarg1); + public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")] - public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7); + public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")] - public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")] - public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")] - public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")] - public static extern uint switch_core_session_event_count(HandleRef jarg1); + public static switch_status_t switch_core_directory_next(switch_directory_handle dh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")] - public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")] - public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_directory_close(switch_directory_handle dh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")] - public static extern uint switch_core_session_private_event_count(HandleRef jarg1); + public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel); + SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")] - public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")] - public static extern uint switch_core_session_flush_private_events(HandleRef jarg1); + public static switch_bool_t switch_core_ready() { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")] - public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + public static uint switch_core_flags() { + uint ret = freeswitchPINVOKE.switch_core_flags(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")] - public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")] - public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + public static int set_high_priority() { + int ret = freeswitchPINVOKE.set_high_priority(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")] - public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3); + public static int change_user_group(string user, string group) { + int ret = freeswitchPINVOKE.change_user_group(user, group); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")] - public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + public static void switch_core_runtime_loop(int bg) { + freeswitchPINVOKE.switch_core_runtime_loop(bg); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")] - public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); + public static switch_status_t switch_core_set_console(string console) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")] - public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2); + public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) { + freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")] - public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2); + public static SWIGTYPE_p_switch_time_t switch_core_uptime() { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")] - public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2); + public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) { + int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")] - public static extern int switch_core_hash_init_case(HandleRef jarg1, HandleRef jarg2, int jarg3); + public static SWIGTYPE_p_FILE switch_core_get_console() { + IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console(); + SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")] - public static extern int switch_core_hash_destroy(HandleRef jarg1); + public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) { + freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")] - public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3); + public static void switch_core_set_globals() { + freeswitchPINVOKE.switch_core_set_globals(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")] - public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4); + public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) { + byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")] - public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2); + public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) { + byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")] - public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); + public static SWIGTYPE_p_HashElem switch_core_mime_index() { + IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index(); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")] - public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2); + public static string switch_core_mime_ext2type(string ext) { + string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")] - public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); + public static switch_status_t switch_core_mime_add_type(string type, string ext) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")] - public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2); + public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name); + SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")] - public static extern IntPtr switch_hash_next(HandleRef jarg1); + public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) { + IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")] - public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + public static SWIGTYPE_p_switch_time_t switch_micro_time_now() { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_micro_time_now(), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")] - public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5); + public static void switch_core_memory_reclaim() { + freeswitchPINVOKE.switch_core_memory_reclaim(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")] - public static extern int switch_core_timer_next(HandleRef jarg1); + public static void switch_core_memory_reclaim_events() { + freeswitchPINVOKE.switch_core_memory_reclaim_events(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")] - public static extern int switch_core_timer_step(HandleRef jarg1); + public static void switch_core_memory_reclaim_logger() { + freeswitchPINVOKE.switch_core_memory_reclaim_logger(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")] - public static extern int switch_core_timer_sync(HandleRef jarg1); + public static void switch_core_memory_reclaim_all() { + freeswitchPINVOKE.switch_core_memory_reclaim_all(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")] - public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2); + public static void switch_core_setrlimits() { + freeswitchPINVOKE.switch_core_setrlimits(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")] - public static extern int switch_core_timer_destroy(HandleRef jarg1); + public static void switch_time_sync() { + freeswitchPINVOKE.switch_time_sync(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")] - public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9); + public static SWIGTYPE_p_time_t switch_epoch_time_now(SWIGTYPE_p_time_t t) { + SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_epoch_time_now(SWIGTYPE_p_time_t.getCPtr(t)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")] - public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")] - public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); + public static switch_status_t switch_time_exp_tz_name(string tz, SWIGTYPE_p_switch_time_exp_t tm, SWIGTYPE_p_switch_time_t thetime) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_time_exp_tz_name(tz, SWIGTYPE_p_switch_time_exp_t.getCPtr(tm), SWIGTYPE_p_switch_time_t.getCPtr(thetime)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")] - public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); + public static void switch_load_network_lists(switch_bool_t reload) { + freeswitchPINVOKE.switch_load_network_lists((int)reload); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")] - public static extern int switch_core_codec_destroy(HandleRef jarg1); + public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")] - public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2); + public static void switch_time_set_monotonic(switch_bool_t enable) { + freeswitchPINVOKE.switch_time_set_monotonic((int)enable); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")] - public static extern void switch_core_session_unset_read_codec(HandleRef jarg1); + public static uint switch_core_max_dtmf_duration(uint duration) { + uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")] - public static extern void switch_core_session_unset_write_codec(HandleRef jarg1); + public static uint switch_core_default_dtmf_duration(uint duration) { + uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")] - public static extern void switch_core_session_lock_codec_write(HandleRef jarg1); + public static switch_status_t switch_console_set_complete(string arg0) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")] - public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1); + public static switch_status_t switch_console_set_alias(string arg0) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")] - public static extern void switch_core_session_lock_codec_read(HandleRef jarg1); + public static int switch_system(string cmd, switch_bool_t wait) { + int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")] - public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1); + public static void switch_cond_yield(SWIGTYPE_p_switch_interval_time_t t) { + freeswitchPINVOKE.switch_cond_yield(SWIGTYPE_p_switch_interval_time_t.getCPtr(t)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")] - public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2); + public static void switch_cond_next() { + freeswitchPINVOKE.switch_cond_next(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")] - public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_chat_send(string name, string proto, string from, string to, string subject, string body, string type, string hint) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(name, proto, from, to, subject, body, type, hint); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")] - public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2); + public static void switch_console_loop() { + freeswitchPINVOKE.switch_console_loop(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")] - public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")] - public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")] - public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1); + public static int switch_toupper(int c) { + int ret = freeswitchPINVOKE.switch_toupper(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")] - public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2); + public static int switch_tolower(int c) { + int ret = freeswitchPINVOKE.switch_tolower(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")] - public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1); + public static int switch_isalnum(int c) { + int ret = freeswitchPINVOKE.switch_isalnum(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")] - public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1); + public static int switch_isalpha(int c) { + int ret = freeswitchPINVOKE.switch_isalpha(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")] - public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2); + public static int switch_iscntrl(int c) { + int ret = freeswitchPINVOKE.switch_iscntrl(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")] - public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1); + public static int switch_isdigit(int c) { + int ret = freeswitchPINVOKE.switch_isdigit(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")] - public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2); + public static int switch_isgraph(int c) { + int ret = freeswitchPINVOKE.switch_isgraph(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")] - public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1); + public static int switch_islower(int c) { + int ret = freeswitchPINVOKE.switch_islower(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")] - public static extern IntPtr switch_core_db_open_file(string jarg1); + public static int switch_isprint(int c) { + int ret = freeswitchPINVOKE.switch_isprint(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")] - public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3); + public static int switch_ispunct(int c) { + int ret = freeswitchPINVOKE.switch_ispunct(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")] - public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + public static int switch_isspace(int c) { + int ret = freeswitchPINVOKE.switch_isspace(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")] - public static extern string SWITCH_CORE_DB_get(); + public static int switch_isupper(int c) { + int ret = freeswitchPINVOKE.switch_isupper(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")] - public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9); + public static int switch_isxdigit(int c) { + int ret = freeswitchPINVOKE.switch_isxdigit(c); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")] - public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_bool_t switch_is_moh(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")] - public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")] - public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4); + public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")] - public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3); + public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) { + string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")] - public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3); + public static switch_bool_t switch_is_digit_string(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")] - public static extern int switch_core_file_close(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")] - public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7); + public static switch_status_t switch_find_local_ip(string buf, int len, int family) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")] - public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3); + public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) { + string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")] - public static extern void switch_core_speech_flush_tts(HandleRef jarg1); + public static ushort get_port(SWIGTYPE_p_sockaddr sa) { + ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")] - public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3); + public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) { + int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")] - public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3); + public static string switch_priority_name(switch_priority_t priority) { + string ret = freeswitchPINVOKE.switch_priority_name((int)priority); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")] - public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3); + public static char switch_rfc2833_to_char(int arg0) { + char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")] - public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); + public static byte switch_char_to_rfc2833(char key) { + byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")] - public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2); + public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")] - public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); + public static switch_bool_t switch_string_var_check_const(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check_const(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")] - public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2); + public static string switch_var_clean_string(string s) { + string ret = freeswitchPINVOKE.switch_var_clean_string(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")] - public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4); + public static string switch_clean_string(string s) { + string ret = freeswitchPINVOKE.switch_clean_string(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")] - public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2); + public static string switch_safe_strdup(string it) { + string ret = freeswitchPINVOKE.switch_safe_strdup(it); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")] - public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3); + public static string switch_lc_strdup(string it) { + string ret = freeswitchPINVOKE.switch_lc_strdup(it); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")] - public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3); + public static string switch_uc_strdup(string it) { + string ret = freeswitchPINVOKE.switch_uc_strdup(it); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")] - public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2); + public static switch_bool_t switch_strstr(string s, string q) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")] - public static extern int switch_core_asr_pause(HandleRef jarg1); + public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")] - public static extern int switch_core_asr_resume(HandleRef jarg1); + public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) { + uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")] - public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + public static switch_bool_t switch_is_number(string str) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")] - public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3); + public static string switch_strip_spaces(string str) { + string ret = freeswitchPINVOKE.switch_strip_spaces(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")] - public static extern int switch_core_directory_next(HandleRef jarg1); + public static string switch_separate_paren_args(string str) { + string ret = freeswitchPINVOKE.switch_separate_paren_args(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")] - public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); + public static string switch_stristr(string instr, string str) { + string ret = freeswitchPINVOKE.switch_stristr(instr, str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")] - public static extern int switch_core_directory_close(HandleRef jarg1); + public static switch_bool_t switch_is_lan_addr(string ip) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")] - public static extern IntPtr switch_core_data_channel(int jarg1); + public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) { + string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")] - public static extern int switch_core_ready(); + public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")] - public static extern uint switch_core_flags(); + public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) { + string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")] - public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4); + public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) { + int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")] - public static extern int set_high_priority(); + public static string switch_cut_path(string arg0) { + string ret = freeswitchPINVOKE.switch_cut_path(arg0); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")] - public static extern int change_user_group(string jarg1, string jarg2); + public static string switch_string_replace(string arg0, string search, string replace) { + string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")] - public static extern void switch_core_runtime_loop(int jarg1); + public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")] - public static extern int switch_core_set_console(string jarg1); + public static uint switch_url_encode(string url, string buf, uint len) { + uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")] - public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2); + public static string switch_url_decode(string s) { + string ret = freeswitchPINVOKE.switch_url_decode(s); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")] - public static extern IntPtr switch_core_uptime(); + public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")] - public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2); + public static string switch_find_end_paren(string s, char open, char close) { + string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")] - public static extern IntPtr switch_core_get_console(); + public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) { + int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")] - public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")] - public static extern void switch_core_set_globals(); + public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")] - public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")] - public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2); + public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")] - public static extern IntPtr switch_core_mime_index(); + public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number); + switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")] - public static extern string switch_core_mime_ext2type(string jarg1); + public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")] - public static extern int switch_core_mime_add_type(string jarg1, string jarg2); + public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) { + freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")] - public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2); + public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) { + string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")] - public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2); + public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")] - public static extern IntPtr switch_micro_time_now(); + public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")] - public static extern void switch_core_memory_reclaim(); + public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")] - public static extern void switch_core_memory_reclaim_events(); + public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) { + freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")] - public static extern void switch_core_memory_reclaim_logger(); + public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")] - public static extern void switch_core_memory_reclaim_all(); + public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")] - public static extern void switch_core_setrlimits(); + public static byte switch_channel_ready(SWIGTYPE_p_switch_channel channel) { + byte ret = freeswitchPINVOKE.switch_channel_ready(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")] - public static extern void switch_time_sync(); + public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) { + freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")] - public static extern IntPtr switch_epoch_time_now(HandleRef jarg1); + public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")] - public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5); + public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")] - public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")] - public static extern void switch_load_network_lists(int jarg1); + public static switch_call_cause_t switch_channel_str2cause(string str) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")] - public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3); + public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")] - public static extern void switch_time_set_monotonic(int jarg1); + public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")] - public static extern uint switch_core_max_dtmf_duration(uint jarg1); + public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")] - public static extern uint switch_core_default_dtmf_duration(uint jarg1); + public static string switch_channel_cause2str(switch_call_cause_t cause) { + string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")] - public static extern int switch_console_set_complete(string jarg1); + public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")] - public static extern int switch_console_set_alias(string jarg1); + public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_system")] - public static extern int switch_system(string jarg1, int jarg2); + public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, switch_channel_flag_t flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, (int)flag); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")] - public static extern void switch_cond_yield(HandleRef jarg1); + public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) { + freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")] - public static extern void switch_cond_next(); + public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")] - public static extern int switch_core_chat_send(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8); + public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")] - public static extern int SWITCH_CMD_CHUNK_LEN_get(); + public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")] - public static extern void switch_console_loop(); + public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")] - public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")] - public static extern int switch_toupper(int jarg1); + public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")] - public static extern int switch_tolower(int jarg1); + public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")] - public static extern int switch_isalnum(int jarg1); + public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) { + string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")] - public static extern int switch_isalpha(int jarg1); + public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")] - public static extern int switch_iscntrl(int jarg1); + public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")] - public static extern int switch_isdigit(int jarg1); + public static switch_status_t switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")] - public static extern int switch_isgraph(int jarg1); + public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) { + string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")] - public static extern int switch_islower(int jarg1); + public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) { + string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")] - public static extern int switch_isprint(int jarg1); + public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")] - public static extern int switch_ispunct(int jarg1); + public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")] - public static extern int switch_isspace(int jarg1); + public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")] - public static extern int switch_isupper(int jarg1); + public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) { + freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")] - public static extern int switch_isxdigit(int jarg1); + public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")] - public static extern int SWITCH_SMAX_get(); + public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")] - public static extern int SWITCH_SMIN_get(); + public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")] - public static extern int switch_is_moh(string jarg1); + public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")] - public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")] - public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3); + public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")] - public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3); + public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")] - public static extern int switch_is_digit_string(string jarg1); + public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")] - public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3); + public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")] - public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3); + public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_get_addr")] - public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_get_port")] - public static extern ushort get_port(HandleRef jarg1); + public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")] - public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6); + public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")] - public static extern string switch_priority_name(int jarg1); + public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { + int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")] - public static extern char switch_rfc2833_to_char(int jarg1); + public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { + freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")] - public static extern byte switch_char_to_rfc2833(char jarg1); + public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index); + switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")] - public static extern int switch_string_var_check(string jarg1, int jarg2); + public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")] - public static extern int switch_string_var_check_const(string jarg1); + public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")] - public static extern string switch_var_clean_string(string jarg1); + public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")] - public static extern string switch_clean_string(string jarg1); + public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) { + string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")] - public static extern string switch_safe_strdup(string jarg1); + public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")] - public static extern string switch_lc_strdup(string jarg1); + public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")] - public static extern string switch_uc_strdup(string jarg1); + public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")] - public static extern int switch_strstr(string jarg1, string jarg2); + public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")] - public static extern IntPtr switch_str_time(string jarg1); + public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")] - public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4); + public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")] - public static extern int switch_is_number(string jarg1); + public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")] - public static extern string switch_strip_spaces(string jarg1); + public static string switch_channel_state_name(switch_channel_state_t state) { + string ret = freeswitchPINVOKE.switch_channel_state_name((int)state); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")] - public static extern string switch_separate_paren_args(string jarg1); + public static switch_channel_state_t switch_channel_name_state(string name) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")] - public static extern string switch_stristr(string jarg1, string jarg2); + public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")] - public static extern int switch_is_lan_addr(string jarg1); + public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")] - public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4); + public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")] - public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3); + public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) { + string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")] - public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4); + public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) { + string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")] - public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2); + public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")] - public static extern string switch_cut_path(string jarg1); + public static void switch_channel_audio_sync(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")] - public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3); + public static void switch_channel_set_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_set_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")] - public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4); + public static void switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")] - public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3); + public static int switch_channel_test_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + int ret = freeswitchPINVOKE.switch_channel_test_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")] - public static extern string switch_url_decode(string jarg1); + public static void switch_channel_set_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_set_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")] - public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5); + public static void switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")] - public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3); + public static int switch_channel_test_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + int ret = freeswitchPINVOKE.switch_channel_test_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")] - public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")] - public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3); + public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")] - public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4); + public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) { + freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")] - public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")] - public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3); + public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")] - public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2); + public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")] - public static extern string switch_caller_profile_username_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")] - public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2); + public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")] - public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")] - public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2); + public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")] - public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_buffer_read_loop(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read_loop(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")] - public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2); + public static void switch_buffer_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) { + freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")] - public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_buffer_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")] - public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2); + public static SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")] - public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1); + public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")] - public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2); + public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")] - public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")] - public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")] - public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1); + public static switch_status_t switch_event_shutdown() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")] - public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")] - public static extern string switch_caller_profile_ani_get(HandleRef jarg1); + public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")] - public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2); + public static string switch_event_get_header(switch_event arg0, string header_name) { + string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")] - public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1); + public static string switch_event_get_body(switch_event arg0) { + string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")] - public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")] - public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1); + public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")] - public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2); + public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) { + freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")] - public static extern string switch_caller_profile_aniii_get(HandleRef jarg1); + public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")] - public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")] - public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1); + public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")] - public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")] - public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1); + public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")] - public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")] - public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1); + public static string switch_event_name(switch_event_types_t arg0) { + string ret = freeswitchPINVOKE.switch_event_name((int)arg0); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")] - public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")] - public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1); + public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")] - public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")] - public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1); + public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")] - public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_event_running() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")] - public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1); + public static string switch_event_expand_headers(switch_event arg0, string arg1) { + string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")] - public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")] - public static extern string switch_caller_profile_source_get(HandleRef jarg1); + public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) { + freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")] - public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2); + public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) { + string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")] - public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1); + public static switch_status_t switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")] - public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2); + public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) { + freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")] - public static extern string switch_caller_profile_uuid_get(HandleRef jarg1); + public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) { + uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")] - public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2); + public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")] - public static extern string switch_caller_profile_context_get(HandleRef jarg1); + public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) { + int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")] - public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2); + public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) { + int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")] - public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1); + public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) { + int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")] - public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2); + public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) { + freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")] - public static extern uint switch_caller_profile_flags_get(HandleRef jarg1); + public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) { + freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")] - public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) { + freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")] - public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1); + public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) { + uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")] - public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_mux_channels(SWIGTYPE_p_short data, uint samples, uint channels) { + freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), samples, channels); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")] - public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1); + public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")] - public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")] - public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1); + public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")] - public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2); + public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) { + int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")] - public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1); + public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) { + int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")] - public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")] - public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1); + public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")] - public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")] - public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1); + public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_bool_t sync, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, (int)sync, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")] - public static extern IntPtr new_switch_caller_profile(); + public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")] - public static extern void delete_switch_caller_profile(HandleRef jarg1); + public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")] - public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")] - public static extern string switch_caller_application_application_name_get(HandleRef jarg1); + public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")] - public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")] - public static extern string switch_caller_application_application_data_get(HandleRef jarg1); + public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")] - public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")] - public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1); + public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")] - public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")] - public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1); + public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")] - public static extern IntPtr new_switch_caller_application(); + public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")] - public static extern void delete_switch_caller_application(HandleRef jarg1); + public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")] - public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")] - public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1); + public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")] - public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")] - public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1); + public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")] - public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")] - public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1); + public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")] - public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { + freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")] - public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1); + public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")] - public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")] - public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1); + public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")] - public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")] - public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1); + public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")] - public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")] - public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1); + public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, var_name, digit_buffer, digit_buffer_length, digits_regex); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")] - public static extern IntPtr new_switch_caller_extension(); + public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")] - public static extern void delete_switch_caller_extension(HandleRef jarg1); + public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")] - public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3); + public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")] - public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")] - public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); + public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")] - public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")] - public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12); + public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")] - public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2); + public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")] - public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2); + public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")] - public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3); + public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")] - public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_media(string uuid, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")] - public static extern IntPtr switch_frame_codec_get(HandleRef jarg1); + public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")] - public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")] - public static extern string switch_frame_source_get(HandleRef jarg1); + public static switch_status_t switch_ivr_unhold_uuid(string uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")] - public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")] - public static extern IntPtr switch_frame_packet_get(HandleRef jarg1); + public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")] - public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2); + public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")] - public static extern uint switch_frame_packetlen_get(HandleRef jarg1); + public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")] - public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")] - public static extern IntPtr switch_frame_data_get(HandleRef jarg1); + public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")] - public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")] - public static extern uint switch_frame_datalen_get(HandleRef jarg1); + public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")] - public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")] - public static extern uint switch_frame_buflen_get(HandleRef jarg1); + public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")] - public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")] - public static extern uint switch_frame_samples_get(HandleRef jarg1); + public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) { + IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")] - public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")] - public static extern uint switch_frame_rate_get(HandleRef jarg1); + public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")] - public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2); + public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")] - public static extern byte switch_frame_payload_get(HandleRef jarg1); + public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")] - public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")] - public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1); + public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")] - public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2); + public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")] - public static extern ushort switch_frame_seq_get(HandleRef jarg1); + public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")] - public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")] - public static extern uint switch_frame_ssrc_get(HandleRef jarg1); + public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")] - public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2); + public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")] - public static extern int switch_frame_m_get(HandleRef jarg1); + public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")] - public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2); + public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) { + freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")] - public static extern uint switch_frame_flags_get(HandleRef jarg1); + public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")] - public static extern IntPtr new_switch_frame(); + public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) { + freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")] - public static extern void delete_switch_frame(HandleRef jarg1); + public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")] - public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")] - public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1); + public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")] - public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")] - public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1); + public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")] - public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")] - public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1); + public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")] - public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2); + public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) { + switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")] - public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1); + public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) { + switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")] - public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")] - public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1); + public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")] - public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) { + freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")] - public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1); + public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) { + freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")] - public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_shutdown() { + freeswitchPINVOKE.switch_rtp_shutdown(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")] - public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1); + public static ushort switch_rtp_set_start_port(ushort port) { + ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")] - public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2); + public static ushort switch_rtp_set_end_port(ushort port) { + ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")] - public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1); + public static ushort switch_rtp_request_port(string ip) { + ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")] - public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_release_port(string ip, ushort port) { + freeswitchPINVOKE.switch_rtp_release_port(ip, port); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")] - public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1); + public static switch_status_t switch_rtp_change_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_change_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")] - public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")] - public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")] - public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")] - public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1); + public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) { + string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")] - public static extern IntPtr new_switch_state_handler_table(); + public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) { + ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")] - public static extern void delete_switch_state_handler_table(HandleRef jarg1); + public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")] - public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) { + freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")] - public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1); + public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")] - public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")] - public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1); + public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")] - public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2); + public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) { + byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")] - public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1); + public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")] - public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")] - public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1); + public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")] - public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")] - public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1); + public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")] - public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")] - public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")] - public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, uint samples_per_interval) { + freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")] - public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1); + public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")] - public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) { + freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")] - public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1); + public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")] - public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) { + freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")] - public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1); + public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")] - public static extern IntPtr new_switch_stream_handle(); + public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")] - public static extern void delete_switch_stream_handle(HandleRef jarg1); + public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")] - public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")] - public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1); + public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")] - public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")] - public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1); + public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")] - public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2); + public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")] - public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1); + public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")] - public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")] - public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1); + public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) { + int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")] - public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); + public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) { + int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")] - public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1); + public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")] - public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) { + freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")] - public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1); + public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) { + freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")] - public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) { + freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")] - public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1); + public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")] - public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")] - public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1); + public static void switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_bug_flag_t bugs) { + freeswitchPINVOKE.switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)bugs); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")] - public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")] - public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1); + public static switch_status_t switch_log_shutdown() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")] - public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")] - public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1); + public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_set")] - public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); + public static string switch_log_level2str(switch_log_level_t level) { + string ret = freeswitchPINVOKE.switch_log_level2str((int)level); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")] - public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1); + public static switch_log_level_t switch_log_str2level(string str) { + switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")] - public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2); + public static uint switch_log_str2mask(string str) { + uint ret = freeswitchPINVOKE.switch_log_str2mask(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")] - public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1); + public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")] - public static extern IntPtr new_switch_io_routines(); + public static switch_xml switch_xml_parse_fd(int fd) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")] - public static extern void delete_switch_io_routines(HandleRef jarg1); + public static switch_xml switch_xml_parse_file(string file) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")] - public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2); + public static switch_xml switch_xml_parse_file_simple(string file) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")] - public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1); + public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")] - public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")] - public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1); + public static switch_xml switch_xml_child(switch_xml xml, string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")] - public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2); + public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")] - public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1); + public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")] - public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2); + public static string switch_xml_attr(switch_xml xml, string attr) { + string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")] - public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1); + public static string switch_xml_attr_soft(switch_xml xml, string attr) { + string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")] - public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + public static switch_xml switch_xml_get(switch_xml xml) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")] - public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1); + public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) { + string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")] - public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2); + public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) { + string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")] - public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1); + public static void switch_xml_free(switch_xml xml) { + freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")] - public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) { + freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")] - public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1); + public static string switch_xml_error(switch_xml xml) { + string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")] - public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + public static switch_xml switch_xml_new(string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")] - public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1); + public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")] - public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")] - public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1); + public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")] - public static extern IntPtr new_switch_endpoint_interface(); + public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")] - public static extern void delete_switch_endpoint_interface(HandleRef jarg1); + public static switch_xml switch_xml_cut(switch_xml xml) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")] - public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2); + public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")] - public static extern int switch_timer_interval_get(HandleRef jarg1); + public static switch_xml switch_xml_open_root(byte reload, ref string err) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")] - public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")] - public static extern uint switch_timer_flags_get(HandleRef jarg1); + public static switch_status_t switch_xml_destroy() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")] - public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2); + public static switch_xml switch_xml_root() { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_root(); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")] - public static extern uint switch_timer_samples_get(HandleRef jarg1); + public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")] - public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2); + public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")] - public static extern uint switch_timer_samplecount_get(HandleRef jarg1); + public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")] - public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")] - public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1); + public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")] - public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")] - public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1); + public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) { + freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")] - public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2); + public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) { + freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")] - public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1); + public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) { + uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")] - public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2); + public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")] - public static extern IntPtr switch_timer_diff_get(HandleRef jarg1); + public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")] - public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")] - public static extern IntPtr switch_timer_tick_get(HandleRef jarg1); + public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")] - public static extern IntPtr new_switch_timer(); + public static uint switch_xml_parse_section_string(string str) { + uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")] - public static extern void delete_switch_timer(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")] - public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")] - public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")] - public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")] - public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")] - public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")] - public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")] - public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")] - public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")] - public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")] - public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")] - public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")] - public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")] - public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")] - public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")] - public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")] - public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")] - public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")] - public static extern int switch_timer_interface_refs_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")] - public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")] - public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")] - public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")] - public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")] - public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")] - public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")] - public static extern IntPtr new_switch_timer_interface(); + public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")] - public static extern void delete_switch_timer_interface(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")] - public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2); + public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")] - public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")] - public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")] - public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")] - public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")] - public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")] - public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2); + public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")] - public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")] - public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")] - public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")] - public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")] - public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1); + public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")] - public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")] - public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1); + public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) { + uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")] - public static extern IntPtr new_switch_dialplan_interface(); + public static uint switch_scheduler_del_task_id(uint task_id) { + uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")] - public static extern void delete_switch_dialplan_interface(HandleRef jarg1); + public static uint switch_scheduler_del_task_group(string group) { + uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")] - public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2); + public static void switch_scheduler_task_thread_start() { + freeswitchPINVOKE.switch_scheduler_task_thread_start(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")] - public static extern string switch_file_interface_interface_name_get(HandleRef jarg1); + public static void switch_scheduler_task_thread_stop() { + freeswitchPINVOKE.switch_scheduler_task_thread_stop(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")] - public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2); + public static int switch_config_open_file(switch_config cfg, string file_path) { + int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")] - public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1); + public static void switch_config_close_file(switch_config cfg) { + freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")] - public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2); + public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) { + int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")] - public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1); + public static void consoleLog(string level_str, string msg) { + freeswitchPINVOKE.consoleLog(level_str, msg); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")] - public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2); + public static void consoleCleanLog(string msg) { + freeswitchPINVOKE.consoleCleanLog(msg); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")] - public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1); + public static void console_log(string level_str, string msg) { + freeswitchPINVOKE.console_log(level_str, msg); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")] - public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2); + public static void console_clean_log(string msg) { + freeswitchPINVOKE.console_clean_log(msg); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")] - public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1); + public static void msleep(uint ms) { + freeswitchPINVOKE.msleep(ms); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")] - public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2); + public static void bridge(CoreSession session_a, CoreSession session_b) { + freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")] - public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1); + public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")] - public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2); + public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")] - public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")] - public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")] - public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")] - public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")] - public static extern string switch_file_interface_extens_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")] - public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")] - public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")] - public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")] - public static extern int switch_file_interface_refs_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")] - public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")] - public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")] - public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")] - public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")] - public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")] - public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")] - public static extern IntPtr new_switch_file_interface(); - - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")] - public static extern void delete_switch_file_interface(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")] - public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")] - public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")] - public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")] - public static extern uint switch_file_handle_flags_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")] - public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")] - public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")] - public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")] - public static extern uint switch_file_handle_samples_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")] - public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")] - public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")] - public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")] - public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")] - public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")] - public static extern byte switch_file_handle_channels_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")] - public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")] - public static extern uint switch_file_handle_format_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")] - public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")] - public static extern uint switch_file_handle_sections_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")] - public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")] - public static extern int switch_file_handle_seekable_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")] - public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")] - public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")] - public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")] - public static extern int switch_file_handle_speed_get(HandleRef jarg1); + public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get(); + public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get(); + public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get(); + public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get(); + public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get(); + public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get(); + public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get(); + public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get(); + public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get(); + public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get(); + public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); + public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get(); + public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get(); + public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get(); + public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get(); + public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get(); + public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get(); + public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get(); + public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get(); + public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get(); + public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get(); + public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get(); + public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get(); + public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get(); + public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get(); + public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get(); + public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get(); + public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get(); + public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get(); + public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get(); + public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get(); + public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get(); + public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get(); + public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get(); + public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get(); + public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get(); + public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get(); + public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get(); + public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get(); + public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get(); + public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get(); + public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get(); + public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get(); + public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get(); + public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get(); + public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get(); + public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get(); + public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get(); + public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get(); + public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get(); + public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get(); + public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get(); + public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get(); + public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get(); + public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get(); + public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get(); + public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get(); + public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); + public static readonly string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE = freeswitchPINVOKE.SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); + public static readonly string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get(); + public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get(); + public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); + public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get(); + public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get(); + public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get(); + public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get(); + public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); + public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get(); + public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); + public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); + public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get(); + public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); + public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); + public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get(); + public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get(); + public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); + public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get(); + public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get(); + public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get(); + public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get(); + public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get(); + public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get(); + public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); + public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); + public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); + public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get(); + public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get(); + public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get(); + public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get(); + public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get(); + public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); + public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get(); + public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get(); + public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get(); + public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get(); + public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get(); + public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get(); + public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get(); + public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get(); + public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get(); + public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get(); + public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get(); + public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); + public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get(); + public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get(); + public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get(); + public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get(); + public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get(); + public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get(); + public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get(); + public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get(); + public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get(); + public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get(); + public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get(); + public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get(); + public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get(); + public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get(); + public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get(); + public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get(); + public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get(); + public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get(); + public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get(); + public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get(); + public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get(); + public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get(); + public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get(); + public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get(); + public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get(); + public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get(); + public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get(); + public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get(); + public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get(); + public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get(); + public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get(); + public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); + public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get(); + public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get(); + public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get(); + public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get(); + public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get(); + public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get(); + public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get(); + public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get(); + public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get(); + public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get(); + public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get(); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")] - public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")] - public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")] - public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")] - public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1); +class freeswitchPINVOKE { - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")] - public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2); + protected class SWIGExceptionHelper { - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")] - public static extern uint switch_file_handle_interval_get(HandleRef jarg1); + public delegate void ExceptionDelegate(string message); + public delegate void ExceptionArgumentDelegate(string message, string paramName); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")] - public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException); + static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException); + static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException); + static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException); + static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException); + static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException); + static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException); + static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException); + static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException); + static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException); + static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")] - public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1); + static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException); + static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException); + static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")] - public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")] + public static extern void SWIGRegisterExceptionCallbacks_freeswitch( + ExceptionDelegate applicationDelegate, + ExceptionDelegate arithmeticDelegate, + ExceptionDelegate divideByZeroDelegate, + ExceptionDelegate indexOutOfRangeDelegate, + ExceptionDelegate invalidCastDelegate, + ExceptionDelegate invalidOperationDelegate, + ExceptionDelegate ioDelegate, + ExceptionDelegate nullReferenceDelegate, + ExceptionDelegate outOfMemoryDelegate, + ExceptionDelegate overflowDelegate, + ExceptionDelegate systemExceptionDelegate); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")] - public static extern string switch_file_handle_handler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")] + public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch( + ExceptionArgumentDelegate argumentDelegate, + ExceptionArgumentDelegate argumentNullDelegate, + ExceptionArgumentDelegate argumentOutOfRangeDelegate); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")] - public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2); + static void SetPendingApplicationException(string message) { + SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingArithmeticException(string message) { + SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingDivideByZeroException(string message) { + SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingIndexOutOfRangeException(string message) { + SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingInvalidCastException(string message) { + SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingInvalidOperationException(string message) { + SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingIOException(string message) { + SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingNullReferenceException(string message) { + SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingOutOfMemoryException(string message) { + SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingOverflowException(string message) { + SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingSystemException(string message) { + SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve())); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")] - public static extern long switch_file_handle_pos_get(HandleRef jarg1); + static void SetPendingArgumentException(string message, string paramName) { + SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve())); + } + static void SetPendingArgumentNullException(string message, string paramName) { + Exception e = SWIGPendingException.Retrieve(); + if (e != null) message = message + " Inner Exception: " + e.Message; + SWIGPendingException.Set(new System.ArgumentNullException(paramName, message)); + } + static void SetPendingArgumentOutOfRangeException(string message, string paramName) { + Exception e = SWIGPendingException.Retrieve(); + if (e != null) message = message + " Inner Exception: " + e.Message; + SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message)); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")] - public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); + static SWIGExceptionHelper() { + SWIGRegisterExceptionCallbacks_freeswitch( + applicationDelegate, + arithmeticDelegate, + divideByZeroDelegate, + indexOutOfRangeDelegate, + invalidCastDelegate, + invalidOperationDelegate, + ioDelegate, + nullReferenceDelegate, + outOfMemoryDelegate, + overflowDelegate, + systemDelegate); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")] - public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1); + SWIGRegisterExceptionCallbacksArgument_freeswitch( + argumentDelegate, + argumentNullDelegate, + argumentOutOfRangeDelegate); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")] - public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); + protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")] - public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1); + public class SWIGPendingException { + [ThreadStatic] + private static Exception pendingException = null; + private static int numExceptionsPending = 0; - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")] - public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2); + public static bool Pending { + get { + bool pending = false; + if (numExceptionsPending > 0) + if (pendingException != null) + pending = true; + return pending; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")] - public static extern uint switch_file_handle_thresh_get(HandleRef jarg1); + public static void Set(Exception e) { + if (pendingException != null) + throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e); + pendingException = e; + lock(typeof(freeswitchPINVOKE)) { + numExceptionsPending++; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")] - public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2); + public static Exception Retrieve() { + Exception e = null; + if (numExceptionsPending > 0) { + if (pendingException != null) { + e = pendingException; + pendingException = null; + lock(typeof(freeswitchPINVOKE)) { + numExceptionsPending--; + } + } + } + return e; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")] - public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")] - public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2); + protected class SWIGStringHelper { - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")] - public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1); + public delegate string SWIGStringDelegate(string message); + static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")] - public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")] + public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")] - public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1); + static string CreateString(string cString) { + return cString; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")] - public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2); + static SWIGStringHelper() { + SWIGRegisterStringCallback_freeswitch(stringDelegate); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")] - public static extern int switch_file_handle_vol_get(HandleRef jarg1); + static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")] - public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")] - public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")] + public static extern string FREESWITCH_PEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")] - public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")] + public static extern string FREESWITCH_OID_PREFIX_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")] - public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")] + public static extern string FREESWITCH_ITAD_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")] - public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")] + public static extern int __EXTENSIONS___get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")] - public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")] + public static extern int __BSD_VISIBLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")] - public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")] + public static extern string SWITCH_BLANK_STRING_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")] - public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")] + public static extern string SWITCH_SEQ_ESC_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")] - public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")] + public static extern char SWITCH_SEQ_HOME_CHAR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")] - public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")] + public static extern string SWITCH_SEQ_HOME_CHAR_STR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")] - public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")] + public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")] - public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")] + public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")] - public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")] + public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")] - public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")] + public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")] - public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")] + public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")] - public static extern string switch_file_handle_file_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")] + public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")] - public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")] + public static extern string SWITCH_SEQ_AND_COLOR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")] - public static extern string switch_file_handle_func_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")] + public static extern string SWITCH_SEQ_END_COLOR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")] - public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")] + public static extern string SWITCH_SEQ_F_BLACK_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")] - public static extern int switch_file_handle_line_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")] + public static extern string SWITCH_SEQ_F_RED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")] - public static extern IntPtr new_switch_file_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")] + public static extern string SWITCH_SEQ_F_GREEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")] - public static extern void delete_switch_file_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")] + public static extern string SWITCH_SEQ_F_YELLOW_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")] - public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")] + public static extern string SWITCH_SEQ_F_BLUE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")] - public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")] + public static extern string SWITCH_SEQ_F_MAGEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")] - public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")] + public static extern string SWITCH_SEQ_F_CYAN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")] - public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")] + public static extern string SWITCH_SEQ_F_WHITE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")] - public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")] + public static extern string SWITCH_SEQ_B_BLACK_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")] - public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")] + public static extern string SWITCH_SEQ_B_RED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")] - public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")] + public static extern string SWITCH_SEQ_B_GREEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")] - public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")] + public static extern string SWITCH_SEQ_B_YELLOW_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")] - public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")] + public static extern string SWITCH_SEQ_B_BLUE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")] - public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")] + public static extern string SWITCH_SEQ_B_MAGEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")] - public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")] + public static extern string SWITCH_SEQ_B_CYAN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")] - public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")] + public static extern string SWITCH_SEQ_B_WHITE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")] - public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")] + public static extern string SWITCH_SEQ_FBLACK_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")] - public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")] + public static extern string SWITCH_SEQ_FRED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")] - public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")] + public static extern string SWITCH_SEQ_FGREEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")] - public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")] + public static extern string SWITCH_SEQ_FYELLOW_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")] - public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")] + public static extern string SWITCH_SEQ_FBLUE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")] - public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")] + public static extern string SWITCH_SEQ_FMAGEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")] - public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")] + public static extern string SWITCH_SEQ_FCYAN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")] - public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")] + public static extern string SWITCH_SEQ_FWHITE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")] - public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")] + public static extern string SWITCH_SEQ_BBLACK_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")] - public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")] + public static extern string SWITCH_SEQ_BRED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")] - public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")] + public static extern string SWITCH_SEQ_BGREEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")] - public static extern int switch_asr_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")] + public static extern string SWITCH_SEQ_BYELLOW_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")] - public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")] + public static extern string SWITCH_SEQ_BBLUE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")] - public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")] + public static extern string SWITCH_SEQ_BMAGEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")] - public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")] + public static extern string SWITCH_SEQ_BCYAN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")] - public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")] + public static extern string SWITCH_SEQ_BWHITE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")] - public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")] + public static extern string SWITCH_SEQ_HOME_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")] - public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")] + public static extern string SWITCH_SEQ_CLEARLINE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")] - public static extern IntPtr new_switch_asr_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")] + public static extern string SWITCH_SEQ_CLEARLINEEND_get(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")] - public static extern void delete_switch_asr_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")] + public static extern string SWITCH_SEQ_CLEARSCR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")] - public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")] + public static extern int SWITCH_DEFAULT_DTMF_DURATION_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")] - public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")] + public static extern int SWITCH_MAX_DTMF_DURATION_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")] - public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")] + public static extern string SWITCH_PATH_SEPARATOR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")] - public static extern uint switch_asr_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")] + public static extern string SWITCH_URL_SEPARATOR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")] - public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")] + public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")] - public static extern string switch_asr_handle_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")] - public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")] - public static extern string switch_asr_handle_codec_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")] - public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")] + public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")] - public static extern uint switch_asr_handle_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")] - public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")] + public static extern string SWITCH_READ_RESULT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")] - public static extern string switch_asr_handle_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")] + public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")] - public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")] + public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")] - public static extern string switch_asr_handle_param_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")] - public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")] - public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")] + public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")] - public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")] + public static extern string SWITCH_HOLDING_UUID_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")] - public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")] + public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")] - public static extern IntPtr new_switch_asr_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")] + public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")] - public static extern void delete_switch_asr_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")] + public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")] - public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")] + public static extern string SWITCH_PROCESS_CDR_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")] - public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")] - public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")] - public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")] - public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")] + public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")] - public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")] + public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")] - public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")] + public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")] - public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")] + public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")] - public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")] + public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")] - public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")] + public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")] - public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")] + public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")] - public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")] + public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")] - public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")] + public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")] + public static extern string SWITCH_EXPORT_VARS_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")] - public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")] + public static extern string SWITCH_R_SDP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")] + public static extern string SWITCH_L_SDP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")] - public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")] + public static extern string SWITCH_B_SDP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")] - public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")] - public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")] + public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")] - public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")] + public static extern string SWITCH_ORIGINATOR_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")] - public static extern int switch_speech_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")] + public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")] - public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")] + public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")] - public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")] + public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")] - public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")] + public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")] - public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")] + public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")] - public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")] + public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")] - public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")] + public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")] - public static extern IntPtr new_switch_speech_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")] + public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")] - public static extern void delete_switch_speech_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")] + public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")] - public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")] - public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")] - public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")] + public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")] - public static extern uint switch_speech_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")] + public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")] - public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")] + public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")] - public static extern string switch_speech_handle_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")] + public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")] - public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")] + public static extern string SWITCH_SPEECH_KEY_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")] - public static extern uint switch_speech_handle_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")] + public static extern string SWITCH_UUID_BRIDGE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")] - public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")] + public static extern int SWITCH_BITS_PER_BYTE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")] - public static extern uint switch_speech_handle_speed_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")] + public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")] - public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")] + public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")] - public static extern uint switch_speech_handle_samples_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")] + public static extern char switch_dtmf_t_digit_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")] - public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")] + public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")] - public static extern string switch_speech_handle_voice_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")] + public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")] - public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")] + public static extern IntPtr new_switch_dtmf_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")] - public static extern string switch_speech_handle_engine_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")] + public static extern void delete_switch_dtmf_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")] - public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")] + public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")] - public static extern string switch_speech_handle_param_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")] + public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")] - public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")] + public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")] - public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")] + public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")] - public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")] + public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")] - public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")] + public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")] - public static extern IntPtr new_switch_speech_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")] + public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")] - public static extern void delete_switch_speech_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")] + public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")] - public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")] + public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")] - public static extern string switch_say_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")] + public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")] - public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")] + public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")] - public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")] + public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")] - public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")] + public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")] - public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")] + public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")] - public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")] + public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")] - public static extern int switch_say_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")] + public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")] - public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")] + public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")] - public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")] + public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")] - public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")] + public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")] - public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")] + public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")] - public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")] + public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")] - public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")] + public static extern byte switch_bitpack_t_under_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")] - public static extern IntPtr new_switch_say_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")] + public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")] - public static extern void delete_switch_say_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")] + public static extern byte switch_bitpack_t_over_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")] - public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")] + public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")] - public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")] + public static extern int switch_bitpack_t_mode_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")] - public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")] + public static extern IntPtr new_switch_bitpack_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")] - public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")] + public static extern void delete_switch_bitpack_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")] - public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")] + public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")] - public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")] + public static extern string switch_directories_base_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")] - public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")] + public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")] - public static extern int switch_chat_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")] + public static extern string switch_directories_mod_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")] - public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")] + public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")] - public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")] + public static extern string switch_directories_conf_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")] - public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")] + public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")] - public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")] + public static extern string switch_directories_log_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")] - public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")] + public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")] - public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")] + public static extern string switch_directories_db_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")] - public static extern IntPtr new_switch_chat_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")] + public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")] - public static extern void delete_switch_chat_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")] + public static extern string switch_directories_script_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")] - public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")] + public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")] - public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")] + public static extern string switch_directories_temp_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")] - public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")] + public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")] - public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")] + public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")] - public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")] + public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")] - public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")] + public static extern string switch_directories_grammar_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")] - public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")] + public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")] - public static extern int switch_management_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")] + public static extern string switch_directories_storage_dir_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")] - public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")] + public static extern IntPtr new_switch_directories(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")] - public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")] + public static extern void delete_switch_directories(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")] - public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")] + public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")] - public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")] + public static extern IntPtr SWITCH_GLOBAL_dirs_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")] - public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")] + public static extern int SWITCH_MAX_STACKS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")] - public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")] + public static extern int SWITCH_THREAD_STACKSIZE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")] - public static extern IntPtr new_switch_management_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")] + public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")] - public static extern void delete_switch_management_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")] + public static extern int SWITCH_MAX_INTERVAL_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")] - public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")] + public static extern int SWITCH_INTERVAL_PAD_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")] - public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")] + public static extern int SWITCH_MAX_SAMPLE_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")] - public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")] + public static extern int SWITCH_BYTES_PER_SAMPLE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")] - public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")] + public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")] - public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")] + public static extern int SWITCH_MAX_CODECS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")] - public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")] + public static extern int SWITCH_MAX_STATE_HANDLERS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")] - public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")] + public static extern int SWITCH_CORE_QUEUE_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")] - public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")] + public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")] - public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")] + public static extern int SWITCH_RTP_CNG_PAYLOAD_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")] - public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")] + public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")] - public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")] + public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")] - public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")] + public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")] - public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")] + public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")] - public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")] + public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")] - public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")] + public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")] - public static extern int switch_directory_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")] + public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")] - public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")] + public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")] - public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")] + public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")] - public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")] + public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")] - public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")] + public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")] - public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")] + public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")] - public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")] + public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")] - public static extern IntPtr new_switch_directory_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")] + public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")] - public static extern void delete_switch_directory_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")] + public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")] - public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")] + public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")] - public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")] + public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")] - public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")] + public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")] - public static extern uint switch_directory_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")] + public static extern IntPtr new_switch_rtp_hdr_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")] - public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")] + public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")] - public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")] + public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")] - public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")] + public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")] - public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")] + public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")] - public static extern IntPtr new_switch_directory_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")] + public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")] - public static extern void delete_switch_directory_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")] + public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")] - public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")] + public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")] - public static extern int switch_codec_settings_quality_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")] + public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")] - public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")] + public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")] - public static extern int switch_codec_settings_complexity_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")] + public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")] - public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")] + public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")] - public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")] + public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")] - public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")] + public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")] - public static extern int switch_codec_settings_vad_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")] + public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")] - public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")] + public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")] - public static extern int switch_codec_settings_vbr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")] + public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")] - public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")] + public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")] - public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")] + public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")] - public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")] + public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")] - public static extern int switch_codec_settings_abr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_set")] + public static extern void switch_t38_options_t_ip_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")] - public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_get")] + public static extern string switch_t38_options_t_ip_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")] - public static extern int switch_codec_settings_dtx_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_set")] + public static extern void switch_t38_options_t_port_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")] - public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_get")] + public static extern uint switch_t38_options_t_port_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")] - public static extern int switch_codec_settings_preproc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")] + public static extern IntPtr new_switch_t38_options_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")] - public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")] + public static extern void delete_switch_t38_options_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")] - public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")] + public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")] - public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")] + public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")] - public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")] + public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")] - public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")] + public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")] - public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")] + public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")] - public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")] + public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")] - public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")] + public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")] - public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")] + public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")] - public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")] + public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")] - public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")] + public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")] - public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")] + public static extern IntPtr new_switch_input_args_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")] - public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")] + public static extern void delete_switch_input_args_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")] - public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")] + public static extern int SWITCH_API_VERSION_get(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")] - public static extern IntPtr new_switch_codec_settings(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")] + public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")] - public static extern void delete_switch_codec_settings(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")] + public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")] - public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")] + public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")] - public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")] + public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")] - public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")] + public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")] - public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")] + public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")] - public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")] + public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")] - public static extern string switch_codec_fmtp_in_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")] + public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")] - public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")] + public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")] - public static extern string switch_codec_fmtp_out_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")] + public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")] - public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")] + public static extern IntPtr new_switch_loadable_module_function_table_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")] - public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")] + public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")] - public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")] + public static extern int switch_core_db_close(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")] - public static extern uint switch_codec_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")] + public static extern int switch_core_db_open(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")] - public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")] + public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")] - public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")] + public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")] - public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")] + public static extern int switch_core_db_column_count(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")] - public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")] + public static extern string switch_core_db_errmsg(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")] - public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")] + public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")] - public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")] + public static extern int switch_core_db_finalize(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")] - public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")] + public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")] - public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")] + public static extern int switch_core_db_step(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")] - public static extern IntPtr new_switch_codec(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")] + public static extern int switch_core_db_reset(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")] - public static extern void delete_switch_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")] + public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")] - public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")] + public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")] - public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")] + public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")] - public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")] + public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")] - public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")] + public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")] - public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")] + public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")] - public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")] + public static extern void switch_core_db_free_table(ref string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")] - public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")] + public static extern void switch_core_db_free(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")] - public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")] + public static extern int switch_core_db_changes(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")] - public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")] + public static extern int SWITCH_CORE_DB_OK_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")] - public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")] + public static extern int SWITCH_CORE_DB_ERROR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")] - public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")] + public static extern int SWITCH_CORE_DB_INTERNAL_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")] - public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")] + public static extern int SWITCH_CORE_DB_PERM_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")] - public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")] + public static extern int SWITCH_CORE_DB_ABORT_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")] - public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")] + public static extern int SWITCH_CORE_DB_BUSY_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")] - public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")] + public static extern int SWITCH_CORE_DB_LOCKED_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")] - public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")] + public static extern int SWITCH_CORE_DB_NOMEM_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")] - public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")] + public static extern int SWITCH_CORE_DB_READONLY_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")] - public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")] + public static extern int SWITCH_CORE_DB_INTERRUPT_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")] - public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")] + public static extern int SWITCH_CORE_DB_IOERR_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")] - public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")] + public static extern int SWITCH_CORE_DB_CORRUPT_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")] - public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")] + public static extern int SWITCH_CORE_DB_NOTFOUND_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")] - public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")] + public static extern int SWITCH_CORE_DB_FULL_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")] - public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")] + public static extern int SWITCH_CORE_DB_CANTOPEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")] - public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")] + public static extern int SWITCH_CORE_DB_PROTOCOL_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")] - public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")] + public static extern int SWITCH_CORE_DB_EMPTY_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")] - public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")] + public static extern int SWITCH_CORE_DB_SCHEMA_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")] - public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")] + public static extern int SWITCH_CORE_DB_TOOBIG_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")] - public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")] + public static extern int SWITCH_CORE_DB_CONSTRAINT_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")] - public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")] + public static extern int SWITCH_CORE_DB_MISMATCH_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")] - public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")] + public static extern int SWITCH_CORE_DB_MISUSE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")] - public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")] + public static extern int SWITCH_CORE_DB_NOLFS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")] - public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")] + public static extern int SWITCH_CORE_DB_AUTH_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")] - public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")] + public static extern int SWITCH_CORE_DB_FORMAT_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")] - public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")] + public static extern int SWITCH_CORE_DB_RANGE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")] - public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")] + public static extern int SWITCH_CORE_DB_NOTADB_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")] - public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")] + public static extern int SWITCH_CORE_DB_ROW_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")] - public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")] + public static extern int SWITCH_CORE_DB_DONE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")] - public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")] + public static extern string switch_mprintf(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")] - public static extern IntPtr new_switch_codec_implementation(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")] + public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")] - public static extern void delete_switch_codec_implementation(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")] + public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")] - public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")] + public static extern void switch_regex_free(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")] - public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")] + public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")] - public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")] + public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")] - public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")] + public static extern int switch_regex_match(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")] - public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")] + public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")] - public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")] + public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")] - public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")] + public static extern int SWITCH_MAX_STREAMS_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")] - public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")] + public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")] - public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")] + public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")] - public static extern int switch_codec_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")] + public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")] - public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")] + public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")] - public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")] + public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")] - public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")] + public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")] - public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")] + public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")] - public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")] + public static extern uint switch_core_time_duration_min_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")] - public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")] + public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")] - public static extern IntPtr new_switch_codec_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")] + public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")] - public static extern void delete_switch_codec_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")] + public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")] - public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")] + public static extern uint switch_core_time_duration_day_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")] - public static extern string switch_application_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")] + public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")] - public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")] + public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")] - public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")] + public static extern IntPtr new_switch_core_time_duration(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")] - public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")] + public static extern void delete_switch_core_time_duration(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")] - public static extern string switch_application_interface_long_desc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")] + public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")] - public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")] + public static extern string switch_app_log_app_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")] - public static extern string switch_application_interface_short_desc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")] + public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")] - public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")] + public static extern string switch_app_log_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")] - public static extern string switch_application_interface_syntax_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")] + public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")] - public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")] + public static extern IntPtr switch_app_log_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")] - public static extern uint switch_application_interface_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")] + public static extern IntPtr new_switch_app_log(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")] - public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")] + public static extern void delete_switch_app_log(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")] - public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")] + public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")] - public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")] + public static extern string switch_core_session_message_from_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")] - public static extern int switch_application_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")] + public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")] - public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")] + public static extern int switch_core_session_message_message_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")] - public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")] + public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")] - public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")] + public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")] - public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")] + public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")] - public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")] + public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")] - public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")] + public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")] - public static extern IntPtr new_switch_application_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")] + public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")] - public static extern void delete_switch_application_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")] + public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")] - public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")] + public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")] - public static extern string switch_api_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")] + public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")] - public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")] + public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")] - public static extern string switch_api_interface_desc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")] + public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")] - public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")] + public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")] - public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")] + public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")] - public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")] + public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")] - public static extern string switch_api_interface_syntax_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")] + public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")] - public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")] + public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")] - public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")] + public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")] - public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")] + public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")] - public static extern int switch_api_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")] + public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")] - public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")] + public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")] - public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")] + public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")] - public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")] + public static extern uint switch_core_session_message_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")] - public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")] + public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")] - public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")] + public static extern string switch_core_session_message__file_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")] - public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")] + public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")] - public static extern IntPtr new_switch_api_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")] + public static extern string switch_core_session_message__func_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")] - public static extern void delete_switch_api_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")] + public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")] - public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")] + public static extern int switch_core_session_message__line_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")] - public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")] + public static extern IntPtr new_switch_core_session_message(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")] - public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")] + public static extern void delete_switch_core_session_message(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")] - public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")] + public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")] - public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")] + public static extern int switch_core_thread_session_running_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")] - public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")] + public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")] - public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")] + public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")] - public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")] + public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")] - public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")] + public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")] - public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")] + public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")] - public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")] + public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")] - public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")] + public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")] - public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")] + public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")] - public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")] + public static extern IntPtr new_switch_core_thread_session(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")] - public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")] + public static extern void delete_switch_core_thread_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")] - public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")] + public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")] - public static extern IntPtr new_switch_channel_timetable(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")] + public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")] - public static extern void delete_switch_channel_timetable(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")] + public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")] - public static extern int switch_channel_get_state(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")] + public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")] - public static extern int switch_channel_get_running_state(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")] + public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_ready")] - public static extern byte switch_channel_ready(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")] + public static extern void switch_core_media_bug_pause(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")] - public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")] + public static extern void switch_core_media_bug_resume(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")] - public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")] + public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")] - public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")] + public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")] - public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")] + public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")] - public static extern int switch_channel_str2cause(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")] + public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")] - public static extern int switch_channel_get_cause(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")] + public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")] - public static extern int switch_channel_cause_q850(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")] + public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")] - public static extern int switch_channel_get_cause_q850(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")] + public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")] - public static extern string switch_channel_cause2str(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")] + public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")] - public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")] + public static extern int switch_core_media_bug_close(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")] - public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")] + public static extern int switch_core_media_bug_remove_all(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")] - public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")] + public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")] - public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")] + public static extern void switch_core_media_bug_flush(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")] - public static extern void switch_channel_uninit(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")] + public static extern int switch_core_media_bug_flush_all(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")] - public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")] + public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")] - public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")] + public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")] - public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")] + public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")] - public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")] + public static extern void switch_core_port_allocator_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")] - public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")] + public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")] - public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")] + public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")] - public static extern string switch_channel_get_uuid(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")] + public static extern uint switch_core_session_limit(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")] - public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")] + public static extern uint switch_core_sessions_per_second(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")] - public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")] + public static extern int switch_core_destroy(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")] - public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")] + public static extern int switch_core_session_read_lock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")] - public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")] + public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")] - public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")] + public static extern void switch_core_session_write_lock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")] - public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")] + public static extern void switch_core_session_rwunlock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")] - public static extern IntPtr switch_channel_variable_first(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")] + public static extern int switch_core_add_state_handler(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")] - public static extern void switch_channel_variable_last(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")] + public static extern void switch_core_remove_state_handler(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")] - public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")] + public static extern IntPtr switch_core_get_state_handler(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")] - public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")] + public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")] - public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")] + public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")] - public static extern void switch_channel_set_flag(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")] + public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")] - public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")] + public static extern void switch_core_session_run(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")] - public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")] + public static extern uint switch_core_session_running(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")] - public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")] + public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")] - public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")] + public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")] - public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")] + public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")] - public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")] + public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")] - public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")] + public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")] - public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")] + public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")] - public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")] + public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")] - public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")] + public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")] - public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")] + public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")] - public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")] + public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, HandleRef jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")] - public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")] + public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")] - public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")] + public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")] - public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")] + public static extern uint switch_core_session_count(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")] - public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")] + public static extern IntPtr switch_core_session_get_id(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")] - public static extern string switch_channel_get_name(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")] + public static extern IntPtr switch_core_session_id(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")] - public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")] + public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")] - public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")] + public static extern int switch_core_session_thread_launch(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")] - public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")] + public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")] - public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")] + public static extern void switch_core_session_signal_state_change(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")] - public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")] + public static extern string switch_core_session_get_uuid(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")] - public static extern void switch_channel_flush_dtmf(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")] + public static extern string switch_core_get_uuid(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")] - public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")] + public static extern IntPtr switch_core_session_locate(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")] - public static extern string switch_channel_state_name(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")] + public static extern string switch_core_get_variable(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")] - public static extern int switch_channel_name_state(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")] + public static extern void switch_core_set_variable(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")] - public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")] + public static extern void switch_core_dump_variables(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")] - public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")] + public static extern void switch_core_session_hupall(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")] - public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")] + public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")] - public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")] + public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")] - public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")] + public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")] - public static extern int switch_channel_set_timestamps(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")] + public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_audio_sync")] - public static extern void switch_channel_audio_sync(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")] + public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")] - public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")] + public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")] - public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")] + public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")] - public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")] + public static extern int switch_core_session_flush_message(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag")] - public static extern void switch_channel_set_app_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")] + public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag")] - public static extern void switch_channel_clear_app_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")] + public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag")] - public static extern int switch_channel_test_app_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")] + public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")] - public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")] + public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")] - public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")] + public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")] - public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")] + public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")] - public static extern void switch_buffer_lock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")] + public static extern IntPtr switch_core_session_get_private(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")] - public static extern int switch_buffer_trylock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")] + public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")] - public static extern void switch_buffer_unlock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")] + public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")] - public static extern IntPtr switch_buffer_len(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")] + public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")] - public static extern IntPtr switch_buffer_freespace(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")] + public static extern int switch_core_session_get_stream_count(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")] - public static extern IntPtr switch_buffer_inuse(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")] + public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")] - public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")] + public static extern void switch_core_thread_session_end(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")] - public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")] + public static extern void switch_core_service_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")] - public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")] + public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")] - public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")] + public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")] - public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")] + public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")] - public static extern void switch_buffer_zero(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")] + public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")] - public static extern void switch_buffer_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")] + public static extern uint switch_core_session_event_count(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")] - public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")] + public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")] - public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")] + public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")] - public static extern string switch_event_header_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")] + public static extern uint switch_core_session_private_event_count(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")] - public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")] + public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")] - public static extern string switch_event_header_value_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")] + public static extern uint switch_core_session_flush_private_events(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")] - public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")] + public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")] - public static extern uint switch_event_header_hash_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")] + public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")] - public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")] + public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")] - public static extern IntPtr switch_event_header_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")] + public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")] - public static extern IntPtr new_switch_event_header(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")] + public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")] - public static extern void delete_switch_event_header(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")] + public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")] - public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")] + public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")] - public static extern int switch_event_event_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")] + public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")] - public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")] + public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")] - public static extern int switch_event_priority_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")] + public static extern int switch_core_hash_init_case(HandleRef jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")] - public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")] + public static extern int switch_core_hash_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")] - public static extern string switch_event_owner_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")] + public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")] - public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")] + public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")] - public static extern string switch_event_subclass_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")] + public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")] - public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")] + public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")] - public static extern IntPtr switch_event_headers_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")] + public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")] - public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")] + public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")] - public static extern IntPtr switch_event_last_header_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")] + public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")] - public static extern void switch_event_body_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")] + public static extern IntPtr switch_hash_next(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")] - public static extern string switch_event_body_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")] + public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")] - public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")] + public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")] - public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")] + public static extern int switch_core_timer_next(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")] - public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")] + public static extern int switch_core_timer_step(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")] - public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")] + public static extern int switch_core_timer_sync(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")] - public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")] + public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")] - public static extern uint switch_event_key_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")] + public static extern int switch_core_timer_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")] - public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")] + public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")] - public static extern IntPtr switch_event_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")] + public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")] - public static extern IntPtr new_switch_event(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")] + public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")] - public static extern void delete_switch_event(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")] + public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")] - public static extern int switch_event_init(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")] + public static extern int switch_core_codec_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")] - public static extern int switch_event_shutdown(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")] + public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")] - public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")] + public static extern void switch_core_session_unset_read_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")] - public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")] + public static extern void switch_core_session_unset_write_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")] - public static extern string switch_event_get_header(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")] + public static extern void switch_core_session_lock_codec_write(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")] - public static extern string switch_event_get_body(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")] + public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")] - public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")] + public static extern void switch_core_session_lock_codec_read(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")] - public static extern int switch_event_del_header(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")] + public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")] - public static extern void switch_event_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")] + public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")] - public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")] + public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")] - public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")] + public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")] - public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")] + public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")] - public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")] + public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")] - public static extern int switch_event_unbind(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")] + public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")] - public static extern int switch_event_unbind_callback(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")] + public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")] - public static extern string switch_event_name(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")] + public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")] - public static extern int switch_name_event(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")] + public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")] - public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")] + public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")] - public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")] + public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")] - public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")] + public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")] - public static extern int switch_event_running(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")] + public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")] - public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")] + public static extern IntPtr switch_core_db_open_file(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")] - public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")] + public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")] - public static extern void switch_event_deliver(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")] + public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")] - public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")] + public static extern string SWITCH_CORE_DB_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")] - public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")] + public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")] - public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")] + public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")] - public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")] + public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")] - public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")] + public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")] - public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")] + public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")] - public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")] + public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")] - public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")] + public static extern int switch_core_file_close(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")] - public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")] + public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")] - public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")] + public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")] - public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")] + public static extern void switch_core_speech_flush_tts(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")] - public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")] + public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")] - public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")] + public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")] - public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")] + public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")] - public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")] + public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")] - public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")] + public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")] - public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")] + public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")] - public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")] + public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")] - public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")] + public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")] - public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")] + public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")] - public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")] + public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")] - public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")] + public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")] - public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")] + public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")] - public static extern IntPtr new_switch_audio_resampler_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")] + public static extern int switch_core_asr_pause(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")] - public static extern void delete_switch_audio_resampler_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")] + public static extern int switch_core_asr_resume(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_create")] - public static extern int switch_resample_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")] + public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")] - public static extern void switch_resample_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")] + public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")] - public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")] + public static extern int switch_core_directory_next(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")] - public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")] + public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")] - public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")] + public static extern int switch_core_directory_close(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")] - public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")] + public static extern IntPtr switch_core_data_channel(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")] - public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")] + public static extern int switch_core_ready(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")] - public static extern void switch_swap_linear(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")] + public static extern uint switch_core_flags(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")] - public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")] + public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")] - public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")] + public static extern int set_high_priority(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")] - public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")] + public static extern int change_user_group(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")] - public static extern void switch_mux_channels(HandleRef jarg1, uint jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")] + public static extern void switch_core_runtime_loop(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")] - public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")] + public static extern int switch_core_set_console(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")] - public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")] + public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")] - public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")] + public static extern IntPtr switch_core_uptime(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")] - public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")] + public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")] - public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")] + public static extern IntPtr switch_core_get_console(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")] - public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")] + public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")] - public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")] + public static extern void switch_core_set_globals(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")] - public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")] + public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")] - public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")] + public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")] - public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")] + public static extern IntPtr switch_core_mime_index(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")] - public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")] + public static extern string switch_core_mime_ext2type(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")] - public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")] + public static extern int switch_core_mime_add_type(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")] - public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")] + public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")] - public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")] + public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")] - public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")] + public static extern IntPtr switch_micro_time_now(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")] - public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")] + public static extern void switch_core_memory_reclaim(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")] - public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")] + public static extern void switch_core_memory_reclaim_events(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")] - public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")] + public static extern void switch_core_memory_reclaim_logger(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")] - public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")] + public static extern void switch_core_memory_reclaim_all(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")] - public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")] + public static extern void switch_core_setrlimits(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")] - public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")] + public static extern void switch_time_sync(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")] - public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")] + public static extern IntPtr switch_epoch_time_now(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")] - public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")] + public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")] - public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")] + public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")] - public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")] + public static extern void switch_load_network_lists(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")] - public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")] + public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")] - public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")] + public static extern void switch_time_set_monotonic(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")] - public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")] + public static extern uint switch_core_max_dtmf_duration(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")] - public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")] + public static extern uint switch_core_default_dtmf_duration(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")] - public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")] + public static extern int switch_console_set_complete(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")] - public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")] + public static extern int switch_console_set_alias(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")] - public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_system")] + public static extern int switch_system(string jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")] - public static extern IntPtr new_switch_unicast_conninfo(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")] + public static extern void switch_cond_yield(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")] - public static extern void delete_switch_unicast_conninfo(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")] + public static extern void switch_cond_next(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")] - public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")] + public static extern int switch_core_chat_send(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")] - public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")] + public static extern int SWITCH_CMD_CHUNK_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")] - public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")] + public static extern void switch_console_loop(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")] - public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")] + public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")] - public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")] + public static extern int switch_toupper(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")] - public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")] + public static extern int switch_tolower(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")] - public static extern int switch_ivr_parse_all_events(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")] + public static extern int switch_isalnum(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")] - public static extern int switch_ivr_parse_next_event(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")] + public static extern int switch_isalpha(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")] - public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")] + public static extern int switch_iscntrl(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")] - public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")] + public static extern int switch_isdigit(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")] - public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")] + public static extern int switch_isgraph(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")] - public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")] + public static extern int switch_islower(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")] - public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")] + public static extern int switch_isprint(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")] - public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")] + public static extern int switch_ispunct(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")] - public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")] + public static extern int switch_isspace(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")] - public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")] + public static extern int switch_isupper(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")] - public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")] + public static extern int switch_isxdigit(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")] - public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")] + public static extern int SWITCH_SMAX_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")] - public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")] + public static extern int SWITCH_SMIN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")] - public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")] + public static extern int switch_is_moh(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")] - public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")] + public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")] - public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")] + public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")] - public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")] + public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")] - public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")] + public static extern int switch_is_digit_string(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")] - public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")] + public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")] - public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")] + public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")] - public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_get_addr")] + public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")] - public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_get_port")] + public static extern ushort get_port(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")] - public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")] + public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")] - public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")] + public static extern string switch_priority_name(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")] - public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")] + public static extern char switch_rfc2833_to_char(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")] - public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")] + public static extern byte switch_char_to_rfc2833(char jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")] - public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")] + public static extern int switch_string_var_check(string jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")] - public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")] + public static extern int switch_string_var_check_const(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")] - public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12); + [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")] + public static extern string switch_var_clean_string(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")] - public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")] + public static extern string switch_clean_string(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")] - public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")] + public static extern string switch_safe_strdup(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")] - public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")] + public static extern string switch_lc_strdup(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")] - public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11); + [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")] + public static extern string switch_uc_strdup(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")] - public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")] + public static extern int switch_strstr(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")] - public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")] + public static extern IntPtr switch_str_time(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")] - public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")] + public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")] - public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")] + public static extern int switch_is_number(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")] - public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")] + public static extern string switch_strip_spaces(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")] - public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")] + public static extern string switch_separate_paren_args(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")] - public static extern int switch_ivr_media(string jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")] + public static extern string switch_stristr(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")] - public static extern int switch_ivr_nomedia(string jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")] + public static extern int switch_is_lan_addr(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")] - public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")] + public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")] - public static extern int switch_ivr_unhold_uuid(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")] + public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")] - public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")] + public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")] - public static extern int switch_ivr_unhold(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")] + public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")] - public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")] + public static extern string switch_cut_path(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")] - public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")] + public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")] - public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")] + public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")] - public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")] + public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")] - public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")] + public static extern string switch_url_decode(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")] - public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")] + public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")] - public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")] + public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")] - public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")] + public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")] - public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")] + public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")] - public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")] + public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")] - public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")] + public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")] - public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")] + public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")] - public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")] + public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")] - public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")] + public static extern string switch_caller_profile_username_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")] - public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")] + public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")] - public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")] + public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")] - public static extern int switch_ivr_menu_stack_free(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")] + public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")] - public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")] + public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")] - public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")] + public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")] - public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")] + public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")] - public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")] + public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")] - public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")] + public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")] - public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")] + public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")] - public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")] + public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")] - public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")] + public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")] - public static extern void switch_ivr_park_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")] + public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")] - public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")] + public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")] - public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")] + public static extern string switch_caller_profile_ani_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")] - public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")] + public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")] - public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")] + public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")] - public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")] + public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")] - public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")] + public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")] - public static extern int switch_ivr_get_say_method_by_name(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")] + public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")] - public static extern int switch_ivr_get_say_type_by_name(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")] + public static extern string switch_caller_profile_aniii_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")] - public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")] + public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")] - public static extern int SWITCH_RTP_MAX_BUF_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")] + public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")] - public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")] + public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")] - public static extern int SWITCH_RTP_KEY_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")] + public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")] - public static extern string SWITCH_RTP_CRYPTO_KEY_32_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")] + public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")] - public static extern string SWITCH_RTP_CRYPTO_KEY_80_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")] + public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")] - public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")] + public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")] - public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")] + public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")] - public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")] + public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")] - public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")] + public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")] - public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")] + public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")] - public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")] + public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")] - public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")] + public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")] - public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")] + public static extern string switch_caller_profile_source_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")] - public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")] + public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")] - public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")] + public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")] - public static extern IntPtr new_switch_rtp_crypto_key(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")] + public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")] - public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")] + public static extern string switch_caller_profile_uuid_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")] - public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")] + public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")] - public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")] + public static extern string switch_caller_profile_context_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")] - public static extern void switch_rtp_init(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")] + public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")] - public static extern void switch_rtp_shutdown(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")] + public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")] - public static extern ushort switch_rtp_set_start_port(ushort jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")] + public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")] - public static extern ushort switch_rtp_set_end_port(ushort jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")] + public static extern uint switch_caller_profile_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")] - public static extern ushort switch_rtp_request_port(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")] + public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")] - public static extern void switch_rtp_release_port(string jarg1, ushort jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")] + public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")] - public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")] + public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")] - public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")] + public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")] - public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")] + public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")] - public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")] + public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")] - public static extern string switch_rtp_get_remote_host(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")] + public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")] - public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")] + public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")] - public static extern void switch_rtp_reset_media_timer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")] + public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")] - public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")] + public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")] - public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")] + public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")] - public static extern void switch_rtp_kill_socket(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")] + public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")] - public static extern void switch_rtp_break(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")] + public static extern IntPtr new_switch_caller_profile(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")] - public static extern byte switch_rtp_ready(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")] + public static extern void delete_switch_caller_profile(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")] - public static extern void switch_rtp_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")] + public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")] - public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")] + public static extern string switch_caller_application_application_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")] - public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")] + public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")] - public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")] + public static extern string switch_caller_application_application_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")] - public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")] + public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")] - public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")] + public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")] - public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")] + public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")] - public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")] + public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")] - public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")] + public static extern IntPtr new_switch_caller_application(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")] - public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")] + public static extern void delete_switch_caller_application(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")] - public static extern uint switch_rtp_get_default_payload(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")] + public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")] - public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")] + public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")] - public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")] + public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")] - public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")] + public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")] - public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")] + public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")] - public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")] + public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")] - public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")] + public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")] - public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")] + public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")] - public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")] + public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")] - public static extern void rtp_flush_read_buffer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")] + public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")] - public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")] + public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")] - public static extern int switch_rtp_disable_vad(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")] + public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")] - public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")] + public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")] - public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")] + public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")] - public static extern uint switch_rtp_get_ssrc(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")] + public static extern IntPtr new_switch_caller_extension(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")] - public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")] + public static extern void delete_switch_caller_extension(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")] - public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")] + public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")] - public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")] + public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")] - public static extern IntPtr switch_rtp_get_private(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")] + public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")] - public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")] + public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")] - public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")] + public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")] - public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")] + public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")] - public static extern string switch_log_node_t_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")] + public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")] - public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")] + public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")] - public static extern string switch_log_node_t_file_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")] + public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")] - public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")] + public static extern IntPtr switch_frame_codec_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")] - public static extern uint switch_log_node_t_line_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")] + public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")] - public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")] + public static extern string switch_frame_source_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")] - public static extern string switch_log_node_t_func_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")] + public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")] - public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")] + public static extern IntPtr switch_frame_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")] - public static extern int switch_log_node_t_level_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")] + public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")] - public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")] + public static extern uint switch_frame_packetlen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")] - public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")] + public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")] - public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")] + public static extern IntPtr switch_frame_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")] - public static extern string switch_log_node_t_content_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")] + public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")] - public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")] + public static extern uint switch_frame_datalen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")] - public static extern string switch_log_node_t_userdata_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")] + public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")] - public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")] + public static extern uint switch_frame_buflen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")] - public static extern int switch_log_node_t_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")] + public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")] - public static extern IntPtr new_switch_log_node_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")] + public static extern uint switch_frame_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")] - public static extern void delete_switch_log_node_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")] + public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")] - public static extern int switch_log_init(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")] + public static extern uint switch_frame_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")] - public static extern int switch_log_shutdown(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")] + public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")] - public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")] + public static extern byte switch_frame_payload_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")] - public static extern int switch_log_unbind_logger(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")] + public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")] - public static extern string switch_log_level2str(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")] + public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")] - public static extern int switch_log_str2level(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")] + public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")] - public static extern uint switch_log_str2mask(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")] + public static extern ushort switch_frame_seq_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")] - public static extern int SWITCH_XML_BUFSIZE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")] + public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")] - public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")] + public static extern uint switch_frame_ssrc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")] - public static extern string switch_xml_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")] + public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")] - public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")] + public static extern int switch_frame_m_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")] - public static extern string switch_xml_attr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")] + public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")] - public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")] + public static extern uint switch_frame_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")] - public static extern string switch_xml_txt_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")] + public static extern IntPtr new_switch_frame(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")] - public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")] + public static extern void delete_switch_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")] - public static extern string switch_xml_free_path_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")] + public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")] - public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")] + public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")] - public static extern IntPtr switch_xml_off_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")] + public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")] - public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")] + public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")] - public static extern IntPtr switch_xml_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")] + public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")] - public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")] + public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")] - public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")] + public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")] - public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")] + public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")] - public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")] + public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")] - public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")] + public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")] - public static extern IntPtr switch_xml_child_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")] + public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")] - public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")] + public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")] - public static extern IntPtr switch_xml_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")] + public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")] - public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")] + public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")] - public static extern uint switch_xml_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")] + public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")] - public static extern IntPtr new_switch_xml(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")] + public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")] - public static extern void delete_switch_xml(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")] + public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")] - public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")] + public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")] - public static extern IntPtr switch_xml_parse_fd(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")] + public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")] - public static extern IntPtr switch_xml_parse_file(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")] + public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")] - public static extern IntPtr switch_xml_parse_file_simple(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")] + public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")] - public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")] + public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")] - public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")] + public static extern IntPtr new_switch_state_handler_table(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")] - public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")] + public static extern void delete_switch_state_handler_table(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")] - public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")] + public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")] - public static extern string switch_xml_attr(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")] + public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")] - public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")] + public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")] - public static extern IntPtr switch_xml_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")] + public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")] - public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")] + public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")] - public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")] + public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")] - public static extern void switch_xml_free(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")] + public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")] - public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")] + public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")] - public static extern string switch_xml_error(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")] + public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")] - public static extern IntPtr switch_xml_new(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")] + public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")] - public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")] + public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")] - public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")] + public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")] - public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")] + public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")] - public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")] + public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")] - public static extern IntPtr switch_xml_cut(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")] + public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")] - public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")] + public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")] - public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")] + public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")] - public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")] + public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")] - public static extern int switch_xml_destroy(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")] + public static extern IntPtr new_switch_stream_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")] - public static extern IntPtr switch_xml_root(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")] + public static extern void delete_switch_stream_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")] - public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")] + public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")] - public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")] + public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")] - public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")] + public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")] - public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")] + public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")] - public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")] + public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")] - public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")] + public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")] - public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")] + public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")] - public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")] + public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")] - public static extern uint switch_xml_get_binding_sections(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")] + public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")] - public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")] + public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")] - public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")] + public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")] - public static extern int switch_xml_unbind_search_function(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")] + public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")] - public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")] + public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")] - public static extern uint switch_xml_parse_section_string(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")] + public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")] - public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")] + public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")] - public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")] + public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")] - public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")] + public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")] - public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")] + public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")] - public static extern IntPtr new_switch_io_event_hook_outgoing_channel(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")] + public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")] - public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")] + public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")] - public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_set")] + public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")] - public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")] + public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")] - public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")] + public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")] - public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")] + public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")] - public static extern IntPtr new_switch_io_event_hook_receive_message(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")] + public static extern IntPtr new_switch_io_routines(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")] - public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")] + public static extern void delete_switch_io_routines(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")] - public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")] + public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")] - public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")] + public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")] - public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")] + public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")] - public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")] + public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")] - public static extern IntPtr new_switch_io_event_hook_receive_event(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")] + public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")] - public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")] + public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")] - public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")] + public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")] - public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")] + public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")] - public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")] + public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")] - public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")] + public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")] - public static extern IntPtr new_switch_io_event_hook_read_frame(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")] + public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")] - public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")] + public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")] - public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")] + public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")] - public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")] + public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")] - public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")] + public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")] - public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")] + public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")] - public static extern IntPtr new_switch_io_event_hook_video_read_frame(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")] + public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")] - public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")] + public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")] - public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")] + public static extern IntPtr new_switch_endpoint_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")] - public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")] + public static extern void delete_switch_endpoint_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")] - public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")] + public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")] - public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")] + public static extern int switch_timer_interval_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")] - public static extern IntPtr new_switch_io_event_hook_write_frame(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")] + public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")] - public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")] + public static extern uint switch_timer_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")] - public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")] + public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")] - public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")] + public static extern uint switch_timer_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")] - public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")] + public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")] - public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")] + public static extern uint switch_timer_samplecount_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")] - public static extern IntPtr new_switch_io_event_hook_video_write_frame(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")] + public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")] - public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")] + public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")] - public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")] + public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")] - public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")] + public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")] - public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")] + public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")] - public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")] + public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")] - public static extern IntPtr new_switch_io_event_hook_kill_channel(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")] + public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")] - public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")] + public static extern IntPtr switch_timer_diff_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")] - public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")] + public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")] - public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")] + public static extern IntPtr switch_timer_tick_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")] - public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")] + public static extern IntPtr new_switch_timer(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")] - public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")] + public static extern void delete_switch_timer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")] - public static extern IntPtr new_switch_io_event_hook_send_dtmf(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")] + public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")] - public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")] + public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")] - public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")] + public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")] - public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")] + public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")] - public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")] + public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")] - public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")] + public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")] - public static extern IntPtr new_switch_io_event_hook_recv_dtmf(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")] + public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")] - public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")] + public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")] - public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")] + public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")] - public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")] + public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")] - public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")] + public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")] - public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")] + public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")] - public static extern IntPtr new_switch_io_event_hook_state_change(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")] + public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")] - public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")] + public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")] - public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")] + public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")] - public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")] + public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")] - public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")] + public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")] - public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")] + public static extern int switch_timer_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")] - public static extern IntPtr new_switch_io_event_hook_resurrect_session(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")] + public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")] - public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")] + public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")] - public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")] + public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")] - public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")] + public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")] - public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")] + public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")] - public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")] + public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")] - public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")] + public static extern IntPtr new_switch_timer_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")] - public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")] + public static extern void delete_switch_timer_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")] - public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")] + public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")] - public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")] + public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")] - public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")] + public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")] - public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")] + public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")] - public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")] + public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")] - public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")] + public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")] - public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")] + public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")] - public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")] + public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")] - public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")] + public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")] - public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")] + public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")] - public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")] + public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")] - public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")] + public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")] - public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")] + public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")] - public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")] + public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")] - public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")] + public static extern IntPtr new_switch_dialplan_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")] - public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")] + public static extern void delete_switch_dialplan_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")] - public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")] + public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")] - public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")] + public static extern string switch_file_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")] - public static extern IntPtr new_switch_io_event_hooks(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")] + public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")] - public static extern void delete_switch_io_event_hooks(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")] + public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")] - public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")] + public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")] - public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")] + public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")] - public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")] + public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")] - public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")] + public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")] - public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")] + public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")] - public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")] + public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")] - public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")] + public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")] - public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")] + public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")] - public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")] + public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")] - public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")] + public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")] - public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")] + public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")] - public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")] + public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")] - public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")] + public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")] - public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")] + public static extern string switch_file_interface_extens_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")] - public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")] + public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")] - public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")] + public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")] - public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")] + public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")] - public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")] + public static extern int switch_file_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")] - public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")] + public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")] - public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")] + public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")] - public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")] + public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")] - public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")] + public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")] - public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")] + public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")] - public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")] + public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")] - public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")] + public static extern IntPtr new_switch_file_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")] - public static extern long switch_scheduler_task_created_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")] + public static extern void delete_switch_file_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")] - public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")] + public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")] - public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")] + public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")] - public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")] + public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")] - public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")] + public static extern uint switch_file_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")] - public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")] + public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")] - public static extern string switch_scheduler_task_group_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")] + public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")] - public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")] + public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")] - public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")] + public static extern uint switch_file_handle_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")] - public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")] + public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")] - public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")] + public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")] - public static extern IntPtr new_switch_scheduler_task(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")] + public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")] - public static extern void delete_switch_scheduler_task(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")] + public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")] - public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")] + public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")] - public static extern uint switch_scheduler_del_task_id(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")] + public static extern byte switch_file_handle_channels_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")] - public static extern uint switch_scheduler_del_task_group(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")] + public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")] - public static extern void switch_scheduler_task_thread_start(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")] + public static extern uint switch_file_handle_format_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")] - public static extern void switch_scheduler_task_thread_stop(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")] + public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")] - public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")] + public static extern uint switch_file_handle_sections_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")] - public static extern IntPtr switch_config_file_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")] + public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")] - public static extern void switch_config_path_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")] + public static extern int switch_file_handle_seekable_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")] - public static extern string switch_config_path_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")] + public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")] - public static extern void switch_config_category_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")] + public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")] - public static extern string switch_config_category_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")] + public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")] - public static extern void switch_config_section_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")] + public static extern int switch_file_handle_speed_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")] - public static extern string switch_config_section_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")] + public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")] - public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")] + public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")] - public static extern string switch_config_buf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")] + public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")] - public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")] + public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")] - public static extern int switch_config_lineno_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")] + public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")] - public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")] + public static extern uint switch_file_handle_interval_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")] - public static extern int switch_config_catno_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")] + public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")] - public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")] + public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")] - public static extern int switch_config_sectno_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")] + public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")] - public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")] + public static extern string switch_file_handle_handler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")] - public static extern int switch_config_lockto_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")] + public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")] - public static extern IntPtr new_switch_config(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")] + public static extern long switch_file_handle_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")] - public static extern void delete_switch_config(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")] + public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")] - public static extern int switch_config_open_file(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")] + public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")] - public static extern void switch_config_close_file(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")] + public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")] - public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")] + public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")] - public static extern void consoleLog(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")] + public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")] - public static extern void consoleCleanLog(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")] + public static extern uint switch_file_handle_thresh_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")] - public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")] + public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")] - public static extern void delete_IvrMenu(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")] + public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")] - public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")] + public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")] - public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")] + public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_Api")] - public static extern IntPtr new_Api(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")] + public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")] - public static extern void delete_Api(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")] + public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")] - public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")] + public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")] - public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")] + public static extern int switch_file_handle_vol_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")] - public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")] + public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")] - public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")] + public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")] - public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")] + public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")] - public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")] + public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")] - public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")] + public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")] - public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")] + public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")] - public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")] + public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")] - public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")] + public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")] - public static extern IntPtr new_input_callback_state_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")] + public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")] - public static extern void delete_input_callback_state_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")] + public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")] - public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")] + public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")] - public static extern char DTMF_digit_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")] + public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")] - public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")] + public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")] - public static extern uint DTMF_duration_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")] + public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")] - public static extern IntPtr new_DTMF(char jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")] + public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")] - public static extern void delete_DTMF(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")] + public static extern string switch_file_handle_file_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")] - public static extern IntPtr new_Stream__SWIG_0(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")] + public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")] - public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")] + public static extern string switch_file_handle_func_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")] - public static extern void delete_Stream(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")] + public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")] - public static extern void Stream_Write(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")] + public static extern int switch_file_handle_line_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")] - public static extern string Stream_get_data(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")] + public static extern IntPtr new_switch_file_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")] - public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")] + public static extern void delete_switch_file_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")] - public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")] + public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")] - public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")] + public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")] - public static extern string Event_serialized_string_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")] + public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")] - public static extern void Event_mine_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")] + public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")] - public static extern int Event_mine_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")] + public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")] - public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")] + public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")] - public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")] + public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")] - public static extern void delete_Event(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")] + public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")] - public static extern string Event_Serialize(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")] + public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")] - public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")] + public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")] - public static extern string Event_GetHeader(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")] + public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")] - public static extern string Event_GetBody(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")] + public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")] - public static extern string Event_GetEventType(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")] + public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")] - public static extern bool Event_AddBody(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")] + public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")] - public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")] + public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")] - public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")] + public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")] - public static extern bool Event_Fire(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")] + public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")] - public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")] + public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")] - public static extern IntPtr EventConsumer_events_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")] + public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")] - public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")] + public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")] - public static extern int EventConsumer_e_event_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")] + public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")] - public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")] + public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")] - public static extern IntPtr EventConsumer_node_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")] + public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")] - public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")] + public static extern int switch_asr_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")] - public static extern string EventConsumer_e_callback_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")] + public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")] - public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")] + public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")] - public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")] + public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")] - public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")] + public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")] - public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")] + public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")] - public static extern IntPtr new_EventConsumer(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")] + public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")] - public static extern void delete_EventConsumer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")] + public static extern IntPtr new_switch_asr_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")] - public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")] + public static extern void delete_switch_asr_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")] - public static extern void delete_CoreSession(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")] + public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")] - public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")] + public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")] - public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")] + public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")] - public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")] + public static extern uint switch_asr_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")] - public static extern IntPtr CoreSession_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")] + public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")] - public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")] + public static extern string switch_asr_handle_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")] - public static extern uint CoreSession_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")] + public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")] - public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")] + public static extern string switch_asr_handle_codec_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")] - public static extern int CoreSession_allocated_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")] + public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")] - public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")] + public static extern uint switch_asr_handle_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")] - public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")] + public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")] - public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")] + public static extern string switch_asr_handle_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")] - public static extern int CoreSession_HookState_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")] + public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")] - public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")] + public static extern string switch_asr_handle_param_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")] - public static extern string CoreSession_uuid_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")] + public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")] - public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")] + public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")] - public static extern string CoreSession_tts_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")] + public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")] - public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")] + public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")] - public static extern string CoreSession_voice_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")] + public static extern IntPtr new_switch_asr_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")] - public static extern int CoreSession_Answer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")] + public static extern void delete_switch_asr_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")] - public static extern int CoreSession_preAnswer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")] + public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")] - public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")] + public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")] - public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")] + public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")] - public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")] + public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")] - public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")] + public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")] - public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")] + public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")] - public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")] + public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")] - public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")] + public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")] - public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")] + public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")] - public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")] + public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")] - public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")] + public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")] - public static extern void CoreSession_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")] + public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")] - public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")] + public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")] - public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")] - public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")] + public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")] - public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")] - public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")] + public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")] - public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")] - public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")] + public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")] - public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")] + public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")] - public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")] + public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")] - public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")] + public static extern int switch_speech_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")] - public static extern int CoreSession_flushEvents(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")] + public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")] - public static extern int CoreSession_flushDigits(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")] + public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")] - public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")] + public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")] - public static extern bool CoreSession_Ready(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")] + public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")] - public static extern bool CoreSession_answered(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")] + public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")] - public static extern bool CoreSession_mediaReady(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")] + public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")] - public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")] + public static extern IntPtr new_switch_speech_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")] - public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")] + public static extern void delete_switch_speech_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")] - public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")] + public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")] - public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")] + public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")] - public static extern string CoreSession_getXMLCDR(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")] + public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")] - public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")] + public static extern uint switch_speech_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")] - public static extern bool CoreSession_end_allow_threads(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")] + public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")] - public static extern string CoreSession_GetUuid(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")] + public static extern string switch_speech_handle_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")] - public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")] + public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")] - public static extern void CoreSession_check_hangup_hook(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")] + public static extern uint switch_speech_handle_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_console_log")] - public static extern void console_log(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")] + public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")] - public static extern void console_clean_log(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")] + public static extern uint switch_speech_handle_speed_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_msleep")] - public static extern void msleep(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")] + public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_bridge")] - public static extern void bridge(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")] + public static extern uint switch_speech_handle_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")] - public static extern int hanguphook(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")] + public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")] - public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")] + public static extern string switch_speech_handle_voice_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")] - public static extern IntPtr new_ManagedSession__SWIG_0(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")] + public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")] - public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")] + public static extern string switch_speech_handle_engine_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")] - public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")] + public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")] - public static extern void delete_ManagedSession(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")] + public static extern string switch_speech_handle_param_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")] - public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")] + public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")] + public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")] + public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")] + public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1); -public class input_callback_state_t : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")] + public static extern IntPtr new_switch_speech_handle(); - internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")] + public static extern void delete_switch_speech_handle(HandleRef jarg1); - internal static HandleRef getCPtr(input_callback_state_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")] + public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2); - ~input_callback_state_t() { - Dispose(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")] + public static extern string switch_say_interface_interface_name_get(HandleRef jarg1); - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")] + public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2); - public SWIGTYPE_p_void function { - set { - freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")] + public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1); - public SWIGTYPE_p_void threadState { - set { - freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")] + public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - public SWIGTYPE_p_void extra { - set { - freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")] + public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1); - public string funcargs { - set { - freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr); - return ret; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")] + public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2); - public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")] + public static extern int switch_say_interface_refs_get(HandleRef jarg1); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")] + public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")] + public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")] + public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")] + public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1); -public class IvrMenu : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")] + public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2); - internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")] + public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1); - internal static HandleRef getCPtr(IvrMenu obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")] + public static extern IntPtr new_switch_say_interface(); - ~IvrMenu() { - Dispose(); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")] + public static extern void delete_switch_say_interface(HandleRef jarg1); - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_IvrMenu(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")] + public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2); - public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")] + public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1); - public void bindAction(string action, string arg, string bind) { - freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")] + public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2); - public void Execute(CoreSession session, string name) { - freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")] + public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")] + public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")] + public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")] + public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")] + public static extern int switch_chat_interface_refs_get(HandleRef jarg1); -public partial class ManagedSession : CoreSession { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")] + public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")] + public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1); - internal static HandleRef getCPtr(ManagedSession obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")] + public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - ~ManagedSession() { - Dispose(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")] + public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1); - public override void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_ManagedSession(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - base.Dispose(); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")] + public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2); - public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")] + public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1); - public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")] + public static extern IntPtr new_switch_chat_interface(); - public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")] + public static extern void delete_switch_chat_interface(HandleRef jarg1); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")] + public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")] + public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")] + public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2); -[System.Flags] public enum session_flag_t { - S_HUP = (1 << 0), - S_FREE = (1 << 1), - S_RDLOCK = (1 << 2) -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")] + public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")] + public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")] + public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")] + public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2); -public partial class Stream : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")] + public static extern int switch_management_interface_refs_get(HandleRef jarg1); - internal Stream(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")] + public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(Stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")] + public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1); - ~Stream() { - Dispose(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")] + public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_Stream(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")] + public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1); - public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")] + public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2); - public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")] + public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1); - public void Write(string data) { - freeswitchPINVOKE.Stream_Write(swigCPtr, data); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")] + public static extern IntPtr new_switch_management_interface(); - public string get_data() { - string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")] + public static extern void delete_switch_management_interface(HandleRef jarg1); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")] + public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")] + public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")] + public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")] + public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1); -public class SWIGTYPE_p_apr_pool_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")] + public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")] + public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1); - protected SWIGTYPE_p_apr_pool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")] + public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")] + public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")] + public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")] + public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")] + public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_FILE { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")] + public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1); - internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")] + public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_FILE() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")] + public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")] + public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")] + public static extern int switch_directory_interface_refs_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")] + public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")] + public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1); -public class SWIGTYPE_p_float { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")] + public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")] + public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1); - protected SWIGTYPE_p_float() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")] + public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_float obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")] + public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")] + public static extern IntPtr new_switch_directory_interface(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")] + public static extern void delete_switch_directory_interface(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")] + public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")] + public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")] + public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")] + public static extern uint switch_directory_handle_flags_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")] + public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")] + public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")] + public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")] + public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")] + public static extern IntPtr new_switch_directory_handle(); - internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")] + public static extern void delete_switch_directory_handle(HandleRef jarg1); - protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")] + public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")] + public static extern int switch_codec_settings_quality_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")] + public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")] + public static extern int switch_codec_settings_complexity_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")] + public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")] + public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")] + public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")] + public static extern int switch_codec_settings_vad_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")] + public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")] + public static extern int switch_codec_settings_vbr_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")] + public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")] + public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")] + public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")] + public static extern int switch_codec_settings_abr_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")] + public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")] + public static extern int switch_codec_settings_dtx_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")] + public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")] + public static extern int switch_codec_settings_preproc_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")] + public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")] + public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")] + public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")] + public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")] + public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")] + public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")] + public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")] + public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")] + public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")] + public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")] + public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")] + public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")] + public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")] + public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")] + public static extern IntPtr new_switch_codec_settings(); -public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")] + public static extern void delete_switch_codec_settings(HandleRef jarg1); - internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")] + public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")] + public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")] + public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")] + public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")] + public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")] + public static extern string switch_codec_fmtp_in_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")] + public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")] + public static extern string switch_codec_fmtp_out_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")] + public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")] + public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")] + public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")] + public static extern uint switch_codec_flags_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")] + public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")] + public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")] + public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")] + public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")] + public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")] + public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")] + public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")] + public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")] + public static extern IntPtr new_switch_codec(); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")] + public static extern void delete_switch_codec(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")] + public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")] + public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")] + public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")] + public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")] + public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")] + public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")] + public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")] + public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")] + public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")] + public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")] + public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")] + public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")] + public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")] + public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")] + public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")] + public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")] + public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")] + public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")] + public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); -public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")] + public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")] + public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")] + public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")] + public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")] + public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")] + public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")] + public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")] + public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")] + public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")] + public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")] + public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")] + public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")] + public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")] + public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")] + public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")] + public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")] + public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")] + public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")] + public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")] + public static extern IntPtr new_switch_codec_implementation(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")] + public static extern void delete_switch_codec_implementation(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_codec__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")] + public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")] + public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")] + public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")] + public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")] + public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")] + public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")] + public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")] + public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")] + public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")] + public static extern int switch_codec_interface_refs_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")] + public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")] + public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")] + public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")] + public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")] + public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")] + public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")] + public static extern IntPtr new_switch_codec_interface(); - protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")] + public static extern void delete_switch_codec_interface(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")] + public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")] + public static extern string switch_application_interface_interface_name_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")] + public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")] + public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")] + public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")] + public static extern string switch_application_interface_long_desc_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")] + public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")] + public static extern string switch_application_interface_short_desc_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")] + public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")] + public static extern string switch_application_interface_syntax_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")] + public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")] + public static extern uint switch_application_interface_flags_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")] + public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")] + public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")] + public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")] + public static extern int switch_application_interface_refs_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")] + public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")] + public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")] + public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")] + public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")] + public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")] + public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")] + public static extern IntPtr new_switch_application_interface(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")] + public static extern void delete_switch_application_interface(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")] + public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")] + public static extern string switch_api_interface_interface_name_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")] + public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")] + public static extern string switch_api_interface_desc_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")] + public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")] + public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")] + public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")] + public static extern string switch_api_interface_syntax_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")] + public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")] + public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")] + public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")] + public static extern int switch_api_interface_refs_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")] + public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")] + public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")] + public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")] + public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")] + public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")] + public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")] + public static extern IntPtr new_switch_api_interface(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")] + public static extern void delete_switch_api_interface(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")] + public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")] + public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")] + public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")] + public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")] + public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")] + public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")] + public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")] + public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")] + public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")] + public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")] + public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")] + public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")] + public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")] + public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")] + public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")] + public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")] + public static extern IntPtr new_switch_channel_timetable(); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")] + public static extern void delete_switch_channel_timetable(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")] + public static extern int switch_channel_get_state(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")] + public static extern int switch_channel_get_running_state(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_ready")] + public static extern byte switch_channel_ready(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")] + public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")] + public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")] + public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")] + public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")] + public static extern int switch_channel_str2cause(string jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")] + public static extern int switch_channel_get_cause(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")] + public static extern int switch_channel_cause_q850(int jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")] + public static extern int switch_channel_get_cause_q850(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")] + public static extern string switch_channel_cause2str(int jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")] + public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")] + public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")] + public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")] + public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")] + public static extern void switch_channel_uninit(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")] + public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")] + public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")] + public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")] + public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")] + public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")] + public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")] + public static extern string switch_channel_get_uuid(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")] + public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")] + public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3); -public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")] + public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")] + public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")] + public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")] + public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")] + public static extern IntPtr switch_channel_variable_first(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")] + public static extern void switch_channel_variable_last(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")] + public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")] + public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")] + public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")] + public static extern void switch_channel_set_flag(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")] + public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")] + public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")] + public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")] + public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")] + public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")] + public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")] + public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")] + public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")] + public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")] + public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")] + public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")] + public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")] + public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")] + public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")] + public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")] + public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")] + public static extern string switch_channel_get_name(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")] + public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); -public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")] + public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")] + public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")] + public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")] + public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")] + public static extern void switch_channel_flush_dtmf(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")] + public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")] + public static extern string switch_channel_state_name(int jarg1); -public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")] + public static extern int switch_channel_name_state(string jarg1); - internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")] + public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")] + public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")] + public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")] + public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")] + public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")] + public static extern int switch_channel_set_timestamps(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_audio_sync")] + public static extern void switch_channel_audio_sync(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")] + public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")] + public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")] + public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag")] + public static extern void switch_channel_set_app_flag(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag")] + public static extern void switch_channel_clear_app_flag(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag")] + public static extern int switch_channel_test_app_flag(HandleRef jarg1, uint jarg2); -public class SWIGTYPE_p_f_p_switch_event__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")] + public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")] + public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - protected SWIGTYPE_p_f_p_switch_event__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")] + public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")] + public static extern void switch_buffer_lock(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")] + public static extern int switch_buffer_trylock(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")] + public static extern void switch_buffer_unlock(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")] + public static extern IntPtr switch_buffer_len(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")] + public static extern IntPtr switch_buffer_freespace(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")] + public static extern IntPtr switch_buffer_inuse(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")] + public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")] + public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")] + public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")] + public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")] + public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")] + public static extern void switch_buffer_zero(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")] + public static extern void switch_buffer_destroy(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")] + public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")] + public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")] + public static extern string switch_event_header_name_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")] + public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")] + public static extern string switch_event_header_value_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")] + public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")] + public static extern uint switch_event_header_hash_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")] + public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")] + public static extern IntPtr switch_event_header_next_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")] + public static extern IntPtr new_switch_event_header(); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")] + public static extern void delete_switch_event_header(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")] + public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")] + public static extern int switch_event_event_id_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")] + public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")] + public static extern int switch_event_priority_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")] + public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")] + public static extern string switch_event_owner_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")] + public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")] + public static extern string switch_event_subclass_name_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")] + public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")] + public static extern IntPtr switch_event_headers_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")] + public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")] + public static extern IntPtr switch_event_last_header_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")] + public static extern void switch_event_body_set(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")] + public static extern string switch_event_body_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")] + public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")] + public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")] + public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")] + public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")] + public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")] + public static extern uint switch_event_key_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")] + public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")] + public static extern IntPtr switch_event_next_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")] + public static extern IntPtr new_switch_event(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")] + public static extern void delete_switch_event(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")] + public static extern int switch_event_init(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")] + public static extern int switch_event_shutdown(); - protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")] + public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")] + public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")] + public static extern string switch_event_get_header(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")] + public static extern string switch_event_get_body(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")] + public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")] + public static extern int switch_event_del_header(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")] + public static extern void switch_event_destroy(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")] + public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")] + public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")] + public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")] + public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")] + public static extern int switch_event_unbind(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")] + public static extern int switch_event_unbind_callback(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_scheduler_task__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")] + public static extern string switch_event_name(int jarg1); - internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")] + public static extern int switch_name_event(string jarg1, HandleRef jarg2); - protected SWIGTYPE_p_f_p_switch_scheduler_task__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")] + public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")] + public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")] + public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")] + public static extern int switch_event_running(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")] + public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")] + public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")] + public static extern void switch_event_deliver(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")] + public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")] + public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")] + public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")] + public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")] + public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")] + public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")] + public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")] + public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")] + public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")] + public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")] + public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")] + public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")] + public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")] + public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")] + public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")] + public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")] + public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")] + public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")] + public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")] + public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")] + public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")] + public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")] + public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")] + public static extern IntPtr new_switch_audio_resampler_t(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")] + public static extern void delete_switch_audio_resampler_t(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_create")] + public static extern int switch_resample_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")] + public static extern void switch_resample_destroy(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")] + public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")] + public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")] + public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")] + public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")] + public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")] + public static extern void switch_swap_linear(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")] + public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")] + public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")] + public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")] + public static extern void switch_mux_channels(HandleRef jarg1, uint jarg2, uint jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")] + public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")] + public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")] + public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")] + public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")] + public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")] + public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")] + public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")] + public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")] + public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")] + public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")] + public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_f_p_switch_speech_handle__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")] + public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")] + public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2); - protected SWIGTYPE_p_f_p_switch_speech_handle__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")] + public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")] + public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")] + public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")] + public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")] + public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")] + public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")] + public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")] + public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")] + public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")] + public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")] + public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")] + public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")] + public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")] + public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")] + public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")] + public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")] + public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")] + public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")] + public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1); -public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")] + public static extern IntPtr new_switch_unicast_conninfo(); - internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")] + public static extern void delete_switch_unicast_conninfo(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")] + public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")] + public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")] + public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")] + public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")] + public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3); -public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")] + public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")] + public static extern int switch_ivr_parse_all_events(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")] + public static extern int switch_ivr_parse_next_event(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")] + public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")] + public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")] + public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")] + public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")] + public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); -public class SWIGTYPE_p_f_p_switch_timer__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")] + public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1); - internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")] + public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1); - protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")] + public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")] + public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")] + public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")] + public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")] + public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); -public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")] + public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4); - internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")] + public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")] + public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")] + public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")] + public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")] + public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")] + public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1); -public class SWIGTYPE_p_f_p_void__void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")] + public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")] + public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1); - protected SWIGTYPE_p_f_p_void__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")] + public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9); - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")] + public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")] + public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")] + public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")] + public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5); -public class SWIGTYPE_p_f_void__switch_status_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")] + public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12); - internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")] + public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6); - protected SWIGTYPE_p_f_void__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")] + public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")] + public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")] + public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")] + public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")] + public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_HashElem { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")] + public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")] + public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); - protected SWIGTYPE_p_HashElem() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")] + public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4); - internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")] + public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")] + public static extern int switch_ivr_media(string jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")] + public static extern int switch_ivr_nomedia(string jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")] + public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3); -public class SWIGTYPE_p_int { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")] + public static extern int switch_ivr_unhold_uuid(string jarg1); - internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")] + public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3); - protected SWIGTYPE_p_int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")] + public static extern int switch_ivr_unhold(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")] + public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")] + public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")] + public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")] + public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_p_apr_pool_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")] + public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1); - internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")] + public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_p_apr_pool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")] + public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")] + public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")] + public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")] + public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")] + public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1); -public class SWIGTYPE_p_p_char { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")] + public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2); - internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")] + public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16); - protected SWIGTYPE_p_p_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")] + public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4); - internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")] + public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")] + public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")] + public static extern int switch_ivr_menu_stack_free(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")] + public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); -public class SWIGTYPE_p_p_p_char { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")] + public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2); - internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")] + public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3); - protected SWIGTYPE_p_p_p_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")] + public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")] + public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")] + public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")] + public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")] + public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3); -public class SWIGTYPE_p_p_real_pcre { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")] + public static extern void switch_ivr_park_session(HandleRef jarg1); - internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")] + public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_p_real_pcre() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")] + public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9); - internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")] + public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")] + public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")] + public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")] + public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); -public class SWIGTYPE_p_p_sqlite3 { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")] + public static extern int switch_ivr_get_say_method_by_name(string jarg1); - internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")] + public static extern int switch_ivr_get_say_type_by_name(string jarg1); - protected SWIGTYPE_p_p_sqlite3() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")] + public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")] + public static extern int SWITCH_RTP_MAX_BUF_LEN_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")] + public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")] + public static extern int SWITCH_RTP_KEY_LEN_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")] + public static extern string SWITCH_RTP_CRYPTO_KEY_32_get(); -public class SWIGTYPE_p_p_sqlite3_stmt { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")] + public static extern string SWITCH_RTP_CRYPTO_KEY_80_get(); - internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")] + public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_p_sqlite3_stmt() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")] + public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")] + public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")] + public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")] + public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")] + public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_audio_resampler_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")] + public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")] + public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_audio_resampler_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")] + public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")] + public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")] + public static extern IntPtr new_switch_rtp_crypto_key(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")] + public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")] + public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6); -public class SWIGTYPE_p_p_switch_buffer { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")] + public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2); - internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")] + public static extern void switch_rtp_init(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_buffer() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")] + public static extern void switch_rtp_shutdown(); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")] + public static extern ushort switch_rtp_set_start_port(ushort jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")] + public static extern ushort switch_rtp_set_end_port(ushort jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")] + public static extern ushort switch_rtp_request_port(string jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")] + public static extern void switch_rtp_release_port(string jarg1, ushort jarg2); -public class SWIGTYPE_p_p_switch_caller_extension { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")] + public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3); - internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")] + public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8); - protected SWIGTYPE_p_p_switch_caller_extension() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")] + public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")] + public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")] + public static extern string switch_rtp_get_remote_host(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")] + public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")] + public static extern void switch_rtp_reset_media_timer(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_channel { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")] + public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2); - internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")] + public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4); - protected SWIGTYPE_p_p_switch_channel() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")] + public static extern void switch_rtp_kill_socket(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")] + public static extern void switch_rtp_break(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")] + public static extern byte switch_rtp_ready(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")] + public static extern void switch_rtp_destroy(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")] + public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3); -public class SWIGTYPE_p_p_switch_core_port_allocator { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")] + public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2); - internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")] + public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_p_switch_core_port_allocator() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")] + public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")] + public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")] + public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")] + public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")] + public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_core_session { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")] + public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2); - internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")] + public static extern uint switch_rtp_get_default_payload(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_core_session() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")] + public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")] + public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")] + public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")] + public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")] + public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_core_session_message { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")] + public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")] + public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); - protected SWIGTYPE_p_p_switch_core_session_message() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")] + public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")] + public static extern void rtp_flush_read_buffer(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")] + public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")] + public static extern int switch_rtp_disable_vad(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")] + public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_p_switch_event { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")] + public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7); - internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")] + public static extern uint switch_rtp_get_ssrc(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_event() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")] + public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")] + public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")] + public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")] + public static extern IntPtr switch_rtp_get_private(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")] + public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5); -public class SWIGTYPE_p_p_switch_event_node { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")] + public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")] + public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_p_switch_event_node() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")] + public static extern string switch_log_node_t_data_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")] + public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")] + public static extern string switch_log_node_t_file_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")] + public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")] + public static extern uint switch_log_node_t_line_get(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_frame { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")] + public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")] + public static extern string switch_log_node_t_func_get(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_frame() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")] + public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")] + public static extern int switch_log_node_t_level_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")] + public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")] + public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")] + public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_p_switch_hash { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")] + public static extern string switch_log_node_t_content_get(HandleRef jarg1); - internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")] + public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_p_switch_hash() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")] + public static extern string switch_log_node_t_userdata_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")] + public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")] + public static extern int switch_log_node_t_channel_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")] + public static extern IntPtr new_switch_log_node_t(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")] + public static extern void delete_switch_log_node_t(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_ivr_digit_stream { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")] + public static extern int switch_log_init(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")] + public static extern int switch_log_shutdown(); - protected SWIGTYPE_p_p_switch_ivr_digit_stream() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")] + public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")] + public static extern int switch_log_unbind_logger(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")] + public static extern string switch_log_level2str(int jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")] + public static extern int switch_log_str2level(string jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")] + public static extern uint switch_log_str2mask(string jarg1); -public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")] + public static extern int SWITCH_XML_BUFSIZE_get(); - internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")] + public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")] + public static extern string switch_xml_name_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")] + public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")] + public static extern string switch_xml_attr_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")] + public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")] + public static extern string switch_xml_txt_get(HandleRef jarg1); -public class SWIGTYPE_p_p_switch_ivr_menu { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")] + public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")] + public static extern string switch_xml_free_path_get(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_ivr_menu() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")] + public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")] + public static extern IntPtr switch_xml_off_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")] + public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")] + public static extern IntPtr switch_xml_next_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")] + public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")] + public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1); - internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")] + public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")] + public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")] + public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")] + public static extern IntPtr switch_xml_child_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")] + public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")] + public static extern IntPtr switch_xml_parent_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")] + public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")] + public static extern uint switch_xml_flags_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")] + public static extern IntPtr new_switch_xml(); -public class SWIGTYPE_p_p_switch_media_bug { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")] + public static extern void delete_switch_xml(HandleRef jarg1); - internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")] + public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2); - protected SWIGTYPE_p_p_switch_media_bug() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")] + public static extern IntPtr switch_xml_parse_fd(int jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")] + public static extern IntPtr switch_xml_parse_file(string jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")] + public static extern IntPtr switch_xml_parse_file_simple(string jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")] + public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")] + public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_p_switch_network_list { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")] + public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")] + public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_p_switch_network_list() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")] + public static extern string switch_xml_attr(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")] + public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")] + public static extern IntPtr switch_xml_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")] + public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")] + public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5); -public class SWIGTYPE_p_p_switch_rtp { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")] + public static extern void switch_xml_free(HandleRef jarg1); - internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")] + public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_p_switch_rtp() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")] + public static extern string switch_xml_error(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")] + public static extern IntPtr switch_xml_new(string jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")] + public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")] + public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")] + public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3); -public class SWIGTYPE_p_p_switch_xml_binding { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")] + public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")] + public static extern IntPtr switch_xml_cut(HandleRef jarg1); - protected SWIGTYPE_p_p_switch_xml_binding() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")] + public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")] + public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")] + public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")] + public static extern int switch_xml_destroy(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")] + public static extern IntPtr switch_xml_root(); -public class SWIGTYPE_p_p_switch_xml { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")] + public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7); - internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")] + public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - protected SWIGTYPE_p_p_switch_xml() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")] + public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")] + public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")] + public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")] + public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")] + public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2); -public class SWIGTYPE_p_p_void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")] + public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")] + public static extern uint switch_xml_get_binding_sections(HandleRef jarg1); - protected SWIGTYPE_p_p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")] + public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")] + public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")] + public static extern int switch_xml_unbind_search_function(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")] + public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")] + public static extern uint switch_xml_parse_section_string(string jarg1); -public class SWIGTYPE_p_real_pcre { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")] + public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")] + public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1); - protected SWIGTYPE_p_real_pcre() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")] + public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")] + public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")] + public static extern IntPtr new_switch_io_event_hook_outgoing_channel(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")] + public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")] + public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")] + public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1); -public class SWIGTYPE_p_short { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")] + public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")] + public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1); - protected SWIGTYPE_p_short() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")] + public static extern IntPtr new_switch_io_event_hook_receive_message(); - internal static HandleRef getCPtr(SWIGTYPE_p_short obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")] + public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")] + public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")] + public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")] + public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_sockaddr { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")] + public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1); - internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")] + public static extern IntPtr new_switch_io_event_hook_receive_event(); - protected SWIGTYPE_p_sockaddr() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")] + public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")] + public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")] + public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")] + public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")] + public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1); -public class SWIGTYPE_p_socklen_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")] + public static extern IntPtr new_switch_io_event_hook_read_frame(); - internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")] + public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1); - protected SWIGTYPE_p_socklen_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")] + public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")] + public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")] + public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")] + public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")] + public static extern IntPtr new_switch_io_event_hook_video_read_frame(); -public class SWIGTYPE_p_sqlite3 { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")] + public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1); - internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")] + public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_sqlite3() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")] + public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")] + public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")] + public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")] + public static extern IntPtr new_switch_io_event_hook_write_frame(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")] + public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1); -public class SWIGTYPE_p_sqlite3_stmt { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")] + public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")] + public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1); - protected SWIGTYPE_p_sqlite3_stmt() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")] + public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")] + public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")] + public static extern IntPtr new_switch_io_event_hook_video_write_frame(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")] + public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")] + public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_buffer { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")] + public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")] + public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_buffer() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")] + public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")] + public static extern IntPtr new_switch_io_event_hook_kill_channel(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")] + public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")] + public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")] + public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_call_cause_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")] + public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")] + public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")] + public static extern IntPtr new_switch_io_event_hook_send_dtmf(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")] + public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")] + public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")] + public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")] + public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_channel { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")] + public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")] + public static extern IntPtr new_switch_io_event_hook_recv_dtmf(); - protected SWIGTYPE_p_switch_channel() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")] + public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")] + public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")] + public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")] + public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")] + public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_core_port_allocator { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")] + public static extern IntPtr new_switch_io_event_hook_state_change(); - internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")] + public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1); - protected SWIGTYPE_p_switch_core_port_allocator() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")] + public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")] + public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")] + public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")] + public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")] + public static extern IntPtr new_switch_io_event_hook_resurrect_session(); -public class SWIGTYPE_p_switch_core_session { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")] + public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1); - internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")] + public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_core_session() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")] + public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")] + public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")] + public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")] + public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")] + public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_event_node { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")] + public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")] + public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_event_node() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")] + public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")] + public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")] + public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")] + public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")] + public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_event_types_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")] + public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")] + public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_event_types_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")] + public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")] + public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")] + public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")] + public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")] + public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_file_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")] + public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")] + public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_file_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")] + public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")] + public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")] + public static extern IntPtr new_switch_io_event_hooks(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")] + public static extern void delete_switch_io_event_hooks(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")] + public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_hash { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")] + public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")] + public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")] + public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_hash() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")] + public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")] + public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")] + public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")] + public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")] + public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_interval_time_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")] + public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")] + public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_interval_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")] + public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")] + public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")] + public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")] + public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")] + public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_ivr_action_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")] + public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")] + public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_ivr_action_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")] + public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")] + public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")] + public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")] + public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")] + public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_ivr_digit_stream { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")] + public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")] + public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2); - protected SWIGTYPE_p_switch_ivr_digit_stream() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")] + public static extern long switch_scheduler_task_created_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")] + public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")] + public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")] + public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")] + public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_ivr_digit_stream_parser { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")] + public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")] + public static extern string switch_scheduler_task_group_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_ivr_digit_stream_parser() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")] + public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")] + public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")] + public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")] + public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")] + public static extern IntPtr new_switch_scheduler_task(); -public class SWIGTYPE_p_switch_ivr_menu_action_function_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")] + public static extern void delete_switch_scheduler_task(HandleRef jarg1); - internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")] + public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7); - protected SWIGTYPE_p_switch_ivr_menu_action_function_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")] + public static extern uint switch_scheduler_del_task_id(uint jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")] + public static extern uint switch_scheduler_del_task_group(string jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")] + public static extern void switch_scheduler_task_thread_start(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")] + public static extern void switch_scheduler_task_thread_stop(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")] + public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_ivr_menu { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")] + public static extern IntPtr switch_config_file_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")] + public static extern void switch_config_path_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_switch_ivr_menu() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")] + public static extern string switch_config_path_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")] + public static extern void switch_config_category_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")] + public static extern string switch_config_category_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")] + public static extern void switch_config_section_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")] + public static extern string switch_config_section_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_ivr_menu_xml_ctx { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")] + public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")] + public static extern string switch_config_buf_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")] + public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")] + public static extern int switch_config_lineno_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")] + public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")] + public static extern int switch_config_catno_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")] + public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_switch_loadable_module_interface { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")] + public static extern int switch_config_sectno_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")] + public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_switch_loadable_module_interface() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")] + public static extern int switch_config_lockto_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")] + public static extern IntPtr new_switch_config(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")] + public static extern void delete_switch_config(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")] + public static extern int switch_config_open_file(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")] + public static extern void switch_config_close_file(HandleRef jarg1); -public class SWIGTYPE_p_switch_media_bug { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")] + public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); - internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")] + public static extern void consoleLog(string jarg1, string jarg2); - protected SWIGTYPE_p_switch_media_bug() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")] + public static extern void consoleCleanLog(string jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")] + public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")] + public static extern void delete_IvrMenu(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")] + public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")] + public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3); -public class SWIGTYPE_p_switch_mutex_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_Api")] + public static extern IntPtr new_Api(); - internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")] + public static extern void delete_Api(HandleRef jarg1); - protected SWIGTYPE_p_switch_mutex_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")] + public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")] + public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")] + public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")] + public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")] + public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_switch_network_list { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")] + public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")] + public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2); - protected SWIGTYPE_p_switch_network_list() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")] + public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")] + public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")] + public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")] + public static extern IntPtr new_input_callback_state_t(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")] + public static extern void delete_input_callback_state_t(HandleRef jarg1); -public class SWIGTYPE_p_switch_pollfd_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")] + public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2); - internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")] + public static extern char DTMF_digit_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_pollfd_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")] + public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")] + public static extern uint DTMF_duration_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")] + public static extern IntPtr new_DTMF(char jarg1, uint jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")] + public static extern void delete_DTMF(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")] + public static extern IntPtr new_Stream__SWIG_0(); -public class SWIGTYPE_p_switch_queue_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")] + public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1); - internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")] + public static extern void delete_Stream(HandleRef jarg1); - protected SWIGTYPE_p_switch_queue_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")] + public static extern void Stream_Write(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")] + public static extern string Stream_get_data(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")] + public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")] + public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")] + public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")] + public static extern string Event_serialized_string_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_rtp { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")] + public static extern void Event_mine_set(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")] + public static extern int Event_mine_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_rtp() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")] + public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")] + public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")] + public static extern void delete_Event(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")] + public static extern string Event_Serialize(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")] + public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2); -public class SWIGTYPE_p_switch_size_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")] + public static extern string Event_GetHeader(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")] + public static extern string Event_GetBody(HandleRef jarg1); - protected SWIGTYPE_p_switch_size_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")] + public static extern string Event_GetEventType(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")] + public static extern bool Event_AddBody(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")] + public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")] + public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")] + public static extern bool Event_Fire(HandleRef jarg1); -public class SWIGTYPE_p_switch_sockaddr_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")] + public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")] + public static extern IntPtr EventConsumer_events_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_sockaddr_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")] + public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")] + public static extern int EventConsumer_e_event_id_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")] + public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")] + public static extern IntPtr EventConsumer_node_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")] + public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_switch_socket_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")] + public static extern string EventConsumer_e_callback_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")] + public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_switch_socket_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")] + public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")] + public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")] + public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")] + public static extern IntPtr new_EventConsumer(string jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")] + public static extern void delete_EventConsumer(HandleRef jarg1); -public class SWIGTYPE_p_switch_ssize_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")] + public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")] + public static extern void delete_CoreSession(HandleRef jarg1); - protected SWIGTYPE_p_switch_ssize_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")] + public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")] + public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")] + public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")] + public static extern IntPtr CoreSession_channel_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")] + public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2); -public class SWIGTYPE_p_switch_thread_rwlock_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")] + public static extern uint CoreSession_flags_get(HandleRef jarg1); - internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")] + public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2); - protected SWIGTYPE_p_switch_thread_rwlock_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")] + public static extern int CoreSession_allocated_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")] + public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")] + public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")] + public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")] + public static extern int CoreSession_HookState_get(HandleRef jarg1); -public class SWIGTYPE_p_switch_time_exp_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")] + public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")] + public static extern string CoreSession_uuid_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_time_exp_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")] + public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")] + public static extern string CoreSession_tts_name_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")] + public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")] + public static extern string CoreSession_voice_name_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")] + public static extern int CoreSession_Answer(HandleRef jarg1); -public class SWIGTYPE_p_switch_time_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")] + public static extern int CoreSession_preAnswer(HandleRef jarg1); - internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")] + public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_switch_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")] + public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")] + public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")] + public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")] + public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")] + public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); -public class SWIGTYPE_p_switch_xml_binding { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")] + public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")] + public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5); - protected SWIGTYPE_p_switch_xml_binding() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")] + public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")] + public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")] + public static extern void CoreSession_destroy(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")] + public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")] + public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3); -public class SWIGTYPE_p_time_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")] + public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2); - internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")] + public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4); - protected SWIGTYPE_p_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")] + public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5); - internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")] + public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")] + public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")] + public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")] + public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3); -public class SWIGTYPE_p_unsigned_char { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")] + public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3); - internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")] + public static extern int CoreSession_flushEvents(HandleRef jarg1); - protected SWIGTYPE_p_unsigned_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")] + public static extern int CoreSession_flushDigits(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")] + public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")] + public static extern bool CoreSession_Ready(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")] + public static extern bool CoreSession_answered(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")] + public static extern bool CoreSession_mediaReady(HandleRef jarg1); -public class SWIGTYPE_p_unsigned_int { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")] + public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2); - internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")] + public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3); - protected SWIGTYPE_p_unsigned_int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")] + public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")] + public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")] + public static extern string CoreSession_getXMLCDR(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")] + public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")] + public static extern bool CoreSession_end_allow_threads(HandleRef jarg1); -public class SWIGTYPE_p_unsigned_long { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")] + public static extern string CoreSession_GetUuid(HandleRef jarg1); - internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")] + public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1); - protected SWIGTYPE_p_unsigned_long() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")] + public static extern void CoreSession_check_hangup_hook(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_console_log")] + public static extern void console_log(string jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")] + public static extern void console_clean_log(string jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_msleep")] + public static extern void msleep(uint jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_bridge")] + public static extern void bridge(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_unsigned_short { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")] + public static extern int hanguphook(HandleRef jarg1); - internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")] + public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5); - protected SWIGTYPE_p_unsigned_short() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")] + public static extern IntPtr new_ManagedSession__SWIG_0(); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")] + public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")] + public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")] + public static extern void delete_ManagedSession(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")] + public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef); } } @@ -15344,20 +15267,97 @@ using System; using System.Runtime.InteropServices; -public class SWIGTYPE_p_void { +public class input_callback_state_t : IDisposable { private HandleRef swigCPtr; + protected bool swigCMemOwn; - internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) { + internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } - protected SWIGTYPE_p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + internal static HandleRef getCPtr(input_callback_state_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } - internal static HandleRef getCPtr(SWIGTYPE_p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + ~input_callback_state_t() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public SWIGTYPE_p_void function { + set { + freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } + + public SWIGTYPE_p_void threadState { + set { + freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } + + public SWIGTYPE_p_void extra { + set { + freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } + + public string funcargs { + set { + freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr); + return ret; + } + } + + public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) { } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +[System.Flags] public enum session_flag_t { + S_HUP = (1 << 0), + S_FREE = (1 << 1), + S_RDLOCK = (1 << 2) } } @@ -15534,6 +15534,84 @@ namespace FreeSWITCH.Native { +using System; +using System.Runtime.InteropServices; + +public class switch_app_log : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_app_log obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_app_log() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_app_log(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public string app { + set { + freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr); + return ret; + } + } + + public string arg { + set { + freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr); + return ret; + } + } + + public switch_app_log next { + set { + freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr); + switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); + return ret; + } + } + + public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + [System.Flags] public enum switch_application_flag_enum_t { SAF_NONE = 0, SAF_SUPPORT_NOMEDIA = (1 << 0) @@ -15655,126 +15733,48 @@ public int refs { set { - freeswitchPINVOKE.switch_application_interface_refs_set(swigCPtr, value); - } - get { - int ret = freeswitchPINVOKE.switch_application_interface_refs_get(swigCPtr); - return ret; - } - } - - public SWIGTYPE_p_switch_mutex_t reflock { - set { - freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr); - SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false); - return ret; - } - } - - public SWIGTYPE_p_switch_loadable_module_interface parent { - set { - freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr); - SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); - return ret; - } - } - - public switch_application_interface next { - set { - freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr); - switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false); - return ret; - } - } - - public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class switch_app_log : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_app_log obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_app_log() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_app_log(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } + freeswitchPINVOKE.switch_application_interface_refs_set(swigCPtr, value); + } + get { + int ret = freeswitchPINVOKE.switch_application_interface_refs_get(swigCPtr); + return ret; + } } - public string app { + public SWIGTYPE_p_switch_mutex_t reflock { set { - freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value); + freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value)); } get { - string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr); + SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false); return ret; } } - public string arg { + public SWIGTYPE_p_switch_loadable_module_interface parent { set { - freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value); + freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value)); } get { - string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr); + SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); return ret; } } - public switch_app_log next { + public switch_application_interface next { set { - freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value)); + freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr); - switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr); + switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false); return ret; } } - public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) { + public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) { } } @@ -21463,277 +21463,98 @@ } } - public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf { - set { - freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr); - SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_recv_dtmf next { - set { - freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr); - switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class switch_io_event_hook_resurrect_session : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_io_event_hook_resurrect_session() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session { - set { - freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr); - SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_resurrect_session next { - set { - freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr); - switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class switch_io_event_hooks : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_io_event_hooks obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_io_event_hooks() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public switch_io_event_hook_outgoing_channel outgoing_channel { - set { - freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr); - switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_receive_message receive_message { - set { - freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr); - switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_receive_event receive_event { - set { - freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr); - switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_read_frame read_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr); - switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_video_read_frame video_read_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr); - switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_write_frame write_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr); - switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_video_write_frame video_write_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr); - switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_kill_channel kill_channel { - set { - freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr); - switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_send_dtmf send_dtmf { + public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf { set { - freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr); - switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr); + SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false); return ret; } } - public switch_io_event_hook_recv_dtmf recv_dtmf { + public switch_io_event_hook_recv_dtmf next { set { - freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr); switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); return ret; } } - public switch_io_event_hook_state_change state_change { + public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class switch_io_event_hook_resurrect_session : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_io_event_hook_resurrect_session() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session { set { - freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr); - switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr); + SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false); return ret; } } - public switch_io_event_hook_resurrect_session resurrect_session { + public switch_io_event_hook_resurrect_session next { set { - freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr); switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); return ret; } } - public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) { + public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) { } } @@ -22094,6 +21915,185 @@ namespace FreeSWITCH.Native { +using System; +using System.Runtime.InteropServices; + +public class switch_io_event_hooks : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_io_event_hooks obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_io_event_hooks() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public switch_io_event_hook_outgoing_channel outgoing_channel { + set { + freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr); + switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_receive_message receive_message { + set { + freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr); + switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_receive_event receive_event { + set { + freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr); + switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_read_frame read_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr); + switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_video_read_frame video_read_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr); + switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_write_frame write_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr); + switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_video_write_frame video_write_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr); + switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_kill_channel kill_channel { + set { + freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr); + switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_send_dtmf send_dtmf { + set { + freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr); + switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_recv_dtmf recv_dtmf { + set { + freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr); + switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_state_change state_change { + set { + freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr); + switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_resurrect_session resurrect_session { + set { + freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr); + switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); + return ret; + } + } + + public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + [System.Flags] public enum switch_io_flag_enum_t { SWITCH_IO_FLAG_NONE = 0, SWITCH_IO_FLAG_NOBLOCK = (1 << 0) Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp Tue Feb 3 20:56:16 2009 @@ -11483,17 +11483,17 @@ SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) "freeswitch::IVRMenu"); SWIG_TypeClientData(SWIGTYPE_p_API, (void*) "freeswitch::API"); SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) "freeswitch::input_callback_state_t"); - /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_HUP", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_HUP))); SvREADONLY_on(sv); } while(0) /*@SWIG@*/; - /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_FREE", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_FREE))); SvREADONLY_on(sv); } while(0) /*@SWIG@*/; - /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_RDLOCK", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_RDLOCK))); SvREADONLY_on(sv); Modified: freeswitch/trunk/src/switch_cpp.cpp ============================================================================== --- freeswitch/trunk/src/switch_cpp.cpp (original) +++ freeswitch/trunk/src/switch_cpp.cpp Tue Feb 3 20:56:16 2009 @@ -487,6 +487,7 @@ channel = switch_core_session_get_channel(session); allocated = 1; switch_core_session_read_lock(session); + uuid = strdup(switch_core_session_get_uuid(session)); } } From nicholas at freeswitch.org Wed Feb 4 03:54:31 2009 From: nicholas at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 05:54:31 -0600 Subject: [Freeswitch-svn] [commit] r11631 - freeswitch/trunk/debian Message-ID: Author: nicholas Date: Wed Feb 4 05:54:31 2009 New Revision: 11631 Log: Copyright modified. Current maintaner added and copyright years Modified: freeswitch/trunk/debian/copyright Modified: freeswitch/trunk/debian/copyright ============================================================================== --- freeswitch/trunk/debian/copyright (original) +++ freeswitch/trunk/debian/copyright Wed Feb 4 05:54:31 2009 @@ -1,10 +1,13 @@ This package was debianized by Michal Bielicki on Now 25, 2007. - The source was downloaded from http://www.freewitch.org. + +The current Debian maintainer is Nicholas Amorim + +The source was downloaded from http://www.freewitch.org/ Upstream authors: Anthony Minessale II -Portions created by the Initial Developer are Copyright (C) +Portions created by the Initial Developer are Copyright (C) 2006-2009 the Initial Developer. All Rights Reserved. The PRIMARY AUTHORS are (and/or have been): From mikej at freeswitch.org Wed Feb 4 08:29:40 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 10:29:40 -0600 Subject: [Freeswitch-svn] [commit] r11632 - freeswitch/trunk/libs/sofia-sip/utils Message-ID: Author: mikej Date: Wed Feb 4 10:29:40 2009 New Revision: 11632 Log: doxygen -u Modified: freeswitch/trunk/libs/sofia-sip/utils/Doxyfile.in Modified: freeswitch/trunk/libs/sofia-sip/utils/Doxyfile.in ============================================================================== --- freeswitch/trunk/libs/sofia-sip/utils/Doxyfile.in (original) +++ freeswitch/trunk/libs/sofia-sip/utils/Doxyfile.in Wed Feb 4 10:29:40 2009 @@ -1,3 +1,4 @@ +# Doxyfile 1.5.7.1 # # Template for Doxyfile. # @configure_input@ @@ -5,67 +6,6353 @@ # Copyright (C) 2006 Nokia Corporation # Contact: Pekka Pessi # Licensed under LGPL. See file COPYING. + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project # +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "sofia-sip-utils" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = @VERSION@ + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ../man + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, +# Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = "MODULEPAGE=\mainpage Sofia SIP User Agent Library - " \ + "CONTACT=\par Contact:\n" \ + "STATUS=\par Status:\n" \ + "LICENSE=\par License:\n" \ + "SofiaSIP=Sofia SIP" \ + "SU=@ref su_index \"SU\"" \ + "su=@ref su_index \"su\"" \ + "msg=@ref msg_index \"msg\"" \ + "sip=@ref sip_index \"sip\"" \ + "nua=@ref nua_index \"nua\"" \ + "nta=@ref nta_index \"nta\"" \ + "soa=@ref soa_index \"soa\"" \ + "DEF=\def" \ + "TAGS=\par Related Tags:" \ + "TAG=\par \n" \ + "EVENTS=\par Events:\n" \ + "RESPONSES=\par Related Response Codes:\n" \ + "CFILE=\internal \file" \ + "IFILE=\file" \ + "HI=\hideinitializer " \ + "HIDE=\hideinitializer " \ + "SHOW=\showinitializer " \ + "LGPL2=\par Lesser GNU Public License Version 2:\n \ref lgpl2\n \if 0\n" \ + "ENDLGPL2=\endif \n" \ + "GPL2=\par GNU Public License Version 2:\n \ref gpl2\n \if 0\n" \ + "ENDGPL2=\endif \n" \ + "ERRORS=\par Errors: " \ + "ERROR=\par \n \b " \ + "NEW_1_12_2=@since New in 1.12.2" \ + "VERSION_1_12_2=1.12.2" \ + "NEW_1_12_4=@since New in 1.12.4" \ + "VERSION_1_12_4=1.12.4" \ + "VERSION_1_12_5=1.12.5" \ + "NEW_1_12_5=@since New in 1.12.5" \ + "EXP_1_12_5=@since Experimental in 1.12.5, available if --enable-experimental configuration option is given" \ + "VERSION_1_12_6=1.12.6" \ + "NEW_1_12_6=@since New in 1.12.6" \ + "EXP_1_12_6=@since Experimental in 1.12.6, available if --enable-experimental configuration option is given" \ + "VERSION_1_12_7=1.12.7" \ + "NEW_1_12_7=@since New in 1.12.7" \ + "EXP_1_12_7=@since Experimental in 1.12.7, available if --enable-experimental configuration option is given" \ + "VERSION_1_12_8=1.12.8" \ + "NEW_1_12_8=@since New in 1.12.8" \ + "VERSION_1_12_9=1.12.9" \ + "NEW_1_12_9=@since New in 1.12.9" \ + "RFC700=RFC 700" \ + "RFC701=RFC 701" \ + "RFC702=RFC 702" \ + "RFC703=RFC 703" \ + "RFC704=RFC 704" \ + "RFC705=RFC 705" \ + "RFC706=RFC 706" \ + "RFC707=RFC 707" \ + "RFC708=RFC 708" \ + "RFC709=RFC 709" \ + "RFC710=RFC 710" \ + "RFC711=RFC 711" \ + "RFC712=RFC 712" \ + "RFC713=RFC 713" \ + "RFC714=RFC 714" \ + "RFC715=RFC 715" \ + "RFC716=RFC 716" \ + "RFC717=RFC 717" \ + "RFC718=RFC 718" \ + "RFC719=RFC 719" \ + "RFC720=RFC 720" \ + "RFC721=RFC 721" \ + "RFC722=RFC 722" \ + "RFC723=RFC 723" \ + "RFC724=RFC 724" \ + "RFC725=RFC 725" \ + "RFC726=RFC 726" \ + "RFC727=RFC 727" \ + "RFC728=RFC 728" \ + "RFC729=RFC 729" \ + "RFC730=RFC 730" \ + "RFC731=RFC 731" \ + "RFC732=RFC 732" \ + "RFC733=RFC 733" \ + "RFC734=RFC 734" \ + "RFC735=RFC 735" \ + "RFC736=RFC 736" \ + "RFC737=RFC 737" \ + "RFC738=RFC 738" \ + "RFC739=RFC 739" \ + "RFC740=RFC 740" \ + "RFC741=RFC 741" \ + "RFC742=RFC 742" \ + "RFC743=RFC 743" \ + "RFC744=RFC 744" \ + "RFC745=RFC 745" \ + "RFC746=RFC 746" \ + "RFC747=RFC 747" \ + "RFC748=RFC 748" \ + "RFC749=RFC 749" \ + "RFC750=RFC 750" \ + "RFC751=RFC 751" \ + "RFC752=RFC 752" \ + "RFC753=RFC 753" \ + "RFC754=RFC 754" \ + "RFC755=RFC 755" \ + "RFC756=RFC 756" \ + "RFC757=RFC 757" \ + "RFC758=RFC 758" \ + "RFC759=RFC 759" \ + "RFC760=RFC 760" \ + "RFC761=RFC 761" \ + "RFC762=RFC 762" \ + "RFC763=RFC 763" \ + "RFC764=RFC 764" \ + "RFC765=RFC 765" \ + "RFC766=RFC 766" \ + "RFC767=RFC 767" \ + "RFC768=RFC 768" \ + "RFC769=RFC 769" \ + "RFC770=RFC 770" \ + "RFC771=RFC 771" \ + "RFC772=RFC 772" \ + "RFC773=RFC 773" \ + "RFC774=RFC 774" \ + "RFC775=RFC 775" \ + "RFC776=RFC 776" \ + "RFC777=RFC 777" \ + "RFC778=RFC 778" \ + "RFC779=RFC 779" \ + "RFC780=RFC 780" \ + "RFC781=RFC 781" \ + "RFC782=RFC 782" \ + "RFC783=RFC 783" \ + "RFC784=RFC 784" \ + "RFC785=RFC 785" \ + "RFC786=RFC 786" \ + "RFC787=RFC 787" \ + "RFC788=RFC 788" \ + "RFC789=RFC 789" \ + "RFC790=RFC 790" \ + "RFC791=RFC 791" \ + "RFC792=RFC 792" \ + "RFC793=RFC 793" \ + "RFC794=RFC 794" \ + "RFC795=RFC 795" \ + "RFC796=RFC 796" \ + "RFC797=RFC 797" \ + "RFC798=RFC 798" \ + "RFC799=RFC 799" \ + "RFC800=RFC 800" \ + "RFC801=RFC 801" \ + "RFC802=RFC 802" \ + "RFC803=RFC 803" \ + "RFC804=RFC 804" \ + "RFC805=RFC 805" \ + "RFC806=RFC 806" \ + "RFC807=RFC 807" \ + "RFC808=RFC 808" \ + "RFC809=RFC 809" \ + "RFC810=RFC 810" \ + "RFC811=RFC 811" \ + "RFC812=RFC 812" \ + "RFC813=RFC 813" \ + "RFC814=RFC 814" \ + "RFC815=RFC 815" \ + "RFC816=RFC 816" \ + "RFC817=RFC 817" \ + "RFC818=RFC 818" \ + "RFC819=RFC 819" \ + "RFC820=RFC 820" \ + "RFC821=RFC 821" \ + "RFC822=RFC 822" \ + "RFC823=RFC 823" \ + "RFC824=RFC 824" \ + "RFC825=RFC 825" \ + "RFC826=RFC 826" \ + "RFC827=RFC 827" \ + "RFC828=RFC 828" \ + "RFC829=RFC 829" \ + "RFC830=RFC 830" \ + "RFC831=RFC 831" \ + "RFC832=RFC 832" \ + "RFC833=RFC 833" \ + "RFC834=RFC 834" \ + "RFC835=RFC 835" \ + "RFC836=RFC 836" \ + "RFC837=RFC 837" \ + "RFC838=RFC 838" \ + "RFC839=RFC 839" \ + "RFC840=RFC 840" \ + "RFC841=RFC 841" \ + "RFC842=RFC 842" \ + "RFC843=RFC 843" \ + "RFC844=RFC 844" \ + "RFC845=RFC 845" \ + "RFC846=RFC 846" \ + "RFC847=RFC 847" \ + "RFC848=RFC 848" \ + "RFC849=RFC 849" \ + "RFC850=RFC 850" \ + "RFC851=RFC 851" \ + "RFC852=RFC 852" \ + "RFC853=RFC 853" \ + "RFC854=RFC 854" \ + "RFC855=RFC 855" \ + "RFC856=RFC 856" \ + "RFC857=RFC 857" \ + "RFC858=RFC 858" \ + "RFC859=RFC 859" \ + "RFC860=RFC 860" \ + "RFC861=RFC 861" \ + "RFC862=RFC 862" \ + "RFC863=RFC 863" \ + "RFC864=RFC 864" \ + "RFC865=RFC 865" \ + "RFC866=RFC 866" \ + "RFC867=RFC 867" \ + "RFC868=RFC 868" \ + "RFC869=RFC 869" \ + "RFC870=RFC 870" \ + "RFC871=RFC 871" \ + "RFC872=RFC 872" \ + "RFC873=RFC 873" \ + "RFC874=RFC 874" \ + "RFC875=RFC 875" \ + "RFC876=RFC 876" \ + "RFC877=RFC 877" \ + "RFC878=RFC 878" \ + "RFC879=RFC 879" \ + "RFC880=RFC 880" \ + "RFC881=RFC 881" \ + "RFC882=RFC 882" \ + "RFC883=RFC 883" \ + "RFC884=RFC 884" \ + "RFC885=RFC 885" \ + "RFC886=RFC 886" \ + "RFC887=RFC 887" \ + "RFC888=RFC 888" \ + "RFC889=RFC 889" \ + "RFC890=RFC 890" \ + "RFC891=RFC 891" \ + "RFC892=RFC 892" \ + "RFC893=RFC 893" \ + "RFC894=RFC 894" \ + "RFC895=RFC 895" \ + "RFC896=RFC 896" \ + "RFC897=RFC 897" \ + "RFC898=RFC 898" \ + "RFC899=RFC 899" \ + "RFC900=RFC 900" \ + "RFC901=RFC 901" \ + "RFC902=RFC 902" \ + "RFC903=RFC 903" \ + "RFC904=RFC 904" \ + "RFC905=RFC 905" \ + "RFC906=RFC 906" \ + "RFC907=RFC 907" \ + "RFC908=RFC 908" \ + "RFC909=RFC 909" \ + "RFC910=RFC 910" \ + "RFC911=RFC 911" \ + "RFC912=RFC 912" \ + "RFC913=RFC 913" \ + "RFC914=RFC 914" \ + "RFC915=RFC 915" \ + "RFC916=RFC 916" \ + "RFC917=RFC 917" \ + "RFC918=RFC 918" \ + "RFC919=RFC 919" \ + "RFC920=RFC 920" \ + "RFC921=RFC 921" \ + "RFC922=RFC 922" \ + "RFC923=RFC 923" \ + "RFC924=RFC 924" \ + "RFC925=RFC 925" \ + "RFC926=RFC 926" \ + "RFC927=RFC 927" \ + "RFC928=RFC 928" \ + "RFC929=RFC 929" \ + "RFC930=RFC 930" \ + "RFC931=RFC 931" \ + "RFC932=RFC 932" \ + "RFC933=RFC 933" \ + "RFC934=RFC 934" \ + "RFC935=RFC 935" \ + "RFC936=RFC 936" \ + "RFC937=RFC 937" \ + "RFC938=RFC 938" \ + "RFC939=RFC 939" \ + "RFC940=RFC 940" \ + "RFC941=RFC 941" \ + "RFC942=RFC 942" \ + "RFC943=RFC 943" \ + "RFC944=RFC 944" \ + "RFC945=RFC 945" \ + "RFC946=RFC 946" \ + "RFC947=RFC 947" \ + "RFC948=RFC 948" \ + "RFC949=RFC 949" \ + "RFC950=RFC 950" \ + "RFC951=RFC 951" \ + "RFC952=RFC 952" \ + "RFC953=RFC 953" \ + "RFC954=RFC 954" \ + "RFC955=RFC 955" \ + "RFC956=RFC 956" \ + "RFC957=RFC 957" \ + "RFC958=RFC 958" \ + "RFC959=RFC 959" \ + "RFC960=RFC 960" \ + "RFC961=RFC 961" \ + "RFC962=RFC 962" \ + "RFC963=RFC 963" \ + "RFC964=RFC 964" \ + "RFC965=RFC 965" \ + "RFC966=RFC 966" \ + "RFC967=RFC 967" \ + "RFC968=RFC 968" \ + "RFC969=RFC 969" \ + "RFC970=RFC 970" \ + "RFC971=RFC 971" \ + "RFC972=RFC 972" \ + "RFC973=RFC 973" \ + "RFC974=RFC 974" \ + "RFC975=RFC 975" \ + "RFC976=RFC 976" \ + "RFC977=RFC 977" \ + "RFC978=RFC 978" \ + "RFC979=RFC 979" \ + "RFC980=RFC 980" \ + "RFC981=RFC 981" \ + "RFC982=RFC 982" \ + "RFC983=RFC 983" \ + "RFC984=RFC 984" \ + "RFC985=RFC 985" \ + "RFC986=RFC 986" \ + "RFC987=RFC 987" \ + "RFC988=RFC 988" \ + "RFC989=RFC 989" \ + "RFC990=RFC 990" \ + "RFC991=RFC 991" \ + "RFC992=RFC 992" \ + "RFC993=RFC 993" \ + "RFC994=RFC 994" \ + "RFC995=RFC 995" \ + "RFC996=RFC 996" \ + "RFC997=RFC 997" \ + "RFC998=RFC 998" \ + "RFC999=RFC 999" \ + "RFC1000=RFC 1000" \ + "RFC1001=RFC 1001" \ + "RFC1002=RFC 1002" \ + "RFC1003=RFC 1003" \ + "RFC1004=RFC 1004" \ + "RFC1005=RFC 1005" \ + "RFC1006=RFC 1006" \ + "RFC1007=RFC 1007" \ + "RFC1008=RFC 1008" \ + "RFC1009=RFC 1009" \ + "RFC1010=RFC 1010" \ + "RFC1011=RFC 1011" \ + "RFC1012=RFC 1012" \ + "RFC1013=RFC 1013" \ + "RFC1014=RFC 1014" \ + "RFC1015=RFC 1015" \ + "RFC1016=RFC 1016" \ + "RFC1017=RFC 1017" \ + "RFC1018=RFC 1018" \ + "RFC1019=RFC 1019" \ + "RFC1020=RFC 1020" \ + "RFC1021=RFC 1021" \ + "RFC1022=RFC 1022" \ + "RFC1023=RFC 1023" \ + "RFC1024=RFC 1024" \ + "RFC1025=RFC 1025" \ + "RFC1026=RFC 1026" \ + "RFC1027=RFC 1027" \ + "RFC1028=RFC 1028" \ + "RFC1029=RFC 1029" \ + "RFC1030=RFC 1030" \ + "RFC1031=RFC 1031" \ + "RFC1032=RFC 1032" \ + "RFC1033=RFC 1033" \ + "RFC1034=RFC 1034" \ + "RFC1035=RFC 1035" \ + "RFC1036=RFC 1036" \ + "RFC1037=RFC 1037" \ + "RFC1038=RFC 1038" \ + "RFC1039=RFC 1039" \ + "RFC1040=RFC 1040" \ + "RFC1041=RFC 1041" \ + "RFC1042=RFC 1042" \ + "RFC1043=RFC 1043" \ + "RFC1044=RFC 1044" \ + "RFC1045=RFC 1045" \ + "RFC1046=RFC 1046" \ + "RFC1047=RFC 1047" \ + "RFC1048=RFC 1048" \ + "RFC1049=RFC 1049" \ + "RFC1050=RFC 1050" \ + "RFC1051=RFC 1051" \ + "RFC1052=RFC 1052" \ + "RFC1053=RFC 1053" \ + "RFC1054=RFC 1054" \ + "RFC1055=RFC 1055" \ + "RFC1056=RFC 1056" \ + "RFC1057=RFC 1057" \ + "RFC1058=RFC 1058" \ + "RFC1059=RFC 1059" \ + "RFC1060=RFC 1060" \ + "RFC1061=RFC 1061" \ + "RFC1062=RFC 1062" \ + "RFC1063=RFC 1063" \ + "RFC1064=RFC 1064" \ + "RFC1065=RFC 1065" \ + "RFC1066=RFC 1066" \ + "RFC1067=RFC 1067" \ + "RFC1068=RFC 1068" \ + "RFC1069=RFC 1069" \ + "RFC1070=RFC 1070" \ + "RFC1071=RFC 1071" \ + "RFC1072=RFC 1072" \ + "RFC1073=RFC 1073" \ + "RFC1074=RFC 1074" \ + "RFC1075=RFC 1075" \ + "RFC1076=RFC 1076" \ + "RFC1077=RFC 1077" \ + "RFC1078=RFC 1078" \ + "RFC1079=RFC 1079" \ + "RFC1080=RFC 1080" \ + "RFC1081=RFC 1081" \ + "RFC1082=RFC 1082" \ + "RFC1083=RFC 1083" \ + "RFC1084=RFC 1084" \ + "RFC1085=RFC 1085" \ + "RFC1086=RFC 1086" \ + "RFC1087=RFC 1087" \ + "RFC1088=RFC 1088" \ + "RFC1089=RFC 1089" \ + "RFC1090=RFC 1090" \ + "RFC1091=RFC 1091" \ + "RFC1092=RFC 1092" \ + "RFC1093=RFC 1093" \ + "RFC1094=RFC 1094" \ + "RFC1095=RFC 1095" \ + "RFC1096=RFC 1096" \ + "RFC1097=RFC 1097" \ + "RFC1098=RFC 1098" \ + "RFC1099=RFC 1099" \ + "RFC1100=RFC 1100" \ + "RFC1101=RFC 1101" \ + "RFC1102=RFC 1102" \ + "RFC1103=RFC 1103" \ + "RFC1104=RFC 1104" \ + "RFC1105=RFC 1105" \ + "RFC1106=RFC 1106" \ + "RFC1107=RFC 1107" \ + "RFC1108=RFC 1108" \ + "RFC1109=RFC 1109" \ + "RFC1110=RFC 1110" \ + "RFC1111=RFC 1111" \ + "RFC1112=RFC 1112" \ + "RFC1113=RFC 1113" \ + "RFC1114=RFC 1114" \ + "RFC1115=RFC 1115" \ + "RFC1116=RFC 1116" \ + "RFC1117=RFC 1117" \ + "RFC1118=RFC 1118" \ + "RFC1119=RFC 1119" \ + "RFC1120=RFC 1120" \ + "RFC1121=RFC 1121" \ + "RFC1122=RFC 1122" \ + "RFC1123=RFC 1123" \ + "RFC1124=RFC 1124" \ + "RFC1125=RFC 1125" \ + "RFC1126=RFC 1126" \ + "RFC1127=RFC 1127" \ + "RFC1128=RFC 1128" \ + "RFC1129=RFC 1129" \ + "RFC1130=RFC 1130" \ + "RFC1131=RFC 1131" \ + "RFC1132=RFC 1132" \ + "RFC1133=RFC 1133" \ + "RFC1134=RFC 1134" \ + "RFC1135=RFC 1135" \ + "RFC1136=RFC 1136" \ + "RFC1137=RFC 1137" \ + "RFC1138=RFC 1138" \ + "RFC1139=RFC 1139" \ + "RFC1140=RFC 1140" \ + "RFC1141=RFC 1141" \ + "RFC1142=RFC 1142" \ + "RFC1143=RFC 1143" \ + "RFC1144=RFC 1144" \ + "RFC1145=RFC 1145" \ + "RFC1146=RFC 1146" \ + "RFC1147=RFC 1147" \ + "RFC1148=RFC 1148" \ + "RFC1149=RFC 1149" \ + "RFC1150=RFC 1150" \ + "RFC1151=RFC 1151" \ + "RFC1152=RFC 1152" \ + "RFC1153=RFC 1153" \ + "RFC1154=RFC 1154" \ + "RFC1155=RFC 1155" \ + "RFC1156=RFC 1156" \ + "RFC1157=RFC 1157" \ + "RFC1158=RFC 1158" \ + "RFC1159=RFC 1159" \ + "RFC1160=RFC 1160" \ + "RFC1161=RFC 1161" \ + "RFC1162=RFC 1162" \ + "RFC1163=RFC 1163" \ + "RFC1164=RFC 1164" \ + "RFC1165=RFC 1165" \ + "RFC1166=RFC 1166" \ + "RFC1167=RFC 1167" \ + "RFC1168=RFC 1168" \ + "RFC1169=RFC 1169" \ + "RFC1170=RFC 1170" \ + "RFC1171=RFC 1171" \ + "RFC1172=RFC 1172" \ + "RFC1173=RFC 1173" \ + "RFC1174=RFC 1174" \ + "RFC1175=RFC 1175" \ + "RFC1176=RFC 1176" \ + "RFC1177=RFC 1177" \ + "RFC1178=RFC 1178" \ + "RFC1179=RFC 1179" \ + "RFC1180=RFC 1180" \ + "RFC1181=RFC 1181" \ + "RFC1182=RFC 1182" \ + "RFC1183=RFC 1183" \ + "RFC1184=RFC 1184" \ + "RFC1185=RFC 1185" \ + "RFC1186=RFC 1186" \ + "RFC1187=RFC 1187" \ + "RFC1188=RFC 1188" \ + "RFC1189=RFC 1189" \ + "RFC1190=RFC 1190" \ + "RFC1191=RFC 1191" \ + "RFC1192=RFC 1192" \ + "RFC1193=RFC 1193" \ + "RFC1194=RFC 1194" \ + "RFC1195=RFC 1195" \ + "RFC1196=RFC 1196" \ + "RFC1197=RFC 1197" \ + "RFC1198=RFC 1198" \ + "RFC1199=RFC 1199" \ + "RFC1200=RFC 1200" \ + "RFC1201=RFC 1201" \ + "RFC1202=RFC 1202" \ + "RFC1203=RFC 1203" \ + "RFC1204=RFC 1204" \ + "RFC1205=RFC 1205" \ + "RFC1206=RFC 1206" \ + "RFC1207=RFC 1207" \ + "RFC1208=RFC 1208" \ + "RFC1209=RFC 1209" \ + "RFC1210=RFC 1210" \ + "RFC1211=RFC 1211" \ + "RFC1212=RFC 1212" \ + "RFC1213=RFC 1213" \ + "RFC1214=RFC 1214" \ + "RFC1215=RFC 1215" \ + "RFC1216=RFC 1216" \ + "RFC1217=RFC 1217" \ + "RFC1218=RFC 1218" \ + "RFC1219=RFC 1219" \ + "RFC1220=RFC 1220" \ + "RFC1221=RFC 1221" \ + "RFC1222=RFC 1222" \ + "RFC1223=RFC 1223" \ + "RFC1224=RFC 1224" \ + "RFC1225=RFC 1225" \ + "RFC1226=RFC 1226" \ + "RFC1227=RFC 1227" \ + "RFC1228=RFC 1228" \ + "RFC1229=RFC 1229" \ + "RFC1230=RFC 1230" \ + "RFC1231=RFC 1231" \ + "RFC1232=RFC 1232" \ + "RFC1233=RFC 1233" \ + "RFC1234=RFC 1234" \ + "RFC1235=RFC 1235" \ + "RFC1236=RFC 1236" \ + "RFC1237=RFC 1237" \ + "RFC1238=RFC 1238" \ + "RFC1239=RFC 1239" \ + "RFC1240=RFC 1240" \ + "RFC1241=RFC 1241" \ + "RFC1242=RFC 1242" \ + "RFC1243=RFC 1243" \ + "RFC1244=RFC 1244" \ + "RFC1245=RFC 1245" \ + "RFC1246=RFC 1246" \ + "RFC1247=RFC 1247" \ + "RFC1248=RFC 1248" \ + "RFC1249=RFC 1249" \ + "RFC1250=RFC 1250" \ + "RFC1251=RFC 1251" \ + "RFC1252=RFC 1252" \ + "RFC1253=RFC 1253" \ + "RFC1254=RFC 1254" \ + "RFC1255=RFC 1255" \ + "RFC1256=RFC 1256" \ + "RFC1257=RFC 1257" \ + "RFC1258=RFC 1258" \ + "RFC1259=RFC 1259" \ + "RFC1260=RFC 1260" \ + "RFC1261=RFC 1261" \ + "RFC1262=RFC 1262" \ + "RFC1263=RFC 1263" \ + "RFC1264=RFC 1264" \ + "RFC1265=RFC 1265" \ + "RFC1266=RFC 1266" \ + "RFC1267=RFC 1267" \ + "RFC1268=RFC 1268" \ + "RFC1269=RFC 1269" \ + "RFC1270=RFC 1270" \ + "RFC1271=RFC 1271" \ + "RFC1272=RFC 1272" \ + "RFC1273=RFC 1273" \ + "RFC1274=RFC 1274" \ + "RFC1275=RFC 1275" \ + "RFC1276=RFC 1276" \ + "RFC1277=RFC 1277" \ + "RFC1278=RFC 1278" \ + "RFC1279=RFC 1279" \ + "RFC1280=RFC 1280" \ + "RFC1281=RFC 1281" \ + "RFC1282=RFC 1282" \ + "RFC1283=RFC 1283" \ + "RFC1284=RFC 1284" \ + "RFC1285=RFC 1285" \ + "RFC1286=RFC 1286" \ + "RFC1287=RFC 1287" \ + "RFC1288=RFC 1288" \ + "RFC1289=RFC 1289" \ + "RFC1290=RFC 1290" \ + "RFC1291=RFC 1291" \ + "RFC1292=RFC 1292" \ + "RFC1293=RFC 1293" \ + "RFC1294=RFC 1294" \ + "RFC1295=RFC 1295" \ + "RFC1296=RFC 1296" \ + "RFC1297=RFC 1297" \ + "RFC1298=RFC 1298" \ + "RFC1299=RFC 1299" \ + "RFC1300=RFC 1300" \ + "RFC1301=RFC 1301" \ + "RFC1302=RFC 1302" \ + "RFC1303=RFC 1303" \ + "RFC1304=RFC 1304" \ + "RFC1305=RFC 1305" \ + "RFC1306=RFC 1306" \ + "RFC1307=RFC 1307" \ + "RFC1308=RFC 1308" \ + "RFC1309=RFC 1309" \ + "RFC1310=RFC 1310" \ + "RFC1311=RFC 1311" \ + "RFC1312=RFC 1312" \ + "RFC1313=RFC 1313" \ + "RFC1314=RFC 1314" \ + "RFC1315=RFC 1315" \ + "RFC1316=RFC 1316" \ + "RFC1317=RFC 1317" \ + "RFC1318=RFC 1318" \ + "RFC1319=RFC 1319" \ + "RFC1320=RFC 1320" \ + "RFC1321=RFC 1321" \ + "RFC1322=RFC 1322" \ + "RFC1323=RFC 1323" \ + "RFC1324=RFC 1324" \ + "RFC1325=RFC 1325" \ + "RFC1326=RFC 1326" \ + "RFC1327=RFC 1327" \ + "RFC1328=RFC 1328" \ + "RFC1329=RFC 1329" \ + "RFC1330=RFC 1330" \ + "RFC1331=RFC 1331" \ + "RFC1332=RFC 1332" \ + "RFC1333=RFC 1333" \ + "RFC1334=RFC 1334" \ + "RFC1335=RFC 1335" \ + "RFC1336=RFC 1336" \ + "RFC1337=RFC 1337" \ + "RFC1338=RFC 1338" \ + "RFC1339=RFC 1339" \ + "RFC1340=RFC 1340" \ + "RFC1341=RFC 1341" \ + "RFC1342=RFC 1342" \ + "RFC1343=RFC 1343" \ + "RFC1344=RFC 1344" \ + "RFC1345=RFC 1345" \ + "RFC1346=RFC 1346" \ + "RFC1347=RFC 1347" \ + "RFC1348=RFC 1348" \ + "RFC1349=RFC 1349" \ + "RFC1350=RFC 1350" \ + "RFC1351=RFC 1351" \ + "RFC1352=RFC 1352" \ + "RFC1353=RFC 1353" \ + "RFC1354=RFC 1354" \ + "RFC1355=RFC 1355" \ + "RFC1356=RFC 1356" \ + "RFC1357=RFC 1357" \ + "RFC1358=RFC 1358" \ + "RFC1359=RFC 1359" \ + "RFC1360=RFC 1360" \ + "RFC1361=RFC 1361" \ + "RFC1362=RFC 1362" \ + "RFC1363=RFC 1363" \ + "RFC1364=RFC 1364" \ + "RFC1365=RFC 1365" \ + "RFC1366=RFC 1366" \ + "RFC1367=RFC 1367" \ + "RFC1368=RFC 1368" \ + "RFC1369=RFC 1369" \ + "RFC1370=RFC 1370" \ + "RFC1371=RFC 1371" \ + "RFC1372=RFC 1372" \ + "RFC1373=RFC 1373" \ + "RFC1374=RFC 1374" \ + "RFC1375=RFC 1375" \ + "RFC1376=RFC 1376" \ + "RFC1377=RFC 1377" \ + "RFC1378=RFC 1378" \ + "RFC1379=RFC 1379" \ + "RFC1380=RFC 1380" \ + "RFC1381=RFC 1381" \ + "RFC1382=RFC 1382" \ + "RFC1383=RFC 1383" \ + "RFC1384=RFC 1384" \ + "RFC1385=RFC 1385" \ + "RFC1386=RFC 1386" \ + "RFC1387=RFC 1387" \ + "RFC1388=RFC 1388" \ + "RFC1389=RFC 1389" \ + "RFC1390=RFC 1390" \ + "RFC1391=RFC 1391" \ + "RFC1392=RFC 1392" \ + "RFC1393=RFC 1393" \ + "RFC1394=RFC 1394" \ + "RFC1395=RFC 1395" \ + "RFC1396=RFC 1396" \ + "RFC1397=RFC 1397" \ + "RFC1398=RFC 1398" \ + "RFC1399=RFC 1399" \ + "RFC1400=RFC 1400" \ + "RFC1401=RFC 1401" \ + "RFC1402=RFC 1402" \ + "RFC1403=RFC 1403" \ + "RFC1404=RFC 1404" \ + "RFC1405=RFC 1405" \ + "RFC1406=RFC 1406" \ + "RFC1407=RFC 1407" \ + "RFC1408=RFC 1408" \ + "RFC1409=RFC 1409" \ + "RFC1410=RFC 1410" \ + "RFC1411=RFC 1411" \ + "RFC1412=RFC 1412" \ + "RFC1413=RFC 1413" \ + "RFC1414=RFC 1414" \ + "RFC1415=RFC 1415" \ + "RFC1416=RFC 1416" \ + "RFC1417=RFC 1417" \ + "RFC1418=RFC 1418" \ + "RFC1419=RFC 1419" \ + "RFC1420=RFC 1420" \ + "RFC1421=RFC 1421" \ + "RFC1422=RFC 1422" \ + "RFC1423=RFC 1423" \ + "RFC1424=RFC 1424" \ + "RFC1425=RFC 1425" \ + "RFC1426=RFC 1426" \ + "RFC1427=RFC 1427" \ + "RFC1428=RFC 1428" \ + "RFC1429=RFC 1429" \ + "RFC1430=RFC 1430" \ + "RFC1431=RFC 1431" \ + "RFC1432=RFC 1432" \ + "RFC1433=RFC 1433" \ + "RFC1434=RFC 1434" \ + "RFC1435=RFC 1435" \ + "RFC1436=RFC 1436" \ + "RFC1437=RFC 1437" \ + "RFC1438=RFC 1438" \ + "RFC1439=RFC 1439" \ + "RFC1440=RFC 1440" \ + "RFC1441=RFC 1441" \ + "RFC1442=RFC 1442" \ + "RFC1443=RFC 1443" \ + "RFC1444=RFC 1444" \ + "RFC1445=RFC 1445" \ + "RFC1446=RFC 1446" \ + "RFC1447=RFC 1447" \ + "RFC1448=RFC 1448" \ + "RFC1449=RFC 1449" \ + "RFC1450=RFC 1450" \ + "RFC1451=RFC 1451" \ + "RFC1452=RFC 1452" \ + "RFC1453=RFC 1453" \ + "RFC1454=RFC 1454" \ + "RFC1455=RFC 1455" \ + "RFC1456=RFC 1456" \ + "RFC1457=RFC 1457" \ + "RFC1458=RFC 1458" \ + "RFC1459=RFC 1459" \ + "RFC1460=RFC 1460" \ + "RFC1461=RFC 1461" \ + "RFC1462=RFC 1462" \ + "RFC1463=RFC 1463" \ + "RFC1464=RFC 1464" \ + "RFC1465=RFC 1465" \ + "RFC1466=RFC 1466" \ + "RFC1467=RFC 1467" \ + "RFC1468=RFC 1468" \ + "RFC1469=RFC 1469" \ + "RFC1470=RFC 1470" \ + "RFC1471=RFC 1471" \ + "RFC1472=RFC 1472" \ + "RFC1473=RFC 1473" \ + "RFC1474=RFC 1474" \ + "RFC1475=RFC 1475" \ + "RFC1476=RFC 1476" \ + "RFC1477=RFC 1477" \ + "RFC1478=RFC 1478" \ + "RFC1479=RFC 1479" \ + "RFC1480=RFC 1480" \ + "RFC1481=RFC 1481" \ + "RFC1482=RFC 1482" \ + "RFC1483=RFC 1483" \ + "RFC1484=RFC 1484" \ + "RFC1485=RFC 1485" \ + "RFC1486=RFC 1486" \ + "RFC1487=RFC 1487" \ + "RFC1488=RFC 1488" \ + "RFC1489=RFC 1489" \ + "RFC1490=RFC 1490" \ + "RFC1491=RFC 1491" \ + "RFC1492=RFC 1492" \ + "RFC1493=RFC 1493" \ + "RFC1494=RFC 1494" \ + "RFC1495=RFC 1495" \ + "RFC1496=RFC 1496" \ + "RFC1497=RFC 1497" \ + "RFC1498=RFC 1498" \ + "RFC1499=RFC 1499" \ + "RFC1500=RFC 1500" \ + "RFC1501=RFC 1501" \ + "RFC1502=RFC 1502" \ + "RFC1503=RFC 1503" \ + "RFC1504=RFC 1504" \ + "RFC1505=RFC 1505" \ + "RFC1506=RFC 1506" \ + "RFC1507=RFC 1507" \ + "RFC1508=RFC 1508" \ + "RFC1509=RFC 1509" \ + "RFC1510=RFC 1510" \ + "RFC1511=RFC 1511" \ + "RFC1512=RFC 1512" \ + "RFC1513=RFC 1513" \ + "RFC1514=RFC 1514" \ + "RFC1515=RFC 1515" \ + "RFC1516=RFC 1516" \ + "RFC1517=RFC 1517" \ + "RFC1518=RFC 1518" \ + "RFC1519=RFC 1519" \ + "RFC1520=RFC 1520" \ + "RFC1521=RFC 1521" \ + "RFC1522=RFC 1522" \ + "RFC1523=RFC 1523" \ + "RFC1524=RFC 1524" \ + "RFC1525=RFC 1525" \ + "RFC1526=RFC 1526" \ + "RFC1527=RFC 1527" \ + "RFC1528=RFC 1528" \ + "RFC1529=RFC 1529" \ + "RFC1530=RFC 1530" \ + "RFC1531=RFC 1531" \ + "RFC1532=RFC 1532" \ + "RFC1533=RFC 1533" \ + "RFC1534=RFC 1534" \ + "RFC1535=RFC 1535" \ + "RFC1536=RFC 1536" \ + "RFC1537=RFC 1537" \ + "RFC1538=RFC 1538" \ + "RFC1539=RFC 1539" \ + "RFC1540=RFC 1540" \ + "RFC1541=RFC 1541" \ + "RFC1542=RFC 1542" \ + "RFC1543=RFC 1543" \ + "RFC1544=RFC 1544" \ + "RFC1545=RFC 1545" \ + "RFC1546=RFC 1546" \ + "RFC1547=RFC 1547" \ + "RFC1548=RFC 1548" \ + "RFC1549=RFC 1549" \ + "RFC1550=RFC 1550" \ + "RFC1551=RFC 1551" \ + "RFC1552=RFC 1552" \ + "RFC1553=RFC 1553" \ + "RFC1554=RFC 1554" \ + "RFC1555=RFC 1555" \ + "RFC1556=RFC 1556" \ + "RFC1557=RFC 1557" \ + "RFC1558=RFC 1558" \ + "RFC1559=RFC 1559" \ + "RFC1560=RFC 1560" \ + "RFC1561=RFC 1561" \ + "RFC1562=RFC 1562" \ + "RFC1563=RFC 1563" \ + "RFC1564=RFC 1564" \ + "RFC1565=RFC 1565" \ + "RFC1566=RFC 1566" \ + "RFC1567=RFC 1567" \ + "RFC1568=RFC 1568" \ + "RFC1569=RFC 1569" \ + "RFC1570=RFC 1570" \ + "RFC1571=RFC 1571" \ + "RFC1572=RFC 1572" \ + "RFC1573=RFC 1573" \ + "RFC1574=RFC 1574" \ + "RFC1575=RFC 1575" \ + "RFC1576=RFC 1576" \ + "RFC1577=RFC 1577" \ + "RFC1578=RFC 1578" \ + "RFC1579=RFC 1579" \ + "RFC1580=RFC 1580" \ + "RFC1581=RFC 1581" \ + "RFC1582=RFC 1582" \ + "RFC1583=RFC 1583" \ + "RFC1584=RFC 1584" \ + "RFC1585=RFC 1585" \ + "RFC1586=RFC 1586" \ + "RFC1587=RFC 1587" \ + "RFC1588=RFC 1588" \ + "RFC1589=RFC 1589" \ + "RFC1590=RFC 1590" \ + "RFC1591=RFC 1591" \ + "RFC1592=RFC 1592" \ + "RFC1593=RFC 1593" \ + "RFC1594=RFC 1594" \ + "RFC1595=RFC 1595" \ + "RFC1596=RFC 1596" \ + "RFC1597=RFC 1597" \ + "RFC1598=RFC 1598" \ + "RFC1599=RFC 1599" \ + "RFC1600=RFC 1600" \ + "RFC1601=RFC 1601" \ + "RFC1602=RFC 1602" \ + "RFC1603=RFC 1603" \ + "RFC1604=RFC 1604" \ + "RFC1605=RFC 1605" \ + "RFC1606=RFC 1606" \ + "RFC1607=RFC 1607" \ + "RFC1608=RFC 1608" \ + "RFC1609=RFC 1609" \ + "RFC1610=RFC 1610" \ + "RFC1611=RFC 1611" \ + "RFC1612=RFC 1612" \ + "RFC1613=RFC 1613" \ + "RFC1614=RFC 1614" \ + "RFC1615=RFC 1615" \ + "RFC1616=RFC 1616" \ + "RFC1617=RFC 1617" \ + "RFC1618=RFC 1618" \ + "RFC1619=RFC 1619" \ + "RFC1620=RFC 1620" \ + "RFC1621=RFC 1621" \ + "RFC1622=RFC 1622" \ + "RFC1623=RFC 1623" \ + "RFC1624=RFC 1624" \ + "RFC1625=RFC 1625" \ + "RFC1626=RFC 1626" \ + "RFC1627=RFC 1627" \ + "RFC1628=RFC 1628" \ + "RFC1629=RFC 1629" \ + "RFC1630=RFC 1630" \ + "RFC1631=RFC 1631" \ + "RFC1632=RFC 1632" \ + "RFC1633=RFC 1633" \ + "RFC1634=RFC 1634" \ + "RFC1635=RFC 1635" \ + "RFC1636=RFC 1636" \ + "RFC1637=RFC 1637" \ + "RFC1638=RFC 1638" \ + "RFC1639=RFC 1639" \ + "RFC1640=RFC 1640" \ + "RFC1641=RFC 1641" \ + "RFC1642=RFC 1642" \ + "RFC1643=RFC 1643" \ + "RFC1644=RFC 1644" \ + "RFC1645=RFC 1645" \ + "RFC1646=RFC 1646" \ + "RFC1647=RFC 1647" \ + "RFC1648=RFC 1648" \ + "RFC1649=RFC 1649" \ + "RFC1650=RFC 1650" \ + "RFC1651=RFC 1651" \ + "RFC1652=RFC 1652" \ + "RFC1653=RFC 1653" \ + "RFC1654=RFC 1654" \ + "RFC1655=RFC 1655" \ + "RFC1656=RFC 1656" \ + "RFC1657=RFC 1657" \ + "RFC1658=RFC 1658" \ + "RFC1659=RFC 1659" \ + "RFC1660=RFC 1660" \ + "RFC1661=RFC 1661" \ + "RFC1662=RFC 1662" \ + "RFC1663=RFC 1663" \ + "RFC1664=RFC 1664" \ + "RFC1665=RFC 1665" \ + "RFC1666=RFC 1666" \ + "RFC1667=RFC 1667" \ + "RFC1668=RFC 1668" \ + "RFC1669=RFC 1669" \ + "RFC1670=RFC 1670" \ + "RFC1671=RFC 1671" \ + "RFC1672=RFC 1672" \ + "RFC1673=RFC 1673" \ + "RFC1674=RFC 1674" \ + "RFC1675=RFC 1675" \ + "RFC1676=RFC 1676" \ + "RFC1677=RFC 1677" \ + "RFC1678=RFC 1678" \ + "RFC1679=RFC 1679" \ + "RFC1680=RFC 1680" \ + "RFC1681=RFC 1681" \ + "RFC1682=RFC 1682" \ + "RFC1683=RFC 1683" \ + "RFC1684=RFC 1684" \ + "RFC1685=RFC 1685" \ + "RFC1686=RFC 1686" \ + "RFC1687=RFC 1687" \ + "RFC1688=RFC 1688" \ + "RFC1689=RFC 1689" \ + "RFC1690=RFC 1690" \ + "RFC1691=RFC 1691" \ + "RFC1692=RFC 1692" \ + "RFC1693=RFC 1693" \ + "RFC1694=RFC 1694" \ + "RFC1695=RFC 1695" \ + "RFC1696=RFC 1696" \ + "RFC1697=RFC 1697" \ + "RFC1698=RFC 1698" \ + "RFC1699=RFC 1699" \ + "RFC1700=RFC 1700" \ + "RFC1701=RFC 1701" \ + "RFC1702=RFC 1702" \ + "RFC1703=RFC 1703" \ + "RFC1704=RFC 1704" \ + "RFC1705=RFC 1705" \ + "RFC1706=RFC 1706" \ + "RFC1707=RFC 1707" \ + "RFC1708=RFC 1708" \ + "RFC1709=RFC 1709" \ + "RFC1710=RFC 1710" \ + "RFC1711=RFC 1711" \ + "RFC1712=RFC 1712" \ + "RFC1713=RFC 1713" \ + "RFC1714=RFC 1714" \ + "RFC1715=RFC 1715" \ + "RFC1716=RFC 1716" \ + "RFC1717=RFC 1717" \ + "RFC1718=RFC 1718" \ + "RFC1719=RFC 1719" \ + "RFC1720=RFC 1720" \ + "RFC1721=RFC 1721" \ + "RFC1722=RFC 1722" \ + "RFC1723=RFC 1723" \ + "RFC1724=RFC 1724" \ + "RFC1725=RFC 1725" \ + "RFC1726=RFC 1726" \ + "RFC1727=RFC 1727" \ + "RFC1728=RFC 1728" \ + "RFC1729=RFC 1729" \ + "RFC1730=RFC 1730" \ + "RFC1731=RFC 1731" \ + "RFC1732=RFC 1732" \ + "RFC1733=RFC 1733" \ + "RFC1734=RFC 1734" \ + "RFC1735=RFC 1735" \ + "RFC1736=RFC 1736" \ + "RFC1737=RFC 1737" \ + "RFC1738=RFC 1738" \ + "RFC1739=RFC 1739" \ + "RFC1740=RFC 1740" \ + "RFC1741=RFC 1741" \ + "RFC1742=RFC 1742" \ + "RFC1743=RFC 1743" \ + "RFC1744=RFC 1744" \ + "RFC1745=RFC 1745" \ + "RFC1746=RFC 1746" \ + "RFC1747=RFC 1747" \ + "RFC1748=RFC 1748" \ + "RFC1749=RFC 1749" \ + "RFC1750=RFC 1750" \ + "RFC1751=RFC 1751" \ + "RFC1752=RFC 1752" \ + "RFC1753=RFC 1753" \ + "RFC1754=RFC 1754" \ + "RFC1755=RFC 1755" \ + "RFC1756=RFC 1756" \ + "RFC1757=RFC 1757" \ + "RFC1758=RFC 1758" \ + "RFC1759=RFC 1759" \ + "RFC1760=RFC 1760" \ + "RFC1761=RFC 1761" \ + "RFC1762=RFC 1762" \ + "RFC1763=RFC 1763" \ + "RFC1764=RFC 1764" \ + "RFC1765=RFC 1765" \ + "RFC1766=RFC 1766" \ + "RFC1767=RFC 1767" \ + "RFC1768=RFC 1768" \ + "RFC1769=RFC 1769" \ + "RFC1770=RFC 1770" \ + "RFC1771=RFC 1771" \ + "RFC1772=RFC 1772" \ + "RFC1773=RFC 1773" \ + "RFC1774=RFC 1774" \ + "RFC1775=RFC 1775" \ + "RFC1776=RFC 1776" \ + "RFC1777=RFC 1777" \ + "RFC1778=RFC 1778" \ + "RFC1779=RFC 1779" \ + "RFC1780=RFC 1780" \ + "RFC1781=RFC 1781" \ + "RFC1782=RFC 1782" \ + "RFC1783=RFC 1783" \ + "RFC1784=RFC 1784" \ + "RFC1785=RFC 1785" \ + "RFC1786=RFC 1786" \ + "RFC1787=RFC 1787" \ + "RFC1788=RFC 1788" \ + "RFC1789=RFC 1789" \ + "RFC1790=RFC 1790" \ + "RFC1791=RFC 1791" \ + "RFC1792=RFC 1792" \ + "RFC1793=RFC 1793" \ + "RFC1794=RFC 1794" \ + "RFC1795=RFC 1795" \ + "RFC1796=RFC 1796" \ + "RFC1797=RFC 1797" \ + "RFC1798=RFC 1798" \ + "RFC1799=RFC 1799" \ + "RFC1800=RFC 1800" \ + "RFC1801=RFC 1801" \ + "RFC1802=RFC 1802" \ + "RFC1803=RFC 1803" \ + "RFC1804=RFC 1804" \ + "RFC1805=RFC 1805" \ + "RFC1806=RFC 1806" \ + "RFC1807=RFC 1807" \ + "RFC1808=RFC 1808" \ + "RFC1809=RFC 1809" \ + "RFC1810=RFC 1810" \ + "RFC1811=RFC 1811" \ + "RFC1812=RFC 1812" \ + "RFC1813=RFC 1813" \ + "RFC1814=RFC 1814" \ + "RFC1815=RFC 1815" \ + "RFC1816=RFC 1816" \ + "RFC1817=RFC 1817" \ + "RFC1818=RFC 1818" \ + "RFC1819=RFC 1819" \ + "RFC1820=RFC 1820" \ + "RFC1821=RFC 1821" \ + "RFC1822=RFC 1822" \ + "RFC1823=RFC 1823" \ + "RFC1824=RFC 1824" \ + "RFC1825=RFC 1825" \ + "RFC1826=RFC 1826" \ + "RFC1827=RFC 1827" \ + "RFC1828=RFC 1828" \ + "RFC1829=RFC 1829" \ + "RFC1830=RFC 1830" \ + "RFC1831=RFC 1831" \ + "RFC1832=RFC 1832" \ + "RFC1833=RFC 1833" \ + "RFC1834=RFC 1834" \ + "RFC1835=RFC 1835" \ + "RFC1836=RFC 1836" \ + "RFC1837=RFC 1837" \ + "RFC1838=RFC 1838" \ + "RFC1839=RFC 1839" \ + "RFC1840=RFC 1840" \ + "RFC1841=RFC 1841" \ + "RFC1842=RFC 1842" \ + "RFC1843=RFC 1843" \ + "RFC1844=RFC 1844" \ + "RFC1845=RFC 1845" \ + "RFC1846=RFC 1846" \ + "RFC1847=RFC 1847" \ + "RFC1848=RFC 1848" \ + "RFC1849=RFC 1849" \ + "RFC1850=RFC 1850" \ + "RFC1851=RFC 1851" \ + "RFC1852=RFC 1852" \ + "RFC1853=RFC 1853" \ + "RFC1854=RFC 1854" \ + "RFC1855=RFC 1855" \ + "RFC1856=RFC 1856" \ + "RFC1857=RFC 1857" \ + "RFC1858=RFC 1858" \ + "RFC1859=RFC 1859" \ + "RFC1860=RFC 1860" \ + "RFC1861=RFC 1861" \ + "RFC1862=RFC 1862" \ + "RFC1863=RFC 1863" \ + "RFC1864=RFC 1864" \ + "RFC1865=RFC 1865" \ + "RFC1866=RFC 1866" \ + "RFC1867=RFC 1867" \ + "RFC1868=RFC 1868" \ + "RFC1869=RFC 1869" \ + "RFC1870=RFC 1870" \ + "RFC1871=RFC 1871" \ + "RFC1872=RFC 1872" \ + "RFC1873=RFC 1873" \ + "RFC1874=RFC 1874" \ + "RFC1875=RFC 1875" \ + "RFC1876=RFC 1876" \ + "RFC1877=RFC 1877" \ + "RFC1878=RFC 1878" \ + "RFC1879=RFC 1879" \ + "RFC1880=RFC 1880" \ + "RFC1881=RFC 1881" \ + "RFC1882=RFC 1882" \ + "RFC1883=RFC 1883" \ + "RFC1884=RFC 1884" \ + "RFC1885=RFC 1885" \ + "RFC1886=RFC 1886" \ + "RFC1887=RFC 1887" \ + "RFC1888=RFC 1888" \ + "RFC1889=RFC 1889" \ + "RFC1890=RFC 1890" \ + "RFC1891=RFC 1891" \ + "RFC1892=RFC 1892" \ + "RFC1893=RFC 1893" \ + "RFC1894=RFC 1894" \ + "RFC1895=RFC 1895" \ + "RFC1896=RFC 1896" \ + "RFC1897=RFC 1897" \ + "RFC1898=RFC 1898" \ + "RFC1899=RFC 1899" \ + "RFC1900=RFC 1900" \ + "RFC1901=RFC 1901" \ + "RFC1902=RFC 1902" \ + "RFC1903=RFC 1903" \ + "RFC1904=RFC 1904" \ + "RFC1905=RFC 1905" \ + "RFC1906=RFC 1906" \ + "RFC1907=RFC 1907" \ + "RFC1908=RFC 1908" \ + "RFC1909=RFC 1909" \ + "RFC1910=RFC 1910" \ + "RFC1911=RFC 1911" \ + "RFC1912=RFC 1912" \ + "RFC1913=RFC 1913" \ + "RFC1914=RFC 1914" \ + "RFC1915=RFC 1915" \ + "RFC1916=RFC 1916" \ + "RFC1917=RFC 1917" \ + "RFC1918=RFC 1918" \ + "RFC1919=RFC 1919" \ + "RFC1920=RFC 1920" \ + "RFC1921=RFC 1921" \ + "RFC1922=RFC 1922" \ + "RFC1923=RFC 1923" \ + "RFC1924=RFC 1924" \ + "RFC1925=RFC 1925" \ + "RFC1926=RFC 1926" \ + "RFC1927=RFC 1927" \ + "RFC1928=RFC 1928" \ + "RFC1929=RFC 1929" \ + "RFC1930=RFC 1930" \ + "RFC1931=RFC 1931" \ + "RFC1932=RFC 1932" \ + "RFC1933=RFC 1933" \ + "RFC1934=RFC 1934" \ + "RFC1935=RFC 1935" \ + "RFC1936=RFC 1936" \ + "RFC1937=RFC 1937" \ + "RFC1938=RFC 1938" \ + "RFC1939=RFC 1939" \ + "RFC1940=RFC 1940" \ + "RFC1941=RFC 1941" \ + "RFC1942=RFC 1942" \ + "RFC1943=RFC 1943" \ + "RFC1944=RFC 1944" \ + "RFC1945=RFC 1945" \ + "RFC1946=RFC 1946" \ + "RFC1947=RFC 1947" \ + "RFC1948=RFC 1948" \ + "RFC1949=RFC 1949" \ + "RFC1950=RFC 1950" \ + "RFC1951=RFC 1951" \ + "RFC1952=RFC 1952" \ + "RFC1953=RFC 1953" \ + "RFC1954=RFC 1954" \ + "RFC1955=RFC 1955" \ + "RFC1956=RFC 1956" \ + "RFC1957=RFC 1957" \ + "RFC1958=RFC 1958" \ + "RFC1959=RFC 1959" \ + "RFC1960=RFC 1960" \ + "RFC1961=RFC 1961" \ + "RFC1962=RFC 1962" \ + "RFC1963=RFC 1963" \ + "RFC1964=RFC 1964" \ + "RFC1965=RFC 1965" \ + "RFC1966=RFC 1966" \ + "RFC1967=RFC 1967" \ + "RFC1968=RFC 1968" \ + "RFC1969=RFC 1969" \ + "RFC1970=RFC 1970" \ + "RFC1971=RFC 1971" \ + "RFC1972=RFC 1972" \ + "RFC1973=RFC 1973" \ + "RFC1974=RFC 1974" \ + "RFC1975=RFC 1975" \ + "RFC1976=RFC 1976" \ + "RFC1977=RFC 1977" \ + "RFC1978=RFC 1978" \ + "RFC1979=RFC 1979" \ + "RFC1980=RFC 1980" \ + "RFC1981=RFC 1981" \ + "RFC1982=RFC 1982" \ + "RFC1983=RFC 1983" \ + "RFC1984=RFC 1984" \ + "RFC1985=RFC 1985" \ + "RFC1986=RFC 1986" \ + "RFC1987=RFC 1987" \ + "RFC1988=RFC 1988" \ + "RFC1989=RFC 1989" \ + "RFC1990=RFC 1990" \ + "RFC1991=RFC 1991" \ + "RFC1992=RFC 1992" \ + "RFC1993=RFC 1993" \ + "RFC1994=RFC 1994" \ + "RFC1995=RFC 1995" \ + "RFC1996=RFC 1996" \ + "RFC1997=RFC 1997" \ + "RFC1998=RFC 1998" \ + "RFC1999=RFC 1999" \ + "RFC2000=RFC 2000" \ + "RFC2001=RFC 2001" \ + "RFC2002=RFC 2002" \ + "RFC2003=RFC 2003" \ + "RFC2004=RFC 2004" \ + "RFC2005=RFC 2005" \ + "RFC2006=RFC 2006" \ + "RFC2007=RFC 2007" \ + "RFC2008=RFC 2008" \ + "RFC2009=RFC 2009" \ + "RFC2010=RFC 2010" \ + "RFC2011=RFC 2011" \ + "RFC2012=RFC 2012" \ + "RFC2013=RFC 2013" \ + "RFC2014=RFC 2014" \ + "RFC2015=RFC 2015" \ + "RFC2016=RFC 2016" \ + "RFC2017=RFC 2017" \ + "RFC2018=RFC 2018" \ + "RFC2019=RFC 2019" \ + "RFC2020=RFC 2020" \ + "RFC2021=RFC 2021" \ + "RFC2022=RFC 2022" \ + "RFC2023=RFC 2023" \ + "RFC2024=RFC 2024" \ + "RFC2025=RFC 2025" \ + "RFC2026=RFC 2026" \ + "RFC2027=RFC 2027" \ + "RFC2028=RFC 2028" \ + "RFC2029=RFC 2029" \ + "RFC2030=RFC 2030" \ + "RFC2031=RFC 2031" \ + "RFC2032=RFC 2032" \ + "RFC2033=RFC 2033" \ + "RFC2034=RFC 2034" \ + "RFC2035=RFC 2035" \ + "RFC2036=RFC 2036" \ + "RFC2037=RFC 2037" \ + "RFC2038=RFC 2038" \ + "RFC2039=RFC 2039" \ + "RFC2040=RFC 2040" \ + "RFC2041=RFC 2041" \ + "RFC2042=RFC 2042" \ + "RFC2043=RFC 2043" \ + "RFC2044=RFC 2044" \ + "RFC2045=RFC 2045" \ + "RFC2046=RFC 2046" \ + "RFC2047=RFC 2047" \ + "RFC2048=RFC 2048" \ + "RFC2049=RFC 2049" \ + "RFC2050=RFC 2050" \ + "RFC2051=RFC 2051" \ + "RFC2052=RFC 2052" \ + "RFC2053=RFC 2053" \ + "RFC2054=RFC 2054" \ + "RFC2055=RFC 2055" \ + "RFC2056=RFC 2056" \ + "RFC2057=RFC 2057" \ + "RFC2058=RFC 2058" \ + "RFC2059=RFC 2059" \ + "RFC2060=RFC 2060" \ + "RFC2061=RFC 2061" \ + "RFC2062=RFC 2062" \ + "RFC2063=RFC 2063" \ + "RFC2064=RFC 2064" \ + "RFC2065=RFC 2065" \ + "RFC2066=RFC 2066" \ + "RFC2067=RFC 2067" \ + "RFC2068=RFC 2068" \ + "RFC2069=RFC 2069" \ + "RFC2070=RFC 2070" \ + "RFC2071=RFC 2071" \ + "RFC2072=RFC 2072" \ + "RFC2073=RFC 2073" \ + "RFC2074=RFC 2074" \ + "RFC2075=RFC 2075" \ + "RFC2076=RFC 2076" \ + "RFC2077=RFC 2077" \ + "RFC2078=RFC 2078" \ + "RFC2079=RFC 2079" \ + "RFC2080=RFC 2080" \ + "RFC2081=RFC 2081" \ + "RFC2082=RFC 2082" \ + "RFC2083=RFC 2083" \ + "RFC2084=RFC 2084" \ + "RFC2085=RFC 2085" \ + "RFC2086=RFC 2086" \ + "RFC2087=RFC 2087" \ + "RFC2088=RFC 2088" \ + "RFC2089=RFC 2089" \ + "RFC2090=RFC 2090" \ + "RFC2091=RFC 2091" \ + "RFC2092=RFC 2092" \ + "RFC2093=RFC 2093" \ + "RFC2094=RFC 2094" \ + "RFC2095=RFC 2095" \ + "RFC2096=RFC 2096" \ + "RFC2097=RFC 2097" \ + "RFC2098=RFC 2098" \ + "RFC2099=RFC 2099" \ + "RFC2100=RFC 2100" \ + "RFC2101=RFC 2101" \ + "RFC2102=RFC 2102" \ + "RFC2103=RFC 2103" \ + "RFC2104=RFC 2104" \ + "RFC2105=RFC 2105" \ + "RFC2106=RFC 2106" \ + "RFC2107=RFC 2107" \ + "RFC2108=RFC 2108" \ + "RFC2109=RFC 2109" \ + "RFC2110=RFC 2110" \ + "RFC2111=RFC 2111" \ + "RFC2112=RFC 2112" \ + "RFC2113=RFC 2113" \ + "RFC2114=RFC 2114" \ + "RFC2115=RFC 2115" \ + "RFC2116=RFC 2116" \ + "RFC2117=RFC 2117" \ + "RFC2118=RFC 2118" \ + "RFC2119=RFC 2119" \ + "RFC2120=RFC 2120" \ + "RFC2121=RFC 2121" \ + "RFC2122=RFC 2122" \ + "RFC2123=RFC 2123" \ + "RFC2124=RFC 2124" \ + "RFC2125=RFC 2125" \ + "RFC2126=RFC 2126" \ + "RFC2127=RFC 2127" \ + "RFC2128=RFC 2128" \ + "RFC2129=RFC 2129" \ + "RFC2130=RFC 2130" \ + "RFC2131=RFC 2131" \ + "RFC2132=RFC 2132" \ + "RFC2133=RFC 2133" \ + "RFC2134=RFC 2134" \ + "RFC2135=RFC 2135" \ + "RFC2136=RFC 2136" \ + "RFC2137=RFC 2137" \ + "RFC2138=RFC 2138" \ + "RFC2139=RFC 2139" \ + "RFC2140=RFC 2140" \ + "RFC2141=RFC 2141" \ + "RFC2142=RFC 2142" \ + "RFC2143=RFC 2143" \ + "RFC2144=RFC 2144" \ + "RFC2145=RFC 2145" \ + "RFC2146=RFC 2146" \ + "RFC2147=RFC 2147" \ + "RFC2148=RFC 2148" \ + "RFC2149=RFC 2149" \ + "RFC2150=RFC 2150" \ + "RFC2151=RFC 2151" \ + "RFC2152=RFC 2152" \ + "RFC2153=RFC 2153" \ + "RFC2154=RFC 2154" \ + "RFC2155=RFC 2155" \ + "RFC2156=RFC 2156" \ + "RFC2157=RFC 2157" \ + "RFC2158=RFC 2158" \ + "RFC2159=RFC 2159" \ + "RFC2160=RFC 2160" \ + "RFC2161=RFC 2161" \ + "RFC2162=RFC 2162" \ + "RFC2163=RFC 2163" \ + "RFC2164=RFC 2164" \ + "RFC2165=RFC 2165" \ + "RFC2166=RFC 2166" \ + "RFC2167=RFC 2167" \ + "RFC2168=RFC 2168" \ + "RFC2169=RFC 2169" \ + "RFC2170=RFC 2170" \ + "RFC2171=RFC 2171" \ + "RFC2172=RFC 2172" \ + "RFC2173=RFC 2173" \ + "RFC2174=RFC 2174" \ + "RFC2175=RFC 2175" \ + "RFC2176=RFC 2176" \ + "RFC2177=RFC 2177" \ + "RFC2178=RFC 2178" \ + "RFC2179=RFC 2179" \ + "RFC2180=RFC 2180" \ + "RFC2181=RFC 2181" \ + "RFC2182=RFC 2182" \ + "RFC2183=RFC 2183" \ + "RFC2184=RFC 2184" \ + "RFC2185=RFC 2185" \ + "RFC2186=RFC 2186" \ + "RFC2187=RFC 2187" \ + "RFC2188=RFC 2188" \ + "RFC2189=RFC 2189" \ + "RFC2190=RFC 2190" \ + "RFC2191=RFC 2191" \ + "RFC2192=RFC 2192" \ + "RFC2193=RFC 2193" \ + "RFC2194=RFC 2194" \ + "RFC2195=RFC 2195" \ + "RFC2196=RFC 2196" \ + "RFC2197=RFC 2197" \ + "RFC2198=RFC 2198" \ + "RFC2199=RFC 2199" \ + "RFC2200=RFC 2200" \ + "RFC2201=RFC 2201" \ + "RFC2202=RFC 2202" \ + "RFC2203=RFC 2203" \ + "RFC2204=RFC 2204" \ + "RFC2205=RFC 2205" \ + "RFC2206=RFC 2206" \ + "RFC2207=RFC 2207" \ + "RFC2208=RFC 2208" \ + "RFC2209=RFC 2209" \ + "RFC2210=RFC 2210" \ + "RFC2211=RFC 2211" \ + "RFC2212=RFC 2212" \ + "RFC2213=RFC 2213" \ + "RFC2214=RFC 2214" \ + "RFC2215=RFC 2215" \ + "RFC2216=RFC 2216" \ + "RFC2217=RFC 2217" \ + "RFC2218=RFC 2218" \ + "RFC2219=RFC 2219" \ + "RFC2220=RFC 2220" \ + "RFC2221=RFC 2221" \ + "RFC2222=RFC 2222" \ + "RFC2223=RFC 2223" \ + "RFC2224=RFC 2224" \ + "RFC2225=RFC 2225" \ + "RFC2226=RFC 2226" \ + "RFC2227=RFC 2227" \ + "RFC2228=RFC 2228" \ + "RFC2229=RFC 2229" \ + "RFC2230=RFC 2230" \ + "RFC2231=RFC 2231" \ + "RFC2232=RFC 2232" \ + "RFC2233=RFC 2233" \ + "RFC2234=RFC 2234" \ + "RFC2235=RFC 2235" \ + "RFC2236=RFC 2236" \ + "RFC2237=RFC 2237" \ + "RFC2238=RFC 2238" \ + "RFC2239=RFC 2239" \ + "RFC2240=RFC 2240" \ + "RFC2241=RFC 2241" \ + "RFC2242=RFC 2242" \ + "RFC2243=RFC 2243" \ + "RFC2244=RFC 2244" \ + "RFC2245=RFC 2245" \ + "RFC2246=RFC 2246" \ + "RFC2247=RFC 2247" \ + "RFC2248=RFC 2248" \ + "RFC2249=RFC 2249" \ + "RFC2250=RFC 2250" \ + "RFC2251=RFC 2251" \ + "RFC2252=RFC 2252" \ + "RFC2253=RFC 2253" \ + "RFC2254=RFC 2254" \ + "RFC2255=RFC 2255" \ + "RFC2256=RFC 2256" \ + "RFC2257=RFC 2257" \ + "RFC2258=RFC 2258" \ + "RFC2259=RFC 2259" \ + "RFC2260=RFC 2260" \ + "RFC2261=RFC 2261" \ + "RFC2262=RFC 2262" \ + "RFC2263=RFC 2263" \ + "RFC2264=RFC 2264" \ + "RFC2265=RFC 2265" \ + "RFC2266=RFC 2266" \ + "RFC2267=RFC 2267" \ + "RFC2268=RFC 2268" \ + "RFC2269=RFC 2269" \ + "RFC2270=RFC 2270" \ + "RFC2271=RFC 2271" \ + "RFC2272=RFC 2272" \ + "RFC2273=RFC 2273" \ + "RFC2274=RFC 2274" \ + "RFC2275=RFC 2275" \ + "RFC2276=RFC 2276" \ + "RFC2277=RFC 2277" \ + "RFC2278=RFC 2278" \ + "RFC2279=RFC 2279" \ + "RFC2280=RFC 2280" \ + "RFC2281=RFC 2281" \ + "RFC2282=RFC 2282" \ + "RFC2283=RFC 2283" \ + "RFC2284=RFC 2284" \ + "RFC2285=RFC 2285" \ + "RFC2286=RFC 2286" \ + "RFC2287=RFC 2287" \ + "RFC2288=RFC 2288" \ + "RFC2289=RFC 2289" \ + "RFC2290=RFC 2290" \ + "RFC2291=RFC 2291" \ + "RFC2292=RFC 2292" \ + "RFC2293=RFC 2293" \ + "RFC2294=RFC 2294" \ + "RFC2295=RFC 2295" \ + "RFC2296=RFC 2296" \ + "RFC2297=RFC 2297" \ + "RFC2298=RFC 2298" \ + "RFC2299=RFC 2299" \ + "RFC2300=RFC 2300" \ + "RFC2301=RFC 2301" \ + "RFC2302=RFC 2302" \ + "RFC2303=RFC 2303" \ + "RFC2304=RFC 2304" \ + "RFC2305=RFC 2305" \ + "RFC2306=RFC 2306" \ + "RFC2307=RFC 2307" \ + "RFC2308=RFC 2308" \ + "RFC2309=RFC 2309" \ + "RFC2310=RFC 2310" \ + "RFC2311=RFC 2311" \ + "RFC2312=RFC 2312" \ + "RFC2313=RFC 2313" \ + "RFC2314=RFC 2314" \ + "RFC2315=RFC 2315" \ + "RFC2316=RFC 2316" \ + "RFC2317=RFC 2317" \ + "RFC2318=RFC 2318" \ + "RFC2319=RFC 2319" \ + "RFC2320=RFC 2320" \ + "RFC2321=RFC 2321" \ + "RFC2322=RFC 2322" \ + "RFC2323=RFC 2323" \ + "RFC2324=RFC 2324" \ + "RFC2325=RFC 2325" \ + "RFC2326=RFC 2326" \ + "RFC2327=RFC 2327" \ + "RFC2328=RFC 2328" \ + "RFC2329=RFC 2329" \ + "RFC2330=RFC 2330" \ + "RFC2331=RFC 2331" \ + "RFC2332=RFC 2332" \ + "RFC2333=RFC 2333" \ + "RFC2334=RFC 2334" \ + "RFC2335=RFC 2335" \ + "RFC2336=RFC 2336" \ + "RFC2337=RFC 2337" \ + "RFC2338=RFC 2338" \ + "RFC2339=RFC 2339" \ + "RFC2340=RFC 2340" \ + "RFC2341=RFC 2341" \ + "RFC2342=RFC 2342" \ + "RFC2343=RFC 2343" \ + "RFC2344=RFC 2344" \ + "RFC2345=RFC 2345" \ + "RFC2346=RFC 2346" \ + "RFC2347=RFC 2347" \ + "RFC2348=RFC 2348" \ + "RFC2349=RFC 2349" \ + "RFC2350=RFC 2350" \ + "RFC2351=RFC 2351" \ + "RFC2352=RFC 2352" \ + "RFC2353=RFC 2353" \ + "RFC2354=RFC 2354" \ + "RFC2355=RFC 2355" \ + "RFC2356=RFC 2356" \ + "RFC2357=RFC 2357" \ + "RFC2358=RFC 2358" \ + "RFC2359=RFC 2359" \ + "RFC2360=RFC 2360" \ + "RFC2361=RFC 2361" \ + "RFC2362=RFC 2362" \ + "RFC2363=RFC 2363" \ + "RFC2364=RFC 2364" \ + "RFC2365=RFC 2365" \ + "RFC2366=RFC 2366" \ + "RFC2367=RFC 2367" \ + "RFC2368=RFC 2368" \ + "RFC2369=RFC 2369" \ + "RFC2370=RFC 2370" \ + "RFC2371=RFC 2371" \ + "RFC2372=RFC 2372" \ + "RFC2373=RFC 2373" \ + "RFC2374=RFC 2374" \ + "RFC2375=RFC 2375" \ + "RFC2376=RFC 2376" \ + "RFC2377=RFC 2377" \ + "RFC2378=RFC 2378" \ + "RFC2379=RFC 2379" \ + "RFC2380=RFC 2380" \ + "RFC2381=RFC 2381" \ + "RFC2382=RFC 2382" \ + "RFC2383=RFC 2383" \ + "RFC2384=RFC 2384" \ + "RFC2385=RFC 2385" \ + "RFC2386=RFC 2386" \ + "RFC2387=RFC 2387" \ + "RFC2388=RFC 2388" \ + "RFC2389=RFC 2389" \ + "RFC2390=RFC 2390" \ + "RFC2391=RFC 2391" \ + "RFC2392=RFC 2392" \ + "RFC2393=RFC 2393" \ + "RFC2394=RFC 2394" \ + "RFC2395=RFC 2395" \ + "RFC2396=RFC 2396" \ + "RFC2397=RFC 2397" \ + "RFC2398=RFC 2398" \ + "RFC2399=RFC 2399" \ + "RFC2400=RFC 2400" \ + "RFC2401=RFC 2401" \ + "RFC2402=RFC 2402" \ + "RFC2403=RFC 2403" \ + "RFC2404=RFC 2404" \ + "RFC2405=RFC 2405" \ + "RFC2406=RFC 2406" \ + "RFC2407=RFC 2407" \ + "RFC2408=RFC 2408" \ + "RFC2409=RFC 2409" \ + "RFC2410=RFC 2410" \ + "RFC2411=RFC 2411" \ + "RFC2412=RFC 2412" \ + "RFC2413=RFC 2413" \ + "RFC2414=RFC 2414" \ + "RFC2415=RFC 2415" \ + "RFC2416=RFC 2416" \ + "RFC2417=RFC 2417" \ + "RFC2418=RFC 2418" \ + "RFC2419=RFC 2419" \ + "RFC2420=RFC 2420" \ + "RFC2421=RFC 2421" \ + "RFC2422=RFC 2422" \ + "RFC2423=RFC 2423" \ + "RFC2424=RFC 2424" \ + "RFC2425=RFC 2425" \ + "RFC2426=RFC 2426" \ + "RFC2427=RFC 2427" \ + "RFC2428=RFC 2428" \ + "RFC2429=RFC 2429" \ + "RFC2430=RFC 2430" \ + "RFC2431=RFC 2431" \ + "RFC2432=RFC 2432" \ + "RFC2433=RFC 2433" \ + "RFC2434=RFC 2434" \ + "RFC2435=RFC 2435" \ + "RFC2436=RFC 2436" \ + "RFC2437=RFC 2437" \ + "RFC2438=RFC 2438" \ + "RFC2439=RFC 2439" \ + "RFC2440=RFC 2440" \ + "RFC2441=RFC 2441" \ + "RFC2442=RFC 2442" \ + "RFC2443=RFC 2443" \ + "RFC2444=RFC 2444" \ + "RFC2445=RFC 2445" \ + "RFC2446=RFC 2446" \ + "RFC2447=RFC 2447" \ + "RFC2448=RFC 2448" \ + "RFC2449=RFC 2449" \ + "RFC2450=RFC 2450" \ + "RFC2451=RFC 2451" \ + "RFC2452=RFC 2452" \ + "RFC2453=RFC 2453" \ + "RFC2454=RFC 2454" \ + "RFC2455=RFC 2455" \ + "RFC2456=RFC 2456" \ + "RFC2457=RFC 2457" \ + "RFC2458=RFC 2458" \ + "RFC2459=RFC 2459" \ + "RFC2460=RFC 2460" \ + "RFC2461=RFC 2461" \ + "RFC2462=RFC 2462" \ + "RFC2463=RFC 2463" \ + "RFC2464=RFC 2464" \ + "RFC2465=RFC 2465" \ + "RFC2466=RFC 2466" \ + "RFC2467=RFC 2467" \ + "RFC2468=RFC 2468" \ + "RFC2469=RFC 2469" \ + "RFC2470=RFC 2470" \ + "RFC2471=RFC 2471" \ + "RFC2472=RFC 2472" \ + "RFC2473=RFC 2473" \ + "RFC2474=RFC 2474" \ + "RFC2475=RFC 2475" \ + "RFC2476=RFC 2476" \ + "RFC2477=RFC 2477" \ + "RFC2478=RFC 2478" \ + "RFC2479=RFC 2479" \ + "RFC2480=RFC 2480" \ + "RFC2481=RFC 2481" \ + "RFC2482=RFC 2482" \ + "RFC2483=RFC 2483" \ + "RFC2484=RFC 2484" \ + "RFC2485=RFC 2485" \ + "RFC2486=RFC 2486" \ + "RFC2487=RFC 2487" \ + "RFC2488=RFC 2488" \ + "RFC2489=RFC 2489" \ + "RFC2490=RFC 2490" \ + "RFC2491=RFC 2491" \ + "RFC2492=RFC 2492" \ + "RFC2493=RFC 2493" \ + "RFC2494=RFC 2494" \ + "RFC2495=RFC 2495" \ + "RFC2496=RFC 2496" \ + "RFC2497=RFC 2497" \ + "RFC2498=RFC 2498" \ + "RFC2499=RFC 2499" \ + "RFC2500=RFC 2500" \ + "RFC2501=RFC 2501" \ + "RFC2502=RFC 2502" \ + "RFC2503=RFC 2503" \ + "RFC2504=RFC 2504" \ + "RFC2505=RFC 2505" \ + "RFC2506=RFC 2506" \ + "RFC2507=RFC 2507" \ + "RFC2508=RFC 2508" \ + "RFC2509=RFC 2509" \ + "RFC2510=RFC 2510" \ + "RFC2511=RFC 2511" \ + "RFC2512=RFC 2512" \ + "RFC2513=RFC 2513" \ + "RFC2514=RFC 2514" \ + "RFC2515=RFC 2515" \ + "RFC2516=RFC 2516" \ + "RFC2517=RFC 2517" \ + "RFC2518=RFC 2518" \ + "RFC2519=RFC 2519" \ + "RFC2520=RFC 2520" \ + "RFC2521=RFC 2521" \ + "RFC2522=RFC 2522" \ + "RFC2523=RFC 2523" \ + "RFC2524=RFC 2524" \ + "RFC2525=RFC 2525" \ + "RFC2526=RFC 2526" \ + "RFC2527=RFC 2527" \ + "RFC2528=RFC 2528" \ + "RFC2529=RFC 2529" \ + "RFC2530=RFC 2530" \ + "RFC2531=RFC 2531" \ + "RFC2532=RFC 2532" \ + "RFC2533=RFC 2533" \ + "RFC2534=RFC 2534" \ + "RFC2535=RFC 2535" \ + "RFC2536=RFC 2536" \ + "RFC2537=RFC 2537" \ + "RFC2538=RFC 2538" \ + "RFC2539=RFC 2539" \ + "RFC2540=RFC 2540" \ + "RFC2541=RFC 2541" \ + "RFC2542=RFC 2542" \ + "RFC2543=RFC 2543" \ + "RFC2544=RFC 2544" \ + "RFC2545=RFC 2545" \ + "RFC2546=RFC 2546" \ + "RFC2547=RFC 2547" \ + "RFC2548=RFC 2548" \ + "RFC2549=RFC 2549" \ + "RFC2550=RFC 2550" \ + "RFC2551=RFC 2551" \ + "RFC2552=RFC 2552" \ + "RFC2553=RFC 2553" \ + "RFC2554=RFC 2554" \ + "RFC2555=RFC 2555" \ + "RFC2556=RFC 2556" \ + "RFC2557=RFC 2557" \ + "RFC2558=RFC 2558" \ + "RFC2559=RFC 2559" \ + "RFC2560=RFC 2560" \ + "RFC2561=RFC 2561" \ + "RFC2562=RFC 2562" \ + "RFC2563=RFC 2563" \ + "RFC2564=RFC 2564" \ + "RFC2565=RFC 2565" \ + "RFC2566=RFC 2566" \ + "RFC2567=RFC 2567" \ + "RFC2568=RFC 2568" \ + "RFC2569=RFC 2569" \ + "RFC2570=RFC 2570" \ + "RFC2571=RFC 2571" \ + "RFC2572=RFC 2572" \ + "RFC2573=RFC 2573" \ + "RFC2574=RFC 2574" \ + "RFC2575=RFC 2575" \ + "RFC2576=RFC 2576" \ + "RFC2577=RFC 2577" \ + "RFC2578=RFC 2578" \ + "RFC2579=RFC 2579" \ + "RFC2580=RFC 2580" \ + "RFC2581=RFC 2581" \ + "RFC2582=RFC 2582" \ + "RFC2583=RFC 2583" \ + "RFC2584=RFC 2584" \ + "RFC2585=RFC 2585" \ + "RFC2586=RFC 2586" \ + "RFC2587=RFC 2587" \ + "RFC2588=RFC 2588" \ + "RFC2589=RFC 2589" \ + "RFC2590=RFC 2590" \ + "RFC2591=RFC 2591" \ + "RFC2592=RFC 2592" \ + "RFC2593=RFC 2593" \ + "RFC2594=RFC 2594" \ + "RFC2595=RFC 2595" \ + "RFC2596=RFC 2596" \ + "RFC2597=RFC 2597" \ + "RFC2598=RFC 2598" \ + "RFC2599=RFC 2599" \ + "RFC2600=RFC 2600" \ + "RFC2601=RFC 2601" \ + "RFC2602=RFC 2602" \ + "RFC2603=RFC 2603" \ + "RFC2604=RFC 2604" \ + "RFC2605=RFC 2605" \ + "RFC2606=RFC 2606" \ + "RFC2607=RFC 2607" \ + "RFC2608=RFC 2608" \ + "RFC2609=RFC 2609" \ + "RFC2610=RFC 2610" \ + "RFC2611=RFC 2611" \ + "RFC2612=RFC 2612" \ + "RFC2613=RFC 2613" \ + "RFC2614=RFC 2614" \ + "RFC2615=RFC 2615" \ + "RFC2616=RFC 2616" \ + "RFC2617=RFC 2617" \ + "RFC2618=RFC 2618" \ + "RFC2619=RFC 2619" \ + "RFC2620=RFC 2620" \ + "RFC2621=RFC 2621" \ + "RFC2622=RFC 2622" \ + "RFC2623=RFC 2623" \ + "RFC2624=RFC 2624" \ + "RFC2625=RFC 2625" \ + "RFC2626=RFC 2626" \ + "RFC2627=RFC 2627" \ + "RFC2628=RFC 2628" \ + "RFC2629=RFC 2629" \ + "RFC2630=RFC 2630" \ + "RFC2631=RFC 2631" \ + "RFC2632=RFC 2632" \ + "RFC2633=RFC 2633" \ + "RFC2634=RFC 2634" \ + "RFC2635=RFC 2635" \ + "RFC2636=RFC 2636" \ + "RFC2637=RFC 2637" \ + "RFC2638=RFC 2638" \ + "RFC2639=RFC 2639" \ + "RFC2640=RFC 2640" \ + "RFC2641=RFC 2641" \ + "RFC2642=RFC 2642" \ + "RFC2643=RFC 2643" \ + "RFC2644=RFC 2644" \ + "RFC2645=RFC 2645" \ + "RFC2646=RFC 2646" \ + "RFC2647=RFC 2647" \ + "RFC2648=RFC 2648" \ + "RFC2649=RFC 2649" \ + "RFC2650=RFC 2650" \ + "RFC2651=RFC 2651" \ + "RFC2652=RFC 2652" \ + "RFC2653=RFC 2653" \ + "RFC2654=RFC 2654" \ + "RFC2655=RFC 2655" \ + "RFC2656=RFC 2656" \ + "RFC2657=RFC 2657" \ + "RFC2658=RFC 2658" \ + "RFC2659=RFC 2659" \ + "RFC2660=RFC 2660" \ + "RFC2661=RFC 2661" \ + "RFC2662=RFC 2662" \ + "RFC2663=RFC 2663" \ + "RFC2664=RFC 2664" \ + "RFC2665=RFC 2665" \ + "RFC2666=RFC 2666" \ + "RFC2667=RFC 2667" \ + "RFC2668=RFC 2668" \ + "RFC2669=RFC 2669" \ + "RFC2670=RFC 2670" \ + "RFC2671=RFC 2671" \ + "RFC2672=RFC 2672" \ + "RFC2673=RFC 2673" \ + "RFC2674=RFC 2674" \ + "RFC2675=RFC 2675" \ + "RFC2676=RFC 2676" \ + "RFC2677=RFC 2677" \ + "RFC2678=RFC 2678" \ + "RFC2679=RFC 2679" \ + "RFC2680=RFC 2680" \ + "RFC2681=RFC 2681" \ + "RFC2682=RFC 2682" \ + "RFC2683=RFC 2683" \ + "RFC2684=RFC 2684" \ + "RFC2685=RFC 2685" \ + "RFC2686=RFC 2686" \ + "RFC2687=RFC 2687" \ + "RFC2688=RFC 2688" \ + "RFC2689=RFC 2689" \ + "RFC2690=RFC 2690" \ + "RFC2691=RFC 2691" \ + "RFC2692=RFC 2692" \ + "RFC2693=RFC 2693" \ + "RFC2694=RFC 2694" \ + "RFC2695=RFC 2695" \ + "RFC2696=RFC 2696" \ + "RFC2697=RFC 2697" \ + "RFC2698=RFC 2698" \ + "RFC2699=RFC 2699" \ + "RFC2700=RFC 2700" \ + "RFC2701=RFC 2701" \ + "RFC2702=RFC 2702" \ + "RFC2703=RFC 2703" \ + "RFC2704=RFC 2704" \ + "RFC2705=RFC 2705" \ + "RFC2706=RFC 2706" \ + "RFC2707=RFC 2707" \ + "RFC2708=RFC 2708" \ + "RFC2709=RFC 2709" \ + "RFC2710=RFC 2710" \ + "RFC2711=RFC 2711" \ + "RFC2712=RFC 2712" \ + "RFC2713=RFC 2713" \ + "RFC2714=RFC 2714" \ + "RFC2715=RFC 2715" \ + "RFC2716=RFC 2716" \ + "RFC2717=RFC 2717" \ + "RFC2718=RFC 2718" \ + "RFC2719=RFC 2719" \ + "RFC2720=RFC 2720" \ + "RFC2721=RFC 2721" \ + "RFC2722=RFC 2722" \ + "RFC2723=RFC 2723" \ + "RFC2724=RFC 2724" \ + "RFC2725=RFC 2725" \ + "RFC2726=RFC 2726" \ + "RFC2727=RFC 2727" \ + "RFC2728=RFC 2728" \ + "RFC2729=RFC 2729" \ + "RFC2730=RFC 2730" \ + "RFC2731=RFC 2731" \ + "RFC2732=RFC 2732" \ + "RFC2733=RFC 2733" \ + "RFC2734=RFC 2734" \ + "RFC2735=RFC 2735" \ + "RFC2736=RFC 2736" \ + "RFC2737=RFC 2737" \ + "RFC2738=RFC 2738" \ + "RFC2739=RFC 2739" \ + "RFC2740=RFC 2740" \ + "RFC2741=RFC 2741" \ + "RFC2742=RFC 2742" \ + "RFC2743=RFC 2743" \ + "RFC2744=RFC 2744" \ + "RFC2745=RFC 2745" \ + "RFC2746=RFC 2746" \ + "RFC2747=RFC 2747" \ + "RFC2748=RFC 2748" \ + "RFC2749=RFC 2749" \ + "RFC2750=RFC 2750" \ + "RFC2751=RFC 2751" \ + "RFC2752=RFC 2752" \ + "RFC2753=RFC 2753" \ + "RFC2754=RFC 2754" \ + "RFC2755=RFC 2755" \ + "RFC2756=RFC 2756" \ + "RFC2757=RFC 2757" \ + "RFC2758=RFC 2758" \ + "RFC2759=RFC 2759" \ + "RFC2760=RFC 2760" \ + "RFC2761=RFC 2761" \ + "RFC2762=RFC 2762" \ + "RFC2763=RFC 2763" \ + "RFC2764=RFC 2764" \ + "RFC2765=RFC 2765" \ + "RFC2766=RFC 2766" \ + "RFC2767=RFC 2767" \ + "RFC2768=RFC 2768" \ + "RFC2769=RFC 2769" \ + "RFC2770=RFC 2770" \ + "RFC2771=RFC 2771" \ + "RFC2772=RFC 2772" \ + "RFC2773=RFC 2773" \ + "RFC2774=RFC 2774" \ + "RFC2775=RFC 2775" \ + "RFC2776=RFC 2776" \ + "RFC2777=RFC 2777" \ + "RFC2778=RFC 2778" \ + "RFC2779=RFC 2779" \ + "RFC2780=RFC 2780" \ + "RFC2781=RFC 2781" \ + "RFC2782=RFC 2782" \ + "RFC2783=RFC 2783" \ + "RFC2784=RFC 2784" \ + "RFC2785=RFC 2785" \ + "RFC2786=RFC 2786" \ + "RFC2787=RFC 2787" \ + "RFC2788=RFC 2788" \ + "RFC2789=RFC 2789" \ + "RFC2790=RFC 2790" \ + "RFC2791=RFC 2791" \ + "RFC2792=RFC 2792" \ + "RFC2793=RFC 2793" \ + "RFC2794=RFC 2794" \ + "RFC2795=RFC 2795" \ + "RFC2796=RFC 2796" \ + "RFC2797=RFC 2797" \ + "RFC2798=RFC 2798" \ + "RFC2799=RFC 2799" \ + "RFC2800=RFC 2800" \ + "RFC2801=RFC 2801" \ + "RFC2802=RFC 2802" \ + "RFC2803=RFC 2803" \ + "RFC2804=RFC 2804" \ + "RFC2805=RFC 2805" \ + "RFC2806=RFC 2806" \ + "RFC2807=RFC 2807" \ + "RFC2808=RFC 2808" \ + "RFC2809=RFC 2809" \ + "RFC2810=RFC 2810" \ + "RFC2811=RFC 2811" \ + "RFC2812=RFC 2812" \ + "RFC2813=RFC 2813" \ + "RFC2814=RFC 2814" \ + "RFC2815=RFC 2815" \ + "RFC2816=RFC 2816" \ + "RFC2817=RFC 2817" \ + "RFC2818=RFC 2818" \ + "RFC2819=RFC 2819" \ + "RFC2820=RFC 2820" \ + "RFC2821=RFC 2821" \ + "RFC2822=RFC 2822" \ + "RFC2823=RFC 2823" \ + "RFC2824=RFC 2824" \ + "RFC2825=RFC 2825" \ + "RFC2826=RFC 2826" \ + "RFC2827=RFC 2827" \ + "RFC2828=RFC 2828" \ + "RFC2829=RFC 2829" \ + "RFC2830=RFC 2830" \ + "RFC2831=RFC 2831" \ + "RFC2832=RFC 2832" \ + "RFC2833=RFC 2833" \ + "RFC2834=RFC 2834" \ + "RFC2835=RFC 2835" \ + "RFC2836=RFC 2836" \ + "RFC2837=RFC 2837" \ + "RFC2838=RFC 2838" \ + "RFC2839=RFC 2839" \ + "RFC2840=RFC 2840" \ + "RFC2841=RFC 2841" \ + "RFC2842=RFC 2842" \ + "RFC2843=RFC 2843" \ + "RFC2844=RFC 2844" \ + "RFC2845=RFC 2845" \ + "RFC2846=RFC 2846" \ + "RFC2847=RFC 2847" \ + "RFC2848=RFC 2848" \ + "RFC2849=RFC 2849" \ + "RFC2850=RFC 2850" \ + "RFC2851=RFC 2851" \ + "RFC2852=RFC 2852" \ + "RFC2853=RFC 2853" \ + "RFC2854=RFC 2854" \ + "RFC2855=RFC 2855" \ + "RFC2856=RFC 2856" \ + "RFC2857=RFC 2857" \ + "RFC2858=RFC 2858" \ + "RFC2859=RFC 2859" \ + "RFC2860=RFC 2860" \ + "RFC2861=RFC 2861" \ + "RFC2862=RFC 2862" \ + "RFC2863=RFC 2863" \ + "RFC2864=RFC 2864" \ + "RFC2865=RFC 2865" \ + "RFC2866=RFC 2866" \ + "RFC2867=RFC 2867" \ + "RFC2868=RFC 2868" \ + "RFC2869=RFC 2869" \ + "RFC2870=RFC 2870" \ + "RFC2871=RFC 2871" \ + "RFC2872=RFC 2872" \ + "RFC2873=RFC 2873" \ + "RFC2874=RFC 2874" \ + "RFC2875=RFC 2875" \ + "RFC2876=RFC 2876" \ + "RFC2877=RFC 2877" \ + "RFC2878=RFC 2878" \ + "RFC2879=RFC 2879" \ + "RFC2880=RFC 2880" \ + "RFC2881=RFC 2881" \ + "RFC2882=RFC 2882" \ + "RFC2883=RFC 2883" \ + "RFC2884=RFC 2884" \ + "RFC2885=RFC 2885" \ + "RFC2886=RFC 2886" \ + "RFC2887=RFC 2887" \ + "RFC2888=RFC 2888" \ + "RFC2889=RFC 2889" \ + "RFC2890=RFC 2890" \ + "RFC2891=RFC 2891" \ + "RFC2892=RFC 2892" \ + "RFC2893=RFC 2893" \ + "RFC2894=RFC 2894" \ + "RFC2895=RFC 2895" \ + "RFC2896=RFC 2896" \ + "RFC2897=RFC 2897" \ + "RFC2898=RFC 2898" \ + "RFC2899=RFC 2899" \ + "RFC2900=RFC 2900" \ + "RFC2901=RFC 2901" \ + "RFC2902=RFC 2902" \ + "RFC2903=RFC 2903" \ + "RFC2904=RFC 2904" \ + "RFC2905=RFC 2905" \ + "RFC2906=RFC 2906" \ + "RFC2907=RFC 2907" \ + "RFC2908=RFC 2908" \ + "RFC2909=RFC 2909" \ + "RFC2910=RFC 2910" \ + "RFC2911=RFC 2911" \ + "RFC2912=RFC 2912" \ + "RFC2913=RFC 2913" \ + "RFC2914=RFC 2914" \ + "RFC2915=RFC 2915" \ + "RFC2916=RFC 2916" \ + "RFC2917=RFC 2917" \ + "RFC2918=RFC 2918" \ + "RFC2919=RFC 2919" \ + "RFC2920=RFC 2920" \ + "RFC2921=RFC 2921" \ + "RFC2922=RFC 2922" \ + "RFC2923=RFC 2923" \ + "RFC2924=RFC 2924" \ + "RFC2925=RFC 2925" \ + "RFC2926=RFC 2926" \ + "RFC2927=RFC 2927" \ + "RFC2928=RFC 2928" \ + "RFC2929=RFC 2929" \ + "RFC2930=RFC 2930" \ + "RFC2931=RFC 2931" \ + "RFC2932=RFC 2932" \ + "RFC2933=RFC 2933" \ + "RFC2934=RFC 2934" \ + "RFC2935=RFC 2935" \ + "RFC2936=RFC 2936" \ + "RFC2937=RFC 2937" \ + "RFC2938=RFC 2938" \ + "RFC2939=RFC 2939" \ + "RFC2940=RFC 2940" \ + "RFC2941=RFC 2941" \ + "RFC2942=RFC 2942" \ + "RFC2943=RFC 2943" \ + "RFC2944=RFC 2944" \ + "RFC2945=RFC 2945" \ + "RFC2946=RFC 2946" \ + "RFC2947=RFC 2947" \ + "RFC2948=RFC 2948" \ + "RFC2949=RFC 2949" \ + "RFC2950=RFC 2950" \ + "RFC2951=RFC 2951" \ + "RFC2952=RFC 2952" \ + "RFC2953=RFC 2953" \ + "RFC2954=RFC 2954" \ + "RFC2955=RFC 2955" \ + "RFC2956=RFC 2956" \ + "RFC2957=RFC 2957" \ + "RFC2958=RFC 2958" \ + "RFC2959=RFC 2959" \ + "RFC2960=RFC 2960" \ + "RFC2961=RFC 2961" \ + "RFC2962=RFC 2962" \ + "RFC2963=RFC 2963" \ + "RFC2964=RFC 2964" \ + "RFC2965=RFC 2965" \ + "RFC2966=RFC 2966" \ + "RFC2967=RFC 2967" \ + "RFC2968=RFC 2968" \ + "RFC2969=RFC 2969" \ + "RFC2970=RFC 2970" \ + "RFC2971=RFC 2971" \ + "RFC2972=RFC 2972" \ + "RFC2973=RFC 2973" \ + "RFC2974=RFC 2974" \ + "RFC2975=RFC 2975" \ + "RFC2976=RFC 2976" \ + "RFC2977=RFC 2977" \ + "RFC2978=RFC 2978" \ + "RFC2979=RFC 2979" \ + "RFC2980=RFC 2980" \ + "RFC2981=RFC 2981" \ + "RFC2982=RFC 2982" \ + "RFC2983=RFC 2983" \ + "RFC2984=RFC 2984" \ + "RFC2985=RFC 2985" \ + "RFC2986=RFC 2986" \ + "RFC2987=RFC 2987" \ + "RFC2988=RFC 2988" \ + "RFC2989=RFC 2989" \ + "RFC2990=RFC 2990" \ + "RFC2991=RFC 2991" \ + "RFC2992=RFC 2992" \ + "RFC2993=RFC 2993" \ + "RFC2994=RFC 2994" \ + "RFC2995=RFC 2995" \ + "RFC2996=RFC 2996" \ + "RFC2997=RFC 2997" \ + "RFC2998=RFC 2998" \ + "RFC2999=RFC 2999" \ + "RFC3000=RFC 3000" \ + "RFC3001=RFC 3001" \ + "RFC3002=RFC 3002" \ + "RFC3003=RFC 3003" \ + "RFC3004=RFC 3004" \ + "RFC3005=RFC 3005" \ + "RFC3006=RFC 3006" \ + "RFC3007=RFC 3007" \ + "RFC3008=RFC 3008" \ + "RFC3009=RFC 3009" \ + "RFC3010=RFC 3010" \ + "RFC3011=RFC 3011" \ + "RFC3012=RFC 3012" \ + "RFC3013=RFC 3013" \ + "RFC3014=RFC 3014" \ + "RFC3015=RFC 3015" \ + "RFC3016=RFC 3016" \ + "RFC3017=RFC 3017" \ + "RFC3018=RFC 3018" \ + "RFC3019=RFC 3019" \ + "RFC3020=RFC 3020" \ + "RFC3021=RFC 3021" \ + "RFC3022=RFC 3022" \ + "RFC3023=RFC 3023" \ + "RFC3024=RFC 3024" \ + "RFC3025=RFC 3025" \ + "RFC3026=RFC 3026" \ + "RFC3027=RFC 3027" \ + "RFC3028=RFC 3028" \ + "RFC3029=RFC 3029" \ + "RFC3030=RFC 3030" \ + "RFC3031=RFC 3031" \ + "RFC3032=RFC 3032" \ + "RFC3033=RFC 3033" \ + "RFC3034=RFC 3034" \ + "RFC3035=RFC 3035" \ + "RFC3036=RFC 3036" \ + "RFC3037=RFC 3037" \ + "RFC3038=RFC 3038" \ + "RFC3039=RFC 3039" \ + "RFC3040=RFC 3040" \ + "RFC3041=RFC 3041" \ + "RFC3042=RFC 3042" \ + "RFC3043=RFC 3043" \ + "RFC3044=RFC 3044" \ + "RFC3045=RFC 3045" \ + "RFC3046=RFC 3046" \ + "RFC3047=RFC 3047" \ + "RFC3048=RFC 3048" \ + "RFC3049=RFC 3049" \ + "RFC3050=RFC 3050" \ + "RFC3051=RFC 3051" \ + "RFC3052=RFC 3052" \ + "RFC3053=RFC 3053" \ + "RFC3054=RFC 3054" \ + "RFC3055=RFC 3055" \ + "RFC3056=RFC 3056" \ + "RFC3057=RFC 3057" \ + "RFC3058=RFC 3058" \ + "RFC3059=RFC 3059" \ + "RFC3060=RFC 3060" \ + "RFC3061=RFC 3061" \ + "RFC3062=RFC 3062" \ + "RFC3063=RFC 3063" \ + "RFC3064=RFC 3064" \ + "RFC3065=RFC 3065" \ + "RFC3066=RFC 3066" \ + "RFC3067=RFC 3067" \ + "RFC3068=RFC 3068" \ + "RFC3069=RFC 3069" \ + "RFC3070=RFC 3070" \ + "RFC3071=RFC 3071" \ + "RFC3072=RFC 3072" \ + "RFC3073=RFC 3073" \ + "RFC3074=RFC 3074" \ + "RFC3075=RFC 3075" \ + "RFC3076=RFC 3076" \ + "RFC3077=RFC 3077" \ + "RFC3078=RFC 3078" \ + "RFC3079=RFC 3079" \ + "RFC3080=RFC 3080" \ + "RFC3081=RFC 3081" \ + "RFC3082=RFC 3082" \ + "RFC3083=RFC 3083" \ + "RFC3084=RFC 3084" \ + "RFC3085=RFC 3085" \ + "RFC3086=RFC 3086" \ + "RFC3087=RFC 3087" \ + "RFC3088=RFC 3088" \ + "RFC3089=RFC 3089" \ + "RFC3090=RFC 3090" \ + "RFC3091=RFC 3091" \ + "RFC3092=RFC 3092" \ + "RFC3093=RFC 3093" \ + "RFC3094=RFC 3094" \ + "RFC3095=RFC 3095" \ + "RFC3096=RFC 3096" \ + "RFC3097=RFC 3097" \ + "RFC3098=RFC 3098" \ + "RFC3099=RFC 3099" \ + "RFC3100=RFC 3100" \ + "RFC3101=RFC 3101" \ + "RFC3102=RFC 3102" \ + "RFC3103=RFC 3103" \ + "RFC3104=RFC 3104" \ + "RFC3105=RFC 3105" \ + "RFC3106=RFC 3106" \ + "RFC3107=RFC 3107" \ + "RFC3108=RFC 3108" \ + "RFC3109=RFC 3109" \ + "RFC3110=RFC 3110" \ + "RFC3111=RFC 3111" \ + "RFC3112=RFC 3112" \ + "RFC3113=RFC 3113" \ + "RFC3114=RFC 3114" \ + "RFC3115=RFC 3115" \ + "RFC3116=RFC 3116" \ + "RFC3117=RFC 3117" \ + "RFC3118=RFC 3118" \ + "RFC3119=RFC 3119" \ + "RFC3120=RFC 3120" \ + "RFC3121=RFC 3121" \ + "RFC3122=RFC 3122" \ + "RFC3123=RFC 3123" \ + "RFC3124=RFC 3124" \ + "RFC3125=RFC 3125" \ + "RFC3126=RFC 3126" \ + "RFC3127=RFC 3127" \ + "RFC3128=RFC 3128" \ + "RFC3129=RFC 3129" \ + "RFC3130=RFC 3130" \ + "RFC3131=RFC 3131" \ + "RFC3132=RFC 3132" \ + "RFC3133=RFC 3133" \ + "RFC3134=RFC 3134" \ + "RFC3135=RFC 3135" \ + "RFC3136=RFC 3136" \ + "RFC3137=RFC 3137" \ + "RFC3138=RFC 3138" \ + "RFC3139=RFC 3139" \ + "RFC3140=RFC 3140" \ + "RFC3141=RFC 3141" \ + "RFC3142=RFC 3142" \ + "RFC3143=RFC 3143" \ + "RFC3144=RFC 3144" \ + "RFC3145=RFC 3145" \ + "RFC3146=RFC 3146" \ + "RFC3147=RFC 3147" \ + "RFC3148=RFC 3148" \ + "RFC3149=RFC 3149" \ + "RFC3150=RFC 3150" \ + "RFC3151=RFC 3151" \ + "RFC3152=RFC 3152" \ + "RFC3153=RFC 3153" \ + "RFC3154=RFC 3154" \ + "RFC3155=RFC 3155" \ + "RFC3156=RFC 3156" \ + "RFC3157=RFC 3157" \ + "RFC3158=RFC 3158" \ + "RFC3159=RFC 3159" \ + "RFC3160=RFC 3160" \ + "RFC3161=RFC 3161" \ + "RFC3162=RFC 3162" \ + "RFC3163=RFC 3163" \ + "RFC3164=RFC 3164" \ + "RFC3165=RFC 3165" \ + "RFC3166=RFC 3166" \ + "RFC3167=RFC 3167" \ + "RFC3168=RFC 3168" \ + "RFC3169=RFC 3169" \ + "RFC3170=RFC 3170" \ + "RFC3171=RFC 3171" \ + "RFC3172=RFC 3172" \ + "RFC3173=RFC 3173" \ + "RFC3174=RFC 3174" \ + "RFC3175=RFC 3175" \ + "RFC3176=RFC 3176" \ + "RFC3177=RFC 3177" \ + "RFC3178=RFC 3178" \ + "RFC3179=RFC 3179" \ + "RFC3180=RFC 3180" \ + "RFC3181=RFC 3181" \ + "RFC3182=RFC 3182" \ + "RFC3183=RFC 3183" \ + "RFC3184=RFC 3184" \ + "RFC3185=RFC 3185" \ + "RFC3186=RFC 3186" \ + "RFC3187=RFC 3187" \ + "RFC3188=RFC 3188" \ + "RFC3189=RFC 3189" \ + "RFC3190=RFC 3190" \ + "RFC3191=RFC 3191" \ + "RFC3192=RFC 3192" \ + "RFC3193=RFC 3193" \ + "RFC3194=RFC 3194" \ + "RFC3195=RFC 3195" \ + "RFC3196=RFC 3196" \ + "RFC3197=RFC 3197" \ + "RFC3198=RFC 3198" \ + "RFC3199=RFC 3199" \ + "RFC3200=RFC 3200" \ + "RFC3201=RFC 3201" \ + "RFC3202=RFC 3202" \ + "RFC3203=RFC 3203" \ + "RFC3204=RFC 3204" \ + "RFC3205=RFC 3205" \ + "RFC3206=RFC 3206" \ + "RFC3207=RFC 3207" \ + "RFC3208=RFC 3208" \ + "RFC3209=RFC 3209" \ + "RFC3210=RFC 3210" \ + "RFC3211=RFC 3211" \ + "RFC3212=RFC 3212" \ + "RFC3213=RFC 3213" \ + "RFC3214=RFC 3214" \ + "RFC3215=RFC 3215" \ + "RFC3216=RFC 3216" \ + "RFC3217=RFC 3217" \ + "RFC3218=RFC 3218" \ + "RFC3219=RFC 3219" \ + "RFC3220=RFC 3220" \ + "RFC3221=RFC 3221" \ + "RFC3222=RFC 3222" \ + "RFC3223=RFC 3223" \ + "RFC3224=RFC 3224" \ + "RFC3225=RFC 3225" \ + "RFC3226=RFC 3226" \ + "RFC3227=RFC 3227" \ + "RFC3228=RFC 3228" \ + "RFC3229=RFC 3229" \ + "RFC3230=RFC 3230" \ + "RFC3231=RFC 3231" \ + "RFC3232=RFC 3232" \ + "RFC3233=RFC 3233" \ + "RFC3234=RFC 3234" \ + "RFC3235=RFC 3235" \ + "RFC3236=RFC 3236" \ + "RFC3237=RFC 3237" \ + "RFC3238=RFC 3238" \ + "RFC3239=RFC 3239" \ + "RFC3240=RFC 3240" \ + "RFC3241=RFC 3241" \ + "RFC3242=RFC 3242" \ + "RFC3243=RFC 3243" \ + "RFC3244=RFC 3244" \ + "RFC3245=RFC 3245" \ + "RFC3246=RFC 3246" \ + "RFC3247=RFC 3247" \ + "RFC3248=RFC 3248" \ + "RFC3249=RFC 3249" \ + "RFC3250=RFC 3250" \ + "RFC3251=RFC 3251" \ + "RFC3252=RFC 3252" \ + "RFC3253=RFC 3253" \ + "RFC3254=RFC 3254" \ + "RFC3255=RFC 3255" \ + "RFC3256=RFC 3256" \ + "RFC3257=RFC 3257" \ + "RFC3258=RFC 3258" \ + "RFC3259=RFC 3259" \ + "RFC3260=RFC 3260" \ + "RFC3261=RFC 3261" \ + "RFC3262=RFC 3262" \ + "RFC3263=RFC 3263" \ + "RFC3264=RFC 3264" \ + "RFC3265=RFC 3265" \ + "RFC3266=RFC 3266" \ + "RFC3267=RFC 3267" \ + "RFC3268=RFC 3268" \ + "RFC3269=RFC 3269" \ + "RFC3270=RFC 3270" \ + "RFC3271=RFC 3271" \ + "RFC3272=RFC 3272" \ + "RFC3273=RFC 3273" \ + "RFC3274=RFC 3274" \ + "RFC3275=RFC 3275" \ + "RFC3276=RFC 3276" \ + "RFC3277=RFC 3277" \ + "RFC3278=RFC 3278" \ + "RFC3279=RFC 3279" \ + "RFC3280=RFC 3280" \ + "RFC3281=RFC 3281" \ + "RFC3282=RFC 3282" \ + "RFC3283=RFC 3283" \ + "RFC3284=RFC 3284" \ + "RFC3285=RFC 3285" \ + "RFC3286=RFC 3286" \ + "RFC3287=RFC 3287" \ + "RFC3288=RFC 3288" \ + "RFC3289=RFC 3289" \ + "RFC3290=RFC 3290" \ + "RFC3291=RFC 3291" \ + "RFC3292=RFC 3292" \ + "RFC3293=RFC 3293" \ + "RFC3294=RFC 3294" \ + "RFC3295=RFC 3295" \ + "RFC3296=RFC 3296" \ + "RFC3297=RFC 3297" \ + "RFC3298=RFC 3298" \ + "RFC3299=RFC 3299" \ + "RFC3300=RFC 3300" \ + "RFC3301=RFC 3301" \ + "RFC3302=RFC 3302" \ + "RFC3303=RFC 3303" \ + "RFC3304=RFC 3304" \ + "RFC3305=RFC 3305" \ + "RFC3306=RFC 3306" \ + "RFC3307=RFC 3307" \ + "RFC3308=RFC 3308" \ + "RFC3309=RFC 3309" \ + "RFC3310=RFC 3310" \ + "RFC3311=RFC 3311" \ + "RFC3312=RFC 3312" \ + "RFC3313=RFC 3313" \ + "RFC3314=RFC 3314" \ + "RFC3315=RFC 3315" \ + "RFC3316=RFC 3316" \ + "RFC3317=RFC 3317" \ + "RFC3318=RFC 3318" \ + "RFC3319=RFC 3319" \ + "RFC3320=RFC 3320" \ + "RFC3321=RFC 3321" \ + "RFC3322=RFC 3322" \ + "RFC3323=RFC 3323" \ + "RFC3324=RFC 3324" \ + "RFC3325=RFC 3325" \ + "RFC3326=RFC 3326" \ + "RFC3327=RFC 3327" \ + "RFC3328=RFC 3328" \ + "RFC3329=RFC 3329" \ + "RFC3330=RFC 3330" \ + "RFC3331=RFC 3331" \ + "RFC3332=RFC 3332" \ + "RFC3333=RFC 3333" \ + "RFC3334=RFC 3334" \ + "RFC3335=RFC 3335" \ + "RFC3336=RFC 3336" \ + "RFC3337=RFC 3337" \ + "RFC3338=RFC 3338" \ + "RFC3339=RFC 3339" \ + "RFC3340=RFC 3340" \ + "RFC3341=RFC 3341" \ + "RFC3342=RFC 3342" \ + "RFC3343=RFC 3343" \ + "RFC3344=RFC 3344" \ + "RFC3345=RFC 3345" \ + "RFC3346=RFC 3346" \ + "RFC3347=RFC 3347" \ + "RFC3348=RFC 3348" \ + "RFC3349=RFC 3349" \ + "RFC3350=RFC 3350" \ + "RFC3351=RFC 3351" \ + "RFC3352=RFC 3352" \ + "RFC3353=RFC 3353" \ + "RFC3354=RFC 3354" \ + "RFC3355=RFC 3355" \ + "RFC3356=RFC 3356" \ + "RFC3357=RFC 3357" \ + "RFC3358=RFC 3358" \ + "RFC3359=RFC 3359" \ + "RFC3360=RFC 3360" \ + "RFC3361=RFC 3361" \ + "RFC3362=RFC 3362" \ + "RFC3363=RFC 3363" \ + "RFC3364=RFC 3364" \ + "RFC3365=RFC 3365" \ + "RFC3366=RFC 3366" \ + "RFC3367=RFC 3367" \ + "RFC3368=RFC 3368" \ + "RFC3369=RFC 3369" \ + "RFC3370=RFC 3370" \ + "RFC3371=RFC 3371" \ + "RFC3372=RFC 3372" \ + "RFC3373=RFC 3373" \ + "RFC3374=RFC 3374" \ + "RFC3375=RFC 3375" \ + "RFC3376=RFC 3376" \ + "RFC3377=RFC 3377" \ + "RFC3378=RFC 3378" \ + "RFC3379=RFC 3379" \ + "RFC3380=RFC 3380" \ + "RFC3381=RFC 3381" \ + "RFC3382=RFC 3382" \ + "RFC3383=RFC 3383" \ + "RFC3384=RFC 3384" \ + "RFC3385=RFC 3385" \ + "RFC3386=RFC 3386" \ + "RFC3387=RFC 3387" \ + "RFC3388=RFC 3388" \ + "RFC3389=RFC 3389" \ + "RFC3390=RFC 3390" \ + "RFC3391=RFC 3391" \ + "RFC3392=RFC 3392" \ + "RFC3393=RFC 3393" \ + "RFC3394=RFC 3394" \ + "RFC3395=RFC 3395" \ + "RFC3396=RFC 3396" \ + "RFC3397=RFC 3397" \ + "RFC3398=RFC 3398" \ + "RFC3399=RFC 3399" \ + "RFC3400=RFC 3400" \ + "RFC3401=RFC 3401" \ + "RFC3402=RFC 3402" \ + "RFC3403=RFC 3403" \ + "RFC3404=RFC 3404" \ + "RFC3405=RFC 3405" \ + "RFC3406=RFC 3406" \ + "RFC3407=RFC 3407" \ + "RFC3408=RFC 3408" \ + "RFC3409=RFC 3409" \ + "RFC3410=RFC 3410" \ + "RFC3411=RFC 3411" \ + "RFC3412=RFC 3412" \ + "RFC3413=RFC 3413" \ + "RFC3414=RFC 3414" \ + "RFC3415=RFC 3415" \ + "RFC3416=RFC 3416" \ + "RFC3417=RFC 3417" \ + "RFC3418=RFC 3418" \ + "RFC3419=RFC 3419" \ + "RFC3420=RFC 3420" \ + "RFC3421=RFC 3421" \ + "RFC3422=RFC 3422" \ + "RFC3423=RFC 3423" \ + "RFC3424=RFC 3424" \ + "RFC3425=RFC 3425" \ + "RFC3426=RFC 3426" \ + "RFC3427=RFC 3427" \ + "RFC3428=RFC 3428" \ + "RFC3429=RFC 3429" \ + "RFC3430=RFC 3430" \ + "RFC3431=RFC 3431" \ + "RFC3432=RFC 3432" \ + "RFC3433=RFC 3433" \ + "RFC3434=RFC 3434" \ + "RFC3435=RFC 3435" \ + "RFC3436=RFC 3436" \ + "RFC3437=RFC 3437" \ + "RFC3438=RFC 3438" \ + "RFC3439=RFC 3439" \ + "RFC3440=RFC 3440" \ + "RFC3441=RFC 3441" \ + "RFC3442=RFC 3442" \ + "RFC3443=RFC 3443" \ + "RFC3444=RFC 3444" \ + "RFC3445=RFC 3445" \ + "RFC3446=RFC 3446" \ + "RFC3447=RFC 3447" \ + "RFC3448=RFC 3448" \ + "RFC3449=RFC 3449" \ + "RFC3450=RFC 3450" \ + "RFC3451=RFC 3451" \ + "RFC3452=RFC 3452" \ + "RFC3453=RFC 3453" \ + "RFC3454=RFC 3454" \ + "RFC3455=RFC 3455" \ + "RFC3456=RFC 3456" \ + "RFC3457=RFC 3457" \ + "RFC3458=RFC 3458" \ + "RFC3459=RFC 3459" \ + "RFC3460=RFC 3460" \ + "RFC3461=RFC 3461" \ + "RFC3462=RFC 3462" \ + "RFC3463=RFC 3463" \ + "RFC3464=RFC 3464" \ + "RFC3465=RFC 3465" \ + "RFC3466=RFC 3466" \ + "RFC3467=RFC 3467" \ + "RFC3468=RFC 3468" \ + "RFC3469=RFC 3469" \ + "RFC3470=RFC 3470" \ + "RFC3471=RFC 3471" \ + "RFC3472=RFC 3472" \ + "RFC3473=RFC 3473" \ + "RFC3474=RFC 3474" \ + "RFC3475=RFC 3475" \ + "RFC3476=RFC 3476" \ + "RFC3477=RFC 3477" \ + "RFC3478=RFC 3478" \ + "RFC3479=RFC 3479" \ + "RFC3480=RFC 3480" \ + "RFC3481=RFC 3481" \ + "RFC3482=RFC 3482" \ + "RFC3483=RFC 3483" \ + "RFC3484=RFC 3484" \ + "RFC3485=RFC 3485" \ + "RFC3486=RFC 3486" \ + "RFC3487=RFC 3487" \ + "RFC3488=RFC 3488" \ + "RFC3489=RFC 3489" \ + "RFC3490=RFC 3490" \ + "RFC3491=RFC 3491" \ + "RFC3492=RFC 3492" \ + "RFC3493=RFC 3493" \ + "RFC3494=RFC 3494" \ + "RFC3495=RFC 3495" \ + "RFC3496=RFC 3496" \ + "RFC3497=RFC 3497" \ + "RFC3498=RFC 3498" \ + "RFC3499=RFC 3499" \ + "RFC3500=RFC 3500" \ + "RFC3501=RFC 3501" \ + "RFC3502=RFC 3502" \ + "RFC3503=RFC 3503" \ + "RFC3504=RFC 3504" \ + "RFC3505=RFC 3505" \ + "RFC3506=RFC 3506" \ + "RFC3507=RFC 3507" \ + "RFC3508=RFC 3508" \ + "RFC3509=RFC 3509" \ + "RFC3510=RFC 3510" \ + "RFC3511=RFC 3511" \ + "RFC3512=RFC 3512" \ + "RFC3513=RFC 3513" \ + "RFC3514=RFC 3514" \ + "RFC3515=RFC 3515" \ + "RFC3516=RFC 3516" \ + "RFC3517=RFC 3517" \ + "RFC3518=RFC 3518" \ + "RFC3519=RFC 3519" \ + "RFC3520=RFC 3520" \ + "RFC3521=RFC 3521" \ + "RFC3522=RFC 3522" \ + "RFC3523=RFC 3523" \ + "RFC3524=RFC 3524" \ + "RFC3525=RFC 3525" \ + "RFC3526=RFC 3526" \ + "RFC3527=RFC 3527" \ + "RFC3528=RFC 3528" \ + "RFC3529=RFC 3529" \ + "RFC3530=RFC 3530" \ + "RFC3531=RFC 3531" \ + "RFC3532=RFC 3532" \ + "RFC3533=RFC 3533" \ + "RFC3534=RFC 3534" \ + "RFC3535=RFC 3535" \ + "RFC3536=RFC 3536" \ + "RFC3537=RFC 3537" \ + "RFC3538=RFC 3538" \ + "RFC3539=RFC 3539" \ + "RFC3540=RFC 3540" \ + "RFC3541=RFC 3541" \ + "RFC3542=RFC 3542" \ + "RFC3543=RFC 3543" \ + "RFC3544=RFC 3544" \ + "RFC3545=RFC 3545" \ + "RFC3546=RFC 3546" \ + "RFC3547=RFC 3547" \ + "RFC3548=RFC 3548" \ + "RFC3549=RFC 3549" \ + "RFC3550=RFC 3550" \ + "RFC3551=RFC 3551" \ + "RFC3552=RFC 3552" \ + "RFC3553=RFC 3553" \ + "RFC3554=RFC 3554" \ + "RFC3555=RFC 3555" \ + "RFC3556=RFC 3556" \ + "RFC3557=RFC 3557" \ + "RFC3558=RFC 3558" \ + "RFC3559=RFC 3559" \ + "RFC3560=RFC 3560" \ + "RFC3561=RFC 3561" \ + "RFC3562=RFC 3562" \ + "RFC3563=RFC 3563" \ + "RFC3564=RFC 3564" \ + "RFC3565=RFC 3565" \ + "RFC3566=RFC 3566" \ + "RFC3567=RFC 3567" \ + "RFC3568=RFC 3568" \ + "RFC3569=RFC 3569" \ + "RFC3570=RFC 3570" \ + "RFC3571=RFC 3571" \ + "RFC3572=RFC 3572" \ + "RFC3573=RFC 3573" \ + "RFC3574=RFC 3574" \ + "RFC3575=RFC 3575" \ + "RFC3576=RFC 3576" \ + "RFC3577=RFC 3577" \ + "RFC3578=RFC 3578" \ + "RFC3579=RFC 3579" \ + "RFC3580=RFC 3580" \ + "RFC3581=RFC 3581" \ + "RFC3582=RFC 3582" \ + "RFC3583=RFC 3583" \ + "RFC3584=RFC 3584" \ + "RFC3585=RFC 3585" \ + "RFC3586=RFC 3586" \ + "RFC3587=RFC 3587" \ + "RFC3588=RFC 3588" \ + "RFC3589=RFC 3589" \ + "RFC3590=RFC 3590" \ + "RFC3591=RFC 3591" \ + "RFC3592=RFC 3592" \ + "RFC3593=RFC 3593" \ + "RFC3594=RFC 3594" \ + "RFC3595=RFC 3595" \ + "RFC3596=RFC 3596" \ + "RFC3597=RFC 3597" \ + "RFC3598=RFC 3598" \ + "RFC3599=RFC 3599" \ + "RFC3600=RFC 3600" \ + "RFC3601=RFC 3601" \ + "RFC3602=RFC 3602" \ + "RFC3603=RFC 3603" \ + "RFC3604=RFC 3604" \ + "RFC3605=RFC 3605" \ + "RFC3606=RFC 3606" \ + "RFC3607=RFC 3607" \ + "RFC3608=RFC 3608" \ + "RFC3609=RFC 3609" \ + "RFC3610=RFC 3610" \ + "RFC3611=RFC 3611" \ + "RFC3612=RFC 3612" \ + "RFC3613=RFC 3613" \ + "RFC3614=RFC 3614" \ + "RFC3615=RFC 3615" \ + "RFC3616=RFC 3616" \ + "RFC3617=RFC 3617" \ + "RFC3618=RFC 3618" \ + "RFC3619=RFC 3619" \ + "RFC3620=RFC 3620" \ + "RFC3621=RFC 3621" \ + "RFC3622=RFC 3622" \ + "RFC3623=RFC 3623" \ + "RFC3624=RFC 3624" \ + "RFC3625=RFC 3625" \ + "RFC3626=RFC 3626" \ + "RFC3627=RFC 3627" \ + "RFC3628=RFC 3628" \ + "RFC3629=RFC 3629" \ + "RFC3630=RFC 3630" \ + "RFC3631=RFC 3631" \ + "RFC3632=RFC 3632" \ + "RFC3633=RFC 3633" \ + "RFC3634=RFC 3634" \ + "RFC3635=RFC 3635" \ + "RFC3636=RFC 3636" \ + "RFC3637=RFC 3637" \ + "RFC3638=RFC 3638" \ + "RFC3639=RFC 3639" \ + "RFC3640=RFC 3640" \ + "RFC3641=RFC 3641" \ + "RFC3642=RFC 3642" \ + "RFC3643=RFC 3643" \ + "RFC3644=RFC 3644" \ + "RFC3645=RFC 3645" \ + "RFC3646=RFC 3646" \ + "RFC3647=RFC 3647" \ + "RFC3648=RFC 3648" \ + "RFC3649=RFC 3649" \ + "RFC3650=RFC 3650" \ + "RFC3651=RFC 3651" \ + "RFC3652=RFC 3652" \ + "RFC3653=RFC 3653" \ + "RFC3654=RFC 3654" \ + "RFC3655=RFC 3655" \ + "RFC3656=RFC 3656" \ + "RFC3657=RFC 3657" \ + "RFC3658=RFC 3658" \ + "RFC3659=RFC 3659" \ + "RFC3660=RFC 3660" \ + "RFC3661=RFC 3661" \ + "RFC3662=RFC 3662" \ + "RFC3663=RFC 3663" \ + "RFC3664=RFC 3664" \ + "RFC3665=RFC 3665" \ + "RFC3666=RFC 3666" \ + "RFC3667=RFC 3667" \ + "RFC3668=RFC 3668" \ + "RFC3669=RFC 3669" \ + "RFC3670=RFC 3670" \ + "RFC3671=RFC 3671" \ + "RFC3672=RFC 3672" \ + "RFC3673=RFC 3673" \ + "RFC3674=RFC 3674" \ + "RFC3675=RFC 3675" \ + "RFC3676=RFC 3676" \ + "RFC3677=RFC 3677" \ + "RFC3678=RFC 3678" \ + "RFC3679=RFC 3679" \ + "RFC3680=RFC 3680" \ + "RFC3681=RFC 3681" \ + "RFC3682=RFC 3682" \ + "RFC3683=RFC 3683" \ + "RFC3684=RFC 3684" \ + "RFC3685=RFC 3685" \ + "RFC3686=RFC 3686" \ + "RFC3687=RFC 3687" \ + "RFC3688=RFC 3688" \ + "RFC3689=RFC 3689" \ + "RFC3690=RFC 3690" \ + "RFC3691=RFC 3691" \ + "RFC3692=RFC 3692" \ + "RFC3693=RFC 3693" \ + "RFC3694=RFC 3694" \ + "RFC3695=RFC 3695" \ + "RFC3696=RFC 3696" \ + "RFC3697=RFC 3697" \ + "RFC3698=RFC 3698" \ + "RFC3699=RFC 3699" \ + "RFC3700=RFC 3700" \ + "RFC3701=RFC 3701" \ + "RFC3702=RFC 3702" \ + "RFC3703=RFC 3703" \ + "RFC3704=RFC 3704" \ + "RFC3705=RFC 3705" \ + "RFC3706=RFC 3706" \ + "RFC3707=RFC 3707" \ + "RFC3708=RFC 3708" \ + "RFC3709=RFC 3709" \ + "RFC3710=RFC 3710" \ + "RFC3711=RFC 3711" \ + "RFC3712=RFC 3712" \ + "RFC3713=RFC 3713" \ + "RFC3714=RFC 3714" \ + "RFC3715=RFC 3715" \ + "RFC3716=RFC 3716" \ + "RFC3717=RFC 3717" \ + "RFC3718=RFC 3718" \ + "RFC3719=RFC 3719" \ + "RFC3720=RFC 3720" \ + "RFC3721=RFC 3721" \ + "RFC3722=RFC 3722" \ + "RFC3723=RFC 3723" \ + "RFC3724=RFC 3724" \ + "RFC3725=RFC 3725" \ + "RFC3726=RFC 3726" \ + "RFC3727=RFC 3727" \ + "RFC3728=RFC 3728" \ + "RFC3729=RFC 3729" \ + "RFC3730=RFC 3730" \ + "RFC3731=RFC 3731" \ + "RFC3732=RFC 3732" \ + "RFC3733=RFC 3733" \ + "RFC3734=RFC 3734" \ + "RFC3735=RFC 3735" \ + "RFC3736=RFC 3736" \ + "RFC3737=RFC 3737" \ + "RFC3738=RFC 3738" \ + "RFC3739=RFC 3739" \ + "RFC3740=RFC 3740" \ + "RFC3741=RFC 3741" \ + "RFC3742=RFC 3742" \ + "RFC3743=RFC 3743" \ + "RFC3744=RFC 3744" \ + "RFC3745=RFC 3745" \ + "RFC3746=RFC 3746" \ + "RFC3747=RFC 3747" \ + "RFC3748=RFC 3748" \ + "RFC3749=RFC 3749" \ + "RFC3750=RFC 3750" \ + "RFC3751=RFC 3751" \ + "RFC3752=RFC 3752" \ + "RFC3753=RFC 3753" \ + "RFC3754=RFC 3754" \ + "RFC3755=RFC 3755" \ + "RFC3756=RFC 3756" \ + "RFC3757=RFC 3757" \ + "RFC3758=RFC 3758" \ + "RFC3759=RFC 3759" \ + "RFC3760=RFC 3760" \ + "RFC3761=RFC 3761" \ + "RFC3762=RFC 3762" \ + "RFC3763=RFC 3763" \ + "RFC3764=RFC 3764" \ + "RFC3765=RFC 3765" \ + "RFC3766=RFC 3766" \ + "RFC3767=RFC 3767" \ + "RFC3768=RFC 3768" \ + "RFC3769=RFC 3769" \ + "RFC3770=RFC 3770" \ + "RFC3771=RFC 3771" \ + "RFC3772=RFC 3772" \ + "RFC3773=RFC 3773" \ + "RFC3774=RFC 3774" \ + "RFC3775=RFC 3775" \ + "RFC3776=RFC 3776" \ + "RFC3777=RFC 3777" \ + "RFC3778=RFC 3778" \ + "RFC3779=RFC 3779" \ + "RFC3780=RFC 3780" \ + "RFC3781=RFC 3781" \ + "RFC3782=RFC 3782" \ + "RFC3783=RFC 3783" \ + "RFC3784=RFC 3784" \ + "RFC3785=RFC 3785" \ + "RFC3786=RFC 3786" \ + "RFC3787=RFC 3787" \ + "RFC3788=RFC 3788" \ + "RFC3789=RFC 3789" \ + "RFC3790=RFC 3790" \ + "RFC3791=RFC 3791" \ + "RFC3792=RFC 3792" \ + "RFC3793=RFC 3793" \ + "RFC3794=RFC 3794" \ + "RFC3795=RFC 3795" \ + "RFC3796=RFC 3796" \ + "RFC3797=RFC 3797" \ + "RFC3798=RFC 3798" \ + "RFC3799=RFC 3799" \ + "RFC3800=RFC 3800" \ + "RFC3801=RFC 3801" \ + "RFC3802=RFC 3802" \ + "RFC3803=RFC 3803" \ + "RFC3804=RFC 3804" \ + "RFC3805=RFC 3805" \ + "RFC3806=RFC 3806" \ + "RFC3807=RFC 3807" \ + "RFC3808=RFC 3808" \ + "RFC3809=RFC 3809" \ + "RFC3810=RFC 3810" \ + "RFC3811=RFC 3811" \ + "RFC3812=RFC 3812" \ + "RFC3813=RFC 3813" \ + "RFC3814=RFC 3814" \ + "RFC3815=RFC 3815" \ + "RFC3816=RFC 3816" \ + "RFC3817=RFC 3817" \ + "RFC3818=RFC 3818" \ + "RFC3819=RFC 3819" \ + "RFC3820=RFC 3820" \ + "RFC3821=RFC 3821" \ + "RFC3822=RFC 3822" \ + "RFC3823=RFC 3823" \ + "RFC3824=RFC 3824" \ + "RFC3825=RFC 3825" \ + "RFC3826=RFC 3826" \ + "RFC3827=RFC 3827" \ + "RFC3828=RFC 3828" \ + "RFC3829=RFC 3829" \ + "RFC3830=RFC 3830" \ + "RFC3831=RFC 3831" \ + "RFC3832=RFC 3832" \ + "RFC3833=RFC 3833" \ + "RFC3834=RFC 3834" \ + "RFC3835=RFC 3835" \ + "RFC3836=RFC 3836" \ + "RFC3837=RFC 3837" \ + "RFC3838=RFC 3838" \ + "RFC3839=RFC 3839" \ + "RFC3840=RFC 3840" \ + "RFC3841=RFC 3841" \ + "RFC3842=RFC 3842" \ + "RFC3843=RFC 3843" \ + "RFC3844=RFC 3844" \ + "RFC3845=RFC 3845" \ + "RFC3846=RFC 3846" \ + "RFC3847=RFC 3847" \ + "RFC3848=RFC 3848" \ + "RFC3849=RFC 3849" \ + "RFC3850=RFC 3850" \ + "RFC3851=RFC 3851" \ + "RFC3852=RFC 3852" \ + "RFC3853=RFC 3853" \ + "RFC3854=RFC 3854" \ + "RFC3855=RFC 3855" \ + "RFC3856=RFC 3856" \ + "RFC3857=RFC 3857" \ + "RFC3858=RFC 3858" \ + "RFC3859=RFC 3859" \ + "RFC3860=RFC 3860" \ + "RFC3861=RFC 3861" \ + "RFC3862=RFC 3862" \ + "RFC3863=RFC 3863" \ + "RFC3864=RFC 3864" \ + "RFC3865=RFC 3865" \ + "RFC3866=RFC 3866" \ + "RFC3867=RFC 3867" \ + "RFC3868=RFC 3868" \ + "RFC3869=RFC 3869" \ + "RFC3870=RFC 3870" \ + "RFC3871=RFC 3871" \ + "RFC3872=RFC 3872" \ + "RFC3873=RFC 3873" \ + "RFC3874=RFC 3874" \ + "RFC3875=RFC 3875" \ + "RFC3876=RFC 3876" \ + "RFC3877=RFC 3877" \ + "RFC3878=RFC 3878" \ + "RFC3879=RFC 3879" \ + "RFC3880=RFC 3880" \ + "RFC3881=RFC 3881" \ + "RFC3882=RFC 3882" \ + "RFC3883=RFC 3883" \ + "RFC3884=RFC 3884" \ + "RFC3885=RFC 3885" \ + "RFC3886=RFC 3886" \ + "RFC3887=RFC 3887" \ + "RFC3888=RFC 3888" \ + "RFC3889=RFC 3889" \ + "RFC3890=RFC 3890" \ + "RFC3891=RFC 3891" \ + "RFC3892=RFC 3892" \ + "RFC3893=RFC 3893" \ + "RFC3894=RFC 3894" \ + "RFC3895=RFC 3895" \ + "RFC3896=RFC 3896" \ + "RFC3897=RFC 3897" \ + "RFC3898=RFC 3898" \ + "RFC3899=RFC 3899" \ + "RFC3900=RFC 3900" \ + "RFC3901=RFC 3901" \ + "RFC3902=RFC 3902" \ + "RFC3903=RFC 3903" \ + "RFC3904=RFC 3904" \ + "RFC3905=RFC 3905" \ + "RFC3906=RFC 3906" \ + "RFC3907=RFC 3907" \ + "RFC3908=RFC 3908" \ + "RFC3909=RFC 3909" \ + "RFC3910=RFC 3910" \ + "RFC3911=RFC 3911" \ + "RFC3912=RFC 3912" \ + "RFC3913=RFC 3913" \ + "RFC3914=RFC 3914" \ + "RFC3915=RFC 3915" \ + "RFC3916=RFC 3916" \ + "RFC3917=RFC 3917" \ + "RFC3918=RFC 3918" \ + "RFC3919=RFC 3919" \ + "RFC3920=RFC 3920" \ + "RFC3921=RFC 3921" \ + "RFC3922=RFC 3922" \ + "RFC3923=RFC 3923" \ + "RFC3924=RFC 3924" \ + "RFC3925=RFC 3925" \ + "RFC3926=RFC 3926" \ + "RFC3927=RFC 3927" \ + "RFC3928=RFC 3928" \ + "RFC3929=RFC 3929" \ + "RFC3930=RFC 3930" \ + "RFC3931=RFC 3931" \ + "RFC3932=RFC 3932" \ + "RFC3933=RFC 3933" \ + "RFC3934=RFC 3934" \ + "RFC3935=RFC 3935" \ + "RFC3936=RFC 3936" \ + "RFC3937=RFC 3937" \ + "RFC3938=RFC 3938" \ + "RFC3939=RFC 3939" \ + "RFC3940=RFC 3940" \ + "RFC3941=RFC 3941" \ + "RFC3942=RFC 3942" \ + "RFC3943=RFC 3943" \ + "RFC3944=RFC 3944" \ + "RFC3945=RFC 3945" \ + "RFC3946=RFC 3946" \ + "RFC3947=RFC 3947" \ + "RFC3948=RFC 3948" \ + "RFC3949=RFC 3949" \ + "RFC3950=RFC 3950" \ + "RFC3951=RFC 3951" \ + "RFC3952=RFC 3952" \ + "RFC3953=RFC 3953" \ + "RFC3954=RFC 3954" \ + "RFC3955=RFC 3955" \ + "RFC3956=RFC 3956" \ + "RFC3957=RFC 3957" \ + "RFC3958=RFC 3958" \ + "RFC3959=RFC 3959" \ + "RFC3960=RFC 3960" \ + "RFC3961=RFC 3961" \ + "RFC3962=RFC 3962" \ + "RFC3963=RFC 3963" \ + "RFC3964=RFC 3964" \ + "RFC3965=RFC 3965" \ + "RFC3966=RFC 3966" \ + "RFC3967=RFC 3967" \ + "RFC3968=RFC 3968" \ + "RFC3969=RFC 3969" \ + "RFC3970=RFC 3970" \ + "RFC3971=RFC 3971" \ + "RFC3972=RFC 3972" \ + "RFC3973=RFC 3973" \ + "RFC3974=RFC 3974" \ + "RFC3975=RFC 3975" \ + "RFC3976=RFC 3976" \ + "RFC3977=RFC 3977" \ + "RFC3978=RFC 3978" \ + "RFC3979=RFC 3979" \ + "RFC3980=RFC 3980" \ + "RFC3981=RFC 3981" \ + "RFC3982=RFC 3982" \ + "RFC3983=RFC 3983" \ + "RFC3984=RFC 3984" \ + "RFC3985=RFC 3985" \ + "RFC3986=RFC 3986" \ + "RFC3987=RFC 3987" \ + "RFC3988=RFC 3988" \ + "RFC3989=RFC 3989" \ + "RFC3990=RFC 3990" \ + "RFC3991=RFC 3991" \ + "RFC3992=RFC 3992" \ + "RFC3993=RFC 3993" \ + "RFC3994=RFC 3994" \ + "RFC3995=RFC 3995" \ + "RFC3996=RFC 3996" \ + "RFC3997=RFC 3997" \ + "RFC3998=RFC 3998" \ + "RFC3999=RFC 3999" \ + "RFC4000=RFC 4000" \ + "RFC4001=RFC 4001" \ + "RFC4002=RFC 4002" \ + "RFC4003=RFC 4003" \ + "RFC4004=RFC 4004" \ + "RFC4005=RFC 4005" \ + "RFC4006=RFC 4006" \ + "RFC4007=RFC 4007" \ + "RFC4008=RFC 4008" \ + "RFC4009=RFC 4009" \ + "RFC4010=RFC 4010" \ + "RFC4011=RFC 4011" \ + "RFC4012=RFC 4012" \ + "RFC4013=RFC 4013" \ + "RFC4014=RFC 4014" \ + "RFC4015=RFC 4015" \ + "RFC4016=RFC 4016" \ + "RFC4017=RFC 4017" \ + "RFC4018=RFC 4018" \ + "RFC4019=RFC 4019" \ + "RFC4020=RFC 4020" \ + "RFC4021=RFC 4021" \ + "RFC4022=RFC 4022" \ + "RFC4023=RFC 4023" \ + "RFC4024=RFC 4024" \ + "RFC4025=RFC 4025" \ + "RFC4026=RFC 4026" \ + "RFC4027=RFC 4027" \ + "RFC4028=RFC 4028" \ + "RFC4029=RFC 4029" \ + "RFC4030=RFC 4030" \ + "RFC4031=RFC 4031" \ + "RFC4032=RFC 4032" \ + "RFC4033=RFC 4033" \ + "RFC4034=RFC 4034" \ + "RFC4035=RFC 4035" \ + "RFC4036=RFC 4036" \ + "RFC4037=RFC 4037" \ + "RFC4038=RFC 4038" \ + "RFC4039=RFC 4039" \ + "RFC4040=RFC 4040" \ + "RFC4041=RFC 4041" \ + "RFC4042=RFC 4042" \ + "RFC4043=RFC 4043" \ + "RFC4044=RFC 4044" \ + "RFC4045=RFC 4045" \ + "RFC4046=RFC 4046" \ + "RFC4047=RFC 4047" \ + "RFC4048=RFC 4048" \ + "RFC4049=RFC 4049" \ + "RFC4050=RFC 4050" \ + "RFC4051=RFC 4051" \ + "RFC4052=RFC 4052" \ + "RFC4053=RFC 4053" \ + "RFC4054=RFC 4054" \ + "RFC4055=RFC 4055" \ + "RFC4056=RFC 4056" \ + "RFC4057=RFC 4057" \ + "RFC4058=RFC 4058" \ + "RFC4059=RFC 4059" \ + "RFC4060=RFC 4060" \ + "RFC4061=RFC 4061" \ + "RFC4062=RFC 4062" \ + "RFC4063=RFC 4063" \ + "RFC4064=RFC 4064" \ + "RFC4065=RFC 4065" \ + "RFC4066=RFC 4066" \ + "RFC4067=RFC 4067" \ + "RFC4068=RFC 4068" \ + "RFC4069=RFC 4069" \ + "RFC4070=RFC 4070" \ + "RFC4071=RFC 4071" \ + "RFC4072=RFC 4072" \ + "RFC4073=RFC 4073" \ + "RFC4074=RFC 4074" \ + "RFC4075=RFC 4075" \ + "RFC4076=RFC 4076" \ + "RFC4077=RFC 4077" \ + "RFC4078=RFC 4078" \ + "RFC4079=RFC 4079" \ + "RFC4080=RFC 4080" \ + "RFC4081=RFC 4081" \ + "RFC4082=RFC 4082" \ + "RFC4083=RFC 4083" \ + "RFC4084=RFC 4084" \ + "RFC4085=RFC 4085" \ + "RFC4086=RFC 4086" \ + "RFC4087=RFC 4087" \ + "RFC4088=RFC 4088" \ + "RFC4089=RFC 4089" \ + "RFC4090=RFC 4090" \ + "RFC4091=RFC 4091" \ + "RFC4092=RFC 4092" \ + "RFC4093=RFC 4093" \ + "RFC4094=RFC 4094" \ + "RFC4095=RFC 4095" \ + "RFC4096=RFC 4096" \ + "RFC4097=RFC 4097" \ + "RFC4098=RFC 4098" \ + "RFC4099=RFC 4099" \ + "RFC4100=RFC 4100" \ + "RFC4101=RFC 4101" \ + "RFC4102=RFC 4102" \ + "RFC4103=RFC 4103" \ + "RFC4104=RFC 4104" \ + "RFC4105=RFC 4105" \ + "RFC4106=RFC 4106" \ + "RFC4107=RFC 4107" \ + "RFC4108=RFC 4108" \ + "RFC4109=RFC 4109" \ + "RFC4110=RFC 4110" \ + "RFC4111=RFC 4111" \ + "RFC4112=RFC 4112" \ + "RFC4113=RFC 4113" \ + "RFC4114=RFC 4114" \ + "RFC4115=RFC 4115" \ + "RFC4116=RFC 4116" \ + "RFC4117=RFC 4117" \ + "RFC4118=RFC 4118" \ + "RFC4119=RFC 4119" \ + "RFC4120=RFC 4120" \ + "RFC4121=RFC 4121" \ + "RFC4122=RFC 4122" \ + "RFC4123=RFC 4123" \ + "RFC4124=RFC 4124" \ + "RFC4125=RFC 4125" \ + "RFC4126=RFC 4126" \ + "RFC4127=RFC 4127" \ + "RFC4128=RFC 4128" \ + "RFC4129=RFC 4129" \ + "RFC4130=RFC 4130" \ + "RFC4131=RFC 4131" \ + "RFC4132=RFC 4132" \ + "RFC4133=RFC 4133" \ + "RFC4134=RFC 4134" \ + "RFC4135=RFC 4135" \ + "RFC4136=RFC 4136" \ + "RFC4137=RFC 4137" \ + "RFC4138=RFC 4138" \ + "RFC4139=RFC 4139" \ + "RFC4140=RFC 4140" \ + "RFC4141=RFC 4141" \ + "RFC4142=RFC 4142" \ + "RFC4143=RFC 4143" \ + "RFC4144=RFC 4144" \ + "RFC4145=RFC 4145" \ + "RFC4146=RFC 4146" \ + "RFC4147=RFC 4147" \ + "RFC4148=RFC 4148" \ + "RFC4149=RFC 4149" \ + "RFC4150=RFC 4150" \ + "RFC4151=RFC 4151" \ + "RFC4152=RFC 4152" \ + "RFC4153=RFC 4153" \ + "RFC4154=RFC 4154" \ + "RFC4155=RFC 4155" \ + "RFC4156=RFC 4156" \ + "RFC4157=RFC 4157" \ + "RFC4158=RFC 4158" \ + "RFC4159=RFC 4159" \ + "RFC4160=RFC 4160" \ + "RFC4161=RFC 4161" \ + "RFC4162=RFC 4162" \ + "RFC4163=RFC 4163" \ + "RFC4164=RFC 4164" \ + "RFC4165=RFC 4165" \ + "RFC4166=RFC 4166" \ + "RFC4167=RFC 4167" \ + "RFC4168=RFC 4168" \ + "RFC4169=RFC 4169" \ + "RFC4170=RFC 4170" \ + "RFC4171=RFC 4171" \ + "RFC4172=RFC 4172" \ + "RFC4173=RFC 4173" \ + "RFC4174=RFC 4174" \ + "RFC4175=RFC 4175" \ + "RFC4176=RFC 4176" \ + "RFC4177=RFC 4177" \ + "RFC4178=RFC 4178" \ + "RFC4179=RFC 4179" \ + "RFC4180=RFC 4180" \ + "RFC4181=RFC 4181" \ + "RFC4182=RFC 4182" \ + "RFC4183=RFC 4183" \ + "RFC4184=RFC 4184" \ + "RFC4185=RFC 4185" \ + "RFC4186=RFC 4186" \ + "RFC4187=RFC 4187" \ + "RFC4188=RFC 4188" \ + "RFC4189=RFC 4189" \ + "RFC4190=RFC 4190" \ + "RFC4191=RFC 4191" \ + "RFC4192=RFC 4192" \ + "RFC4193=RFC 4193" \ + "RFC4194=RFC 4194" \ + "RFC4195=RFC 4195" \ + "RFC4196=RFC 4196" \ + "RFC4197=RFC 4197" \ + "RFC4198=RFC 4198" \ + "RFC4199=RFC 4199" \ + "RFC4200=RFC 4200" \ + "RFC4201=RFC 4201" \ + "RFC4202=RFC 4202" \ + "RFC4203=RFC 4203" \ + "RFC4204=RFC 4204" \ + "RFC4205=RFC 4205" \ + "RFC4206=RFC 4206" \ + "RFC4207=RFC 4207" \ + "RFC4208=RFC 4208" \ + "RFC4209=RFC 4209" \ + "RFC4210=RFC 4210" \ + "RFC4211=RFC 4211" \ + "RFC4212=RFC 4212" \ + "RFC4213=RFC 4213" \ + "RFC4214=RFC 4214" \ + "RFC4215=RFC 4215" \ + "RFC4216=RFC 4216" \ + "RFC4217=RFC 4217" \ + "RFC4218=RFC 4218" \ + "RFC4219=RFC 4219" \ + "RFC4220=RFC 4220" \ + "RFC4221=RFC 4221" \ + "RFC4222=RFC 4222" \ + "RFC4223=RFC 4223" \ + "RFC4224=RFC 4224" \ + "RFC4225=RFC 4225" \ + "RFC4226=RFC 4226" \ + "RFC4227=RFC 4227" \ + "RFC4228=RFC 4228" \ + "RFC4229=RFC 4229" \ + "RFC4230=RFC 4230" \ + "RFC4231=RFC 4231" \ + "RFC4232=RFC 4232" \ + "RFC4233=RFC 4233" \ + "RFC4234=RFC 4234" \ + "RFC4235=RFC 4235" \ + "RFC4236=RFC 4236" \ + "RFC4237=RFC 4237" \ + "RFC4238=RFC 4238" \ + "RFC4239=RFC 4239" \ + "RFC4240=RFC 4240" \ + "RFC4241=RFC 4241" \ + "RFC4242=RFC 4242" \ + "RFC4243=RFC 4243" \ + "RFC4244=RFC 4244" \ + "RFC4245=RFC 4245" \ + "RFC4246=RFC 4246" \ + "RFC4247=RFC 4247" \ + "RFC4248=RFC 4248" \ + "RFC4249=RFC 4249" \ + "RFC4250=RFC 4250" \ + "RFC4251=RFC 4251" \ + "RFC4252=RFC 4252" \ + "RFC4253=RFC 4253" \ + "RFC4254=RFC 4254" \ + "RFC4255=RFC 4255" \ + "RFC4256=RFC 4256" \ + "RFC4257=RFC 4257" \ + "RFC4258=RFC 4258" \ + "RFC4259=RFC 4259" \ + "RFC4260=RFC 4260" \ + "RFC4261=RFC 4261" \ + "RFC4262=RFC 4262" \ + "RFC4263=RFC 4263" \ + "RFC4264=RFC 4264" \ + "RFC4265=RFC 4265" \ + "RFC4266=RFC 4266" \ + "RFC4267=RFC 4267" \ + "RFC4268=RFC 4268" \ + "RFC4269=RFC 4269" \ + "RFC4270=RFC 4270" \ + "RFC4271=RFC 4271" \ + "RFC4272=RFC 4272" \ + "RFC4273=RFC 4273" \ + "RFC4274=RFC 4274" \ + "RFC4275=RFC 4275" \ + "RFC4276=RFC 4276" \ + "RFC4277=RFC 4277" \ + "RFC4278=RFC 4278" \ + "RFC4279=RFC 4279" \ + "RFC4280=RFC 4280" \ + "RFC4281=RFC 4281" \ + "RFC4282=RFC 4282" \ + "RFC4283=RFC 4283" \ + "RFC4284=RFC 4284" \ + "RFC4285=RFC 4285" \ + "RFC4286=RFC 4286" \ + "RFC4287=RFC 4287" \ + "RFC4288=RFC 4288" \ + "RFC4289=RFC 4289" \ + "RFC4290=RFC 4290" \ + "RFC4291=RFC 4291" \ + "RFC4292=RFC 4292" \ + "RFC4293=RFC 4293" \ + "RFC4294=RFC 4294" \ + "RFC4295=RFC 4295" \ + "RFC4296=RFC 4296" \ + "RFC4297=RFC 4297" \ + "RFC4298=RFC 4298" \ + "RFC4299=RFC 4299" \ + "RFC4300=RFC 4300" \ + "RFC4301=RFC 4301" \ + "RFC4302=RFC 4302" \ + "RFC4303=RFC 4303" \ + "RFC4304=RFC 4304" \ + "RFC4305=RFC 4305" \ + "RFC4306=RFC 4306" \ + "RFC4307=RFC 4307" \ + "RFC4308=RFC 4308" \ + "RFC4309=RFC 4309" \ + "RFC4310=RFC 4310" \ + "RFC4311=RFC 4311" \ + "RFC4312=RFC 4312" \ + "RFC4313=RFC 4313" \ + "RFC4314=RFC 4314" \ + "RFC4315=RFC 4315" \ + "RFC4316=RFC 4316" \ + "RFC4317=RFC 4317" \ + "RFC4318=RFC 4318" \ + "RFC4319=RFC 4319" \ + "RFC4320=RFC 4320" \ + "RFC4321=RFC 4321" \ + "RFC4322=RFC 4322" \ + "RFC4323=RFC 4323" \ + "RFC4324=RFC 4324" \ + "RFC4325=RFC 4325" \ + "RFC4326=RFC 4326" \ + "RFC4327=RFC 4327" \ + "RFC4328=RFC 4328" \ + "RFC4329=RFC 4329" \ + "RFC4330=RFC 4330" \ + "RFC4331=RFC 4331" \ + "RFC4332=RFC 4332" \ + "RFC4333=RFC 4333" \ + "RFC4334=RFC 4334" \ + "RFC4335=RFC 4335" \ + "RFC4336=RFC 4336" \ + "RFC4337=RFC 4337" \ + "RFC4338=RFC 4338" \ + "RFC4339=RFC 4339" \ + "RFC4340=RFC 4340" \ + "RFC4341=RFC 4341" \ + "RFC4342=RFC 4342" \ + "RFC4343=RFC 4343" \ + "RFC4344=RFC 4344" \ + "RFC4345=RFC 4345" \ + "RFC4346=RFC 4346" \ + "RFC4347=RFC 4347" \ + "RFC4348=RFC 4348" \ + "RFC4349=RFC 4349" \ + "RFC4350=RFC 4350" \ + "RFC4351=RFC 4351" \ + "RFC4352=RFC 4352" \ + "RFC4353=RFC 4353" \ + "RFC4354=RFC 4354" \ + "RFC4355=RFC 4355" \ + "RFC4356=RFC 4356" \ + "RFC4357=RFC 4357" \ + "RFC4358=RFC 4358" \ + "RFC4359=RFC 4359" \ + "RFC4360=RFC 4360" \ + "RFC4361=RFC 4361" \ + "RFC4362=RFC 4362" \ + "RFC4363=RFC 4363" \ + "RFC4364=RFC 4364" \ + "RFC4365=RFC 4365" \ + "RFC4366=RFC 4366" \ + "RFC4367=RFC 4367" \ + "RFC4368=RFC 4368" \ + "RFC4369=RFC 4369" \ + "RFC4370=RFC 4370" \ + "RFC4371=RFC 4371" \ + "RFC4372=RFC 4372" \ + "RFC4373=RFC 4373" \ + "RFC4374=RFC 4374" \ + "RFC4375=RFC 4375" \ + "RFC4376=RFC 4376" \ + "RFC4377=RFC 4377" \ + "RFC4378=RFC 4378" \ + "RFC4379=RFC 4379" \ + "RFC4380=RFC 4380" \ + "RFC4381=RFC 4381" \ + "RFC4382=RFC 4382" \ + "RFC4383=RFC 4383" \ + "RFC4384=RFC 4384" \ + "RFC4385=RFC 4385" \ + "RFC4386=RFC 4386" \ + "RFC4387=RFC 4387" \ + "RFC4388=RFC 4388" \ + "RFC4389=RFC 4389" \ + "RFC4390=RFC 4390" \ + "RFC4391=RFC 4391" \ + "RFC4392=RFC 4392" \ + "RFC4393=RFC 4393" \ + "RFC4394=RFC 4394" \ + "RFC4395=RFC 4395" \ + "RFC4396=RFC 4396" \ + "RFC4397=RFC 4397" \ + "RFC4398=RFC 4398" \ + "RFC4399=RFC 4399" \ + "RFC4400=RFC 4400" \ + "RFC4401=RFC 4401" \ + "RFC4402=RFC 4402" \ + "RFC4403=RFC 4403" \ + "RFC4404=RFC 4404" \ + "RFC4405=RFC 4405" \ + "RFC4406=RFC 4406" \ + "RFC4407=RFC 4407" \ + "RFC4408=RFC 4408" \ + "RFC4409=RFC 4409" \ + "RFC4410=RFC 4410" \ + "RFC4411=RFC 4411" \ + "RFC4412=RFC 4412" \ + "RFC4413=RFC 4413" \ + "RFC4414=RFC 4414" \ + "RFC4415=RFC 4415" \ + "RFC4416=RFC 4416" \ + "RFC4417=RFC 4417" \ + "RFC4418=RFC 4418" \ + "RFC4419=RFC 4419" \ + "RFC4420=RFC 4420" \ + "RFC4421=RFC 4421" \ + "RFC4422=RFC 4422" \ + "RFC4423=RFC 4423" \ + "RFC4424=RFC 4424" \ + "RFC4425=RFC 4425" \ + "RFC4426=RFC 4426" \ + "RFC4427=RFC 4427" \ + "RFC4428=RFC 4428" \ + "RFC4429=RFC 4429" \ + "RFC4430=RFC 4430" \ + "RFC4431=RFC 4431" \ + "RFC4432=RFC 4432" \ + "RFC4433=RFC 4433" \ + "RFC4434=RFC 4434" \ + "RFC4435=RFC 4435" \ + "RFC4436=RFC 4436" \ + "RFC4437=RFC 4437" \ + "RFC4438=RFC 4438" \ + "RFC4439=RFC 4439" \ + "RFC4440=RFC 4440" \ + "RFC4441=RFC 4441" \ + "RFC4442=RFC 4442" \ + "RFC4443=RFC 4443" \ + "RFC4444=RFC 4444" \ + "RFC4445=RFC 4445" \ + "RFC4446=RFC 4446" \ + "RFC4447=RFC 4447" \ + "RFC4448=RFC 4448" \ + "RFC4449=RFC 4449" \ + "RFC4450=RFC 4450" \ + "RFC4451=RFC 4451" \ + "RFC4452=RFC 4452" \ + "RFC4453=RFC 4453" \ + "RFC4454=RFC 4454" \ + "RFC4455=RFC 4455" \ + "RFC4456=RFC 4456" \ + "RFC4457=RFC 4457" \ + "RFC4458=RFC 4458" \ + "RFC4459=RFC 4459" \ + "RFC4460=RFC 4460" \ + "RFC4461=RFC 4461" \ + "RFC4462=RFC 4462" \ + "RFC4463=RFC 4463" \ + "RFC4464=RFC 4464" \ + "RFC4465=RFC 4465" \ + "RFC4466=RFC 4466" \ + "RFC4467=RFC 4467" \ + "RFC4468=RFC 4468" \ + "RFC4469=RFC 4469" \ + "RFC4470=RFC 4470" \ + "RFC4471=RFC 4471" \ + "RFC4472=RFC 4472" \ + "RFC4473=RFC 4473" \ + "RFC4474=RFC 4474" \ + "RFC4475=RFC 4475" \ + "RFC4476=RFC 4476" \ + "RFC4477=RFC 4477" \ + "RFC4478=RFC 4478" \ + "RFC4479=RFC 4479" \ + "RFC4480=RFC 4480" \ + "RFC4481=RFC 4481" \ + "RFC4482=RFC 4482" \ + "RFC4483=RFC 4483" \ + "RFC4484=RFC 4484" \ + "RFC4485=RFC 4485" \ + "RFC4486=RFC 4486" \ + "RFC4487=RFC 4487" \ + "RFC4488=RFC 4488" \ + "RFC4489=RFC 4489" \ + "RFC4490=RFC 4490" \ + "RFC4491=RFC 4491" \ + "RFC4492=RFC 4492" \ + "RFC4493=RFC 4493" \ + "RFC4494=RFC 4494" \ + "RFC4495=RFC 4495" \ + "RFC4496=RFC 4496" \ + "RFC4497=RFC 4497" \ + "RFC4498=RFC 4498" \ + "RFC4499=RFC 4499" \ + "RFC4500=RFC 4500" \ + "RFC4501=RFC 4501" \ + "RFC4502=RFC 4502" \ + "RFC4503=RFC 4503" \ + "RFC4504=RFC 4504" \ + "RFC4505=RFC 4505" \ + "RFC4506=RFC 4506" \ + "RFC4507=RFC 4507" \ + "RFC4508=RFC 4508" \ + "RFC4509=RFC 4509" \ + "RFC4510=RFC 4510" \ + "RFC4511=RFC 4511" \ + "RFC4512=RFC 4512" \ + "RFC4513=RFC 4513" \ + "RFC4514=RFC 4514" \ + "RFC4515=RFC 4515" \ + "RFC4516=RFC 4516" \ + "RFC4517=RFC 4517" \ + "RFC4518=RFC 4518" \ + "RFC4519=RFC 4519" \ + "RFC4520=RFC 4520" \ + "RFC4521=RFC 4521" \ + "RFC4522=RFC 4522" \ + "RFC4523=RFC 4523" \ + "RFC4524=RFC 4524" \ + "RFC4525=RFC 4525" \ + "RFC4526=RFC 4526" \ + "RFC4527=RFC 4527" \ + "RFC4528=RFC 4528" \ + "RFC4529=RFC 4529" \ + "RFC4530=RFC 4530" \ + "RFC4531=RFC 4531" \ + "RFC4532=RFC 4532" \ + "RFC4533=RFC 4533" \ + "RFC4534=RFC 4534" \ + "RFC4535=RFC 4535" \ + "RFC4536=RFC 4536" \ + "RFC4537=RFC 4537" \ + "RFC4538=RFC 4538" \ + "RFC4539=RFC 4539" \ + "RFC4540=RFC 4540" \ + "RFC4541=RFC 4541" \ + "RFC4542=RFC 4542" \ + "RFC4543=RFC 4543" \ + "RFC4544=RFC 4544" \ + "RFC4545=RFC 4545" \ + "RFC4546=RFC 4546" \ + "RFC4547=RFC 4547" \ + "RFC4548=RFC 4548" \ + "RFC4549=RFC 4549" \ + "RFC4550=RFC 4550" \ + "RFC4551=RFC 4551" \ + "RFC4552=RFC 4552" \ + "RFC4553=RFC 4553" \ + "RFC4554=RFC 4554" \ + "RFC4555=RFC 4555" \ + "RFC4556=RFC 4556" \ + "RFC4557=RFC 4557" \ + "RFC4558=RFC 4558" \ + "RFC4559=RFC 4559" \ + "RFC4560=RFC 4560" \ + "RFC4561=RFC 4561" \ + "RFC4562=RFC 4562" \ + "RFC4563=RFC 4563" \ + "RFC4564=RFC 4564" \ + "RFC4565=RFC 4565" \ + "RFC4566=RFC 4566" \ + "RFC4567=RFC 4567" \ + "RFC4568=RFC 4568" \ + "RFC4569=RFC 4569" \ + "RFC4570=RFC 4570" \ + "RFC4571=RFC 4571" \ + "RFC4572=RFC 4572" \ + "RFC4573=RFC 4573" \ + "RFC4574=RFC 4574" \ + "RFC4575=RFC 4575" \ + "RFC4576=RFC 4576" \ + "RFC4577=RFC 4577" \ + "RFC4578=RFC 4578" \ + "RFC4579=RFC 4579" \ + "RFC4580=RFC 4580" \ + "RFC4581=RFC 4581" \ + "RFC4582=RFC 4582" \ + "RFC4583=RFC 4583" \ + "RFC4584=RFC 4584" \ + "RFC4585=RFC 4585" \ + "RFC4586=RFC 4586" \ + "RFC4587=RFC 4587" \ + "RFC4588=RFC 4588" \ + "RFC4589=RFC 4589" \ + "RFC4590=RFC 4590" \ + "RFC4591=RFC 4591" \ + "RFC4592=RFC 4592" \ + "RFC4593=RFC 4593" \ + "RFC4594=RFC 4594" \ + "RFC4595=RFC 4595" \ + "RFC4596=RFC 4596" \ + "RFC4597=RFC 4597" \ + "RFC4598=RFC 4598" \ + "RFC4599=RFC 4599" \ + "RFC4600=RFC 4600" \ + "RFC4601=RFC 4601" \ + "RFC4602=RFC 4602" \ + "RFC4603=RFC 4603" \ + "RFC4604=RFC 4604" \ + "RFC4605=RFC 4605" \ + "RFC4606=RFC 4606" \ + "RFC4607=RFC 4607" \ + "RFC4608=RFC 4608" \ + "RFC4609=RFC 4609" \ + "RFC4610=RFC 4610" \ + "RFC4611=RFC 4611" \ + "RFC4612=RFC 4612" \ + "RFC4613=RFC 4613" \ + "RFC4614=RFC 4614" \ + "RFC4615=RFC 4615" \ + "RFC4616=RFC 4616" \ + "RFC4617=RFC 4617" \ + "RFC4618=RFC 4618" \ + "RFC4619=RFC 4619" \ + "RFC4620=RFC 4620" \ + "RFC4621=RFC 4621" \ + "RFC4622=RFC 4622" \ + "RFC4623=RFC 4623" \ + "RFC4624=RFC 4624" \ + "RFC4625=RFC 4625" \ + "RFC4626=RFC 4626" \ + "RFC4627=RFC 4627" \ + "RFC4628=RFC 4628" \ + "RFC4629=RFC 4629" \ + "RFC4630=RFC 4630" \ + "RFC4631=RFC 4631" \ + "RFC4632=RFC 4632" \ + "RFC4633=RFC 4633" \ + "RFC4634=RFC 4634" \ + "RFC4635=RFC 4635" \ + "RFC4636=RFC 4636" \ + "RFC4637=RFC 4637" \ + "RFC4638=RFC 4638" \ + "RFC4639=RFC 4639" \ + "RFC4640=RFC 4640" \ + "RFC4641=RFC 4641" \ + "RFC4642=RFC 4642" \ + "RFC4643=RFC 4643" \ + "RFC4644=RFC 4644" \ + "RFC4645=RFC 4645" \ + "RFC4646=RFC 4646" \ + "RFC4647=RFC 4647" \ + "RFC4648=RFC 4648" \ + "RFC4649=RFC 4649" \ + "RFC4650=RFC 4650" \ + "RFC4651=RFC 4651" \ + "RFC4652=RFC 4652" \ + "RFC4653=RFC 4653" \ + "RFC4654=RFC 4654" \ + "RFC4655=RFC 4655" \ + "RFC4656=RFC 4656" \ + "RFC4657=RFC 4657" \ + "RFC4658=RFC 4658" \ + "RFC4659=RFC 4659" \ + "RFC4660=RFC 4660" \ + "RFC4661=RFC 4661" \ + "RFC4662=RFC 4662" \ + "RFC4663=RFC 4663" \ + "RFC4664=RFC 4664" \ + "RFC4665=RFC 4665" \ + "RFC4666=RFC 4666" \ + "RFC4667=RFC 4667" \ + "RFC4668=RFC 4668" \ + "RFC4669=RFC 4669" \ + "RFC4670=RFC 4670" \ + "RFC4671=RFC 4671" \ + "RFC4672=RFC 4672" \ + "RFC4673=RFC 4673" \ + "RFC4674=RFC 4674" \ + "RFC4675=RFC 4675" \ + "RFC4676=RFC 4676" \ + "RFC4677=RFC 4677" \ + "RFC4678=RFC 4678" \ + "RFC4679=RFC 4679" \ + "RFC4680=RFC 4680" \ + "RFC4681=RFC 4681" \ + "RFC4682=RFC 4682" \ + "RFC4683=RFC 4683" \ + "RFC4684=RFC 4684" \ + "RFC4685=RFC 4685" \ + "RFC4686=RFC 4686" \ + "RFC4687=RFC 4687" \ + "RFC4688=RFC 4688" \ + "RFC4689=RFC 4689" \ + "RFC4690=RFC 4690" \ + "RFC4691=RFC 4691" \ + "RFC4692=RFC 4692" \ + "RFC4693=RFC 4693" \ + "RFC4694=RFC 4694" \ + "RFC4695=RFC 4695" \ + "RFC4696=RFC 4696" \ + "RFC4697=RFC 4697" \ + "RFC4698=RFC 4698" \ + "RFC4699=RFC 4699" \ + "RFC4700=RFC 4700" \ + "RFC4701=RFC 4701" \ + "RFC4702=RFC 4702" \ + "RFC4703=RFC 4703" \ + "RFC4704=RFC 4704" \ + "RFC4705=RFC 4705" \ + "RFC4706=RFC 4706" \ + "RFC4707=RFC 4707" \ + "RFC4708=RFC 4708" \ + "RFC4709=RFC 4709" \ + "RFC4710=RFC 4710" \ + "RFC4711=RFC 4711" \ + "RFC4712=RFC 4712" \ + "RFC4713=RFC 4713" \ + "RFC4714=RFC 4714" \ + "RFC4715=RFC 4715" \ + "RFC4716=RFC 4716" \ + "RFC4717=RFC 4717" \ + "RFC4718=RFC 4718" \ + "RFC4719=RFC 4719" \ + "RFC4720=RFC 4720" \ + "RFC4721=RFC 4721" \ + "RFC4722=RFC 4722" \ + "RFC4723=RFC 4723" \ + "RFC4724=RFC 4724" \ + "RFC4725=RFC 4725" \ + "RFC4726=RFC 4726" \ + "RFC4727=RFC 4727" \ + "RFC4728=RFC 4728" \ + "RFC4729=RFC 4729" \ + "RFC4730=RFC 4730" \ + "RFC4731=RFC 4731" \ + "RFC4732=RFC 4732" \ + "RFC4733=RFC 4733" \ + "RFC4734=RFC 4734" \ + "RFC4735=RFC 4735" \ + "RFC4736=RFC 4736" \ + "RFC4737=RFC 4737" \ + "RFC4738=RFC 4738" \ + "RFC4739=RFC 4739" \ + "RFC4740=RFC 4740" \ + "RFC4741=RFC 4741" \ + "RFC4742=RFC 4742" \ + "RFC4743=RFC 4743" \ + "RFC4744=RFC 4744" \ + "RFC4745=RFC 4745" \ + "RFC4746=RFC 4746" \ + "RFC4747=RFC 4747" \ + "RFC4748=RFC 4748" \ + "RFC4749=RFC 4749" \ + "RFC4750=RFC 4750" \ + "RFC4751=RFC 4751" \ + "RFC4752=RFC 4752" \ + "RFC4753=RFC 4753" \ + "RFC4754=RFC 4754" \ + "RFC4755=RFC 4755" \ + "RFC4756=RFC 4756" \ + "RFC4757=RFC 4757" \ + "RFC4758=RFC 4758" \ + "RFC4759=RFC 4759" \ + "RFC4760=RFC 4760" \ + "RFC4761=RFC 4761" \ + "RFC4762=RFC 4762" \ + "RFC4763=RFC 4763" \ + "RFC4764=RFC 4764" \ + "RFC4765=RFC 4765" \ + "RFC4766=RFC 4766" \ + "RFC4767=RFC 4767" \ + "RFC4768=RFC 4768" \ + "RFC4769=RFC 4769" \ + "RFC4770=RFC 4770" \ + "RFC4771=RFC 4771" \ + "RFC4772=RFC 4772" \ + "RFC4773=RFC 4773" \ + "RFC4774=RFC 4774" \ + "RFC4775=RFC 4775" \ + "RFC4776=RFC 4776" \ + "RFC4777=RFC 4777" \ + "RFC4778=RFC 4778" \ + "RFC4779=RFC 4779" \ + "RFC4780=RFC 4780" \ + "RFC4781=RFC 4781" \ + "RFC4782=RFC 4782" \ + "RFC4783=RFC 4783" \ + "RFC4784=RFC 4784" \ + "RFC4785=RFC 4785" \ + "RFC4786=RFC 4786" \ + "RFC4787=RFC 4787" \ + "RFC4788=RFC 4788" \ + "RFC4789=RFC 4789" \ + "RFC4790=RFC 4790" \ + "RFC4791=RFC 4791" \ + "RFC4792=RFC 4792" \ + "RFC4793=RFC 4793" \ + "RFC4794=RFC 4794" \ + "RFC4795=RFC 4795" \ + "RFC4796=RFC 4796" \ + "RFC4797=RFC 4797" \ + "RFC4798=RFC 4798" \ + "RFC4799=RFC 4799" \ + "RFC4800=RFC 4800" \ + "RFC4801=RFC 4801" \ + "RFC4802=RFC 4802" \ + "RFC4803=RFC 4803" \ + "RFC4804=RFC 4804" \ + "RFC4805=RFC 4805" \ + "RFC4806=RFC 4806" \ + "RFC4807=RFC 4807" \ + "RFC4808=RFC 4808" \ + "RFC4809=RFC 4809" \ + "RFC4810=RFC 4810" \ + "RFC4811=RFC 4811" \ + "RFC4812=RFC 4812" \ + "RFC4813=RFC 4813" \ + "RFC4814=RFC 4814" \ + "RFC4815=RFC 4815" \ + "RFC4816=RFC 4816" \ + "RFC4817=RFC 4817" \ + "RFC4818=RFC 4818" \ + "RFC4819=RFC 4819" \ + "RFC4820=RFC 4820" \ + "RFC4821=RFC 4821" \ + "RFC4822=RFC 4822" \ + "RFC4823=RFC 4823" \ + "RFC4824=RFC 4824" \ + "RFC4825=RFC 4825" \ + "RFC4826=RFC 4826" \ + "RFC4827=RFC 4827" \ + "RFC4828=RFC 4828" \ + "RFC4829=RFC 4829" \ + "RFC4830=RFC 4830" \ + "RFC4831=RFC 4831" \ + "RFC4832=RFC 4832" \ + "RFC4833=RFC 4833" \ + "RFC4834=RFC 4834" \ + "RFC4835=RFC 4835" \ + "RFC4836=RFC 4836" \ + "RFC4837=RFC 4837" \ + "RFC4838=RFC 4838" \ + "RFC4839=RFC 4839" \ + "RFC4840=RFC 4840" \ + "RFC4841=RFC 4841" \ + "RFC4842=RFC 4842" \ + "RFC4843=RFC 4843" \ + "RFC4844=RFC 4844" \ + "RFC4845=RFC 4845" \ + "RFC4846=RFC 4846" \ + "RFC4847=RFC 4847" \ + "RFC4848=RFC 4848" \ + "RFC4849=RFC 4849" \ + "RFC4850=RFC 4850" \ + "RFC4851=RFC 4851" \ + "RFC4852=RFC 4852" \ + "RFC4853=RFC 4853" \ + "RFC4854=RFC 4854" \ + "RFC4855=RFC 4855" \ + "RFC4856=RFC 4856" \ + "RFC4857=RFC 4857" \ + "RFC4858=RFC 4858" \ + "RFC4859=RFC 4859" \ + "RFC4860=RFC 4860" \ + "RFC4861=RFC 4861" \ + "RFC4862=RFC 4862" \ + "RFC4863=RFC 4863" \ + "RFC4864=RFC 4864" \ + "RFC4865=RFC 4865" \ + "RFC4866=RFC 4866" \ + "RFC4867=RFC 4867" \ + "RFC4868=RFC 4868" \ + "RFC4869=RFC 4869" \ + "RFC4870=RFC 4870" \ + "RFC4871=RFC 4871" \ + "RFC4872=RFC 4872" \ + "RFC4873=RFC 4873" \ + "RFC4874=RFC 4874" \ + "RFC4875=RFC 4875" \ + "RFC4876=RFC 4876" \ + "RFC4877=RFC 4877" \ + "RFC4878=RFC 4878" \ + "RFC4879=RFC 4879" \ + "RFC4880=RFC 4880" \ + "RFC4881=RFC 4881" \ + "RFC4882=RFC 4882" \ + "RFC4883=RFC 4883" \ + "RFC4884=RFC 4884" \ + "RFC4885=RFC 4885" \ + "RFC4886=RFC 4886" \ + "RFC4887=RFC 4887" \ + "RFC4888=RFC 4888" \ + "RFC4889=RFC 4889" \ + "RFC4890=RFC 4890" \ + "RFC4891=RFC 4891" \ + "RFC4892=RFC 4892" \ + "RFC4893=RFC 4893" \ + "RFC4894=RFC 4894" \ + "RFC4895=RFC 4895" \ + "RFC4896=RFC 4896" \ + "RFC4897=RFC 4897" \ + "RFC4898=RFC 4898" \ + "RFC4899=RFC 4899" \ + "RFC4900=RFC 4900" \ + "RFC4901=RFC 4901" \ + "RFC4902=RFC 4902" \ + "RFC4903=RFC 4903" \ + "RFC4904=RFC 4904" \ + "RFC4905=RFC 4905" \ + "RFC4906=RFC 4906" \ + "RFC4907=RFC 4907" \ + "RFC4908=RFC 4908" \ + "RFC4909=RFC 4909" \ + "RFC4910=RFC 4910" \ + "RFC4911=RFC 4911" \ + "RFC4912=RFC 4912" \ + "RFC4913=RFC 4913" \ + "RFC4914=RFC 4914" \ + "RFC4915=RFC 4915" \ + "RFC4916=RFC 4916" \ + "RFC4917=RFC 4917" \ + "RFC4918=RFC 4918" \ + "RFC4919=RFC 4919" \ + "RFC4920=RFC 4920" \ + "RFC4921=RFC 4921" \ + "RFC4922=RFC 4922" \ + "RFC4923=RFC 4923" \ + "RFC4924=RFC 4924" \ + "RFC4925=RFC 4925" \ + "RFC4926=RFC 4926" \ + "RFC4927=RFC 4927" \ + "RFC4928=RFC 4928" \ + "RFC4929=RFC 4929" \ + "RFC4930=RFC 4930" \ + "RFC4931=RFC 4931" \ + "RFC4932=RFC 4932" \ + "RFC4933=RFC 4933" \ + "RFC4934=RFC 4934" \ + "RFC4935=RFC 4935" \ + "RFC4936=RFC 4936" \ + "RFC4937=RFC 4937" \ + "RFC4938=RFC 4938" \ + "RFC4939=RFC 4939" \ + "RFC4940=RFC 4940" \ + "RFC4941=RFC 4941" \ + "RFC4942=RFC 4942" \ + "RFC4943=RFC 4943" \ + "RFC4944=RFC 4944" \ + "RFC4945=RFC 4945" \ + "RFC4946=RFC 4946" \ + "RFC4947=RFC 4947" \ + "RFC4948=RFC 4948" \ + "RFC4949=RFC 4949" \ + "RFC4950=RFC 4950" \ + "RFC4951=RFC 4951" \ + "RFC4952=RFC 4952" \ + "RFC4953=RFC 4953" \ + "RFC4954=RFC 4954" \ + "RFC4955=RFC 4955" \ + "RFC4956=RFC 4956" \ + "RFC4957=RFC 4957" \ + "RFC4958=RFC 4958" \ + "RFC4959=RFC 4959" \ + "RFC4960=RFC 4960" \ + "RFC4961=RFC 4961" \ + "RFC4962=RFC 4962" \ + "RFC4963=RFC 4963" \ + "RFC4964=RFC 4964" \ + "RFC4965=RFC 4965" \ + "RFC4966=RFC 4966" \ + "RFC4967=RFC 4967" \ + "RFC4968=RFC 4968" \ + "RFC4969=RFC 4969" \ + "RFC4970=RFC 4970" \ + "RFC4971=RFC 4971" \ + "RFC4972=RFC 4972" \ + "RFC4973=RFC 4973" \ + "RFC4974=RFC 4974" \ + "RFC4975=RFC 4975" \ + "RFC4976=RFC 4976" \ + "RFC4977=RFC 4977" \ + "RFC4978=RFC 4978" \ + "RFC4979=RFC 4979" \ + "RFC4980=RFC 4980" \ + "RFC4981=RFC 4981" \ + "RFC4982=RFC 4982" \ + "RFC4983=RFC 4983" \ + "RFC4984=RFC 4984" \ + "RFC4985=RFC 4985" \ + "RFC4986=RFC 4986" \ + "RFC4987=RFC 4987" \ + "RFC4988=RFC 4988" \ + "RFC4989=RFC 4989" \ + "RFC4990=RFC 4990" \ + "RFC4991=RFC 4991" \ + "RFC4992=RFC 4992" \ + "RFC4993=RFC 4993" \ + "RFC4994=RFC 4994" \ + "RFC4995=RFC 4995" \ + "RFC4996=RFC 4996" \ + "RFC4997=RFC 4997" \ + "RFC4998=RFC 4998" \ + "RFC4999=RFC 4999" \ + "RFC5000=RFC 5000" \ + "RFC5001=RFC 5001" \ + "RFC5002=RFC 5002" \ + "RFC5003=RFC 5003" \ + "RFC5004=RFC 5004" \ + "RFC5005=RFC 5005" \ + "RFC5006=RFC 5006" \ + "RFC5007=RFC 5007" \ + "RFC5008=RFC 5008" \ + "RFC5009=RFC 5009" \ + "RFC5010=RFC 5010" \ + "RFC5011=RFC 5011" \ + "RFC5012=RFC 5012" \ + "RFC5013=RFC 5013" \ + "RFC5014=RFC 5014" \ + "RFC5015=RFC 5015" \ + "RFC5016=RFC 5016" \ + "RFC5017=RFC 5017" \ + "RFC5018=RFC 5018" \ + "RFC5019=RFC 5019" \ + "RFC5020=RFC 5020" \ + "RFC5021=RFC 5021" \ + "RFC5022=RFC 5022" \ + "RFC5023=RFC 5023" \ + "RFC5024=RFC 5024" \ + "RFC5025=RFC 5025" \ + "RFC5026=RFC 5026" \ + "RFC5027=RFC 5027" \ + "RFC5028=RFC 5028" \ + "RFC5029=RFC 5029" \ + "RFC5030=RFC 5030" \ + "RFC5031=RFC 5031" \ + "RFC5032=RFC 5032" \ + "RFC5033=RFC 5033" \ + "RFC5034=RFC 5034" \ + "RFC5035=RFC 5035" \ + "RFC5036=RFC 5036" \ + "RFC5037=RFC 5037" \ + "RFC5038=RFC 5038" \ + "RFC5039=RFC 5039" \ + "RFC5040=RFC 5040" \ + "RFC5041=RFC 5041" \ + "RFC5042=RFC 5042" \ + "RFC5043=RFC 5043" \ + "RFC5044=RFC 5044" \ + "RFC5045=RFC 5045" \ + "RFC5046=RFC 5046" \ + "RFC5047=RFC 5047" \ + "RFC5048=RFC 5048" \ + "RFC5049=RFC 5049" \ + "RFC5050=RFC 5050" \ + "RFC5051=RFC 5051" \ + "RFC5052=RFC 5052" \ + "RFC5053=RFC 5053" \ + "RFC5054=RFC 5054" \ + "RFC5055=RFC 5055" \ + "RFC5056=RFC 5056" \ + "RFC5057=RFC 5057" \ + "RFC5058=RFC 5058" \ + "RFC5059=RFC 5059" \ + "RFC5060=RFC 5060" \ + "RFC5061=RFC 5061" \ + "RFC5062=RFC 5062" \ + "RFC5063=RFC 5063" \ + "RFC5064=RFC 5064" \ + "RFC5065=RFC 5065" \ + "RFC5066=RFC 5066" \ + "RFC5067=RFC 5067" \ + "RFC5068=RFC 5068" \ + "RFC5069=RFC 5069" \ + "RFC5070=RFC 5070" \ + "RFC5071=RFC 5071" \ + "RFC5072=RFC 5072" \ + "RFC5073=RFC 5073" \ + "RFC5074=RFC 5074" \ + "RFC5075=RFC 5075" \ + "RFC5076=RFC 5076" \ + "RFC5077=RFC 5077" \ + "RFC5078=RFC 5078" \ + "RFC5079=RFC 5079" \ + "RFC5080=RFC 5080" \ + "RFC5081=RFC 5081" \ + "RFC5082=RFC 5082" \ + "RFC5083=RFC 5083" \ + "RFC5084=RFC 5084" \ + "RFC5085=RFC 5085" \ + "RFC5086=RFC 5086" \ + "RFC5087=RFC 5087" \ + "RFC5088=RFC 5088" \ + "RFC5089=RFC 5089" \ + "RFC5090=RFC 5090" \ + "RFC5091=RFC 5091" \ + "RFC5092=RFC 5092" \ + "RFC5093=RFC 5093" \ + "RFC5094=RFC 5094" \ + "RFC5095=RFC 5095" \ + "RFC5096=RFC 5096" \ + "RFC5097=RFC 5097" \ + "RFC5098=RFC 5098" \ + "RFC5099=RFC 5099" \ + "RFC5100=RFC 5100" \ + "RFC5101=RFC 5101" \ + "RFC5102=RFC 5102" \ + "RFC5103=RFC 5103" \ + "RFC5104=RFC 5104" \ + "RFC5105=RFC 5105" \ + "RFC5106=RFC 5106" \ + "RFC5107=RFC 5107" \ + "RFC5108=RFC 5108" \ + "RFC5109=RFC 5109" \ + "RFC5110=RFC 5110" \ + "RFC5111=RFC 5111" \ + "RFC5112=RFC 5112" \ + "RFC5113=RFC 5113" \ + "RFC5114=RFC 5114" \ + "RFC5115=RFC 5115" \ + "RFC5116=RFC 5116" \ + "RFC5117=RFC 5117" \ + "RFC5118=RFC 5118" \ + "RFC5119=RFC 5119" \ + "RFC5120=RFC 5120" \ + "RFC5121=RFC 5121" \ + "RFC5122=RFC 5122" \ + "RFC5123=RFC 5123" \ + "RFC5124=RFC 5124" \ + "RFC5125=RFC 5125" \ + "RFC5126=RFC 5126" \ + "RFC5127=RFC 5127" \ + "RFC5128=RFC 5128" \ + "RFC5129=RFC 5129" \ + "RFC5130=RFC 5130" \ + "RFC5131=RFC 5131" \ + "RFC5132=RFC 5132" \ + "RFC5133=RFC 5133" \ + "RFC5134=RFC 5134" \ + "RFC5135=RFC 5135" \ + "RFC5136=RFC 5136" \ + "RFC5137=RFC 5137" \ + "RFC5138=RFC 5138" \ + "RFC5139=RFC 5139" \ + "RFC5140=RFC 5140" \ + "RFC5141=RFC 5141" \ + "RFC5142=RFC 5142" \ + "RFC5143=RFC 5143" \ + "RFC5144=RFC 5144" \ + "RFC5145=RFC 5145" \ + "RFC5146=RFC 5146" \ + "RFC5147=RFC 5147" \ + "RFC5148=RFC 5148" \ + "RFC5149=RFC 5149" \ + "RFC5150=RFC 5150" \ + "RFC5151=RFC 5151" \ + "RFC5152=RFC 5152" \ + "RFC5153=RFC 5153" \ + "RFC5154=RFC 5154" \ + "RFC5155=RFC 5155" \ + "RFC5156=RFC 5156" \ + "RFC5157=RFC 5157" \ + "RFC5158=RFC 5158" \ + "RFC5159=RFC 5159" \ + "RFC5160=RFC 5160" \ + "RFC5161=RFC 5161" \ + "RFC5162=RFC 5162" \ + "RFC5163=RFC 5163" \ + "RFC5164=RFC 5164" \ + "RFC5165=RFC 5165" \ + "RFC5166=RFC 5166" \ + "RFC5167=RFC 5167" \ + "RFC5168=RFC 5168" \ + "RFC5169=RFC 5169" \ + "RFC5170=RFC 5170" \ + "RFC5171=RFC 5171" \ + "RFC5172=RFC 5172" \ + "RFC5173=RFC 5173" \ + "RFC5174=RFC 5174" \ + "RFC5175=RFC 5175" \ + "RFC5176=RFC 5176" \ + "RFC5177=RFC 5177" \ + "RFC5178=RFC 5178" \ + "RFC5179=RFC 5179" \ + "RFC5180=RFC 5180" \ + "RFC5181=RFC 5181" \ + "RFC5182=RFC 5182" \ + "RFC5183=RFC 5183" \ + "RFC5184=RFC 5184" \ + "RFC5185=RFC 5185" \ + "RFC5186=RFC 5186" \ + "RFC5187=RFC 5187" \ + "RFC5188=RFC 5188" \ + "RFC5189=RFC 5189" \ + "RFC5190=RFC 5190" \ + "RFC5191=RFC 5191" \ + "RFC5192=RFC 5192" \ + "RFC5193=RFC 5193" \ + "RFC5194=RFC 5194" \ + "RFC5195=RFC 5195" \ + "RFC5196=RFC 5196" \ + "RFC5197=RFC 5197" \ + "RFC5198=RFC 5198" \ + "RFC5199=RFC 5199" \ + "RFC5200=RFC 5200" \ + "RFC5201=RFC 5201" \ + "RFC5202=RFC 5202" \ + "RFC5203=RFC 5203" \ + "RFC5204=RFC 5204" \ + "RFC5205=RFC 5205" \ + "RFC5206=RFC 5206" \ + "RFC5207=RFC 5207" \ + "RFC5208=RFC 5208" \ + "RFC5209=RFC 5209" \ + "RFC5210=RFC 5210" \ + "RFC5211=RFC 5211" \ + "RFC5212=RFC 5212" \ + "RFC5213=RFC 5213" \ + "RFC5214=RFC 5214" \ + "RFC5215=RFC 5215" \ + "RFC5216=RFC 5216" \ + "RFC5217=RFC 5217" \ + "RFC5218=RFC 5218" \ + "RFC5219=RFC 5219" \ + "RFC5220=RFC 5220" \ + "RFC5221=RFC 5221" \ + "RFC5222=RFC 5222" \ + "RFC5223=RFC 5223" \ + "RFC5224=RFC 5224" \ + "RFC5225=RFC 5225" \ + "RFC5226=RFC 5226" \ + "RFC5227=RFC 5227" \ + "RFC5228=RFC 5228" \ + "RFC5229=RFC 5229" \ + "RFC5230=RFC 5230" \ + "RFC5231=RFC 5231" \ + "RFC5232=RFC 5232" \ + "RFC5233=RFC 5233" \ + "RFC5234=RFC 5234" \ + "RFC5235=RFC 5235" \ + "RFC5236=RFC 5236" \ + "RFC5237=RFC 5237" \ + "RFC5238=RFC 5238" \ + "RFC5239=RFC 5239" \ + "RFC5240=RFC 5240" \ + "RFC5241=RFC 5241" \ + "RFC5242=RFC 5242" \ + "RFC5243=RFC 5243" \ + "RFC5244=RFC 5244" \ + "RFC5245=RFC 5245" \ + "RFC5246=RFC 5246" \ + "RFC5247=RFC 5247" \ + "RFC5248=RFC 5248" \ + "RFC5249=RFC 5249" \ + "RFC5250=RFC 5250" \ + "RFC5251=RFC 5251" \ + "RFC5252=RFC 5252" \ + "RFC5253=RFC 5253" \ + "RFC5254=RFC 5254" \ + "RFC5255=RFC 5255" \ + "RFC5256=RFC 5256" \ + "RFC5257=RFC 5257" \ + "RFC5258=RFC 5258" \ + "RFC5259=RFC 5259" \ + "RFC5260=RFC 5260" \ + "RFC5261=RFC 5261" \ + "RFC5262=RFC 5262" \ + "RFC5263=RFC 5263" \ + "RFC5264=RFC 5264" \ + "RFC5265=RFC 5265" \ + "RFC5266=RFC 5266" \ + "RFC5267=RFC 5267" \ + "RFC5268=RFC 5268" \ + "RFC5269=RFC 5269" \ + "RFC5270=RFC 5270" \ + "RFC5271=RFC 5271" \ + "RFC5272=RFC 5272" \ + "RFC5273=RFC 5273" \ + "RFC5274=RFC 5274" \ + "RFC5275=RFC 5275" \ + "RFC5276=RFC 5276" \ + "RFC5277=RFC 5277" \ + "RFC5278=RFC 5278" \ + "RFC5279=RFC 5279" \ + "RFC5280=RFC 5280" \ + "RFC5281=RFC 5281" \ + "RFC5282=RFC 5282" \ + "RFC5283=RFC 5283" \ + "RFC5284=RFC 5284" \ + "RFC5285=RFC 5285" \ + "RFC5286=RFC 5286" \ + "RFC5287=RFC 5287" \ + "RFC5288=RFC 5288" \ + "RFC5289=RFC 5289" \ + "RFC5290=RFC 5290" \ + "RFC5291=RFC 5291" \ + "RFC5292=RFC 5292" \ + "RFC5293=RFC 5293" \ + "RFC5294=RFC 5294" \ + "RFC5295=RFC 5295" \ + "RFC5296=RFC 5296" \ + "RFC5297=RFC 5297" \ + "RFC5298=RFC 5298" \ + "RFC5299=RFC 5299" \ + "RFC5300=RFC 5300" \ + "RFC5301=RFC 5301" \ + "RFC5302=RFC 5302" \ + "RFC5303=RFC 5303" \ + "RFC5304=RFC 5304" \ + "RFC5305=RFC 5305" \ + "RFC5306=RFC 5306" \ + "RFC5307=RFC 5307" \ + "RFC5308=RFC 5308" \ + "RFC5309=RFC 5309" \ + "RFC5310=RFC 5310" \ + "RFC5311=RFC 5311" \ + "RFC5312=RFC 5312" \ + "RFC5313=RFC 5313" \ + "RFC5314=RFC 5314" \ + "RFC5315=RFC 5315" \ + "RFC5316=RFC 5316" \ + "RFC5317=RFC 5317" \ + "RFC5318=RFC 5318" \ + "RFC5319=RFC 5319" \ + "RFC5320=RFC 5320" \ + "RFC5321=RFC 5321" \ + "RFC5322=RFC 5322" \ + "RFC5323=RFC 5323" \ + "RFC5324=RFC 5324" \ + "RFC5325=RFC 5325" \ + "RFC5326=RFC 5326" \ + "RFC5327=RFC 5327" \ + "RFC5328=RFC 5328" \ + "RFC5329=RFC 5329" \ + "RFC5330=RFC 5330" \ + "RFC5331=RFC 5331" \ + "RFC5332=RFC 5332" \ + "RFC5333=RFC 5333" \ + "RFC5334=RFC 5334" \ + "RFC5335=RFC 5335" \ + "RFC5336=RFC 5336" \ + "RFC5337=RFC 5337" \ + "RFC5338=RFC 5338" \ + "RFC5339=RFC 5339" \ + "RFC5340=RFC 5340" \ + "RFC5341=RFC 5341" \ + "RFC5342=RFC 5342" \ + "RFC5343=RFC 5343" \ + "RFC5344=RFC 5344" \ + "RFC5345=RFC 5345" \ + "RFC5346=RFC 5346" \ + "RFC5347=RFC 5347" \ + "RFC5348=RFC 5348" \ + "RFC5349=RFC 5349" \ + "RFC5350=RFC 5350" \ + "RFC5351=RFC 5351" \ + "RFC5352=RFC 5352" \ + "RFC5353=RFC 5353" \ + "RFC5354=RFC 5354" \ + "RFC5355=RFC 5355" \ + "RFC5356=RFC 5356" \ + "RFC5357=RFC 5357" \ + "RFC5358=RFC 5358" \ + "RFC5359=RFC 5359" \ + "RFC5360=RFC 5360" \ + "RFC5361=RFC 5361" \ + "RFC5362=RFC 5362" \ + "RFC5363=RFC 5363" \ + "RFC5364=RFC 5364" \ + "RFC5365=RFC 5365" \ + "RFC5366=RFC 5366" \ + "RFC5367=RFC 5367" \ + "RFC5368=RFC 5368" \ + "RFC5369=RFC 5369" \ + "RFC5370=RFC 5370" \ + "RFC5371=RFC 5371" \ + "RFC5372=RFC 5372" \ + "RFC5373=RFC 5373" \ + "RFC5374=RFC 5374" \ + "RFC5375=RFC 5375" \ + "RFC5376=RFC 5376" \ + "RFC5377=RFC 5377" \ + "RFC5378=RFC 5378" \ + "RFC5379=RFC 5379" \ + "RFC5380=RFC 5380" \ + "RFC5381=RFC 5381" \ + "RFC5382=RFC 5382" \ + "RFC5383=RFC 5383" \ + "RFC5384=RFC 5384" \ + "RFC5385=RFC 5385" \ + "RFC5386=RFC 5386" \ + "RFC5387=RFC 5387" \ + "RFC5388=RFC 5388" \ + "RFC5389=RFC 5389" \ + "RFC5390=RFC 5390" \ + "RFC5391=RFC 5391" \ + "RFC5392=RFC 5392" \ + "RFC5393=RFC 5393" \ + "RFC5394=RFC 5394" \ + "RFC5395=RFC 5395" \ + "RFC5396=RFC 5396" \ + "RFC5397=RFC 5397" \ + "RFC5398=RFC 5398" \ + "RFC5399=RFC 5399" \ + "RFC5400=RFC 5400" \ + "RFC5401=RFC 5401" \ + "RFC5402=RFC 5402" \ + "RFC5403=RFC 5403" \ + "RFC5404=RFC 5404" \ + "RFC5405=RFC 5405" \ + "RFC5406=RFC 5406" \ + "RFC5407=RFC 5407" \ + "RFC5408=RFC 5408" \ + "RFC5409=RFC 5409" \ + "RFC5410=RFC 5410" \ + "RFC5411=RFC 5411" \ + "RFC5412=RFC 5412" \ + "RFC5413=RFC 5413" \ + "RFC5414=RFC 5414" \ + "RFC5415=RFC 5415" \ + "RFC5416=RFC 5416" \ + "RFC5417=RFC 5417" \ + "RFC5418=RFC 5418" \ + "RFC5419=RFC 5419" \ + "RFC5420=RFC 5420" \ + "RFC5421=RFC 5421" \ + "RFC5422=RFC 5422" \ + "RFC5423=RFC 5423" \ + "RFC5424=RFC 5424" \ + "RFC5425=RFC 5425" \ + "RFC5426=RFC 5426" \ + "RFC5427=RFC 5427" \ + "RFC5428=RFC 5428" \ + "RFC5429=RFC 5429" \ + "RFC5430=RFC 5430" \ + "RFC5431=RFC 5431" \ + "RFC5432=RFC 5432" \ + "RFC5433=RFC 5433" \ + "RFC5434=RFC 5434" \ + "RFC5435=RFC 5435" \ + "RFC5436=RFC 5436" \ + "RFC5437=RFC 5437" \ + "RFC5438=RFC 5438" \ + "RFC5439=RFC 5439" \ + "RFC5440=RFC 5440" \ + "RFC5441=RFC 5441" \ + "RFC5442=RFC 5442" \ + "RFC5443=RFC 5443" \ + "RFC5444=RFC 5444" \ + "RFC5445=RFC 5445" \ + "RFC5446=RFC 5446" \ + "RFC5447=RFC 5447" \ + "RFC5448=RFC 5448" \ + "RFC5449=RFC 5449" \ + "RFC5450=RFC 5450" \ + "RFC5451=RFC 5451" \ + "RFC5452=RFC 5452" \ + "RFC5453=RFC 5453" \ + "RFC5454=RFC 5454" \ + "RFC5455=RFC 5455" \ + "RFC5456=RFC 5456" \ + "RFC5457=RFC 5457" \ + "RFC5458=RFC 5458" \ + "RFC5459=RFC 5459" \ + "RFC5460=RFC 5460" \ + "RFC5461=RFC 5461" \ + "RFC5462=RFC 5462" \ + "RFC5463=RFC 5463" \ + "RFC5464=RFC 5464" \ + "RFC5465=RFC 5465" \ + "RFC5466=RFC 5466" \ + "RFC5467=RFC 5467" \ + "RFC5468=RFC 5468" \ + "RFC5469=RFC 5469" \ + "RFC5470=RFC 5470" \ + "RFC5471=RFC 5471" \ + "RFC5472=RFC 5472" \ + "RFC5473=RFC 5473" \ + "RFC5474=RFC 5474" \ + "RFC5475=RFC 5475" \ + "RFC5476=RFC 5476" \ + "RFC5477=RFC 5477" \ + "RFC5478=RFC 5478" \ + "RFC5479=RFC 5479" \ + "RFC5480=RFC 5480" \ + "RFC5481=RFC 5481" \ + "RFC5482=RFC 5482" \ + "RFC5483=RFC 5483" \ + "RFC5484=RFC 5484" \ + "RFC5485=RFC 5485" \ + "RFC5486=RFC 5486" \ + "RFC5487=RFC 5487" \ + "RFC5488=RFC 5488" \ + "RFC5489=RFC 5489" \ + "RFC5490=RFC 5490" \ + "RFC5491=RFC 5491" \ + "RFC5492=RFC 5492" \ + "RFC5493=RFC 5493" \ + "RFC5494=RFC 5494" \ + "RFC5495=RFC 5495" \ + "RFC5496=RFC 5496" \ + "RFC5497=RFC 5497" \ + "RFC5498=RFC 5498" \ + "RFC5499=RFC 5499" + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 0 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = @srcdir@/utils.docs \ + @srcdir@ \ + @top_srcdir@/libsofia-sip-ua/su/localinfo.c \ + @top_srcdir@/libsofia-sip-ua/su/addrinfo.c \ + @top_srcdir@/libsofia-sip-ua/stun/stunc.c + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.h \ + *.c + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = acconfig.h \ + config.h \ + confdefs.h \ + test*.h \ + test*.c \ + torture*.c \ + *test.c \ + *torture.c \ + *_tag_dll.c \ + *_tag_ref.c + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = NO + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = ../libsofia-sip-ua/docs/html/utils + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# Qt Help Project / Namespace. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# Qt Help Project / Virtual Folders. + +QHP_VIRTUAL_FOLDER = doc + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file . + +QHG_LOCATION = + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to FRAME, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. Other possible values +# for this tag are: HIERARCHIES, which will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list; +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which +# disables this behavior completely. For backwards compatibility with previous +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE +# respectively. + +GENERATE_TREEVIEW = NONE + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = YES + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = . + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .1 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = NO + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = . @srcdir@ + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = DOX \ + DOXYGEN_ONLY=1 \ + DOCUMENTATION_ONLY=1 \ + SU_HAVE_INLINE=1 \ + su_inline=inline \ + SOFIA_BEGIN_DECLS \ + SOFIA_END_DECLS \ + SOFIAPUBFUN \ + SOFIACALL \ + SOFIAPUBVAR=extern \ + SU_DLL \ + SIP_DLL \ + RTSP_DLL \ + SU_DLL \ + NTA_DLL \ + NUA_DLL \ + MSG_DLL \ + AUTH_DLL \ + NTH_DLL \ + HTTP_DLL \ + __attribute__()= + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = ../libsofia-sip-ua/docs/utils.doxytags + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. -PROJECT_NAME = "sofia-sip-utils" +DOT_PATH = -PROJECT_NUMBER = @VERSION@ +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). -INPUT = @srcdir@/utils.docs -INPUT += @srcdir@ -INPUT += @top_srcdir@/libsofia-sip-ua/su/localinfo.c -INPUT += @top_srcdir@/libsofia-sip-ua/su/addrinfo.c -INPUT += @top_srcdir@/libsofia-sip-ua/stun/stunc.c +DOTFILE_DIRS = -OUTPUT_DIRECTORY = ../man +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. -HTML_OUTPUT = ../libsofia-sip-ua/docs/html/utils -GENERATE_TAGFILE = ../libsofia-sip-ua/docs/utils.doxytags +DOT_GRAPH_MAX_NODES = 50 - at INCLUDE_PATH = . @srcdir@ +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - at INCLUDE = ../libsofia-sip-ua/docs/Doxyfile.aliases - at INCLUDE = ../libsofia-sip-ua/docs/Doxyfile.rfc +MAX_DOT_GRAPH_DEPTH = 0 -FILE_PATTERNS = *.h *.c +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). -EXCLUDE_PATTERNS = acconfig.h config.h confdefs.h \ - test*.h test*.c torture*.c *test.c *torture.c \ - *_tag_dll.c *_tag_ref.c +DOT_TRANSPARENT = NO -TAGFILES = +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. -OUTPUT_LANGUAGE = English +DOT_MULTI_TARGETS = NO -DETAILS_AT_TOP = YES -OPTIMIZE_OUTPUT_FOR_C = YES -SHOW_USED_FILES = NO +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. -QUIET = YES -WARNINGS = YES -DISABLE_INDEX = NO +GENERATE_LEGEND = YES -HAVE_DOT = YES -INCLUDE_GRAPH = NO -INCLUDED_BY_GRAPH = NO +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_SCOPE_NAMES = YES -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -JAVADOC_AUTOBRIEF = YES -MAX_INITIALIZER_LINES = 0 -ENUM_VALUES_PER_LINE = 1 +DOT_CLEANUP = YES -ENABLE_PREPROCESSING = NO +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = . -MAN_EXTENSION = .1 -MAN_LINKS = NO +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. -GENERATE_HTML = NO -GENERATE_LATEX = NO +SEARCHENGINE = NO From nicholas at freeswitch.org Wed Feb 4 08:45:38 2009 From: nicholas at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 10:45:38 -0600 Subject: [Freeswitch-svn] [commit] r11633 - freeswitch/trunk/debian Message-ID: Author: nicholas Date: Wed Feb 4 10:45:38 2009 New Revision: 11633 Log: Debian package now copying the copyright and changelog files to the right place. Modified: freeswitch/trunk/debian/rules Modified: freeswitch/trunk/debian/rules ============================================================================== --- freeswitch/trunk/debian/rules (original) +++ freeswitch/trunk/debian/rules Wed Feb 4 10:45:38 2009 @@ -61,7 +61,7 @@ touch modules.conf echo $(MODULES) for i in $(MODULES); do echo $$i >> modules.conf; done - ./configure --prefix=/opt/freeswitch --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} + ./configure --prefix=/opt/freeswitch --with-modinstdir=/usr/lib/freeswitch/modules --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} configure: if test ! -f Makefile.in ; then \ @@ -115,31 +115,15 @@ binary-arch: build install dh_testdir dh_testroot -# dh_installchangelogs -# dh_installdocs -# dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installcatalogs -# dh_installpam -# dh_installmime + dh_installdocs + dh_installchangelogs dh_installinit --sourcedir=debian/tmp -# dh_installcron -# dh_installinfo -# dh_undocumented -# dh_installman cp debian/monit/freeswitch.monitrc debian/freeswitch/etc/monit/freeswitch.monitrc dh_install --sourcedir=debian/tmp dh_link dh_strip --dbg-package=freeswitch dh_compress dh_fixperms --exclude /opt/freeswitch/conf -# dh_perl -# dh_python -# dh_makeshlibs dh_installdeb dh_shlibdeps --exclude=/opt/freeswitch dh_gencontrol From mikej at freeswitch.org Wed Feb 4 10:15:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 12:15:16 -0600 Subject: [Freeswitch-svn] [commit] r11634 - in freeswitch/trunk: . build/config Message-ID: Author: mikej Date: Wed Feb 4 12:15:16 2009 New Revision: 11634 Log: fix odbc build on osx Modified: freeswitch/trunk/Makefile.am freeswitch/trunk/build/config/odbc.m4 Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Wed Feb 4 12:15:16 2009 @@ -186,9 +186,9 @@ endif if ADD_ODBC -CORE_CFLAGS += -DSWITCH_HAVE_ODBC +CORE_CFLAGS += -DSWITCH_HAVE_ODBC $(ODBC_INC_FLAGS) libfreeswitch_la_SOURCES += src/switch_odbc.c -libfreeswitch_la_LDFLAGS += -Wl,-lodbc +libfreeswitch_la_LDFLAGS += $(ODBC_LIB_FLAGS) endif bin_SCRIPTS = scripts/gentls_cert scripts/fsxs Modified: freeswitch/trunk/build/config/odbc.m4 ============================================================================== --- freeswitch/trunk/build/config/odbc.m4 (original) +++ freeswitch/trunk/build/config/odbc.m4 Wed Feb 4 12:15:16 2009 @@ -24,9 +24,18 @@ AC_DEFUN([ODBC_LIB_WHERE1], [ saved_LIBS=$LIBS -LIBS="$saved_LIBS -L$1 -lodbc" -AC_TRY_LINK(, -[SQLHDBC con;SQLDisconnect(con);], +case "$host" in + *darwin*) + LIBS="$saved_LIBS -L$1 -lodbc -framework CoreFoundation" + ;; + *) + LIBS="$saved_LIBS -L$1 -lodbc" + ;; +esac +AC_TRY_LINK( +[#include ], +[SQLHDBC con; +SQLDisconnect(con);], [ac_cv_found_odbc_lib=yes], ac_cv_found_odbc_lib=no) LIBS=$saved_LIBS @@ -130,7 +139,14 @@ ODBC_INC_DIR=$ac_cv_pcap_where_inc ODBC_LIB_DIR=$ac_cv_pcap_where_lib ODBC_INC_FLAGS="-I${ODBC_INC_DIR}" - ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc" + case "$host" in + *darwin*) + ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc -framework CoreFoundation" + ;; + *) + ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc" + ;; + esac AC_SUBST(ODBC_INC_DIR) AC_SUBST(ODBC_LIB_DIR) AC_SUBST(ODBC_INC_FLAGS) From mcollins at freeswitch.org Wed Feb 4 12:00:28 2009 From: mcollins at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 14:00:28 -0600 Subject: [Freeswitch-svn] [commit] r11635 - freeswitch/trunk/libs/win32/Sound_Files Message-ID: Author: mcollins Date: Wed Feb 4 14:00:28 2009 New Revision: 11635 Log: FSBUILD 110 Modified: freeswitch/trunk/libs/win32/Sound_Files/8khz.2008.vcproj Modified: freeswitch/trunk/libs/win32/Sound_Files/8khz.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/Sound_Files/8khz.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/Sound_Files/8khz.2008.vcproj Wed Feb 4 14:00:28 2009 @@ -33,7 +33,7 @@ /> Author: anthm Date: Wed Feb 4 14:25:46 2009 New Revision: 11636 Log: tolerate missing user in the request uri Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Wed Feb 4 14:25:46 2009 @@ -4113,10 +4113,18 @@ } else { destination_number = sip->sip_request->rq_url->url_user; } - check_decode(destination_number, session); } - + if (!destination_number && sip->sip_to && sip->sip_to->a_url) { + destination_number = sip->sip_to->a_url->url_user; + } + + if (destination_number) { + check_decode(destination_number, session); + } else { + destination_number = "service"; + } + if (sip->sip_to && sip->sip_to->a_url) { const char *host, *user; int port; From brian at freeswitch.org Wed Feb 4 12:59:41 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 14:59:41 -0600 Subject: [Freeswitch-svn] [commit] r11637 - freeswitch/trunk/conf/directory/default Message-ID: Author: brian Date: Wed Feb 4 14:59:41 2009 New Revision: 11637 Log: clarify Modified: freeswitch/trunk/conf/directory/default/brian.xml Modified: freeswitch/trunk/conf/directory/default/brian.xml ============================================================================== --- freeswitch/trunk/conf/directory/default/brian.xml (original) +++ freeswitch/trunk/conf/directory/default/brian.xml Wed Feb 4 14:59:41 2009 @@ -1,6 +1,8 @@ - - + From mcollins at freeswitch.org Wed Feb 4 13:09:03 2009 From: mcollins at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 15:09:03 -0600 Subject: [Freeswitch-svn] [commit] r11638 - freeswitch/trunk/libs/win32/Sound_Files Message-ID: Author: mcollins Date: Wed Feb 4 15:09:03 2009 New Revision: 11638 Log: Fix win32 install of 16k, 32k sound files Modified: freeswitch/trunk/libs/win32/Sound_Files/16khz.2008.vcproj freeswitch/trunk/libs/win32/Sound_Files/32khz.2008.vcproj Modified: freeswitch/trunk/libs/win32/Sound_Files/16khz.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/Sound_Files/16khz.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/Sound_Files/16khz.2008.vcproj Wed Feb 4 15:09:03 2009 @@ -33,7 +33,7 @@ /> Author: mikej Date: Wed Feb 4 15:16:48 2009 New Revision: 11639 Log: disable doxygen Modified: freeswitch/trunk/libs/sofia-sip/configure.gnu Modified: freeswitch/trunk/libs/sofia-sip/configure.gnu ============================================================================== --- freeswitch/trunk/libs/sofia-sip/configure.gnu (original) +++ freeswitch/trunk/libs/sofia-sip/configure.gnu Wed Feb 4 15:16:48 2009 @@ -1,3 +1,3 @@ #! /bin/sh -./configure "$@" --with-pic --with-glib=no --disable-shared +./configure "$@" --with-pic --with-glib=no --disable-shared --without-doxygen From brian at freeswitch.org Wed Feb 4 13:17:44 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 15:17:44 -0600 Subject: [Freeswitch-svn] [commit] r11640 - freeswitch/trunk/libs/stfu Message-ID: Author: brian Date: Wed Feb 4 15:17:44 2009 New Revision: 11640 Log: update email Modified: freeswitch/trunk/libs/stfu/stfu.c freeswitch/trunk/libs/stfu/stfu.h Modified: freeswitch/trunk/libs/stfu/stfu.c ============================================================================== --- freeswitch/trunk/libs/stfu/stfu.c (original) +++ freeswitch/trunk/libs/stfu/stfu.c Wed Feb 4 15:17:44 2009 @@ -1,6 +1,6 @@ /* * STFU (S)ort (T)ransportable (F)ramed (U)tterances - * Copyright (c) 2007 Anthony Minessale II + * Copyright (c) 2007 Anthony Minessale II * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation Modified: freeswitch/trunk/libs/stfu/stfu.h ============================================================================== --- freeswitch/trunk/libs/stfu/stfu.h (original) +++ freeswitch/trunk/libs/stfu/stfu.h Wed Feb 4 15:17:44 2009 @@ -1,6 +1,6 @@ /* * STFU (S)ort (T)ransportable (F)ramed (U)tterances - * Copyright (c) 2007 Anthony Minessale II + * Copyright (c) 2007 Anthony Minessale II * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation From brian at freeswitch.org Wed Feb 4 13:18:11 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 15:18:11 -0600 Subject: [Freeswitch-svn] [commit] r11641 - freeswitch/trunk/libs/libteletone Message-ID: Author: brian Date: Wed Feb 4 15:18:11 2009 New Revision: 11641 Log: update email Modified: freeswitch/trunk/libs/libteletone/AUTHORS Modified: freeswitch/trunk/libs/libteletone/AUTHORS ============================================================================== --- freeswitch/trunk/libs/libteletone/AUTHORS (original) +++ freeswitch/trunk/libs/libteletone/AUTHORS Wed Feb 4 15:18:11 2009 @@ -1,11 +1,11 @@ The Initial Developer of the Original Code is -Anthony Minessale II +Anthony Minessale II Portions created by the Initial Developer are Copyright (C) the Initial Developer. All Rights Reserved. The PRIMARY AUTHORS are (and/or have been): - Anthony Minessale II - Primary developer of all core components + Anthony Minessale II - Primary developer of all core components and many of the included modules. Much of freeswitch is based on his work. Michael Jerris - Windows porter and responsible for the From brian at freeswitch.org Wed Feb 4 13:18:55 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 15:18:55 -0600 Subject: [Freeswitch-svn] [commit] r11642 - in freeswitch/trunk/libs/libdingaling: . src Message-ID: Author: brian Date: Wed Feb 4 15:18:55 2009 New Revision: 11642 Log: update email Modified: freeswitch/trunk/libs/libdingaling/AUTHORS freeswitch/trunk/libs/libdingaling/src/ldl_compat.h freeswitch/trunk/libs/libdingaling/src/libdingaling.c freeswitch/trunk/libs/libdingaling/src/libdingaling.h Modified: freeswitch/trunk/libs/libdingaling/AUTHORS ============================================================================== --- freeswitch/trunk/libs/libdingaling/AUTHORS (original) +++ freeswitch/trunk/libs/libdingaling/AUTHORS Wed Feb 4 15:18:55 2009 @@ -1,11 +1,11 @@ The Initial Developer of the Original Code is -Anthony Minessale II +Anthony Minessale II Portions created by the Initial Developer are Copyright (C) the Initial Developer. All Rights Reserved. The PRIMARY AUTHORS are (and/or have been): - Anthony Minessale II - Primary developer of all core components + Anthony Minessale II - Primary developer of all core components and many of the included modules. Much of freeswitch is based on his work. Michael Jerris - Windows porter and responsible for the Modified: freeswitch/trunk/libs/libdingaling/src/ldl_compat.h ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/ldl_compat.h (original) +++ freeswitch/trunk/libs/libdingaling/src/ldl_compat.h Wed Feb 4 15:18:55 2009 @@ -1,6 +1,6 @@ /* * libDingaLing XMPP Jingle Library - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is libDingaLing XMPP Jingle Library * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * ldl_compat.h -- Platform Compatability Header File * Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original) +++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Wed Feb 4 15:18:55 2009 @@ -1,6 +1,6 @@ /* * libDingaLing XMPP Jingle Library - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is libDingaLing XMPP Jingle Library * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * libdingaling.c -- Main Library Code * Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.h ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/libdingaling.h (original) +++ freeswitch/trunk/libs/libdingaling/src/libdingaling.h Wed Feb 4 15:18:55 2009 @@ -1,6 +1,6 @@ /* * libDingaLing XMPP Jingle Library - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is libDingaLing XMPP Jingle Library * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * libdingaling.h -- Main Header File * From brian at freeswitch.org Wed Feb 4 13:20:56 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 15:20:56 -0600 Subject: [Freeswitch-svn] [commit] r11643 - in freeswitch/trunk: docs src src/include src/include/private src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/applications/mod_easyroute src/mod/applications/mod_enum src/mod/applications/mod_esf src/mod/applications/mod_expr src/mod/applications/mod_fax src/mod/applications/mod_fifo src/mod/applications/mod_fsv src/mod/applications/mod_lcr src/mod/applications/mod_limit src/mod/applications/mod_rss src/mod/applications/mod_skel src/mod/applications/mod_snom src/mod/applications/mod_soundtouch src/mod/applications/mod_stress src/mod/applications/mod_voicemail src/mod/asr_tts/mod_cepstral src/mod/asr_tts/mod_flite src/mod/asr_tts/mod_pocketsphinx src/mod/codecs/mod_amr src/mod/codecs/mod_celt src/mod/codecs/mod_g723_1 src/mod/codecs/mod_g729 src/mod/codecs/mod_h26x src/mod/codecs/mod_ilbc src/mod/codecs/mod_siren src/mod/codecs/mod_speex src/mod/codecs/mod_voipcodecs src/mod/dialplans/mod_dialplan_asterisk src/mod/dialplans/mod_dialplan_directory src/mod/dialplans/mod_dialplan_xml src/mod/directories/mod_ldap src/mod/endpoints/mod_alsa src/mod/endpoints/mod_dingaling src/mod/endpoints/mod_iax src/mod/endpoints/mod_loopback src/mod/endpoints/mod_portaudio src/mod/endpoints/mod_reference src/mod/endpoints/mod_sofia src/mod/endpoints/mod_unicall src/mod/event_handlers/mod_cdr_csv src/mod/event_handlers/mod_erlang_event src/mod/event_handlers/mod_event_multicast src/mod/event_handlers/mod_event_socket src/mod/event_handlers/mod_event_test src/mod/event_handlers/mod_radius_cdr src/mod/event_handlers/mod_zeroconf src/mod/formats/mod_local_stream src/mod/formats/mod_native_file src/mod/formats/mod_shout src/mod/formats/mod_sndfile src/mod/formats/mod_tone_stream src/mod/languages/mod_lua src/mod/languages/mod_perl src/mod/languages/mod_python src/mod/languages/mod_spidermonkey src/mod/languages/mod_spidermonkey_core_db src/mod/languages/mod_spidermonkey_curl src/mod/languages/mod_spidermonkey_odbc src/mod/languages/mod_spidermonkey_skel src/mod/languages/mod_spidermonkey_teletone src/mod/languages/mod_yaml src/mod/loggers/mod_console src/mod/loggers/mod_logfile src/mod/say/mod_say_de src/mod/say/mod_say_en src/mod/say/mod_say_es src/mod/say/mod_say_fr src/mod/say/mod_say_it src/mod/say/mod_say_nl src/mod/say/mod_say_zh src/mod/xml_int/mod_xml_cdr src/mod/xml_int/mod_xml_curl src/mod/xml_int/mod_xml_ldap src/mod/xml_int/mod_xml_rpc Message-ID: Author: brian Date: Wed Feb 4 15:20:54 2009 New Revision: 11643 Log: update email Modified: freeswitch/trunk/docs/AUTHORS freeswitch/trunk/src/include/private/switch_core_pvt.h freeswitch/trunk/src/include/switch.h freeswitch/trunk/src/include/switch_apr.h freeswitch/trunk/src/include/switch_bitpack.h freeswitch/trunk/src/include/switch_buffer.h freeswitch/trunk/src/include/switch_caller.h freeswitch/trunk/src/include/switch_channel.h freeswitch/trunk/src/include/switch_config.h freeswitch/trunk/src/include/switch_console.h freeswitch/trunk/src/include/switch_core.h freeswitch/trunk/src/include/switch_core_db.h freeswitch/trunk/src/include/switch_core_event_hook.h freeswitch/trunk/src/include/switch_event.h freeswitch/trunk/src/include/switch_frame.h freeswitch/trunk/src/include/switch_ivr.h freeswitch/trunk/src/include/switch_loadable_module.h freeswitch/trunk/src/include/switch_log.h freeswitch/trunk/src/include/switch_module_interfaces.h freeswitch/trunk/src/include/switch_odbc.h freeswitch/trunk/src/include/switch_platform.h freeswitch/trunk/src/include/switch_regex.h freeswitch/trunk/src/include/switch_resample.h freeswitch/trunk/src/include/switch_rtp.h freeswitch/trunk/src/include/switch_scheduler.h freeswitch/trunk/src/include/switch_stun.h freeswitch/trunk/src/include/switch_types.h freeswitch/trunk/src/include/switch_utils.h freeswitch/trunk/src/include/switch_version.h.template freeswitch/trunk/src/include/switch_xml.h freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c freeswitch/trunk/src/mod/endpoints/mod_unicall/mod_unicall.c freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c freeswitch/trunk/src/mod/languages/mod_python/mod_python.c freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.c freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c freeswitch/trunk/src/switch.c freeswitch/trunk/src/switch_apr.c freeswitch/trunk/src/switch_buffer.c freeswitch/trunk/src/switch_caller.c freeswitch/trunk/src/switch_channel.c freeswitch/trunk/src/switch_config.c freeswitch/trunk/src/switch_console.c freeswitch/trunk/src/switch_core.c freeswitch/trunk/src/switch_core_asr.c freeswitch/trunk/src/switch_core_codec.c freeswitch/trunk/src/switch_core_db.c freeswitch/trunk/src/switch_core_directory.c freeswitch/trunk/src/switch_core_event_hook.c freeswitch/trunk/src/switch_core_file.c freeswitch/trunk/src/switch_core_hash.c freeswitch/trunk/src/switch_core_io.c freeswitch/trunk/src/switch_core_media_bug.c freeswitch/trunk/src/switch_core_memory.c freeswitch/trunk/src/switch_core_port_allocator.c freeswitch/trunk/src/switch_core_rwlock.c freeswitch/trunk/src/switch_core_session.c freeswitch/trunk/src/switch_core_speech.c freeswitch/trunk/src/switch_core_sqldb.c freeswitch/trunk/src/switch_core_state_machine.c freeswitch/trunk/src/switch_core_timer.c freeswitch/trunk/src/switch_cpp.cpp freeswitch/trunk/src/switch_event.c freeswitch/trunk/src/switch_ivr.c freeswitch/trunk/src/switch_ivr_async.c freeswitch/trunk/src/switch_ivr_bridge.c freeswitch/trunk/src/switch_ivr_menu.c freeswitch/trunk/src/switch_ivr_originate.c freeswitch/trunk/src/switch_ivr_play_say.c freeswitch/trunk/src/switch_loadable_module.c freeswitch/trunk/src/switch_log.c freeswitch/trunk/src/switch_odbc.c freeswitch/trunk/src/switch_pcm.c freeswitch/trunk/src/switch_regex.c freeswitch/trunk/src/switch_resample.c freeswitch/trunk/src/switch_rtp.c freeswitch/trunk/src/switch_scheduler.c freeswitch/trunk/src/switch_stun.c freeswitch/trunk/src/switch_swig.c freeswitch/trunk/src/switch_time.c freeswitch/trunk/src/switch_utils.c freeswitch/trunk/src/switch_xml.c Modified: freeswitch/trunk/docs/AUTHORS ============================================================================== --- freeswitch/trunk/docs/AUTHORS (original) +++ freeswitch/trunk/docs/AUTHORS Wed Feb 4 15:20:54 2009 @@ -1,11 +1,11 @@ The Initial Developer of the Original Code is -Anthony Minessale II +Anthony Minessale II Portions created by the Initial Developer are Copyright (C) the Initial Developer. All Rights Reserved. The PRIMARY AUTHORS are (and/or have been): - Anthony Minessale II - Primary developer of all core components + Anthony Minessale II - Primary developer of all core components and many of the included modules. Much of freeswitch is based on his work. Michael Jerris - Windows porter and responsible for the Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h ============================================================================== --- freeswitch/trunk/src/include/private/switch_core_pvt.h (original) +++ freeswitch/trunk/src/include/private/switch_core_pvt.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_core.h -- Core Library Private Data (not to be installed into the system) Modified: freeswitch/trunk/src/include/switch.h ============================================================================== --- freeswitch/trunk/src/include/switch.h (original) +++ freeswitch/trunk/src/include/switch.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch.h -- Main Library Header * Modified: freeswitch/trunk/src/include/switch_apr.h ============================================================================== --- freeswitch/trunk/src/include/switch_apr.h (original) +++ freeswitch/trunk/src/include/switch_apr.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_apr.h -- APR includes header * Modified: freeswitch/trunk/src/include/switch_bitpack.h ============================================================================== --- freeswitch/trunk/src/include/switch_bitpack.h (original) +++ freeswitch/trunk/src/include/switch_bitpack.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_bitpack.h -- BITPACKING code for RFC3551 and AAL2 packing Modified: freeswitch/trunk/src/include/switch_buffer.h ============================================================================== --- freeswitch/trunk/src/include/switch_buffer.h (original) +++ freeswitch/trunk/src/include/switch_buffer.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_buffer.h -- Data Buffering Code Modified: freeswitch/trunk/src/include/switch_caller.h ============================================================================== --- freeswitch/trunk/src/include/switch_caller.h (original) +++ freeswitch/trunk/src/include/switch_caller.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_caller.h -- Caller Identification Modified: freeswitch/trunk/src/include/switch_channel.h ============================================================================== --- freeswitch/trunk/src/include/switch_channel.h (original) +++ freeswitch/trunk/src/include/switch_channel.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_channel.h -- Media Channel Interface Modified: freeswitch/trunk/src/include/switch_config.h ============================================================================== --- freeswitch/trunk/src/include/switch_config.h (original) +++ freeswitch/trunk/src/include/switch_config.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_config.h -- Configuration File Parser Modified: freeswitch/trunk/src/include/switch_console.h ============================================================================== --- freeswitch/trunk/src/include/switch_console.h (original) +++ freeswitch/trunk/src/include/switch_console.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_console.h -- Simple Console Modified: freeswitch/trunk/src/include/switch_core.h ============================================================================== --- freeswitch/trunk/src/include/switch_core.h (original) +++ freeswitch/trunk/src/include/switch_core.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_core.h -- Core Library Modified: freeswitch/trunk/src/include/switch_core_db.h ============================================================================== --- freeswitch/trunk/src/include/switch_core_db.h (original) +++ freeswitch/trunk/src/include/switch_core_db.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * switch_core_db.h -- Sqlite wrapper and extensions Header Modified: freeswitch/trunk/src/include/switch_core_event_hook.h ============================================================================== --- freeswitch/trunk/src/include/switch_core_event_hook.h (original) +++ freeswitch/trunk/src/include/switch_core_event_hook.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_core_event_hook.h Core Event Hooks * Modified: freeswitch/trunk/src/include/switch_event.h ============================================================================== --- freeswitch/trunk/src/include/switch_event.h (original) +++ freeswitch/trunk/src/include/switch_event.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_event.h -- Event System Modified: freeswitch/trunk/src/include/switch_frame.h ============================================================================== --- freeswitch/trunk/src/include/switch_frame.h (original) +++ freeswitch/trunk/src/include/switch_frame.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_frame.h -- Media Frame Structure Modified: freeswitch/trunk/src/include/switch_ivr.h ============================================================================== --- freeswitch/trunk/src/include/switch_ivr.h (original) +++ freeswitch/trunk/src/include/switch_ivr.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Neal Horman * Bret McDanel * Modified: freeswitch/trunk/src/include/switch_loadable_module.h ============================================================================== --- freeswitch/trunk/src/include/switch_loadable_module.h (original) +++ freeswitch/trunk/src/include/switch_loadable_module.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_loadable_module.h -- Loadable Modules Modified: freeswitch/trunk/src/include/switch_log.h ============================================================================== --- freeswitch/trunk/src/include/switch_log.h (original) +++ freeswitch/trunk/src/include/switch_log.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_log.h -- Logger Modified: freeswitch/trunk/src/include/switch_module_interfaces.h ============================================================================== --- freeswitch/trunk/src/include/switch_module_interfaces.h (original) +++ freeswitch/trunk/src/include/switch_module_interfaces.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_module_interfaces.h -- Module Interface Definitions Modified: freeswitch/trunk/src/include/switch_odbc.h ============================================================================== --- freeswitch/trunk/src/include/switch_odbc.h (original) +++ freeswitch/trunk/src/include/switch_odbc.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_odbc.h -- ODBC * Modified: freeswitch/trunk/src/include/switch_platform.h ============================================================================== --- freeswitch/trunk/src/include/switch_platform.h (original) +++ freeswitch/trunk/src/include/switch_platform.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_platform.h -- Platform Specific Header * Modified: freeswitch/trunk/src/include/switch_regex.h ============================================================================== --- freeswitch/trunk/src/include/switch_regex.h (original) +++ freeswitch/trunk/src/include/switch_regex.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/trunk/src/include/switch_resample.h (original) +++ freeswitch/trunk/src/include/switch_resample.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_caller.h -- Caller Identification Modified: freeswitch/trunk/src/include/switch_rtp.h ============================================================================== --- freeswitch/trunk/src/include/switch_rtp.h (original) +++ freeswitch/trunk/src/include/switch_rtp.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_channel.h -- Media Channel Interface Modified: freeswitch/trunk/src/include/switch_scheduler.h ============================================================================== --- freeswitch/trunk/src/include/switch_scheduler.h (original) +++ freeswitch/trunk/src/include/switch_scheduler.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_scheduler.h -- Scheduler Engine Modified: freeswitch/trunk/src/include/switch_stun.h ============================================================================== --- freeswitch/trunk/src/include/switch_stun.h (original) +++ freeswitch/trunk/src/include/switch_stun.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_stun.h STUN (Simple Traversal of UDP over NAT) Modified: freeswitch/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/trunk/src/include/switch_types.h (original) +++ freeswitch/trunk/src/include/switch_types.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Bret McDanel * * switch_types.h -- Data Types Modified: freeswitch/trunk/src/include/switch_utils.h ============================================================================== --- freeswitch/trunk/src/include/switch_utils.h (original) +++ freeswitch/trunk/src/include/switch_utils.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_utils.h -- Compatability and Helper Code Modified: freeswitch/trunk/src/include/switch_version.h.template ============================================================================== --- freeswitch/trunk/src/include/switch_version.h.template (original) +++ freeswitch/trunk/src/include/switch_version.h.template Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * switch_version.h -- Version Number Header Modified: freeswitch/trunk/src/include/switch_xml.h ============================================================================== --- freeswitch/trunk/src/include/switch_xml.h (original) +++ freeswitch/trunk/src/include/switch_xml.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_xml.h -- XML PARSER Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Johny Kadarisman * Paul Tinsley Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Neal Horman * Bret McDanel * Dale Thatcher Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Michael Murdock * Neal Horman Modified: freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c (original) +++ freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * * The Initial Developer of this module is * Ken Rice Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c (original) +++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_enum.c -- ENUM * Modified: freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c (original) +++ freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_esf.c -- Extra SIP Functionality Modified: freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_expr.c -- Framework Demo Module * Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -25,7 +25,7 @@ * Contributor(s): * * Brian West - * Anthony Minessale II + * Anthony Minessale II * Steve Underwood * Antonio Gallo * mod_fax.c -- Fax applications provided by SpanDSP Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_fifo.c -- FIFO * Modified: freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_fsv -- FS Video File Format * Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice * Bret McDanel Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original) +++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Bret McDanel * * Modified: freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c (original) +++ freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Neal Horman * * Modified: freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c (original) +++ freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_snom.c -- SNOM Specific Features * Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp (original) +++ freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_soundtouch.cpp -- Example of writeable media bugs * Modified: freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp (original) +++ freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_stress.cpp -- Detect Voice Stress * Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Bret McDanel * John Wehle (john at feith.com) * Raymond Chandler Modified: freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_cepstral.c -- Cepstral Interface Modified: freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Brian K. West * * The amr codec itself is not distributed with this module. Modified: freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Brian K. West * * The g723.1 codec itself is not distributed with this module. Modified: freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * The g729 codec itself is not distributed with this module. Modified: freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_h26x.c -- H26X Signed Linear Codec Modified: freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * mod_ilbc.c -- ilbc Codec Module Modified: freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_speex.c -- Speex Codec Module Modified: freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -23,7 +23,7 @@ * * Contributor(s): * Brian K. West - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * mod_voipcodecs.c -- VoIP Codecs (G.711, G.722, G.726, GSM-FR, IMA_ADPCM, LPC10) 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 Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_dialplan_asterisk.c -- Asterisk extensions.conf style dialplan parser. * Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c ============================================================================== --- freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c (original) +++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_dialplan_directory.c -- Example Dialplan Module Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c ============================================================================== --- freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original) +++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_dialplan_xml.c -- XML/Regex Dialplan Module Modified: freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c ============================================================================== --- freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c (original) +++ freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_ldap.c -- LDAP Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_alsa.c -- Alsa Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_dingaling.c -- Jingle Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_iax.c -- IAX2 Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_loopback.c -- Loopback Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_portaudio.c -- PortAudio Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_reference.c -- REFERENCE Endpoint Module Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, (work sponsored by Comet Signaling LLC, CopperCom, Inc and Asteria Solutions Group, Inc) * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Ken Rice, Asteria Solutions Group, Inc * Paul D. Tinsley * Bret McDanel Modified: freeswitch/trunk/src/mod/endpoints/mod_unicall/mod_unicall.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_unicall/mod_unicall.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_unicall/mod_unicall.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2008, Anthony Minessale II + * Copyright (C) 2005/2008, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Steve Underwood 0.0.1 * * Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Andrew Thompson * Rob Charlton * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Andrew Thompson * Rob Charlton * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Andrew Thompson * Rob Charlton * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Andrew Thompson * Rob Charlton * Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_event_multicast.c -- Multicast Events Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_event_socket.c -- Socket Controlled Event Handler Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_event_test.c -- Framework Demo Module Modified: freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_zeroconf.c -- Framework Demo Module Modified: freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c (original) +++ freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Cesar Cepeda * * Modified: freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c (original) +++ freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_native_file.c -- Native Files Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c (original) +++ freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_shout.c -- Icecast Module * Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_sndfile.c -- Framework Demo Module Modified: freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c (original) +++ freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_tone_stream.c -- Tone Generation Stream Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_lua.c -- Lua * Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c (original) +++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_perl.c -- Perl Modified: freeswitch/trunk/src/mod/languages/mod_python/mod_python.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_python/mod_python.c (original) +++ freeswitch/trunk/src/mod/languages/mod_python/mod_python.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey.c -- Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey.h -- Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey_DB.c -- DB Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey_teletone.c -- TeleTone Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey_odbc.c -- ODBC Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey_skel.c -- Skel Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_spidermonkey_teletone.c -- TeleTone Javascript Module Modified: freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c (original) +++ freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * mod_yaml.c -- YAML Module Modified: freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c ============================================================================== --- freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c (original) +++ freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_console.c -- Console Logger Modified: freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.c ============================================================================== --- freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.c (original) +++ freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.c Wed Feb 4 15:20:54 2009 @@ -16,7 +16,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * Daniel Swarbrick * Modified: freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * * mod_say_en.c -- Say for English Modified: freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * * mod_say_es.c -- Say for English Modified: freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * * mod_say_fr.c -- Say for English Modified: freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * * mod_say_it.c -- Say for English Modified: freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael B. Murdock * * mod_say_nl.c -- Say for English Modified: freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c ============================================================================== --- freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c (original) +++ freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c Wed Feb 4 15:20:54 2009 @@ -31,13 +31,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * PeteDao * Steve Underwood 0.0.1 * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,7 +17,7 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Bret McDanel * Justin Cassidy * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Bret McDanel * Justin Cassidy * John Skopis Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * mod_xml_rpc.c -- XML RPC Modified: freeswitch/trunk/src/switch.c ============================================================================== --- freeswitch/trunk/src/switch.c (original) +++ freeswitch/trunk/src/switch.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Pawel Pierscionek * Bret McDanel Modified: freeswitch/trunk/src/switch_apr.c ============================================================================== --- freeswitch/trunk/src/switch_apr.c (original) +++ freeswitch/trunk/src/switch_apr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_buffer.c ============================================================================== --- freeswitch/trunk/src/switch_buffer.c (original) +++ freeswitch/trunk/src/switch_buffer.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_buffer.c -- Data Buffering Code Modified: freeswitch/trunk/src/switch_caller.c ============================================================================== --- freeswitch/trunk/src/switch_caller.c (original) +++ freeswitch/trunk/src/switch_caller.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * - * Anthony Minessale II + * Anthony Minessale II * * * switch_caller.c -- Caller Identification Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Wed Feb 4 15:20:54 2009 @@ -1,7 +1,7 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -18,13 +18,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * * Modified: freeswitch/trunk/src/switch_config.c ============================================================================== --- freeswitch/trunk/src/switch_config.c (original) +++ freeswitch/trunk/src/switch_config.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_config.c -- Configuration File Parser Modified: freeswitch/trunk/src/switch_console.c ============================================================================== --- freeswitch/trunk/src/switch_console.c (original) +++ freeswitch/trunk/src/switch_console.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_console.c -- Simple Console Modified: freeswitch/trunk/src/switch_core.c ============================================================================== --- freeswitch/trunk/src/switch_core.c (original) +++ freeswitch/trunk/src/switch_core.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Marcel Barbulescu Modified: freeswitch/trunk/src/switch_core_asr.c ============================================================================== --- freeswitch/trunk/src/switch_core_asr.c (original) +++ freeswitch/trunk/src/switch_core_asr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_codec.c ============================================================================== --- freeswitch/trunk/src/switch_core_codec.c (original) +++ freeswitch/trunk/src/switch_core_codec.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_db.c ============================================================================== --- freeswitch/trunk/src/switch_core_db.c (original) +++ freeswitch/trunk/src/switch_core_db.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_directory.c ============================================================================== --- freeswitch/trunk/src/switch_core_directory.c (original) +++ freeswitch/trunk/src/switch_core_directory.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_event_hook.c ============================================================================== --- freeswitch/trunk/src/switch_core_event_hook.c (original) +++ freeswitch/trunk/src/switch_core_event_hook.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_core_event_hook.c Core Event Hooks * Modified: freeswitch/trunk/src/switch_core_file.c ============================================================================== --- freeswitch/trunk/src/switch_core_file.c (original) +++ freeswitch/trunk/src/switch_core_file.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_hash.c ============================================================================== --- freeswitch/trunk/src/switch_core_hash.c (original) +++ freeswitch/trunk/src/switch_core_hash.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_io.c ============================================================================== --- freeswitch/trunk/src/switch_core_io.c (original) +++ freeswitch/trunk/src/switch_core_io.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_media_bug.c ============================================================================== --- freeswitch/trunk/src/switch_core_media_bug.c (original) +++ freeswitch/trunk/src/switch_core_media_bug.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_memory.c ============================================================================== --- freeswitch/trunk/src/switch_core_memory.c (original) +++ freeswitch/trunk/src/switch_core_memory.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_port_allocator.c ============================================================================== --- freeswitch/trunk/src/switch_core_port_allocator.c (original) +++ freeswitch/trunk/src/switch_core_port_allocator.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_rwlock.c ============================================================================== --- freeswitch/trunk/src/switch_core_rwlock.c (original) +++ freeswitch/trunk/src/switch_core_rwlock.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_speech.c ============================================================================== --- freeswitch/trunk/src/switch_core_speech.c (original) +++ freeswitch/trunk/src/switch_core_speech.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_sqldb.c ============================================================================== --- freeswitch/trunk/src/switch_core_sqldb.c (original) +++ freeswitch/trunk/src/switch_core_sqldb.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_state_machine.c ============================================================================== --- freeswitch/trunk/src/switch_core_state_machine.c (original) +++ freeswitch/trunk/src/switch_core_state_machine.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_core_timer.c ============================================================================== --- freeswitch/trunk/src/switch_core_timer.c (original) +++ freeswitch/trunk/src/switch_core_timer.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_cpp.cpp ============================================================================== --- freeswitch/trunk/src/switch_cpp.cpp (original) +++ freeswitch/trunk/src/switch_cpp.cpp Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_cpp.cpp -- C++ wrapper Modified: freeswitch/trunk/src/switch_event.c ============================================================================== --- freeswitch/trunk/src/switch_event.c (original) +++ freeswitch/trunk/src/switch_event.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Paul D. Tinsley * Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Paul D. Tinsley * Neal Horman * Matt Klein Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Bret McDanel * Modified: freeswitch/trunk/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_bridge.c (original) +++ freeswitch/trunk/src/switch_ivr_bridge.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_ivr_bridge.c -- IVR Library * Modified: freeswitch/trunk/src/switch_ivr_menu.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_menu.c (original) +++ freeswitch/trunk/src/switch_ivr_menu.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Neal Horman * * switch_ivr_menu.c -- IVR Library (menu code) Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Michael Jerris * Travis Cross * Modified: freeswitch/trunk/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_play_say.c (original) +++ freeswitch/trunk/src/switch_ivr_play_say.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Paul D. Tinsley * Neal Horman * Matt Klein Modified: freeswitch/trunk/src/switch_loadable_module.c ============================================================================== --- freeswitch/trunk/src/switch_loadable_module.c (original) +++ freeswitch/trunk/src/switch_loadable_module.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_loadable_module.c -- Loadable Modules Modified: freeswitch/trunk/src/switch_log.c ============================================================================== --- freeswitch/trunk/src/switch_log.c (original) +++ freeswitch/trunk/src/switch_log.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_log.c -- Logging Modified: freeswitch/trunk/src/switch_odbc.c ============================================================================== --- freeswitch/trunk/src/switch_odbc.c (original) +++ freeswitch/trunk/src/switch_odbc.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * switch_odbc.c -- ODBC * Modified: freeswitch/trunk/src/switch_pcm.c ============================================================================== --- freeswitch/trunk/src/switch_pcm.c (original) +++ freeswitch/trunk/src/switch_pcm.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_pcm.c -- Raw and Encoded PCM 16 bit Signed Linear Modified: freeswitch/trunk/src/switch_regex.c ============================================================================== --- freeswitch/trunk/src/switch_regex.c (original) +++ freeswitch/trunk/src/switch_regex.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_caller.c -- Caller Identification Modified: freeswitch/trunk/src/switch_rtp.c ============================================================================== --- freeswitch/trunk/src/switch_rtp.c (original) +++ freeswitch/trunk/src/switch_rtp.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Marcel Barbulescu * * Modified: freeswitch/trunk/src/switch_scheduler.c ============================================================================== --- freeswitch/trunk/src/switch_scheduler.c (original) +++ freeswitch/trunk/src/switch_scheduler.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * * * switch_scheduler.c -- Switch Scheduler Modified: freeswitch/trunk/src/switch_stun.c ============================================================================== --- freeswitch/trunk/src/switch_stun.c (original) +++ freeswitch/trunk/src/switch_stun.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Fanzhou Zhao 2006-08-22 (Bugfix 2357-2358) * * Modified: freeswitch/trunk/src/switch_swig.c ============================================================================== --- freeswitch/trunk/src/switch_swig.c (original) +++ freeswitch/trunk/src/switch_swig.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Brian Fertig * * php_freeswitch.c -- PHP Module Framework Modified: freeswitch/trunk/src/switch_time.c ============================================================================== --- freeswitch/trunk/src/switch_time.c (original) +++ freeswitch/trunk/src/switch_time.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Massimo Cetra - Timezone functionality * * Modified: freeswitch/trunk/src/switch_utils.c ============================================================================== --- freeswitch/trunk/src/switch_utils.c (original) +++ freeswitch/trunk/src/switch_utils.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Juan Jose Comellas * * Modified: freeswitch/trunk/src/switch_xml.c ============================================================================== --- freeswitch/trunk/src/switch_xml.c (original) +++ freeswitch/trunk/src/switch_xml.c Wed Feb 4 15:20:54 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005/2006, Anthony Minessale II * * Version: MPL 1.1 * @@ -17,13 +17,13 @@ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is - * Anthony Minessale II + * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * - * Anthony Minessale II + * Anthony Minessale II * Simon Capper * * From mikej at freeswitch.org Wed Feb 4 15:16:32 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 17:16:32 -0600 Subject: [Freeswitch-svn] [commit] r11644 - freeswitch/trunk/src/mod/applications/mod_conference Message-ID: Author: mikej Date: Wed Feb 4 17:16:32 2009 New Revision: 11644 Log: mod_conference: add conference list summary command (MODAPP-197) Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Wed Feb 4 17:16:32 2009 @@ -3060,6 +3060,7 @@ void *val; char *d = ";"; int pretty = 0; + int summary = 0; int argofs = (argc >= 2 && strcasecmp(argv[1], "list") == 0); /* detect being called from chat vs. api */ if (argv[1 + argofs]) { @@ -3078,6 +3079,8 @@ } } else if (strcasecmp(argv[1 + argofs], "pretty") == 0) { pretty = 1; + } else if (strcasecmp(argv[1 + argofs], "summary") == 0) { + summary = 1; } } @@ -3090,10 +3093,12 @@ conference->name, conference->count, conference->count == 1 ? "" : "s", switch_test_flag(conference, CFLAG_LOCKED) ? " locked" : ""); count++; - if (pretty) { - conference_list_pretty(conference, stream); - } else { - conference_list(conference, stream, d); + if (!summary) { + if (pretty) { + conference_list_pretty(conference, stream); + } else { + conference_list(conference, stream, d); + } } } } else { From brian at freeswitch.org Wed Feb 4 15:59:19 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 17:59:19 -0600 Subject: [Freeswitch-svn] [commit] r11645 - in freeswitch/trunk/libs/iksemel: . doc include src test Message-ID: Author: brian Date: Wed Feb 4 17:59:19 2009 New Revision: 11645 Log: merge in new iksemel patches Added: freeswitch/trunk/libs/iksemel/doc/texinfo.tex Modified: freeswitch/trunk/libs/iksemel/.update freeswitch/trunk/libs/iksemel/ChangeLog freeswitch/trunk/libs/iksemel/NEWS freeswitch/trunk/libs/iksemel/README freeswitch/trunk/libs/iksemel/configure.ac freeswitch/trunk/libs/iksemel/doc/iksemel freeswitch/trunk/libs/iksemel/doc/iksemel.texi freeswitch/trunk/libs/iksemel/include/iksemel.h freeswitch/trunk/libs/iksemel/ltmain.sh freeswitch/trunk/libs/iksemel/src/Makefile.am freeswitch/trunk/libs/iksemel/src/base64.c freeswitch/trunk/libs/iksemel/src/dom.c freeswitch/trunk/libs/iksemel/src/iks.c freeswitch/trunk/libs/iksemel/src/ikstack.c freeswitch/trunk/libs/iksemel/src/io-posix.c freeswitch/trunk/libs/iksemel/src/jabber.c freeswitch/trunk/libs/iksemel/src/md5.c freeswitch/trunk/libs/iksemel/src/sax.c freeswitch/trunk/libs/iksemel/src/sha.c freeswitch/trunk/libs/iksemel/src/stream.c freeswitch/trunk/libs/iksemel/test/tst-iks.c Modified: freeswitch/trunk/libs/iksemel/.update ============================================================================== --- freeswitch/trunk/libs/iksemel/.update (original) +++ freeswitch/trunk/libs/iksemel/.update Wed Feb 4 17:59:19 2009 @@ -1 +0,0 @@ -Fri Mar 16 17:15:40 EDT 2007 Modified: freeswitch/trunk/libs/iksemel/ChangeLog ============================================================================== --- freeswitch/trunk/libs/iksemel/ChangeLog (original) +++ freeswitch/trunk/libs/iksemel/ChangeLog Wed Feb 4 17:59:19 2009 @@ -1,3 +1,32 @@ +2007-08-02 Gurer + * tst-iks.c: test for new append/prepend functions added. + +2007-08-01 Gurer + * Patch from Benjamin Bennett: + base64.c: fix padding + * sha.c: 64bit fix (long -> int) + * iks.c: new funcs: iks_append, iks_prepend + iks_append_cdata, iks_prepend_cdata + * stream.c: iks_sasl_challenge split into smaller functions + This change also fixes some possible leaks which are detected + by Coverity Inc's excellent Prevent product. + +2006-05-19 Gurer + * dom.c: fixed (size % FILE_IO_BUFFER_SIZE) problem in iks_load() + +2005-08-29 Gurer + * Patch from Jakob Schroter: + iksemel.texi: small documentation update + * Patch from Darrell Karbott: + sax.c: use fixed instead of floating point (for arm) + mark static const data properly + explicit char* uchar* casts + +2004-08-14 Gurer + * version bump to 1.3 + * patch from Roland Hedberg + io-posix.c: io_connect now tries all addrinfo values. + 2004-08-05 Gurer * iksemel.h: ikstransport cosmetic cleanup. * iksemel.texi: mingw notice added. Modified: freeswitch/trunk/libs/iksemel/NEWS ============================================================================== --- freeswitch/trunk/libs/iksemel/NEWS (original) +++ freeswitch/trunk/libs/iksemel/NEWS Wed Feb 4 17:59:19 2009 @@ -1,3 +1,22 @@ +V1.3 (2007-08-02) +* Project is moved to + http://code.google.com/p/iksemel/ + there is also a new mailing list at: + http://groups.google.com/group/iksemel + Please use those instead of old jabberstudio.org addresses. +* iksemel is now participating in Coverity Inc's free software + quality improvement program (http://scan.coverity.com). As a + first result, a few problems found by Coverity's static analysis + tool in the iks_sasl_challenge() are fixed in this release, and + other than that, iksemel passes from defect test with no problems. +* Extra padding problem in the base64 encoder is fixed. Some servers + were having problems with extra '=' padded SASL digests. +* New dom functions: iks_append(), iks_prepend(), iks_append_cdata(), + iks_prepend_cdata(). You can append/prepend new nodes within the + siblings with them, insert_ functions were only appending at the + last child. Thus editing a tree is much easier now. +* iks_load was giving error on files with multiply of 4Kb sizes, fixed. + V1.2 (2004-08-06) * SASL authentication. * SSH connections via gnutls library. Modified: freeswitch/trunk/libs/iksemel/README ============================================================================== --- freeswitch/trunk/libs/iksemel/README (original) +++ freeswitch/trunk/libs/iksemel/README Wed Feb 4 17:59:19 2009 @@ -1,5 +1,5 @@ - iksemel 1.2 + iksemel 1.3 Copyright (c) 2000-2004 Gurer Ozen Modified: freeswitch/trunk/libs/iksemel/configure.ac ============================================================================== --- freeswitch/trunk/libs/iksemel/configure.ac (original) +++ freeswitch/trunk/libs/iksemel/configure.ac Wed Feb 4 17:59:19 2009 @@ -1,10 +1,9 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT AC_PREREQ(2.50) -AC_CONFIG_AUX_DIR(build) AC_CONFIG_SRCDIR([configure.ac]) -AM_INIT_AUTOMAKE(iksemel,1.2) -AC_CONFIG_HEADERS(include/config.h) +AM_INIT_AUTOMAKE(iksemel,1.3) +AM_CONFIG_HEADER(include/config.h) AC_CANONICAL_HOST @@ -46,7 +45,7 @@ AC_CHECK_FUNCS(getopt_long) AC_CHECK_FUNCS(getaddrinfo) -AX_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls")) +AM_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls")) dnl Check -Wall flag of GCC if test "x$GCC" = "xyes"; then @@ -55,35 +54,6 @@ fi fi -AC_DEFUN([AX_COMPILER_VENDOR], -[ -AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, - [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown - # note: don't check for gcc first since some other compilers define __GNUC__ - for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do - vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[ -#if !($vencpp) - thisisanerror; -#endif -])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break]) - done - ]) -]) - -AX_COMPILER_VENDOR - -# Enable 64 bit build -AC_ARG_ENABLE(64, -[AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"]) - -if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then - if test "${enable_64}" = "yes"; then - CFLAGS="$CFLAGS -m64" - CXXFLAGS="$CXXFLAGS -m64" - fi -fi - dnl Generating makefiles AC_CONFIG_FILES([ Makefile Modified: freeswitch/trunk/libs/iksemel/doc/iksemel ============================================================================== --- freeswitch/trunk/libs/iksemel/doc/iksemel (original) +++ freeswitch/trunk/libs/iksemel/doc/iksemel Wed Feb 4 17:59:19 2009 @@ -1,4 +1,5 @@ -This is iksemel, produced by makeinfo version 4.6 from iksemel.texi. +Bu iksemel, makeinfo s??r??m?? 4.8 taraf??ndan, ./iksemel.texi'den +??retilmi??tir.  File: iksemel, Node: Top, Up: (dir) @@ -31,8 +32,8 @@  File: iksemel, Node: Introduction, Next: Tutorials, Up: Top -Introduction -************ +1 Introduction +************** iksemel is an XML (eXtensible Markup Language) parser library designed for Jabber applications. It is coded in ANSI C for POSIX compatible @@ -44,10 +45,10 @@ are familiar with the C programming language, basic programming concepts, XML and Jabber protocol. -Compiling the Library -===================== +1.1 Compiling the Library +========================= -You need to install MinGW () under Windows to be able +You need to install MinGW (`http://mingw.org') under Windows to be able to compile iksemel. Although not tested by the author, Cygwin should work equally well. @@ -64,8 +65,8 @@ make install -Using iksemel in Applications -============================= +1.2 Using iksemel in Applications +================================= You need to include `iksemel.h' file in your source to access library API. You can do this with: @@ -91,8 +92,8 @@  File: iksemel, Node: Tutorials, Next: Development, Prev: Introduction, Up: Top -Tutorials -********* +2 Tutorials +*********** * Menu: @@ -109,8 +110,8 @@  File: iksemel, Node: Parsing an XML Document, Next: Working with XML Trees, Up: Tutorials -Parsing an XML Document -======================= +2.1 Parsing an XML Document +=========================== iksemel parser sequentally processes the XML document. Each encountered XML element (i.e. tags, character data, comments, processing @@ -121,13 +122,13 @@ Parser stores its state in a small structure. This structure is referenced by `iksparser' type, and managed with following functions: - - Function: iksparser* iks_sax_new (void* USER_DATA, iksTagHook* + -- ????lev: iksparser* iks_sax_new (void* USER_DATA, iksTagHook* TAGHOOK, iksCDataHook* CDATAHOOK); This function allocates and initializes a parser structure. If allocation fails, NULL value is returned. USER_DATA is passed directly to hook functions. - - Typedef: iksTagHook + -- Typedef: iksTagHook int iksTagHook (void* USER_DATA, char* NAME, char** ATTS, int TYPE); @@ -147,7 +148,7 @@ `IKS_SINGLE' Standalone tag, i.e. - - Typedef: iksCDataHook + -- Typedef: iksCDataHook int iksCDataHook (void* USER_DATA, char* DATA, size_t LEN); DATA is a pointer to the character data. Encoding is UTF-8 and it @@ -157,13 +158,13 @@ `IKS_OK', it is passed immediately to the caller of the `iks_parse'. - - Function: int iks_parse (iksparser* PRS, char *DATA, size_t LEN, int - F?N?SH); + -- ????lev: int iks_parse (iksparser* PRS, char *DATA, size_t LEN, int + FiNiSH); You give XML document to the parser with this function. DATA is a LEN bytes string. If LEN is zero, data must be a null terminated string. - If F?N?SH value is zero, parser waits for more data later. If you + If FiNiSH value is zero, parser waits for more data later. If you want to finish parsing without giving data, call it like: iks_parse (my_parser, NULL, 0, 1); @@ -180,7 +181,7 @@ `IKS_HOOK' Your hook decided that there is an error. - - Function: void iks_parser_delete (iksparser* PRS); + -- ????lev: void iks_parser_delete (iksparser* PRS); This function frees parser structure and associated data. Now we have learned how to create and use a sax parser. Lets parse a @@ -188,7 +189,7 @@ #include #include - + int pr_tag (void *udata, char *name, char **atts, int type) { switch (type) { @@ -211,7 +212,7 @@ } return IKS_OK; } - + enum ikserror pr_cdata (void *udata, char *data, size_t len) { int i; @@ -221,7 +222,7 @@ printf ("]\n"); return IKS_OK; } - + int main (int argc, char *argv[]) { iksparser *p; @@ -266,23 +267,23 @@ (i.e. markup or character data) is passed, position is at the end of the erroneous element for `IKS_HOOK' errors. - - Function: unsigned long iks_nr_bytes (iksparser* PRS); + -- ????lev: unsigned long iks_nr_bytes (iksparser* PRS); Returns how many number of bytes parsed. - - Function: unsigned long iks_nr_lines (iksparser* PRS); + -- ????lev: unsigned long iks_nr_lines (iksparser* PRS); Returns how many number of lines parsed. If you want to parse another document with your parser again, you should use the following function to reset your parser. - - Function: void iks_parser_reset (iksparser* PRS); + -- ????lev: void iks_parser_reset (iksparser* PRS); Resets the parser's internal state.  File: iksemel, Node: Working with XML Trees, Next: XML Streams, Prev: Parsing an XML Document, Up: Tutorials -Working with XML Trees -====================== +2.2 Working with XML Trees +========================== SAX interface uses very little memory, but it forces you to access XML documents sequentally. In many cases you want to keep a tree like @@ -310,8 +311,8 @@  File: iksemel, Node: Memory Management, Next: Creating a Tree, Up: Working with XML Trees -Memory Management ------------------ +2.2.1 Memory Management +----------------------- Since keeping whole document content uses a lot of memory and requires many calls to OS's memory allocation layer, iksemel uses a simple object @@ -340,11 +341,11 @@ reached without allocating too many blocks, or wasting memory with too big blocks. - - Typedef: ikstack + -- Typedef: ikstack This is a structure defining the object stack. Its fields are private and subject to change with new iksemel releases. - - Function: ikstack * iks_stack_new (size_t META_CHUNK, size_t + -- ????lev: ikstack * iks_stack_new (size_t META_CHUNK, size_t DATA_CHUNK); Creates an object stack. META_CHUNK is the initial size of the data block used for structures and aligned data. DATA_CHUNK is the @@ -354,26 +355,26 @@ These two initial chunks and a small object stack structure is allocated in one `malloc' call for optimization purproses. - - Function: void * iks_stack_alloc (ikstack * STACK, size_t S?ZE); - Allocates S?ZE bytes of space from the object stack's meta chunk. + -- ????lev: void * iks_stack_alloc (ikstack * STACK, size_t SiZE); + Allocates SiZE bytes of space from the object stack's meta chunk. Allocated space is aligned on platform's default alignment boundary and isn't initialized. Returns a pointer to the space, or NULL if there isn't enough space available and allocating a new block fails. - - Function: void * iks_stack_strdup (ikstack * STACK, const char * + -- ????lev: void * iks_stack_strdup (ikstack * STACK, const char * SRC, size_t LEN); Copies given string SRC into the object stack's data chunk. Returns a pointer to the new string, or NULL if there isn't enough space in the stack. If LEN is zero string must be null terminated. - - Function: void iks_stack_delete (ikstack * STACK); + -- ????lev: void iks_stack_delete (ikstack * STACK); Gives all memory associated with object stack to the system. Since character data sections are usually parsed in separate blocks, a growable string implementation is necessary for saving memory. - - Function: char * iks_stack_strcat (ikstack *STACK, char *OLD, size_t + -- ????lev: char * iks_stack_strcat (ikstack *STACK, char *OLD, size_t OLD_LEN, const char *SRC, size_t SRC_LEN); This function appends the string SRC to the string OLD in the stack's data chunk. If OLD is NULL it behaves like @@ -391,31 +392,31 @@  File: iksemel, Node: Creating a Tree, Next: Accessing the Tree, Prev: Memory Management, Up: Working with XML Trees -Creating a Tree ---------------- +2.2.2 Creating a Tree +--------------------- - - Typedef: iks + -- Typedef: iks This is a structure defining a XML node. Its fields are private and only accessed by following functions. - - Function: iks* iks_new (const char *NAME); + -- ????lev: iks* iks_new (const char *NAME); Creates an object stack and creates a IKS_TAG type of node with given tag name inside the stack. Tag name is also copied into the stack. Returns the node pointer, or NULL if there isn't enough memory. - - Function: iks* iks_new_within (const char *NAME, ikstack* STACK); + -- ????lev: iks* iks_new_within (const char *NAME, ikstack* STACK); Creates a IKS_TAG type of node with the given tag name. Node and tag name is allocated inside the given object stack. Returns the node pointer, or NULL if there isn't enough memory. - - Function: iks* iks_insert (iks *X, const char *NAME); + -- ????lev: iks* iks_insert (iks *X, const char *NAME); Creates a IKS_TAG type of node with the given tag name. Node and tag name is allocated inside the X node's object stack and linked to X as a child node. Returns the node pointer, or NULL if there isn't enough memory. - - Function: iks* iks_insert_cdata (iks* X, const char* DATA, size_t + -- ????lev: iks* iks_insert_cdata (iks* X, const char* DATA, size_t LEN); Creates a IKS_CDATA type of node with given character data. Node is allocated inside the X node's object stack and linked to X as a @@ -423,7 +424,7 @@ null terminated string. Returns the node pointer, or NULL if there isn't enough memory. - - Function: iks* iks_insert_attrib (iks* X, const char* NAME, const + -- ????lev: iks* iks_insert_attrib (iks* X, const char* NAME, const char* VALUE); Creates a IKS_ATTRIBUTE type of node with given attribute name and the value. Node is allocated inside the X node's object stack and @@ -435,15 +436,15 @@ attribute's value. If VALUE is NULL, attribute is removed from the tag. - - Function: iks* iks_insert_node (iks* X, iks* Y); + -- ????lev: iks* iks_insert_node (iks* X, iks* Y); Links node Y to node X as a child node. Nodes are not copied between object stacks, be careful. - - Function: void iks_hide (iks *X); + -- ????lev: void iks_hide (iks *X); Changes the links of the other nodes so that X becomes invisible. It stays in the same object stack with neighbour nodes, be careful. - - Function: void iks_delete (iks *X); + -- ????lev: void iks_delete (iks *X); Frees the object stack of the node X. Now lets create a tree representation of following XML document: @@ -460,7 +461,7 @@ here is the code: iks *x, *y, *z; - + x = iks_new ("message"); iks_insert_attrib (x, "type", "chat"); iks_insert_attrib (x, "from", "bob at bd.com"); @@ -488,42 +489,42 @@ There are also functions for duplicating xml trees. They are: - - Function: iks * iks_copy (iks* X); + -- ????lev: iks * iks_copy (iks* X); Creates a full copy of the tree in a newly created object stack. - - Function: iks * iks_copy_within (iks* X, ikstack *S); + -- ????lev: iks * iks_copy_within (iks* X, ikstack *S); Creates a full copy of the tree in given object stack.  File: iksemel, Node: Accessing the Tree, Next: Converting a Tree into an XML Document, Prev: Creating a Tree, Up: Working with XML Trees -Accessing a Tree ----------------- +2.2.3 Accessing a Tree +---------------------- Basic access functions allow you to move on the tree: - - Function: iks* iks_next (iks* X); + -- ????lev: iks* iks_next (iks* X); - - Function: iks* iks_prev (iks* X); + -- ????lev: iks* iks_prev (iks* X); - - Function: iks* iks_parent (iks* X); + -- ????lev: iks* iks_parent (iks* X); - - Function: iks* iks_child (iks* X); + -- ????lev: iks* iks_child (iks* X); - - Function: iks* iks_attrib (iks* X); + -- ????lev: iks* iks_attrib (iks* X); These functions return a pointer to the next, previous, parent, first child, and first attribute node of the given node X. If that node doesn't exist or X is NULL, a NULL value is returned. - - Function: iks * iks_root (iks *X); + -- ????lev: iks * iks_root (iks *X); Returns the topmost parent node of the X. - - Function: iks* iks_next_tag (iks* X); + -- ????lev: iks* iks_next_tag (iks* X); - - Function: iks* iks_prev_tag (iks* X); + -- ????lev: iks* iks_prev_tag (iks* X); - - Function: iks* iks_first_tag (iks* X); + -- ????lev: iks* iks_first_tag (iks* X); These functions return a pointer to the next, previous, first child node of the given node X. Only tag nodes are considered, other type of @@ -533,10 +534,10 @@ Another group of functions allow you to access specific information and content of the nodes: - - Function: ikstack* iks_stack (iks* X); + -- ????lev: ikstack* iks_stack (iks* X); Returns the object stack which node X stays. - - Function: enum ikstype iks_type (iks* X); + -- ????lev: enum ikstype iks_type (iks* X); Returns the type of the node. `IKS_TAG' @@ -548,39 +549,41 @@ `IKS_ATTRIBUTE' Node contains an attribute and its value. - - Function: char* iks_name (iks* X); + -- ????lev: char* iks_name (iks* X); Returns the name of the tag for nodes with the type IKS_TAG. + Returns an attribute's name for nodes of type IKS_ATTRIBUTE. - - Function: char* iks_cdata (iks* X); + -- ????lev: char* iks_cdata (iks* X); Returns a pointer to node's character data if available, NULL - otherwise. + otherwise. Returns an attribute's value for nodes of type + IKS_ATTRIBUTE. - - Function: size_t iks_cdata_size (iks* X); + -- ????lev: size_t iks_cdata_size (iks *X); Returns the size of the node's character data in bytes. - - Function: int iks_has_children (iks* X); + -- ????lev: int iks_has_children (iks *X); Returns a non-zero value if node X has a child node. - - Function: int iks_has_attribs (iks* X); + -- ????lev: int iks_has_attribs (iks *X); Returns a non-zero value if node X has attributes. Last group of the functions simplifies finding and accessing the content of a specific node: - - Function: iks* iks_find (iks* X, const char* NAME); + -- ????lev: iks* iks_find (iks *X, const char *NAME); Searches a IKS_TAG type of node with NAME as tag name in child nodes of X. Returns a pointer to the node if found, NULL otherwise. - - Function: char* iks_find_cdata (iks* X, const char* NAME); + -- ????lev: char* iks_find_cdata (iks* X, const char* NAME); Searches a IKS_TAG type of node with NAME as tag name in child nodes of X. Returns a pointer to the character data of the node's first child node if found, NULL otherwise. - - Function: char* iks_find_attrib (iks* X, const char* NAME); + -- ????lev: char* iks_find_attrib (iks* X, const char* NAME); Searches an attribute with given name in attributes of the X. Returns a pointer to attribute value if found, NULL otherwise. - - Function: iks * iks_find_with_attrib (iks *X, const char *TAGNAME, + -- ????lev: iks * iks_find_with_attrib (iks *X, const char *TAGNAME, const char *ATTRNAME, const char *VALUE); Searches for a child tag of X which has an attribute with name ATTRNAME and value VALUE. If TAGNAME isn't NULL, name of the tag @@ -613,12 +616,12 @@ #include #include - + int main (int argc, char *argv[]) { iks *x, *y; int e; - + if (argc < 2) { printf ("usage: %s ", argv[0]); return 0; @@ -644,13 +647,13 @@  File: iksemel, Node: Converting a Tree into an XML Document, Next: Parsing an XML Document into a Tree, Prev: Accessing the Tree, Up: Working with XML Trees -Converting a Tree to an XML Document ------------------------------------- +2.2.4 Converting a Tree to an XML Document +------------------------------------------ There is a function for converting given XML tree into a null terminated string. - - Function: char * iks_string (ikstack* STACK, iks* X); + -- ????lev: char * iks_string (ikstack* STACK, iks* X); Converts given tree into a string. String is created inside the given object stack. Returns a pointer to the string, or NULL if there isn't enough memory available. @@ -662,7 +665,7 @@ iks *x; char *t; - + x = iks_new ("test"); iks_insert_cdata (iks_insert (x, "a"), "1234", 4); iks_insert (x, "br"); @@ -674,15 +677,15 @@  File: iksemel, Node: Parsing an XML Document into a Tree, Prev: Converting a Tree into an XML Document, Up: Working with XML Trees -Parsing a Document into a Tree ------------------------------- +2.2.5 Parsing a Document into a Tree +------------------------------------ If you want to automatically convert an XML document into a tree, you can use iksemel's DOM parser. It is created with following function: - - Function: iksparser* iks_dom_new (iks **?KSPTR); + -- ????lev: iksparser* iks_dom_new (iks **iKSPTR); Creates a DOM parser. A pointer to the created XML tree is put - into the variable pointed by ?KSPTR. Returns a pointer to the + into the variable pointed by iKSPTR. Returns a pointer to the parser, or NULL is there isn't enough memory. Usage is same as SAX parser. You feed the data with `iks_parse', and @@ -693,13 +696,13 @@ iks *x; iksparser *p; - + p = iks_dom_new (&x); if (IKS_OK != iks_parse (p, "bcd", 9, 1)) { puts ("parse error"); } /* x is useable after that point */ - + /* this will print 'bcd' */ printf ("%s\n", iks_cdata (iks_child (x))); @@ -707,16 +710,16 @@ idea, you can tell this to the dom parser for choosing a better memory allocation strategy. Here is the function for this. - - Function: void iks_set_size_hint (iksparser *PRS, size_t - APPROX_S?ZE); - Parser PRS must be a dom type parser. APPROX_S?ZE is the expected + -- ????lev: void iks_set_size_hint (iksparser *PRS, size_t + APPROX_SiZE); + Parser PRS must be a dom type parser. APPROX_SiZE is the expected size of the xml document. Parser chooses its chunk size based on this information. Helps performance while processing big files. If you already have your XML document in memory, you can simply parse it with: - - Function: iks * iks_tree (const char *XML_STR, size_t LEN, int *ERR); + -- ????lev: iks * iks_tree (const char *XML_STR, size_t LEN, int *ERR); This function parses the buffer pointed by XML_STR. If LEN is zero buffer is considered as a null terminated utf8 string. Returns the parsed tree, or NULL if there is an error. If ERR is not NULL, @@ -726,11 +729,11 @@ files directly into trees. iksemel provides two functions to greatly simplify this: - - Function: int iks_load (const char *FNAME, iks **XPTR); + -- ????lev: int iks_load (const char *FNAME, iks **XPTR); Loads the XML file. Tree is placed into the variable pointed by XPTR. - - Function: int iks_save (const char *FNAME, iks *X); + -- ????lev: int iks_save (const char *FNAME, iks *X); Converts tree X into a string and saves to the file. Both functions return same error codes as `iks_parse'. Some @@ -750,7 +753,7 @@ another: iks *x; - + if (IKS_OK != iks_load ("file1.xml", &x)) { puts ("loading error"); } @@ -761,8 +764,8 @@  File: iksemel, Node: XML Streams, Next: Writing a Jabber Client, Prev: Working with XML Trees, Up: Tutorials -XML Streams -=========== +2.3 XML Streams +=============== XML streams function as containers for any XML chunks sent asynchronously between network endpoints. They are used for @@ -788,13 +791,13 @@ You can create such a parser with: - - Function: iksparser* iks_stream_new (char* NAME_SPACE, void* + -- ????lev: iksparser* iks_stream_new (char* NAME_SPACE, void* USER_DATA, iksStreamHook* STREAMHOOK); Allocates and initalizes a stream parser. NAME_SPACE indicates the stream type, jabber clients use "jabber:client" namespace. USER_DATA is passed directly to your hook function. - - Typedef: iksStreamHook + -- Typedef: iksStreamHook int iksStreamHook (void* USER_DATA, int TYPE, iks* NODE); Depending on the value of the TYPE, NODE contains: @@ -842,51 +845,51 @@ `iks_disconnect' after getting this error from data transfer functions. - - Function: int iks_connect_tcp (iksparser *PRS, const char *SERVER, + -- ????lev: int iks_connect_tcp (iksparser *PRS, const char *SERVER, int PORT); This function connects the parser to a server and sends stream header for you. SERVER is the host name of the server and PORT is the tcp port number which server is listening to. You can use `IKS_JABBER_PORT' macro for the default jabber client port (5222). - - Function: int iks_connect_fd (iksparser *PRS, int FD); + -- ????lev: int iks_connect_fd (iksparser *PRS, int FD); Attaches parser to an already opened connection. FD is the socket descriptor. Note that `iks_disconnect' doesn't close the socket for this kind of connection, opening and closing of the socket is up to your application. Stream header is not sent automatically. You can use `iks_send_header' function for sending it. - - Function: void iks_disconnect (iksparser *PRS); + -- ????lev: void iks_disconnect (iksparser *PRS); Closes connection to the server, and frees connection resources. After successfully connecting to a server, you can use following functions for exchanging information with server. - - Function: int iks_recv (iksparser* PRS, int T?MEOUT); - If T?MEOUT is `-1', waits until some data arrives from server, and + -- ????lev: int iks_recv (iksparser* PRS, int TiMEOUT); + If TiMEOUT is `-1', waits until some data arrives from server, and process the data. Your stream hook can be called if a complete chunk is arrived. - If T?MEOUT is a positive integer, `iks_recv' returns if no data - arrives for T?MEOUT seconds. + If TiMEOUT is a positive integer, `iks_recv' returns if no data + arrives for TiMEOUT seconds. - If T?MEOUT is zero, `iks_recv' checks if there is any data waiting + If TiMEOUT is zero, `iks_recv' checks if there is any data waiting at the network buffer, and returns without waiting for data. - - Function: int iks_fd (iksparser* PRS); + -- ????lev: int iks_fd (iksparser* PRS); Returns the file descriptor of the connected socket. You can use this in your `select' function or some other input loop to act whenever some data from the server arrives. This value of only valid between a successful `iks_connect_tcp' and `iks_disconnect'. - - Function: int iks_send (iksparser* PRS, iks* X); + -- ????lev: int iks_send (iksparser* PRS, iks* X); Converts the tree given in X to a string, and sends to the server. String is created inside the object stack of X. - - Function: int iks_send_raw (iksparser* PRS, char* XMLSTR); + -- ????lev: int iks_send_raw (iksparser* PRS, char* XMLSTR); Sends the string given in XMLSTR to the server. - - Function: int iks_send_header (iksparser *PRS, char *TO); + -- ????lev: int iks_send_header (iksparser *PRS, char *TO); Sends the stream header. TO is the name of the server. Normally `iks_connect_tcp' function calls this for you. This is only useful if you are using `iks_connect_fd'. @@ -895,28 +898,28 @@ parser for debugging your applications. iksemel provides a logging facility for you. - - Function: void iks_set_log_hook (iksparser* PRS, iksLogHook* + -- ????lev: void iks_set_log_hook (iksparser* PRS, iksLogHook* LOGHOOK); Sets the log function for your stream parser. You can't use this function on any other type of parser. - - Typedef: iksLogHook - void iksLogHook (void* USER_DATA, const char* DATA, size_t S?ZE, - int ?S_?NCOM?NG); + -- Typedef: iksLogHook + void iksLogHook (void* USER_DATA, const char* DATA, size_t SiZE, + int iS_iNCOMiNG); USER_DATA is same value which you give with `iks_stream_new'. - DATA is S?ZE bytes of data. Be very careful that this data may be + DATA is SiZE bytes of data. Be very careful that this data may be coming from other side of the connection and can contain malicius bytes. It isn't checked by iksemel yet, so you should check it yourself before displaying or passing to other systems in your - application or computer. If ?S_?NCOM?NG is a non-zero value, data + application or computer. If iS_iNCOMiNG is a non-zero value, data is incoming from server, otherwise it is outgoing to the server.  File: iksemel, Node: Writing a Jabber Client, Next: Utility Functions, Prev: XML Streams, Up: Tutorials -Writing a Jabber Client -======================= +2.4 Writing a Jabber Client +=========================== * Menu: @@ -931,27 +934,27 @@  File: iksemel, Node: Security, Next: Packets, Up: Writing a Jabber Client -Security --------- +2.4.1 Security +-------------- iksemel supports TLS protocol for encrypted communication and SASL protocol for authentication. TLS is handled by gnutls library. - - Function: int iks_has_tls (void); + -- ????lev: int iks_has_tls (void); If iksemel is compiled with gnutls library, this function returns a non-zero value indicating you can try encrypted connection with the server. - - Function: int iks_start_tls (iksparser* PRS); + -- ????lev: int iks_start_tls (iksparser* PRS); Starts a TLS handshake over already connected parser. Returns IKS_OK or one of the IKS_NET_ errors. If handshake succeeds you'll get another stream header from server. - - Function: int iks_is_secure (iksparser* PRS); + -- ????lev: int iks_is_secure (iksparser* PRS); Returns a non-zero value if a secure connection is fully established between server. - - Function: int iks_start_sasl (iksparser* PRS, enum ikssasltype TYPE, + -- ????lev: int iks_start_sasl (iksparser* PRS, enum ikssasltype TYPE, char* USERNAME, char* PASS); Starts SASL operation. @@ -960,8 +963,8 @@  File: iksemel, Node: Packets, Next: Packet Filter, Prev: Security, Up: Writing a Jabber Client -Packets -------- +2.4.2 Packets +------------- iksemel can parse a jabber XML node and provide you a public packet structure which contains information like node type and subtype, id, @@ -970,7 +973,7 @@ This handles a lot of node parsing for you. Packets are also used in the packet filter subsystem. - - Function: ikspak * iks_packet (iks *X); + -- ????lev: ikspak * iks_packet (iks *X); Takes a node from stream and extracts information from it to a packet structure. Structure is allocated inside the node's object stack. @@ -1095,7 +1098,7 @@ iksemel has two functions to parse and compare jabber IDs. - - Function: iksid * iks_id_new (ikstack *S, const char *J?D); + -- ????lev: iksid * iks_id_new (ikstack *S, const char *JiD); Parses a jabber id into its parts. `iksid' structure is created inside the S object stack. @@ -1119,7 +1122,7 @@ You can access this fields and read their values. Comparing two parsed jabber ids can be done with: - - Function: int iks_id_cmp (iksid *A, iksid *B, int PARTS); + -- ????lev: int iks_id_cmp (iksid *A, iksid *B, int PARTS); Compares PARTS of A and B. Part values are: `IKS_ID_USER' @@ -1144,28 +1147,28 @@  File: iksemel, Node: Packet Filter, Next: Creating Common Packets, Prev: Packets, Up: Writing a Jabber Client -Packet Filter -------------- +2.4.3 Packet Filter +------------------- Packet filter handles routing incoming packets to related functions. - - Function: iksfilter * iks_filter_new (void); + -- ????lev: iksfilter * iks_filter_new (void); Creates a new packet filter. - - Function: void iks_filter_packet (iksfilter *F, ikspak *PAK); + -- ????lev: void iks_filter_packet (iksfilter *F, ikspak *PAK); Feeds the filter with given packet. Packet is compared to registered rules and hook functions of the matching rules are called in most matched to least matched order. - - Function: void iks_filter_delete (iksfilter *F); + -- ????lev: void iks_filter_delete (iksfilter *F); Frees filter and rules. Rules are created with following function: - - Function: iksrule * iks_filter_add_rule (iksfilter *F, iksFilterHook - *F?LTERHOOK, void *USER_DATA, ...); + -- ????lev: iksrule * iks_filter_add_rule (iksfilter *F, iksFilterHook + *FiLTERHOOK, void *USER_DATA, ...); Adds a rule to the filter F. USER_DATA is passed directly to your - hook function F?LTERHOOK. + hook function FiLTERHOOK. A rule consist of one or more type and value pairs. Possible types: `IKS_RULE_ID' @@ -1192,7 +1195,7 @@ Here is an example which creates a filter and adds three rules: iksfilter *f; - + f = iks_filter_new (); iks_filter_add_rule (f, on_msg, NULL, IKS_RULE_TYPE, IKS_PAK_MESSAGE, @@ -1208,7 +1211,7 @@ IKS_RULE_NS, "jabber:iq:roster", IKS_RULE_DONE); - - Typedef: iksFilterHook + -- Typedef: iksFilterHook int iksFilterHook (void *user_data, ikspak *pak); Your hook is called with your USER_DATA and matching packet PAK. @@ -1221,58 +1224,58 @@ You can remove the rules with following functions: - - Function: void iks_filter_remove_rule (iksfilter *F, iksrule *RULE); + -- ????lev: void iks_filter_remove_rule (iksfilter *F, iksrule *RULE); Removes the rule from filter. - - Function: void iks_filter_remove_hook (iksfilter *F, iksFilterHook - *F?LTERHOOK); - Remove the rules using F?LTERHOOK function from filter. + -- ????lev: void iks_filter_remove_hook (iksfilter *F, iksFilterHook + *FiLTERHOOK); + Remove the rules using FiLTERHOOK function from filter.  File: iksemel, Node: Creating Common Packets, Prev: Packet Filter, Up: Writing a Jabber Client -Creating Common Packets ------------------------ +2.4.4 Creating Common Packets +----------------------------- A usual jabber network traffic contains many similar XML constructs. iksemel provides several utility functions for creating them. They all generate an XML tree, so you can add or modify some parts of the tree, and send to server then. - - Function: iks * iks_make_auth (iksid *?D, const char *PASS, const - char *S?D); - Creates an authorization packet. ?D is your parsed jabber id, and + -- ????lev: iks * iks_make_auth (iksid *iD, const char *PASS, const + char *SiD); + Creates an authorization packet. iD is your parsed jabber id, and PASS is your password. - If stream id S?D isn't NULL, SHA1 authentication is used, + If stream id SiD isn't NULL, SHA1 authentication is used, otherwise password is attached in plain text. You can learn stream id from `IKS_STREAM_START' packet in your stream hook like this: char *sid; - + if (type == IKS_STREAM_START) { sid = iks_find_attrib (node, "id"); } - - Function: iks * iks_make_msg (enum iksubtype TYPE, const char *TO, + -- ????lev: iks * iks_make_msg (enum iksubtype TYPE, const char *TO, const char *BODY); Creates a message packet. TYPE is the message type, TO is jabber id of the recipient, BODY is the message. - - Function: iks * iks_make_s10n (enum iksubtype TYPE, const char *TO, + -- ????lev: iks * iks_make_s10n (enum iksubtype TYPE, const char *TO, const char *MSG); Creates a presence packet for subscription operations. TYPE is operation, TO is jabber id of the recipient, MSG is a small message for introducing yourself, or explaning the reason of why you are subscribing or unsubscribing. - - Function: iks * iks_make_pres (enum ikshowtype SHOW, const char + -- ????lev: iks * iks_make_pres (enum ikshowtype SHOW, const char *STATUS); Creates a presence packet for publishing your presence. SHOW is your presence state and STATUS is a message explaining why you are not available at the moment, or what you are doing now. - - Function: iks * iks_make_iq (enum iksubtype TYPE, const char *XMLNS); + -- ????lev: iks * iks_make_iq (enum iksubtype TYPE, const char *XMLNS); Creates an IQ packet. TYPE is operation type and XMLNS is the namespace of the content. You usually have to add real content to the tag before sending this packet. @@ -1280,15 +1283,15 @@  File: iksemel, Node: Utility Functions, Prev: Writing a Jabber Client, Up: Tutorials -Utility Functions -================= +2.5 Utility Functions +===================== -Memory Utilities ----------------- +2.5.1 Memory Utilities +---------------------- - - Function: void * iks_malloc (size_t S?ZE); + -- ????lev: void * iks_malloc (size_t SiZE); - - Function: void iks_free (void *PTR); + -- ????lev: void iks_free (void *PTR); These are wrappers around ANSI malloc and free functions used by the iksemel library itself. You can free the output of iks_string (only if @@ -1296,21 +1299,21 @@ if you are using a malloc debugger in your application but not in iksemel or vice versa. -String Utilities ----------------- +2.5.2 String Utilities +---------------------- - - Function: char * iks_strdup (const char *SRC); + -- ????lev: char * iks_strdup (const char *SRC); - - Function: int iks_strcmp (const char *A, const char *B); + -- ????lev: int iks_strcmp (const char *A, const char *B); - - Function: int iks_strcasecmp (const char *A, const char *B); + -- ????lev: int iks_strcasecmp (const char *A, const char *B); - - Function: int iks_strncmp (const char *A, const char *B, size_t N); + -- ????lev: int iks_strncmp (const char *A, const char *B, size_t N); - - Function: int iks_strncasecmp (const char *A, const char *B, size_t + -- ????lev: int iks_strncasecmp (const char *A, const char *B, size_t N); - - Function: size_t iks_strlen (const char *SRC); + -- ????lev: size_t iks_strlen (const char *SRC); These functions work exactly like their ANSI equivalents except that they allow NULL values for string pointers. If SRC is NULL, iks_strdup @@ -1326,8 +1329,8 @@ iks_find_attrib returns NULL. So you don't need to use temporary variables in such situations. -SHA1 Hash ---------- +2.5.3 SHA1 Hash +--------------- Secure Hash Algorithm (SHA1) is used in the Jabber authentication protocol for encoding your password when sending to the server. This @@ -1335,23 +1338,23 @@ handle it manually, or if you need a good hash function for other purproses you can use these functions. - - Function: iksha* iks_sha_new (void); + -- ????lev: iksha* iks_sha_new (void); Allocates a structure for keeping calculation values and the state. - - Function: void iks_sha_reset (iksha *SHA); + -- ????lev: void iks_sha_reset (iksha *SHA); Resets the state of the calculation. - - Function: void iks_sha_hash (iksha *SHA, const unsigned char *DATA, - int LEN, int F?N?SH); - Calculates the hash value of the given data. If F?N?SH is non + -- ????lev: void iks_sha_hash (iksha *SHA, const unsigned char *DATA, + int LEN, int FiNiSH); + Calculates the hash value of the given data. If FiNiSH is non zero, applies the last step of the calculation. - - Function: void iks_sha_print (iksha *SHA, char *HASH); + -- ????lev: void iks_sha_print (iksha *SHA, char *HASH); Prints the result of a finished calculation into the buffer pointed by HASH in hexadecimal string form. Buffer must be at least 40 bytes long. String is not null terminated. - - Function: void iks_sha (const char *DATA, char *HASH); + -- ????lev: void iks_sha (const char *DATA, char *HASH); Calculates the hash value of DATA and prints into HASH. This is a helper function for simple hash calculations. It calls other functions for the actual work. @@ -1359,14 +1362,14 @@  File: iksemel, Node: Development, Next: Datatype Index, Prev: Tutorials, Up: Top -Development -*********** +3 Development +************* This chapter contains information on plan, procedure and standarts of iksemel development. -Roadmap -======= +3.1 Roadmap +=========== There are three main functions iksemel tries to provide to applications: * A generic XML parser with SAX and DOM interfaces. @@ -1400,8 +1403,8 @@ development. Instead of using an autogenerated system or simply listing function descriptions, a task oriented tutorial approach is used. -Coding Style -============ +3.2 Coding Style +================ Here is a short list describing preferred coding style for iksemel. Please keep in mind when sending patches. @@ -1435,7 +1438,7 @@ iks_new_func (char *text) { int i; - + i = an_internal_func (text); if (IKS_SOME_VALUE == i) { iks_some_func (text); @@ -1444,17 +1447,17 @@ return i; } -Resources -========= +3.3 Resources +============= - * RFC 2279, UTF-8 format + * RFC 2279, UTF-8 format `http://www.ietf.org/rfc/rfc2279.txt' * W3C Recommendation, Extensible Markup Language 1.0 - + `http://www.w3.org/TR/REC-xml' - * Annotated XML Specification + * Annotated XML Specification `http://www.xml.com/axml/testaxml.htm' - * Jabber Protocol Documents + * Jabber Protocol Documents `http://www.jabber.org/protocol/'  File: iksemel, Node: Datatype Index, Next: Function Index, Prev: Development, Up: Top @@ -1462,21 +1465,25 @@ Datatype Index ************** +[index] * Menu: -* iks: Creating a Tree. +* iks: Creating a Tree. (line 7) * iksCDataHook: Parsing an XML Document. -* iksfilter: Packet Filter. -* iksFilterHook: Packet Filter. -* iksid: Packets. -* iksLogHook: XML Streams. -* ikspak: Packets. + (line 42) +* iksfilter: Packet Filter. (line 8) +* iksFilterHook: Packet Filter. (line 68) +* iksid: Packets. (line 142) +* iksLogHook: XML Streams. (line 143) +* ikspak: Packets. (line 18) * iksparser: Parsing an XML Document. -* iksrule: Packet Filter. -* iksStreamHook: XML Streams. -* ikstack: Memory Management. + (line 12) +* iksrule: Packet Filter. (line 21) +* iksStreamHook: XML Streams. (line 37) +* ikstack: Memory Management. (line 34) * iksTagHook: Parsing an XML Document. -* ikstype: Accessing the Tree. + (line 22) +* ikstype: Accessing the Tree. (line 45)  File: iksemel, Node: Function Index, Prev: Datatype Index, Up: Top @@ -1484,119 +1491,137 @@ Function Index ************** +[index] * Menu: -* iks_attrib: Accessing the Tree. -* iks_cdata: Accessing the Tree. -* iks_cdata_size: Accessing the Tree. -* iks_child: Accessing the Tree. -* iks_connect_fd: XML Streams. -* iks_connect_tcp: XML Streams. -* iks_copy: Creating a Tree. -* iks_copy_within: Creating a Tree. -* iks_delete: Creating a Tree. -* iks_disconnect: XML Streams. +* iks_attrib: Accessing the Tree. (line 17) +* iks_cdata: Accessing the Tree. (line 59) +* iks_cdata_size: Accessing the Tree. (line 64) +* iks_child: Accessing the Tree. (line 15) +* iks_connect_fd: XML Streams. (line 92) +* iks_connect_tcp: XML Streams. (line 86) +* iks_copy: Creating a Tree. (line 101) +* iks_copy_within: Creating a Tree. (line 104) +* iks_delete: Creating a Tree. (line 56) +* iks_disconnect: XML Streams. (line 99) * iks_dom_new: Parsing an XML Document into a Tree. -* iks_fd: XML Streams. -* iks_filter_add_rule: Packet Filter. -* iks_filter_delete: Packet Filter. -* iks_filter_new: Packet Filter. -* iks_filter_packet: Packet Filter. -* iks_filter_remove_hook: Packet Filter. -* iks_filter_remove_rule: Packet Filter. -* iks_find: Accessing the Tree. -* iks_find_attrib: Accessing the Tree. -* iks_find_cdata: Accessing the Tree. -* iks_find_with_attrib: Accessing the Tree. -* iks_first_tag: Accessing the Tree. -* iks_free: Utility Functions. -* iks_has_attribs: Accessing the Tree. -* iks_has_children: Accessing the Tree. -* iks_has_tls: Security. -* iks_hide: Creating a Tree. -* iks_id_cmp: Packets. -* iks_id_new: Packets. -* iks_insert: Creating a Tree. -* iks_insert_attrib: Creating a Tree. -* iks_insert_cdata: Creating a Tree. -* iks_insert_node: Creating a Tree. -* iks_is_secure: Security. + (line 10) +* iks_fd: XML Streams. (line 116) +* iks_filter_add_rule: Packet Filter. (line 23) +* iks_filter_delete: Packet Filter. (line 17) +* iks_filter_new: Packet Filter. (line 9) +* iks_filter_packet: Packet Filter. (line 12) +* iks_filter_remove_hook: Packet Filter. (line 85) +* iks_filter_remove_rule: Packet Filter. (line 81) +* iks_find: Accessing the Tree. (line 76) +* iks_find_attrib: Accessing the Tree. (line 85) +* iks_find_cdata: Accessing the Tree. (line 80) +* iks_find_with_attrib: Accessing the Tree. (line 90) +* iks_first_tag: Accessing the Tree. (line 30) +* iks_free: Utility Functions. (line 12) +* iks_has_attribs: Accessing the Tree. (line 70) +* iks_has_children: Accessing the Tree. (line 67) +* iks_has_tls: Security. (line 10) +* iks_hide: Creating a Tree. (line 52) +* iks_id_cmp: Packets. (line 163) +* iks_id_new: Packets. (line 139) +* iks_insert: Creating a Tree. (line 22) +* iks_insert_attrib: Creating a Tree. (line 37) +* iks_insert_cdata: Creating a Tree. (line 29) +* iks_insert_node: Creating a Tree. (line 48) +* iks_is_secure: Security. (line 20) * iks_load: Parsing an XML Document into a Tree. + (line 56) * iks_make_auth: Creating Common Packets. + (line 13) * iks_make_iq: Creating Common Packets. + (line 45) * iks_make_msg: Creating Common Packets. + (line 28) * iks_make_pres: Creating Common Packets. + (line 40) * iks_make_s10n: Creating Common Packets. -* iks_malloc: Utility Functions. -* iks_name: Accessing the Tree. -* iks_new: Creating a Tree. -* iks_new_within: Creating a Tree. -* iks_next: Accessing the Tree. -* iks_next_tag: Accessing the Tree. + (line 33) +* iks_malloc: Utility Functions. (line 10) +* iks_name: Accessing the Tree. (line 55) +* iks_new: Creating a Tree. (line 11) +* iks_new_within: Creating a Tree. (line 17) +* iks_next: Accessing the Tree. (line 9) +* iks_next_tag: Accessing the Tree. (line 26) * iks_nr_bytes: Parsing an XML Document. + (line 161) * iks_nr_lines: Parsing an XML Document. -* iks_packet: Packets. -* iks_parent: Accessing the Tree. + (line 164) +* iks_packet: Packets. (line 14) +* iks_parent: Accessing the Tree. (line 13) * iks_parse: Parsing an XML Document. + (line 53) * iks_parser_delete: Parsing an XML Document. + (line 75) * iks_parser_reset: Parsing an XML Document. -* iks_prev: Accessing the Tree. -* iks_prev_tag: Accessing the Tree. -* iks_recv: XML Streams. -* iks_root: Accessing the Tree. + (line 170) +* iks_prev: Accessing the Tree. (line 11) +* iks_prev_tag: Accessing the Tree. (line 28) +* iks_recv: XML Streams. (line 105) +* iks_root: Accessing the Tree. (line 23) * iks_save: Parsing an XML Document into a Tree. + (line 60) * iks_sax_new: Parsing an XML Document. -* iks_send: XML Streams. -* iks_send_header: XML Streams. -* iks_send_raw: XML Streams. -* iks_set_log_hook: XML Streams. + (line 17) +* iks_send: XML Streams. (line 122) +* iks_send_header: XML Streams. (line 129) +* iks_send_raw: XML Streams. (line 126) +* iks_set_log_hook: XML Streams. (line 139) * iks_set_size_hint: Parsing an XML Document into a Tree. -* iks_sha: Utility Functions. -* iks_sha_hash: Utility Functions. -* iks_sha_new: Utility Functions. -* iks_sha_print: Utility Functions. -* iks_sha_reset: Utility Functions. -* iks_stack: Accessing the Tree. -* iks_stack_alloc: Memory Management. -* iks_stack_delete: Memory Management. -* iks_stack_new: Memory Management. -* iks_stack_strcat: Memory Management. -* iks_stack_strdup: Memory Management. -* iks_start_sasl: Security. -* iks_start_tls: Security. -* iks_strcasecmp: Utility Functions. -* iks_strcmp: Utility Functions. -* iks_strdup: Utility Functions. -* iks_stream_new: XML Streams. + (line 38) +* iks_sha: Utility Functions. (line 75) +* iks_sha_hash: Utility Functions. (line 66) +* iks_sha_new: Utility Functions. (line 59) +* iks_sha_print: Utility Functions. (line 70) +* iks_sha_reset: Utility Functions. (line 62) +* iks_stack: Accessing the Tree. (line 40) +* iks_stack_alloc: Memory Management. (line 48) +* iks_stack_delete: Memory Management. (line 61) +* iks_stack_new: Memory Management. (line 39) +* iks_stack_strcat: Memory Management. (line 68) +* iks_stack_strdup: Memory Management. (line 56) +* iks_start_sasl: Security. (line 25) +* iks_start_tls: Security. (line 15) +* iks_strcasecmp: Utility Functions. (line 27) +* iks_strcmp: Utility Functions. (line 25) +* iks_strdup: Utility Functions. (line 23) +* iks_stream_new: XML Streams. (line 32) * iks_string: Converting a Tree into an XML Document. -* iks_strlen: Utility Functions. -* iks_strncasecmp: Utility Functions. -* iks_strncmp: Utility Functions. + (line 10) +* iks_strlen: Utility Functions. (line 34) +* iks_strncasecmp: Utility Functions. (line 32) +* iks_strncmp: Utility Functions. (line 29) * iks_tree: Parsing an XML Document into a Tree. -* iks_type: Accessing the Tree. + (line 46) +* iks_type: Accessing the Tree. (line 43)  Tag Table: -Node: Top70 -Node: Introduction752 -Node: Tutorials2511 -Node: Parsing an XML Document2753 -Node: Working with XML Trees8583 -Node: Memory Management9400 -Node: Creating a Tree13024 -Node: Accessing the Tree17285 -Node: Converting a Tree into an XML Document22000 -Node: Parsing an XML Document into a Tree23003 -Node: XML Streams25987 -Node: Writing a Jabber Client32524 -Node: Security32768 -Node: Packets33759 -Node: Packet Filter37935 -Node: Creating Common Packets40818 -Node: Utility Functions42853 -Node: Development45645 -Node: Datatype Index48552 -Node: Function Index49439 +Node: Top84 +Node: Introduction766 +Node: Tutorials2545 +Node: Parsing an XML Document2791 +Node: Working with XML Trees8616 +Node: Memory Management9441 +Node: Creating a Tree13078 +Node: Accessing the Tree17347 +Node: Converting a Tree into an XML Document22198 +Node: Parsing an XML Document into a Tree23208 +Node: XML Streams26189 +Node: Writing a Jabber Client32736 +Node: Security32988 +Node: Packets33991 +Node: Packet Filter38179 +Node: Creating Common Packets41070 +Node: Utility Functions43107 +Node: Development45943 +Node: Datatype Index48873 +Node: Function Index50166  End Tag Table Modified: freeswitch/trunk/libs/iksemel/doc/iksemel.texi ============================================================================== --- freeswitch/trunk/libs/iksemel/doc/iksemel.texi (original) +++ freeswitch/trunk/libs/iksemel/doc/iksemel.texi Wed Feb 4 17:59:19 2009 @@ -594,28 +594,30 @@ @deftypefun char* iks_name (iks* @var{x}); Returns the name of the tag for nodes with the type @var{IKS_TAG}. +Returns an attribute's name for nodes of type IKS_ATTRIBUTE. @end deftypefun @deftypefun char* iks_cdata (iks* @var{x}); Returns a pointer to node's character data if available, NULL otherwise. +Returns an attribute's value for nodes of type IKS_ATTRIBUTE. @end deftypefun - at deftypefun size_t iks_cdata_size (iks* @var{x}); + at deftypefun size_t iks_cdata_size (iks *@var{x}); Returns the size of the node's character data in bytes. @end deftypefun - at deftypefun int iks_has_children (iks* @var{x}); + at deftypefun int iks_has_children (iks *@var{x}); Returns a non-zero value if node @var{x} has a child node. @end deftypefun - at deftypefun int iks_has_attribs (iks* @var{x}); + at deftypefun int iks_has_attribs (iks *@var{x}); Returns a non-zero value if node @var{x} has attributes. @end deftypefun Last group of the functions simplifies finding and accessing the content of a specific node: - at deftypefun iks* iks_find (iks* @var{x}, const char* @var{name}); + at deftypefun iks* iks_find (iks *@var{x}, const char *@var{name}); Searches a IKS_TAG type of node with @var{name} as tag name in child nodes of @var{x}. Returns a pointer to the node if found, NULL otherwise. @end deftypefun Added: freeswitch/trunk/libs/iksemel/doc/texinfo.tex ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/iksemel/doc/texinfo.tex Wed Feb 4 17:59:19 2009 @@ -0,0 +1,7210 @@ +% texinfo.tex -- TeX macros to handle Texinfo files. +% +% Load plain if necessary, i.e., if running under initex. +\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi +% +\def\texinfoversion{2005-07-05.19} +% +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software +% Foundation, Inc. +% +% This texinfo.tex file is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 2, or (at +% your option) any later version. +% +% This texinfo.tex file is distributed in the hope that it will be +% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this texinfo.tex file; see the file COPYING. If not, write +% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +% Boston, MA 02110-1301, USA. +% +% As a special exception, when this file is read by TeX when processing +% a Texinfo source document, you may use the result without +% restriction. (This has been our intent since Texinfo was invented.) +% +% Please try the latest version of texinfo.tex before submitting bug +% reports; you can get the latest version from: +% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or +% ftp://tug.org/tex/texinfo.tex +% (and all CTAN mirrors, see http://www.ctan.org). +% The texinfo.tex in any given distribution could well be out +% of date, so if that's what you're using, please check. +% +% Send bug reports to bug-texinfo at gnu.org. Please include including a +% complete document in each bug report with which we can reproduce the +% problem. Patches are, of course, greatly appreciated. +% +% To process a Texinfo manual with TeX, it's most reliable to use the +% texi2dvi shell script that comes with the distribution. For a simple +% manual foo.texi, however, you can get away with this: +% tex foo.texi +% texindex foo.?? +% tex foo.texi +% tex foo.texi +% dvips foo.dvi -o # or whatever; this makes foo.ps. +% The extra TeX runs get the cross-reference information correct. +% Sometimes one run after texindex suffices, and sometimes you need more +% than two; texi2dvi does it as many times as necessary. +% +% It is possible to adapt texinfo.tex for other languages, to some +% extent. You can get the existing language-specific files from the +% full Texinfo distribution. +% +% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. + + +\message{Loading texinfo [version \texinfoversion]:} + +% If in a .fmt file, print the version number +% and turn on active characters that we couldn't do earlier because +% they might have appeared in the input file name. +\everyjob{\message{[Texinfo version \texinfoversion]}% + \catcode`+=\active \catcode`\_=\active} + +\message{Basics,} +\chardef\other=12 + +% We never want plain's \outer definition of \+ in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + +% Save some plain tex macros whose names we will redefine. +\let\ptexb=\b +\let\ptexbullet=\bullet +\let\ptexc=\c +\let\ptexcomma=\, +\let\ptexdot=\. +\let\ptexdots=\dots +\let\ptexend=\end +\let\ptexequiv=\equiv +\let\ptexexclam=\! +\let\ptexfootnote=\footnote +\let\ptexgtr=> +\let\ptexhat=^ +\let\ptexi=\i +\let\ptexindent=\indent +\let\ptexinsert=\insert +\let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent +\let\ptexplus=+ +\let\ptexrbrace=\} +\let\ptexslash=\/ +\let\ptexstar=\* +\let\ptext=\t + +% If this character appears in an error message or help string, it +% starts a new line in the output. +\newlinechar = `^^J + +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\thisisundefined + \let\linenumber = \empty % Pre-3.0. +\else + \def\linenumber{l.\the\inputlineno:\space} +\fi + +% Set up fixed words for English if not already set. +\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi +\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi +\ifx\putwordin\undefined \gdef\putwordin{in}\fi +\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi +\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi +\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi +\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi +\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi +\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi +\ifx\putwordof\undefined \gdef\putwordof{of}\fi +\ifx\putwordon\undefined \gdef\putwordon{on}\fi +\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi +\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi +\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi +\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi +\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi +\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi +\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi +% +\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi +\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi +\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi +\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi +\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi +\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi +\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi +\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi +\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi +\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi +\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi +\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi +% +\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi +\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi +\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi +\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi +\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi + +% In some macros, we cannot use the `\? notation---the left quote is +% in some cases the escape char. +\chardef\backChar = `\\ +\chardef\colonChar = `\: +\chardef\commaChar = `\, +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\plusChar = `\+ +\chardef\questChar = `\? +\chardef\semiChar = `\; +\chardef\underChar = `\_ + +\chardef\spaceChar = `\ % +\chardef\spacecat = 10 +\def\spaceisspace{\catcode\spaceChar=\spacecat} + +{% for help with debugging. + % example usage: \expandafter\show\activebackslash + \catcode`\! = 0 \catcode`\\ = \active + !global!def!activebackslash{\} +} + +% Ignore a token. +% +\def\gobble#1{} + +% The following is used inside several \edef's. +\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} + +% Hyphenation fixes. +\hyphenation{ + Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script + ap-pen-dix bit-map bit-maps + data-base data-bases eshell fall-ing half-way long-est man-u-script + man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm + par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces + spell-ing spell-ings + stand-alone strong-est time-stamp time-stamps which-ever white-space + wide-spread wrap-around +} + +% Margin to add to right of even pages, to left of odd pages. +\newdimen\bindingoffset +\newdimen\normaloffset +\newdimen\pagewidth \newdimen\pageheight + +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\def\finalout{\overfullrule=0pt} + +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} + +% Sometimes it is convenient to have everything in the transcript file +% and nothing on the terminal. We don't just call \tracingall here, +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. +% +\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\undefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines16 +}% + +% add check for \lastpenalty to plain's definitions. If the last thing +% we did was a \nobreak, we don't want to insert more space. +% +\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount + \removelastskip\penalty-50\smallskip\fi\fi} +\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip\fi\fi} +\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount + \removelastskip\penalty-200\bigskip\fi\fi} + +% For @cropmarks command. +% Do @cropmarks to get crop marks. +% +\newif\ifcropmarks +\let\cropmarks = \cropmarkstrue +% +% Dimensions to add cropmarks at corners. +% Added by P. A. MacKay, 12 Nov. 1986 +% +\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines +\newdimen\cornerlong \cornerlong=1pc +\newdimen\cornerthick \cornerthick=.3pt +\newdimen\topandbottommargin \topandbottommargin=.75in + +% Main output routine. +\chardef\PAGE = 255 +\output = {\onepageout{\pagecontents\PAGE}} + +\newbox\headlinebox +\newbox\footlinebox + +% \onepageout takes a vbox as an argument. Note that \pagecontents +% does insertions, but you have to call it yourself. +\def\onepageout#1{% + \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi + % + \ifodd\pageno \advance\hoffset by \bindingoffset + \else \advance\hoffset by -\bindingoffset\fi + % + % Do this outside of the \shipout so @code etc. will be expanded in + % the headline as they should be, not taken literally (outputting ''code). + \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + % + {% + % Have to do this stuff outside the \shipout because we want it to + % take effect in \write's, yet the group defined by the \vbox ends + % before the \shipout runs. + % + \indexdummies % don't expand commands in the output. + \shipout\vbox{% + % Do this early so pdf references go to the beginning of the page. + \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi + % + \ifcropmarks \vbox to \outervsize\bgroup + \hsize = \outerhsize + \vskip-\topandbottommargin + \vtop to0pt{% + \line{\ewtop\hfil\ewtop}% + \nointerlineskip + \line{% + \vbox{\moveleft\cornerthick\nstop}% + \hfill + \vbox{\moveright\cornerthick\nstop}% + }% + \vss}% + \vskip\topandbottommargin + \line\bgroup + \hfil % center the page within the outer (page) hsize. + \ifodd\pageno\hskip\bindingoffset\fi + \vbox\bgroup + \fi + % + \unvbox\headlinebox + \pagebody{#1}% + \ifdim\ht\footlinebox > 0pt + % Only leave this space if the footline is nonempty. + % (We lessened \vsize for it in \oddfootingxxx.) + % The \baselineskip=24pt in plain's \makefootline has no effect. + \vskip 2\baselineskip + \unvbox\footlinebox + \fi + % + \ifcropmarks + \egroup % end of \vbox\bgroup + \hfil\egroup % end of (centering) \line\bgroup + \vskip\topandbottommargin plus1fill minus1fill + \boxmaxdepth = \cornerthick + \vbox to0pt{\vss + \line{% + \vbox{\moveleft\cornerthick\nsbot}% + \hfill + \vbox{\moveright\cornerthick\nsbot}% + }% + \nointerlineskip + \line{\ewbot\hfil\ewbot}% + }% + \egroup % \vbox from first cropmarks clause + \fi + }% end of \shipout\vbox + }% end of group with \indexdummies + \advancepageno + \ifnum\outputpenalty>-20000 \else\dosupereject\fi +} + +\newinsert\margin \dimen\margin=\maxdimen + +\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} +{\catcode`\@ =11 +\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi +% marginal hacks, juha at viisa.uucp (Juha Takala) +\ifvoid\margin\else % marginal info is present + \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi +\dimen@=\dp#1 \unvbox#1 +\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi +\ifr at ggedbottom \kern-\dimen@ \vfil \fi} +} + +% Here are the rules for the cropmarks. Note that they are +% offset so that the space between them is truly \outerhsize or \outervsize +% (P. A. MacKay, 12 November, 1986) +% +\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} +\def\nstop{\vbox + {\hrule height\cornerthick depth\cornerlong width\cornerthick}} +\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} +\def\nsbot{\vbox + {\hrule height\cornerlong depth\cornerthick width\cornerthick}} + +% Parse an argument, then pass it to #1. The argument is the rest of +% the input line (except we remove a trailing comment). #1 should be a +% macro which expects an ordinary undelimited TeX argument. +% +\def\parsearg{\parseargusing{}} +\def\parseargusing#1#2{% + \def\next{#2}% + \begingroup + \obeylines + \spaceisspace + #1% + \parseargline\empty% Insert the \empty token, see \finishparsearg below. +} + +{\obeylines % + \gdef\parseargline#1^^M{% + \endgroup % End of the group started in \parsearg. + \argremovecomment #1\comment\ArgTerm% + }% +} + +% First remove any @comment, then any @c comment. +\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} + +% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% +% \argremovec might leave us with trailing space, e.g., +% @end itemize @c foo +% This space token undergoes the same procedure and is eventually removed +% by \finishparsearg. +% +\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} +\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} +\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% + \def\temp{#3}% + \ifx\temp\empty + % We cannot use \next here, as it holds the macro to run; + % thus we reuse \temp. + \let\temp\finishparsearg + \else + \let\temp\argcheckspaces + \fi + % Put the space token in: + \temp#1 #3\ArgTerm +} + +% If a _delimited_ argument is enclosed in braces, they get stripped; so +% to get _exactly_ the rest of the line, we had to prevent such situation. +% We prepended an \empty token at the very beginning and we expand it now, +% just before passing the control to \next. +% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% either the null string, or it ends with \^^M---thus there is no danger +% that a pair of braces would be stripped. +% +% But first, we have to remove the trailing space token. +% +\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}} + +% \parseargdef\foo{...} +% is roughly equivalent to +% \def\foo{\parsearg\Xfoo} +% \def\Xfoo#1{...} +% +% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my +% favourite TeX trick. --kasal, 16nov03 + +\def\parseargdef#1{% + \expandafter \doparseargdef \csname\string#1\endcsname #1% +} +\def\doparseargdef#1#2{% + \def#2{\parsearg#1}% + \def#1##1% +} + +% Several utility definitions with active space: +{ + \obeyspaces + \gdef\obeyedspace{ } + + % Make each space character in the input produce a normal interword + % space in the output. Don't allow a line break at this space, as this + % is used only in environments like @example, where each line of input + % should produce a line of output anyway. + % + \gdef\sepspaces{\obeyspaces\let =\tie} + + % If an index command is used in an @example environment, any spaces + % therein should become regular spaces in the raw index file, not the + % expansion of \tie (\leavevmode \penalty \@M \ ). + \gdef\unsepspaces{\let =\space} +} + + +\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} + +% Define the framework for environments in texinfo.tex. It's used like this: +% +% \envdef\foo{...} +% \def\Efoo{...} +% +% It's the responsibility of \envdef to insert \begingroup before the +% actual body; @end closes the group after calling \Efoo. \envdef also +% defines \thisenv, so the current environment is known; @end checks +% whether the environment name matches. The \checkenv macro can also be +% used to check whether the current environment is the one expected. +% +% Non-false conditionals (@iftex, @ifset) don't fit into this, so they +% are not treated as enviroments; they don't open a group. (The +% implementation of @end takes care not to call \endgroup in this +% special case.) + + +% At runtime, environments start with this: +\def\startenvironment#1{\begingroup\def\thisenv{#1}} +% initialize +\let\thisenv\empty + +% ... but they get defined via ``\envdef\foo{...}'': +\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} +\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} + +% Check whether we're in the right environment: +\def\checkenv#1{% + \def\temp{#1}% + \ifx\thisenv\temp + \else + \badenverr + \fi +} + +% Evironment mismatch, #1 expected: +\def\badenverr{% + \errhelp = \EMsimple + \errmessage{This command can appear only \inenvironment\temp, + not \inenvironment\thisenv}% +} +\def\inenvironment#1{% + \ifx#1\empty + out of any environment% + \else + in environment \expandafter\string#1% + \fi +} + +% @end foo executes the definition of \Efoo. +% But first, it executes a specialized version of \checkenv +% +\parseargdef\end{% + \if 1\csname iscond.#1\endcsname + \else + % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 + \expandafter\checkenv\csname#1\endcsname + \csname E#1\endcsname + \endgroup + \fi +} + +\newhelp\EMsimple{Press RETURN to continue.} + + +%% Simple single-character @ commands + +% @@ prints an @ +% Kludge this until the fonts are right (grr). +\def\@{{\tt\char64}} + +% This is turned off because it was never documented +% and you can use @w{...} around a quote to suppress ligatures. +%% Define @` and @' to be the same as ` and ' +%% but suppressing ligatures. +%\def\`{{`}} +%\def\'{{'}} + +% Used to generate quoted braces. +\def\mylbrace {{\tt\char123}} +\def\myrbrace {{\tt\char125}} +\let\{=\mylbrace +\let\}=\myrbrace +\begingroup + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux/toc files. + \catcode`\{ = \other \catcode`\} = \other + \catcode`\[ = 1 \catcode`\] = 2 + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , + +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \c +\let\dotaccent = \. +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \t +\let\ubaraccent = \b +\let\udotaccent = \d + +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} + +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ptexi + \else\ifx\temp\jmacro \j + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} + +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% + \kern-.15em + \TeX +} + +% Be sure we're in horizontal mode when doing a tie, since we make space +% equivalent to this in @example-like environments. Otherwise, a space +% at the beginning of a line will start with \penalty -- and +% since \penalty is valid in vertical mode, we'd end up putting the +% penalty on the vertical list instead of in the new paragraph. +{\catcode`@ = 11 + % Avoid using \@M directly, because that causes trouble + % if the definition is written into an index file. + \global\let\tiepenalty = \@M + \gdef\tie{\leavevmode\penalty\tiepenalty\ } +} + +% @: forces normal size whitespace following. +\def\:{\spacefactor=1000 } + +% @* forces a line break. +\def\*{\hfil\break\hbox{}\ignorespaces} + +% @/ allows a line break. +\let\/=\allowbreak + +% @. is an end-of-sentence period. +\def\.{.\spacefactor=\endofsentencespacefactor\space} + +% @! is an end-of-sentence bang. +\def\!{!\spacefactor=\endofsentencespacefactor\space} + +% @? is an end-of-sentence query. +\def\?{?\spacefactor=\endofsentencespacefactor\space} + +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \plainfrenchspacing + \else\ifx\temp\offword \plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% + \fi\fi +} + +% @w prevents a word break. Without the \leavevmode, @w at the +% beginning of a paragraph, when TeX is still in vertical mode, would +% produce a whole line of output instead of starting the paragraph. +\def\w#1{\leavevmode\hbox{#1}} + +% @group ... @end group forces ... to be all on one page, by enclosing +% it in a TeX vbox. We use \vtop instead of \vbox to construct the box +% to keep its height that of a normal line. According to the rules for +% \topskip (p.114 of the TeXbook), the glue inserted is +% max (\topskip - \ht (first item), 0). If that height is large, +% therefore, no glue is inserted, and the space between the headline and +% the text is small, which looks bad. +% +% Another complication is that the group might be very large. This can +% cause the glue on the previous page to be unduly stretched, because it +% does not have much material. In this case, it's better to add an +% explicit \vfill so that the extra space is at the bottom. The +% threshold for doing this is if the group is more than \vfilllimit +% percent of a page (\vfilllimit can be changed inside of @tex). +% +\newbox\groupbox +\def\vfilllimit{0.7} +% +\envdef\group{% + \ifnum\catcode`\^^M=\active \else + \errhelp = \groupinvalidhelp + \errmessage{@group invalid in context where filling is enabled}% + \fi + \startsavinginserts + % + \setbox\groupbox = \vtop\bgroup + % Do @comment since we are called inside an environment such as + % @example, where each end-of-line in the input causes an + % end-of-line in the output. We don't want the end-of-line after + % the `@group' to put extra space in the output. Since @group + % should appear on a line by itself (according to the Texinfo + % manual), we don't worry about eating any user text. + \comment +} +% +% The \vtop produces a box with normal height and large depth; thus, TeX puts +% \baselineskip glue before it, and (when the next line of text is done) +% \lineskip glue after it. Thus, space below is not quite equal to space +% above. But it's pretty close. +\def\Egroup{% + % To get correct interline space between the last line of the group + % and the first line afterwards, we have to propagate \prevdepth. + \endgraf % Not \par, as it may have been set to \lisppar. + \global\dimen1 = \prevdepth + \egroup % End the \vtop. + % \dimen0 is the vertical size of the group's box. + \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox + % \dimen2 is how much space is left on the page (more or less). + \dimen2 = \pageheight \advance\dimen2 by -\pagetotal + % if the group doesn't fit on the current page, and it's a big big + % group, force a page break. + \ifdim \dimen0 > \dimen2 + \ifdim \pagetotal < \vfilllimit\pageheight + \page + \fi + \fi + \box\groupbox + \prevdepth = \dimen1 + \checkinserts +} +% +% TeX puts in an \escapechar (i.e., `@') at the beginning of the help +% message, so this ends up printing `@group can only ...'. +% +\newhelp\groupinvalidhelp{% +group can only be used in environments such as @example,^^J% +where each line of input produces a line of output.} + +% @need space-in-mils +% forces a page break if there is not space-in-mils remaining. + +\newdimen\mil \mil=0.001in + +% Old definition--didn't work. +%\parseargdef\need{\par % +%% This method tries to make TeX break the page naturally +%% if the depth of the box does not fit. +%{\baselineskip=0pt% +%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak +%\prevdepth=-1000pt +%}} + +\parseargdef\need{% + % Ensure vertical mode, so we don't make a big box in the middle of a + % paragraph. + \par + % + % If the @need value is less than one line space, it's useless. + \dimen0 = #1\mil + \dimen2 = \ht\strutbox + \advance\dimen2 by \dp\strutbox + \ifdim\dimen0 > \dimen2 + % + % Do a \strut just to make the height of this box be normal, so the + % normal leading is inserted relative to the preceding line. + % And a page break here is fine. + \vtop to #1\mil{\strut\vfil}% + % + % TeX does not even consider page breaks if a penalty added to the + % main vertical list is 10000 or more. But in order to see if the + % empty box we just added fits on the page, we must make it consider + % page breaks. On the other hand, we don't want to actually break the + % page after the empty box. So we use a penalty of 9999. + % + % There is an extremely small chance that TeX will actually break the + % page at this \penalty, if there are no other feasible breakpoints in + % sight. (If the user is using lots of big @group commands, which + % almost-but-not-quite fill up a page, TeX will have a hard time doing + % good page breaking, for example.) However, I could not construct an + % example where a page broke at this \penalty; if it happens in a real + % document, then we can reconsider our strategy. + \penalty9999 + % + % Back up by the size of the box, whether we did a page break or not. + \kern -#1\mil + % + % Do not allow a page break right after this kern. + \nobreak + \fi +} + +% @br forces paragraph break (and is undocumented). + +\let\br = \par + +% @page forces the start of a new page. +% +\def\page{\par\vfill\supereject} + +% @exdent text.... +% outputs text on separate line in roman font, starting at standard page margin + +% This records the amount of indent in the innermost environment. +% That's how much \exdent should take out. +\newskip\exdentamount + +% This defn is used inside fill environments such as @defun. +\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} + +% This defn is used inside nofill environments such as @example. +\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount + \leftline{\hskip\leftskip{\rm#1}}}} + +% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current +% paragraph. For more general purposes, use the \margin insertion +% class. WHICH is `l' or `r'. +% +\newskip\inmarginspacing \inmarginspacing=1cm +\def\strutdepth{\dp\strutbox} +% +\def\doinmargin#1#2{\strut\vadjust{% + \nobreak + \kern-\strutdepth + \vtop to \strutdepth{% + \baselineskip=\strutdepth + \vss + % if you have multiple lines of stuff to put here, you'll need to + % make the vbox yourself of the appropriate size. + \ifx#1l% + \llap{\ignorespaces #2\hskip\inmarginspacing}% + \else + \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% + \fi + \null + }% +}} +\def\inleftmargin{\doinmargin l} +\def\inrightmargin{\doinmargin r} +% +% @inmargin{TEXT [, RIGHT-TEXT]} +% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; +% else use TEXT for both). +% +\def\inmargin#1{\parseinmargin #1,,\finish} +\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \def\lefttext{#1}% have both texts + \def\righttext{#2}% + \else + \def\lefttext{#1}% have only one text + \def\righttext{#1}% + \fi + % + \ifodd\pageno + \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin + \else + \def\temp{\inleftmargin\lefttext}% + \fi + \temp +} + +% @include file insert text of that file as input. +% +\def\include{\parseargusing\filenamecatcodes\includezzz} +\def\includezzz#1{% + \pushthisfilestack + \def\thisfile{#1}% + {% + \makevalueexpandable + \def\temp{\input #1 }% + \expandafter + }\temp + \popthisfilestack +} +\def\filenamecatcodes{% + \catcode`\\=\other + \catcode`~=\other + \catcode`^=\other + \catcode`_=\other + \catcode`|=\other + \catcode`<=\other + \catcode`>=\other + \catcode`+=\other + \catcode`-=\other +} + +\def\pushthisfilestack{% + \expandafter\pushthisfilestackX\popthisfilestack\StackTerm +} +\def\pushthisfilestackX{% + \expandafter\pushthisfilestackY\thisfile\StackTerm +} +\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% + \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% +} + +\def\popthisfilestack{\errthisfilestackempty} +\def\errthisfilestackempty{\errmessage{Internal error: + the stack of filenames is empty.}} + +\def\thisfile{} + +% @center line +% outputs that line, centered. +% +\parseargdef\center{% + \ifhmode + \let\next\centerH + \else + \let\next\centerV + \fi + \next{\hfil \ignorespaces#1\unskip \hfil}% +} +\def\centerH#1{% + {% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break + }% +} +\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} + +% @sp n outputs n lines of vertical space + +\parseargdef\sp{\vskip #1\baselineskip} + +% @comment ...line which is ignored... +% @c is the same as @comment +% @ignore ... @end ignore is another way to write a comment + +\def\comment{\begingroup \catcode`\^^M=\other% +\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% +\commentxxx} +{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} + +\let\c=\comment + +% @paragraphindent NCHARS +% We'll use ems for NCHARS, close enough. +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% +\def\asisword{asis} % no translation, these are keywords +\def\noneword{none} +% +\parseargdef\paragraphindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \defaultparindent = 0pt + \else + \defaultparindent = #1em + \fi + \fi + \parindent = \defaultparindent +} + +% @exampleindent NCHARS +% We'll use ems for NCHARS like @paragraphindent. +% It seems @exampleindent asis isn't necessary, but +% I preserve it to make it similar to @paragraphindent. +\parseargdef\exampleindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \lispnarrowing = 0pt + \else + \lispnarrowing = #1em + \fi + \fi +} + +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indent at such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. +% We switch the definition of this back and forth according to WORD. +% By default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\def\insertword{insert} +% +\parseargdef\firstparagraphindent{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent{% + \restorefirstparagraphindent + \indent + }% + \gdef\noindent{% + \restorefirstparagraphindent + \noindent + }% + \global\everypar = {% + \kern -\parindent + \restorefirstparagraphindent + }% +} + +\gdef\restorefirstparagraphindent{% + \global \let \indent = \ptexindent + \global \let \noindent = \ptexnoindent + \global \everypar = {}% +} + + +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode\underChar = \active + \gdef\mathunderscore{% + \catcode\underChar=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a \ character. +% FYI, plain.tex uses \\ as a temporary control sequence (why?), but +% this is not advertised and we don't care. Texinfo does not +% otherwise define @\. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + } +} + +% @bullet and @minus need the same treatment as @math, just above. +\def\bullet{$\ptexbullet$} +\def\minus{$-$} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in a typewriter +% font as three actual period characters. +% +\def\dots{% + \leavevmode + \hbox to 1.5em{% + \hskip 0pt plus 0.25fil + .\hfil.\hfil.% + \hskip 0pt plus 0.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor +} + +% @comma{} is so commas can be inserted into text without messing up +% Texinfo's parsing. +% +\let\comma = , + +% @refill is a no-op. +\let\refill=\relax + +% If working on a large document in chapters, it is convenient to +% be able to disable indexing, cross-referencing, and contents, for test runs. +% This is done with @novalidate (before @setfilename). +% +\newif\iflinks \linkstrue % by default we want the aux files. +\let\novalidate = \linksfalse + +% @setfilename is done at the beginning of every texinfo file. +% So open here the files we need to have open while reading the input. +% This makes it possible to make a .fmt file for texinfo. +\def\setfilename{% + \fixbackslash % Turn off hack to swallow `\input texinfo'. + \iflinks + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux + \fi % \openindices needs to do some work in any case. + \openindices + \let\setfilename=\comment % Ignore extra @setfilename cmds. + % + % If texinfo.cnf is present on the system, read it. + % Useful for site-wide @afourpaper, etc. + \openin 1 texinfo.cnf + \ifeof 1 \else \input texinfo.cnf \fi + \closein 1 + % + \comment % Ignore the actual filename. +} + +% Called from \setfilename. +% +\def\openindices{% + \newindex{cp}% + \newcodeindex{fn}% + \newcodeindex{vr}% + \newcodeindex{tp}% + \newcodeindex{ky}% + \newcodeindex{pg}% +} + +% @bye. +\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} + + +\message{pdf,} +% adobe `portable' document format +\newcount\tempnum +\newcount\lnkcount +\newtoks\filename +\newcount\filenamelength +\newcount\pgn +\newtoks\toksA +\newtoks\toksB +\newtoks\toksC +\newtoks\toksD +\newbox\boxA +\newcount\countA +\newif\ifpdf +\newif\ifpdfmakepagedest + +% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 +% can be set). So we test for \relax and 0 as well as \undefined, +% borrowed from ifpdf.sty. +\ifx\pdfoutput\undefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \pdftrue + \fi + \fi +\fi + +% PDF uses PostScript string constants for the names of xref targets, to +% for display in the outlines, and in other places. Thus, we have to +% double any backslashes. Otherwise, a name like "\node" will be +% interpreted as a newline (\n), followed by o, d, e. Not good. +% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html +% (and related messages, the final outcome is that it is up to the TeX +% user to double the backslashes and otherwise make the string valid, so +% that's we do). + +% double active backslashes. +% +{\catcode`\@=0 \catcode`\\=\active + @gdef at activebackslash{@catcode`@\=@active @otherbackslash} + @gdef at activebackslashdouble{% + @catcode at backChar=@active + @let\=@doublebackslash} +} + +% To handle parens, we must adopt a different approach, since parens are +% not active characters. hyperref.dtx (which has the same problem as +% us) handles it with this amazing macro to replace tokens. I've +% tinkered with it a little for texinfo, but it's definitely from there. +% +% #1 is the tokens to replace. +% #2 is the replacement. +% #3 is the control sequence with the string. +% +\def\HyPsdSubst#1#2#3{% + \def\HyPsdReplace##1#1##2\END{% + ##1% + \ifx\\##2\\% + \else + #2% + \HyReturnAfterFi{% + \HyPsdReplace##2\END + }% + \fi + }% + \xdef#3{\expandafter\HyPsdReplace#3#1\END}% +} +\long\def\HyReturnAfterFi#1\fi{\fi#1} + +% #1 is a control sequence in which to do the replacements. +\def\backslashparens#1{% + \xdef#1{#1}% redefine it as its expansion; the definition is simply + % \lastnode when called from \setref -> \pdfmkdest. + \HyPsdSubst{(}{\backslashlparen}{#1}% + \HyPsdSubst{)}{\backslashrparen}{#1}% +} + +{\catcode\exclamChar = 0 \catcode\backChar = \other + !gdef!backslashlparen{\(}% + !gdef!backslashrparen{\)}% +} + +\ifpdf + \input pdfcolor + \pdfcatalog{/PageMode /UseOutlines}% + \def\dopdfimage#1#2#3{% + \def\imagewidth{#2}% + \def\imageheight{#3}% + % without \immediate, pdftex seg faults when the same image is + % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) + \ifnum\pdftexversion < 14 + \immediate\pdfimage + \else + \immediate\pdfximage + \fi + \ifx\empty\imagewidth\else width \imagewidth \fi + \ifx\empty\imageheight\else height \imageheight \fi + \ifnum\pdftexversion<13 + #1.pdf% + \else + {#1.pdf}% + \fi + \ifnum\pdftexversion < 14 \else + \pdfrefximage \pdflastximage + \fi} + \def\pdfmkdest#1{{% + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. + \atdummies + \activebackslashdouble + \def\pdfdestname{#1}% + \backslashparens\pdfdestname + \pdfdest name{\pdfdestname} xyz% + }}% + % + % used to mark target names; must be expandable. + \def\pdfmkpgn#1{#1}% + % + \let\linkcolor = \Blue % was Cyan, but that seems light? + \def\endlink{\Black\pdfendlink} + % Adding outlines to PDF; macros for calculating structure of outlines + % come from Petr Olsak + \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% + \else \csname#1\endcsname \fi} + \def\advancenumber#1{\tempnum=\expnumber{#1}\relax + \advance\tempnum by 1 + \expandafter\xdef\csname#1\endcsname{\the\tempnum}} + % + % #1 is the section text, which is what will be displayed in the + % outline by the pdf viewer. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node text, + % which might be empty if this toc entry had no corresponding node. + % #4 is the page number + % + \def\dopdfoutline#1#2#3#4{% + % Generate a link to the node text if that exists; else, use the + % page number. We could generate a destination for the section + % text in the case where a section has no node, but it doesn't + % seem worth the trouble, since most documents are normally structured. + \def\pdfoutlinedest{#3}% + \ifx\pdfoutlinedest\empty + \def\pdfoutlinedest{#4}% + \else + % Doubled backslashes in the name. + {\activebackslashdouble \xdef\pdfoutlinedest{#3}% + \backslashparens\pdfoutlinedest}% + \fi + % + % Also double the backslashes in the display string. + {\activebackslashdouble \xdef\pdfoutlinetext{#1}% + \backslashparens\pdfoutlinetext}% + % + \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% + } + % + \def\pdfmakeoutlines{% + \begingroup + % Thanh's hack / proper braces in bookmarks + \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace + \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace + % + % Read toc silently, to get counts of subentries for \pdfoutline. + \def\numchapentry##1##2##3##4{% + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% + }% + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + % + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% + \def\appsecentry{\numsecentry}% + \def\appsubsecentry{\numsubsecentry}% + \def\appsubsubsecentry{\numsubsubsecentry}% + \def\unnchapentry{\numchapentry}% + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% + \readdatafile{toc}% + % + % Read toc second time, this time actually producing the outlines. + % The `-' means take the \expnumber as the absolute number of + % subentries, which we calculated on our first read of the .toc above. + % + % We use the node names as the destinations. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% + % + % PDF outlines are displayed using system fonts, instead of + % document fonts. Therefore we cannot use special characters, + % since the encoding is unknown. For example, the eogonek from + % Latin 2 (0xea) gets translated to a | character. Info from + % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. + % + % xx to do this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Right + % now, I guess we'll just let the pdf reader have its way. + \indexnofonts + \setupdatafile + \activebackslash + \input \jobname.toc + \endgroup + } + % + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces + \ifx\p\space\else\addtokens{\filename}{\PP}% + \advance\filenamelength by 1 + \fi + \fi + \nextsp} + \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \ifnum\pdftexversion < 14 + \let \startlink \pdfannotlink + \else + \let \startlink \pdfstartlink + \fi + \def\pdfurl#1{% + \begingroup + \normalturnoffactive\def\@{@}% + \makevalueexpandable + \leavevmode\Red + \startlink attr{/Border [0 0 0]}% + user{/Subtype /Link /A << /S /URI /URI (#1) >>}% + \endgroup} + \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} + \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} + \def\maketoks{% + \expandafter\poptoks\the\toksA|ENDTOKS|\relax + \ifx\first0\adn0 + \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 + \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else + \ifnum0=\countA\else\makelink\fi + \ifx\first.\let\next=\done\else + \let\next=\maketoks + \addtokens{\toksB}{\the\toksD} + \ifx\first,\addtokens{\toksB}{\space}\fi + \fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \next} + \def\makelink{\addtokens{\toksB}% + {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{% + \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} + \linkcolor #1\endlink} + \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +\else + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\linkcolor = \relax + \let\pdfmakeoutlines = \relax +\fi % \ifx\pdfoutput + + +\message{fonts,} + +% Change the current font style to #1, remembering it in \curfontstyle. +% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in +% italics, not bold italics. +% +\def\setfontstyle#1{% + \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. + \csname ten#1\endcsname % change the current font +} + +% Select #1 fonts with the current style. +% +\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} + +\def\rm{\fam=0 \setfontstyle{rm}} +\def\it{\fam=\itfam \setfontstyle{it}} +\def\sl{\fam=\slfam \setfontstyle{sl}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} +\def\tt{\fam=\ttfam \setfontstyle{tt}} + +% Texinfo sort of supports the sans serif font style, which plain TeX does not. +% So we set up a \sf. +\newfam\sffam +\def\sf{\fam=\sffam \setfontstyle{sf}} +\let\li = \sf % Sometimes we call it \li, not \sf. + +% We don't need math for this font style. +\def\ttsl{\setfontstyle{ttsl}} + +% Default leading. +\newdimen\textleading \textleading = 13.2pt + +% Set the baselineskip to #1, and the lineskip and strut size +% correspondingly. There is no deep meaning behind these magic numbers +% used as factors; they just match (closely enough) what Knuth defined. +% +\def\lineskipfactor{.08333} +\def\strutheightpercent{.70833} +\def\strutdepthpercent {.29167} +% +\def\setleading#1{% + \normalbaselineskip = #1\relax + \normallineskip = \lineskipfactor\normalbaselineskip + \normalbaselines + \setbox\strutbox =\hbox{% + \vrule width0pt height\strutheightpercent\baselineskip + depth \strutdepthpercent \baselineskip + }% +} + +% Set the font macro #1 to the font named #2, adding on the +% specified font prefix (normally `cm'). +% #3 is the font's design size, #4 is a scale factor +\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} + +% Use cm as the default font prefix. +% To specify the font prefix, you must define \fontprefix +% before you read in texinfo.tex. +\ifx\fontprefix\undefined +\def\fontprefix{cm} +\fi +% Support font families that don't use the same naming scheme as CM. +\def\rmshape{r} +\def\rmbshape{bx} %where the normal face is bold +\def\bfshape{b} +\def\bxshape{bx} +\def\ttshape{tt} +\def\ttbshape{tt} +\def\ttslshape{sltt} +\def\itshape{ti} +\def\itbshape{bxti} +\def\slshape{sl} +\def\slbshape{bxsl} +\def\sfshape{ss} +\def\sfbshape{ss} +\def\scshape{csc} +\def\scbshape{csc} + +% Text fonts (11.2pt, magstep1). +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} +\setfont\textbf\bfshape{10}{\mainmagstep} +\setfont\textit\itshape{10}{\mainmagstep} +\setfont\textsl\slshape{10}{\mainmagstep} +\setfont\textsf\sfshape{10}{\mainmagstep} +\setfont\textsc\scshape{10}{\mainmagstep} +\setfont\textttsl\ttslshape{10}{\mainmagstep} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstep1} +\setfont\deftt\ttshape{10}{\magstep1} +\setfont\defttsl\ttslshape{10}{\magstep1} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000} +\setfont\smalltt\ttshape{9}{1000} +\setfont\smallbf\bfshape{10}{900} +\setfont\smallit\itshape{9}{1000} +\setfont\smallsl\slshape{9}{1000} +\setfont\smallsf\sfshape{9}{1000} +\setfont\smallsc\scshape{10}{900} +\setfont\smallttsl\ttslshape{10}{900} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000} +\setfont\smallertt\ttshape{8}{1000} +\setfont\smallerbf\bfshape{10}{800} +\setfont\smallerit\itshape{8}{1000} +\setfont\smallersl\slshape{8}{1000} +\setfont\smallersf\sfshape{8}{1000} +\setfont\smallersc\scshape{10}{800} +\setfont\smallerttsl\ttslshape{10}{800} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3} +\setfont\titleit\itbshape{10}{\magstep4} +\setfont\titlesl\slbshape{10}{\magstep4} +\setfont\titlett\ttbshape{12}{\magstep3} +\setfont\titlettsl\ttslshape{10}{\magstep4} +\setfont\titlesf\sfbshape{17}{\magstep1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} + +% Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} +\setfont\chaprm\rmbshape{12}{\magstep2} +\setfont\chapit\itbshape{10}{\magstep3} +\setfont\chapsl\slbshape{10}{\magstep3} +\setfont\chaptt\ttbshape{12}{\magstep2} +\setfont\chapttsl\ttslshape{10}{\magstep3} +\setfont\chapsf\sfbshape{17}{1000} +\let\chapbf=\chaprm +\setfont\chapsc\scbshape{10}{\magstep3} +\font\chapi=cmmi12 scaled \magstep2 +\font\chapsy=cmsy10 scaled \magstep3 + +% Section fonts (14.4pt). +\def\secnominalsize{14pt} +\setfont\secrm\rmbshape{12}{\magstep1} +\setfont\secit\itbshape{10}{\magstep2} +\setfont\secsl\slbshape{10}{\magstep2} +\setfont\sectt\ttbshape{12}{\magstep1} +\setfont\secttsl\ttslshape{10}{\magstep2} +\setfont\secsf\sfbshape{12}{\magstep1} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep2} +\font\seci=cmmi12 scaled \magstep1 +\font\secsy=cmsy10 scaled \magstep2 + +% Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} +\setfont\ssecrm\rmbshape{12}{\magstephalf} +\setfont\ssecit\itbshape{10}{1315} +\setfont\ssecsl\slbshape{10}{1315} +\setfont\ssectt\ttbshape{12}{\magstephalf} +\setfont\ssecttsl\ttslshape{10}{1315} +\setfont\ssecsf\sfbshape{12}{\magstephalf} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1315} +\font\sseci=cmmi12 scaled \magstephalf +\font\ssecsy=cmsy10 scaled 1315 + +% Reduced fonts for @acro in text (10pt). +\def\reducednominalsize{10pt} +\setfont\reducedrm\rmshape{10}{1000} +\setfont\reducedtt\ttshape{10}{1000} +\setfont\reducedbf\bfshape{10}{1000} +\setfont\reducedit\itshape{10}{1000} +\setfont\reducedsl\slshape{10}{1000} +\setfont\reducedsf\sfshape{10}{1000} +\setfont\reducedsc\scshape{10}{1000} +\setfont\reducedttsl\ttslshape{10}{1000} +\font\reducedi=cmmi10 +\font\reducedsy=cmsy10 + +% In order for the font changes to affect most math symbols and letters, +% we have to define the \textfont of the standard families. Since +% texinfo doesn't allow for producing subscripts and superscripts except +% in the main text, we don't bother to reset \scriptfont and +% \scriptscriptfont (which would also require loading a lot more fonts). +% +\def\resetmathfonts{% + \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy + \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf + \textfont\ttfam=\tentt \textfont\sffam=\tensf +} + +% The font-changing commands redefine the meanings of \tenSTYLE, instead +% of just \STYLE. We do this because \STYLE needs to also set the +% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire +% \tenSTYLE to set the current font. +% +% Each font-changing command also sets the names \lsize (one size lower) +% and \lllsize (three sizes lower). These relative commands are used in +% the LaTeX logo and acronyms. +% +% This all needs generalizing, badly. +% +\def\textfonts{% + \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl + \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc + \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy + \let\tenttsl=\textttsl + \def\curfontsize{text}% + \def\lsize{reduced}\def\lllsize{smaller}% + \resetmathfonts \setleading{\textleading}} +\def\titlefonts{% + \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl + \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc + \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy + \let\tenttsl=\titlettsl + \def\curfontsize{title}% + \def\lsize{chap}\def\lllsize{subsec}% + \resetmathfonts \setleading{25pt}} +\def\titlefont#1{{\titlefonts\rm #1}} +\def\chapfonts{% + \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl + \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc + \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy + \let\tenttsl=\chapttsl + \def\curfontsize{chap}% + \def\lsize{sec}\def\lllsize{text}% + \resetmathfonts \setleading{19pt}} +\def\secfonts{% + \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl + \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc + \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy + \let\tenttsl=\secttsl + \def\curfontsize{sec}% + \def\lsize{subsec}\def\lllsize{reduced}% + \resetmathfonts \setleading{16pt}} +\def\subsecfonts{% + \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl + \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc + \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy + \let\tenttsl=\ssecttsl + \def\curfontsize{ssec}% + \def\lsize{text}\def\lllsize{small}% + \resetmathfonts \setleading{15pt}} +\let\subsubsecfonts = \subsecfonts +\def\reducedfonts{% + \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl + \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc + \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy + \let\tenttsl=\reducedttsl + \def\curfontsize{reduced}% + \def\lsize{small}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} +\def\smallfonts{% + \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl + \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc + \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy + \let\tenttsl=\smallttsl + \def\curfontsize{small}% + \def\lsize{smaller}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} +\def\smallerfonts{% + \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl + \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc + \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy + \let\tenttsl=\smallerttsl + \def\curfontsize{smaller}% + \def\lsize{smaller}\def\lllsize{smaller}% + \resetmathfonts \setleading{9.5pt}} + +% Set the fonts to use with the @small... environments. +\let\smallexamplefonts = \smallfonts + +% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample +% can fit this many characters: +% 8.5x11=86 smallbook=72 a4=90 a5=69 +% If we use \scriptfonts (8pt), then we can fit this many characters: +% 8.5x11=90+ smallbook=80 a4=90+ a5=77 +% For me, subjectively, the few extra characters that fit aren't worth +% the additional smallness of 8pt. So I'm making the default 9pt. +% +% By the way, for comparison, here's what fits with @example (10pt): +% 8.5x11=71 smallbook=60 a4=75 a5=58 +% +% I wish the USA used A4 paper. +% --karl, 24jan03. + + +% Set up the default fonts, so we can use them for creating boxes. +% +\textfonts \rm + +% Define these so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} + +% Count depth in font-changes, for error checks +\newcount\fontdepth \fontdepth=0 + +% Fonts for short table of contents. +\setfont\shortcontrm\rmshape{12}{1000} +\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 +\setfont\shortcontsl\slshape{12}{1000} +\setfont\shortconttt\ttshape{12}{1000} + +%% Add scribe-like font environments, plus @l for inline lisp (usually sans +%% serif) and @ii for TeX italic + +% \smartitalic{ARG} outputs arg in italics, followed by an italic correction +% unless the following character is such as not to need one. +\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else + \ptexslash\fi\fi\fi} +\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} +\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally uses \ttsl. +% @var is set to this for defun arguments. +\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally use \sl. We never want +% ttsl for book titles, do we? +\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} + +\let\i=\smartitalic +\let\slanted=\smartslanted +\let\var=\smartslanted +\let\dfn=\smartslanted +\let\emph=\smartitalic + +% @b, explicit bold. +\def\b#1{{\bf #1}} +\let\strong=\b + +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + +% We can't just use \exhyphenpenalty, because that only has effect at +% the end of a paragraph. Restore normal hyphenation at the end of the +% group within which \nohyphenation is presumably called. +% +\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} +\def\restorehyphenation{\hyphenchar\font = `- } + +% Set sfcode to normal for the chars that usually have another value. +% Can't use plain's \frenchspacing because it uses the `\x notation, and +% sometimes \x has an active definition that messes things up. +% +\catcode`@=11 + \def\plainfrenchspacing{% + \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m + \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m + \def\endofsentencespacefactor{1000}% for @. and friends + } + \def\plainnonfrenchspacing{% + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends + } +\catcode`@=\other +\def\endofsentencespacefactor{3000}% default + +\def\t#1{% + {\tt \rawbackslash \plainfrenchspacing #1}% + \null +} +\def\samp#1{`\tclose{#1}'\null} +\setfont\keyrm\rmshape{8}{1000} +\font\keysy=cmsy9 +\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% + \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% + \vbox{\hrule\kern-0.4pt + \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% + \kern-0.4pt\hrule}% + \kern-.06em\raise0.4pt\hbox{\angleright}}}} +% The old definition, with no lozenge: +%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + +% @file, @option are the same as @samp. +\let\file=\samp +\let\option=\samp + +% @code is a modification of @t, +% which makes spaces the same size as normal in the surrounding text. +\def\tclose#1{% + {% + % Change normal interword space to be same as for the current font. + \spaceskip = \fontdimen2\font + % + % Switch to typewriter. + \tt + % + % But `\ ' produces the large typewriter interword space. + \def\ {{\spaceskip = 0pt{} }}% + % + % Turn off hyphenation. + \nohyphenation + % + \rawbackslash + \plainfrenchspacing + #1% + }% + \null +} + +% We *must* turn on hyphenation at `-' and `_' in @code. +% Otherwise, it is too hard to avoid overfull hboxes +% in the Emacs manual, the Library manual, etc. + +% Unfortunately, TeX uses one parameter (\hyphenchar) to control +% both hyphenation at - and hyphenation within words. +% We must therefore turn them both off (\tclose does that) +% and arrange explicitly to hyphenate at a dash. +% -- rms. +{ + \catcode`\-=\active + \catcode`\_=\active + % + \global\def\code{\begingroup + \catcode`\-=\active \catcode`\_=\active + \ifallowcodebreaks + \let-\codedash + \let_\codeunder + \else + \let-\realdash + \let_\realunder + \fi + \codex + } +} + +\def\realdash{-} +\def\codedash{-\discretionary{}{}{}} +\def\codeunder{% + % this is all so @math{@code{var_name}+1} can work. In math mode, _ + % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) + % will therefore expand the active definition of _, which is us + % (inside @code that is), therefore an endless loop. + \ifusingtt{\ifmmode + \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. + \else\normalunderscore \fi + \discretionary{}{}{}}% + {\_}% +} +\def\codex #1{\tclose{#1}\endgroup} + +% An additional complication: the above will allow breaks after, e.g., +% each of the four underscores in __typeof__. This is undesirable in +% some manuals, especially if they don't have long identifiers in +% general. @allowcodebreaks provides a way to control this. +% +\newif\ifallowcodebreaks \allowcodebreakstrue + +\def\keywordtrue{true} +\def\keywordfalse{false} + +\parseargdef\allowcodebreaks{% + \def\txiarg{#1}% + \ifx\txiarg\keywordtrue + \allowcodebreakstrue + \else\ifx\txiarg\keywordfalse + \allowcodebreaksfalse + \else + \errhelp = \EMsimple + \errmessage{Unknown @allowcodebreaks option `\txiarg'}% + \fi\fi +} + +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. + +% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), +% `example' (@kbd uses ttsl only inside of @example and friends), +% or `code' (@kbd uses normal tty font always). +\parseargdef\kbdinputstyle{% + \def\txiarg{#1}% + \ifx\txiarg\worddistinct + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% + \else\ifx\txiarg\wordexample + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% + \else\ifx\txiarg\wordcode + \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% + \else + \errhelp = \EMsimple + \errmessage{Unknown @kbdinputstyle option `\txiarg'}% + \fi\fi\fi +} +\def\worddistinct{distinct} +\def\wordexample{example} +\def\wordcode{code} + +% Default is `distinct.' +\kbdinputstyle distinct + +\def\xkey{\key} +\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% +\ifx\one\xkey\ifx\threex\three \key{#2}% +\else{\tclose{\kbdfont\look}}\fi +\else{\tclose{\kbdfont\look}}\fi} + +% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. +\let\indicateurl=\code +\let\env=\code +\let\command=\code + +% @uref (abbreviation for `urlref') takes an optional (comma-separated) +% second argument specifying the text to display and an optional third +% arg as text to display instead of (rather than in addition to) the url +% itself. First (mandatory) arg is the url. Perhaps eventually put in +% a hypertex \special here. +% +\def\uref#1{\douref #1,,,\finish} +\def\douref#1,#2,#3,#4\finish{\begingroup + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \ifpdf + \unhbox0 % PDF: 2nd arg given, show only it + \else + \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url + \fi + \else + \code{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + +% rms does not like angle brackets --karl, 17may97. +% So now @email is just like @uref, unless we are pdf. +% +%\def\email#1{\angleleft{\tt #1}\angleright} +\ifpdf + \def\email#1{\doemail#1,,\finish} + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi + \endlink + \endgroup} +\else + \let\email=\uref +\fi + +% Check if we are currently using a typewriter font. Since all the +% Computer Modern typewriter fonts have zero interword stretch (and +% shrink), and it is reasonable to expect all typewriter fonts to have +% this property, we can check that font parameter. +% +\def\ifmonospace{\ifdim\fontdimen3\font=0pt } + +% Typeset a dimension, e.g., `in' or `pt'. The only reason for the +% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. +% +\def\dmn#1{\thinspace #1} + +\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} + +% @l was never documented to mean ``switch to the Lisp font'', +% and it is not used as such in any manual I can find. We need it for +% Polish suppressed-l. --karl, 22sep96. +%\def\l#1{{\li #1}\null} + +% Explicit font changes: @r, @sc, undocumented @ii. +\def\r#1{{\rm #1}} % roman font +\def\sc#1{{\smallcaps#1}} % smallcaps font +\def\ii#1{{\it #1}} % italic font + +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\selectfonts\lsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\plainfrenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @pounds{} is a sterling sign, which Knuth put in the CM italic font. +% +\def\pounds{{\it\$}} + +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + +% @registeredsymbol - R in a circle. The font for the R should really +% be smaller yet, but lllsize is the best we can do for now. +% Adapted from the plain.tex definition of \copyright. +% +\def\registeredsymbol{% + $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% + \hfil\crcr\Orb}}% + }$% +} + +% Laurent Siebenmann reports \Orb undefined with: +% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 +% so we'll define it if necessary. +% +\ifx\Orb\undefined +\def\Orb{\mathhexbox20D} +\fi + + +\message{page headings,} + +\newskip\titlepagetopglue \titlepagetopglue = 1.5in +\newskip\titlepagebottomglue \titlepagebottomglue = 2pc + +% First the title page. Must do @settitle before @titlepage. +\newif\ifseenauthor +\newif\iffinishedtitlepage + +% Do an implicit @contents or @shortcontents after @end titlepage if the +% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. +% +\newif\ifsetcontentsaftertitlepage + \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue +\newif\ifsetshortcontentsaftertitlepage + \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue + +\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% + \endgroup\page\hbox{}\page} + +\envdef\titlepage{% + % Open one extra group, as we want to close it in the middle of \Etitlepage. + \begingroup + \parindent=0pt \textfonts + % Leave some space at the very top of the page. + \vglue\titlepagetopglue + % No rule at page bottom unless we print one at the top with @title. + \finishedtitlepagetrue + % + % Most title ``pages'' are actually two pages long, with space + % at the top of the second. We don't want the ragged left on the second. + \let\oldpage = \page + \def\page{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + \let\page = \oldpage + \page + \null + }% +} + +\def\Etitlepage{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + % It is important to do the page break before ending the group, + % because the headline and footline are only empty inside the group. + % If we use the new definition of \page, we always get a blank page + % after the title page, which we certainly don't want. + \oldpage + \endgroup + % + % Need this before the \...aftertitlepage checks so that if they are + % in effect the toc pages will come out with page numbers. + \HEADINGSon + % + % If they want short, they certainly want long too. + \ifsetshortcontentsaftertitlepage + \shortcontents + \contents + \global\let\shortcontents = \relax + \global\let\contents = \relax + \fi + % + \ifsetcontentsaftertitlepage + \contents + \global\let\contents = \relax + \global\let\shortcontents = \relax + \fi +} + +\def\finishtitlepage{% + \vskip4pt \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue +} + +%%% Macros to be used within @titlepage: + +\let\subtitlerm=\tenrm +\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + +\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt} + +\parseargdef\title{% + \checkenv\titlepage + \leftline{\titlefonts\rm #1} + % print a rule at the page bottom also. + \finishedtitlepagefalse + \vskip4pt \hrule height 4pt width \hsize \vskip4pt +} + +\parseargdef\subtitle{% + \checkenv\titlepage + {\subtitlefont \rightline{#1}}% +} + +% @author should come last, but may come many times. +% It can also be used inside @quotation. +% +\parseargdef\author{% + \def\temp{\quotation}% + \ifx\thisenv\temp + \def\quotationauthor{#1}% printed in \Equotation. + \else + \checkenv\titlepage + \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi + {\authorfont \leftline{#1}}% + \fi +} + + +%%% Set up page headings and footings. + +\let\thispage=\folio + +\newtoks\evenheadline % headline on even pages +\newtoks\oddheadline % headline on odd pages +\newtoks\evenfootline % footline on even pages +\newtoks\oddfootline % footline on odd pages + +% Now make TeX use those variables +\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline + \else \the\evenheadline \fi}} +\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline + \else \the\evenfootline \fi}\HEADINGShook} +\let\HEADINGShook=\relax + +% Commands to set those variables. +% For example, this is what @headings on does +% @evenheading @thistitle|@thispage|@thischapter +% @oddheading @thischapter|@thispage|@thistitle +% @evenfooting @thisfile|| +% @oddfooting ||@thisfile + + +\def\evenheading{\parsearg\evenheadingxxx} +\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} +\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% +\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\def\oddheading{\parsearg\oddheadingxxx} +\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} +\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% +\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% + +\def\evenfooting{\parsearg\evenfootingxxx} +\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} +\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% +\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\def\oddfooting{\parsearg\oddfootingxxx} +\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} +\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% + \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% + % + % Leave some space for the footline. Hopefully ok to assume + % @evenfooting will not be used by itself. + \global\advance\pageheight by -\baselineskip + \global\advance\vsize by -\baselineskip +} + +\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} + + +% @headings double turns headings on for double-sided printing. +% @headings single turns headings on for single-sided printing. +% @headings off turns them off. +% @headings on same as @headings double, retained for compatibility. +% @headings after turns on double-sided headings after this page. +% @headings doubleafter turns on double-sided headings after this page. +% @headings singleafter turns on single-sided headings after this page. +% By default, they are off at the start of a document, +% and turned `on' after @end titlepage. + +\def\headings #1 {\csname HEADINGS#1\endcsname} + +\def\HEADINGSoff{% +\global\evenheadline={\hfil} \global\evenfootline={\hfil} +\global\oddheadline={\hfil} \global\oddfootline={\hfil}} +\HEADINGSoff +% When we turn headings on, set the page number to 1. +% For double-sided printing, put current file name in lower left corner, +% chapter name on inside top of right hand pages, document +% title on inside top of left hand pages, and page numbers on outside top +% edge of all pages. +\def\HEADINGSdouble{% +\global\pageno=1 +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chapoddpage +} +\let\contentsalignmacro = \chappager + +% For single-sided printing, chapter title goes across top left of page, +% page number on top right. +\def\HEADINGSsingle{% +\global\pageno=1 +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} +\def\HEADINGSon{\HEADINGSdouble} + +\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} +\let\HEADINGSdoubleafter=\HEADINGSafter +\def\HEADINGSdoublex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chapoddpage +} + +\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} +\def\HEADINGSsinglex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} + +% Subroutines used in generating headings +% This produces Day Month Year style of output. +% Only define if not already defined, in case a txi-??.tex file has set +% up a different format (e.g., txi-cs.tex does this). +\ifx\today\undefined +\def\today{% + \number\day\space + \ifcase\month + \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr + \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug + \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec + \fi + \space\number\year} +\fi + +% @settitle line... specifies the title of the document, for headings. +% It generates no output of its own. +\def\thistitle{\putwordNoTitle} +\def\settitle{\parsearg{\gdef\thistitle}} + + +\message{tables,} +% Tables -- @table, @ftable, @vtable, @item(x). + +% default indentation of table text +\newdimen\tableindent \tableindent=.8in +% default indentation of @itemize and @enumerate text +\newdimen\itemindent \itemindent=.3in +% margin between end of table item and start of table text. +\newdimen\itemmargin \itemmargin=.1in + +% used internally for \itemindent minus \itemmargin +\newdimen\itemmax + +% Note @table, @ftable, and @vtable define @item, @itemx, etc., with +% these defs. +% They also define \itemindex +% to index the item name in whatever manner is desired (perhaps none). + +\newif\ifitemxneedsnegativevskip + +\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} + +\def\internalBitem{\smallbreak \parsearg\itemzzz} +\def\internalBitemx{\itemxpar \parsearg\itemzzz} + +\def\itemzzz #1{\begingroup % + \advance\hsize by -\rightskip + \advance\hsize by -\tableindent + \setbox0=\hbox{\itemindicate{#1}}% + \itemindex{#1}% + \nobreak % This prevents a break before @itemx. + % + % If the item text does not fit in the space we have, put it on a line + % by itself, and do not allow a page break either before or after that + % line. We do not start a paragraph here because then if the next + % command is, e.g., @kindex, the whatsit would get put into the + % horizontal list on a line by itself, resulting in extra blank space. + \ifdim \wd0>\itemmax + % + % Make this a paragraph so we get the \parskip glue and wrapping, + % but leave it ragged-right. + \begingroup + \advance\leftskip by-\tableindent + \advance\hsize by\tableindent + \advance\rightskip by0pt plus1fil + \leavevmode\unhbox0\par + \endgroup + % + % We're going to be starting a paragraph, but we don't want the + % \parskip glue -- logically it's part of the @item we just started. + \nobreak \vskip-\parskip + % + % Stop a page break at the \parskip glue coming up. However, if + % what follows is an environment such as @example, there will be no + % \parskip glue; then the negative vskip we just inserted would + % cause the example and the item to crash together. So we use this + % bizarre value of 10001 as a signal to \aboveenvbreak to insert + % \parskip glue after all. Section titles are handled this way also. + % + \penalty 10001 + \endgroup + \itemxneedsnegativevskipfalse + \else + % The item text fits into the space. Start a paragraph, so that the + % following text (if any) will end up on the same line. + \noindent + % Do this with kerns and \unhbox so that if there is a footnote in + % the item text, it can migrate to the main vertical list and + % eventually be printed. + \nobreak\kern-\tableindent + \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 + \unhbox0 + \nobreak\kern\dimen0 + \endgroup + \itemxneedsnegativevskiptrue + \fi +} + +\def\item{\errmessage{@item while not in a list environment}} +\def\itemx{\errmessage{@itemx while not in a list environment}} + +% @table, @ftable, @vtable. +\envdef\table{% + \let\itemindex\gobble + \tablecheck{table}% +} +\envdef\ftable{% + \def\itemindex ##1{\doind {fn}{\code{##1}}}% + \tablecheck{ftable}% +} +\envdef\vtable{% + \def\itemindex ##1{\doind {vr}{\code{##1}}}% + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next +} +\def\tablex#1{% + \def\itemindicate{#1}% + \parsearg\tabley +} +\def\tabley#1{% + {% + \makevalueexpandable + \edef\temp{\noexpand\tablez #1\space\space\space}% + \expandafter + }\temp \endtablez +} +\def\tablez #1 #2 #3 #4\endtablez{% + \aboveenvbreak + \ifnum 0#1>0 \advance \leftskip by #1\mil \fi + \ifnum 0#2>0 \tableindent=#2\mil \fi + \ifnum 0#3>0 \advance \rightskip by #3\mil \fi + \itemmax=\tableindent + \advance \itemmax by -\itemmargin + \advance \leftskip by \tableindent + \exdentamount=\tableindent + \parindent = 0pt + \parskip = \smallskipamount + \ifdim \parskip=0pt \parskip=2pt \fi + \let\item = \internalBitem + \let\itemx = \internalBitemx +} +\def\Etable{\endgraf\afterenvbreak} +\let\Eftable\Etable +\let\Evtable\Etable +\let\Eitemize\Etable +\let\Eenumerate\Etable + +% This is the counter used by @enumerate, which is really @itemize + +\newcount \itemno + +\envdef\itemize{\parsearg\doitemize} + +\def\doitemize#1{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + \def\itemcontents{#1}% + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + \let\item=\itemizeitem +} + +% Definition of @item while inside @itemize and @enumerate. +% +\def\itemizeitem{% + \advance\itemno by 1 % for enumerations + {\let\par=\endgraf \smallbreak}% reasonable place to break + {% + % If the document has an @itemize directly after a section title, a + % \nobreak will be last on the list, and \sectionheading will have + % done a \vskip-\parskip. In that case, we don't want to zero + % parskip, or the item text will crash with the heading. On the + % other hand, when there is normal text preceding the item (as there + % usually is), we do want to zero parskip, or there would be too much + % space. In that case, we won't have a \nobreak before. At least + % that's the theory. + \ifnum\lastpenalty<10000 \parskip=0in \fi + \noindent + \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + \vadjust{\penalty 1200}}% not good to break after first line of item. + \flushcr +} + +% \splitoff TOKENS\endmark defines \first to be the first token in +% TOKENS, and \rest to be the remainder. +% +\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% + +% Allow an optional argument of an uppercase letter, lowercase letter, +% or number, to specify the first label in the enumerated list. No +% argument is the same as `1'. +% +\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} +\def\enumeratey #1 #2\endenumeratey{% + % If we were given no argument, pretend we were given `1'. + \def\thearg{#1}% + \ifx\thearg\empty \def\thearg{1}\fi + % + % Detect if the argument is a single token. If so, it might be a + % letter. Otherwise, the only valid thing it can be is a number. + % (We will always have one token, because of the test we just made. + % This is a good thing, since \splitoff doesn't work given nothing at + % all -- the first parameter is undelimited.) + \expandafter\splitoff\thearg\endmark + \ifx\rest\empty + % Only one token in the argument. It could still be anything. + % A ``lowercase letter'' is one whose \lccode is nonzero. + % An ``uppercase letter'' is one whose \lccode is both nonzero, and + % not equal to itself. + % Otherwise, we assume it's a number. + % + % We need the \relax at the end of the \ifnum lines to stop TeX from + % continuing to look for a . + % + \ifnum\lccode\expandafter`\thearg=0\relax + \numericenumerate % a number (we hope) + \else + % It's a letter. + \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax + \lowercaseenumerate % lowercase letter + \else + \uppercaseenumerate % uppercase letter + \fi + \fi + \else + % Multiple tokens in the argument. We hope it's a number. + \numericenumerate + \fi +} + +% An @enumerate whose labels are integers. The starting integer is +% given in \thearg. +% +\def\numericenumerate{% + \itemno = \thearg + \startenumeration{\the\itemno}% +} + +% The starting (lowercase) letter is in \thearg. +\def\lowercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more lowercase letters in @enumerate; get a bigger + alphabet}% + \fi + \char\lccode\itemno + }% +} + +% The starting (uppercase) letter is in \thearg. +\def\uppercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more uppercase letters in @enumerate; get a bigger + alphabet} + \fi + \char\uccode\itemno + }% +} + +% Call \doitemize, adding a period to the first argument and supplying the +% common last two arguments. Also subtract one from the initial value in +% \itemno, since @item increments \itemno. +% +\def\startenumeration#1{% + \advance\itemno by -1 + \doitemize{#1.}\flushcr +} + +% @alphaenumerate and @capsenumerate are abbreviations for giving an arg +% to @enumerate. +% +\def\alphaenumerate{\enumerate{a}} +\def\capsenumerate{\enumerate{A}} +\def\Ealphaenumerate{\Eenumerate} +\def\Ecapsenumerate{\Eenumerate} + + +% @multitable macros +% Amy Hendrickson, 8/18/94, 3/6/96 +% +% @multitable ... @end multitable will make as many columns as desired. +% Contents of each column will wrap at width given in preamble. Width +% can be specified either with sample text given in a template line, +% or in percent of \hsize, the current width of text on page. + +% Table can continue over pages but will only break between lines. + +% To make preamble: +% +% Either define widths of columns in terms of percent of \hsize: +% @multitable @columnfractions .25 .3 .45 +% @item ... +% +% Numbers following @columnfractions are the percent of the total +% current hsize to be used for each column. You may use as many +% columns as desired. + + +% Or use a template: +% @multitable {Column 1 template} {Column 2 template} {Column 3 template} +% @item ... +% using the widest term desired in each column. + +% Each new table line starts with @item, each subsequent new column +% starts with @tab. Empty columns may be produced by supplying @tab's +% with nothing between them for as many times as empty columns are needed, +% ie, @tab at tab@tab will produce two empty columns. + +% @item, @tab do not need to be on their own lines, but it will not hurt +% if they are. + +% Sample multitable: + +% @multitable {Column 1 template} {Column 2 template} {Column 3 template} +% @item first col stuff @tab second col stuff @tab third col +% @item +% first col stuff +% @tab +% second col stuff +% @tab +% third col +% @item first col stuff @tab second col stuff +% @tab Many paragraphs of text may be used in any column. +% +% They will wrap at the width determined by the template. +% @item at tab@tab This will be in third column. +% @end multitable + +% Default dimensions may be reset by user. +% @multitableparskip is vertical space between paragraphs in table. +% @multitableparindent is paragraph indent in table. +% @multitablecolmargin is horizontal space to be left between columns. +% @multitablelinespace is space to leave between table items, baseline +% to baseline. +% 0pt means it depends on current normal line spacing. +% +\newskip\multitableparskip +\newskip\multitableparindent +\newdimen\multitablecolspace +\newskip\multitablelinespace +\multitableparskip=0pt +\multitableparindent=6pt +\multitablecolspace=12pt +\multitablelinespace=0pt + +% Macros used to set up halign preamble: +% +\let\endsetuptable\relax +\def\xendsetuptable{\endsetuptable} +\let\columnfractions\relax +\def\xcolumnfractions{\columnfractions} +\newif\ifsetpercent + +% #1 is the @columnfraction, usually a decimal number like .5, but might +% be just 1. We just use it, whatever it is. +% +\def\pickupwholefraction#1 {% + \global\advance\colcount by 1 + \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% + \setuptable +} + +\newcount\colcount +\def\setuptable#1{% + \def\firstarg{#1}% + \ifx\firstarg\xendsetuptable + \let\go = \relax + \else + \ifx\firstarg\xcolumnfractions + \global\setpercenttrue + \else + \ifsetpercent + \let\go\pickupwholefraction + \else + \global\advance\colcount by 1 + \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a + % separator; typically that is always in the input, anyway. + \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% + \fi + \fi + \ifx\go\pickupwholefraction + % Put the argument back for the \pickupwholefraction call, so + % we'll always have a period there to be parsed. + \def\go{\pickupwholefraction#1}% + \else + \let\go = \setuptable + \fi% + \fi + \go +} + +% multitable-only commands. +% +% @headitem starts a heading row, which we typeset in bold. +% Assignments have to be global since we are inside the implicit group +% of an alignment entry. Note that \everycr resets \everytab. +\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% +% +% A \tab used to include \hskip1sp. But then the space in a template +% line is not enough. That is bad. So let's go back to just `&' until +% we encounter the problem it was intended to solve again. +% --karl, nathan at acm.org, 20apr99. +\def\tab{\checkenv\multitable &\the\everytab}% + +% @multitable ... @end multitable definitions: +% +\newtoks\everytab % insert after every tab. +% +\envdef\multitable{% + \vskip\parskip + \startsavinginserts + % + % @item within a multitable starts a normal row. + % We use \def instead of \let so that if one of the multitable entries + % contains an @itemize, we don't choke on the \item (seen as \crcr aka + % \endtemplate) expanding \doitemize. + \def\item{\crcr}% + % + \tolerance=9500 + \hbadness=9500 + \setmultitablespacing + \parskip=\multitableparskip + \parindent=\multitableparindent + \overfullrule=0pt + \global\colcount=0 + % + \everycr = {% + \noalign{% + \global\everytab={}% + \global\colcount=0 % Reset the column counter. + % Check for saved footnotes, etc. + \checkinserts + % Keeps underfull box messages off when table breaks over pages. + %\filbreak + % Maybe so, but it also creates really weird page breaks when the + % table breaks over pages. Wouldn't \vfil be better? Wait until the + % problem manifests itself, so it can be fixed for real --karl. + }% + }% + % + \parsearg\domultitable +} +\def\domultitable#1{% + % To parse everything between @multitable and @item: + \setuptable#1 \endsetuptable + % + % This preamble sets up a generic column definition, which will + % be used as many times as user calls for columns. + % \vtop will set a single line and will also let text wrap and + % continue for many paragraphs if desired. + \halign\bgroup &% + \global\advance\colcount by 1 + \multistrut + \vtop{% + % Use the current \colcount to find the correct column width: + \hsize=\expandafter\csname col\the\colcount\endcsname + % + % In order to keep entries from bumping into each other + % we will add a \leftskip of \multitablecolspace to all columns after + % the first one. + % + % If a template has been used, we will add \multitablecolspace + % to the width of each template entry. + % + % If the user has set preamble in terms of percent of \hsize we will + % use that dimension as the width of the column, and the \leftskip + % will keep entries from bumping into each other. Table will start at + % left margin and final column will justify at right margin. + % + % Make sure we don't inherit \rightskip from the outer environment. + \rightskip=0pt + \ifnum\colcount=1 + % The first column will be indented with the surrounding text. + \advance\hsize by\leftskip + \else + \ifsetpercent \else + % If user has not set preamble in terms of percent of \hsize + % we will advance \hsize by \multitablecolspace. + \advance\hsize by \multitablecolspace + \fi + % In either case we will make \leftskip=\multitablecolspace: + \leftskip=\multitablecolspace + \fi + % Ignoring space at the beginning and end avoids an occasional spurious + % blank line, when TeX decides to break the line at the space before the + % box from the multistrut, so the strut ends up on a line by itself. + % For example: + % @multitable @columnfractions .11 .89 + % @item @code{#} + % @tab Legal holiday which is valid in major parts of the whole country. + % Is automatically provided with highlighting sequences respectively + % marking characters. + \noindent\ignorespaces##\unskip\multistrut + }\cr +} +\def\Emultitable{% + \crcr + \egroup % end the \halign + \global\setpercentfalse +} + +\def\setmultitablespacing{% + \def\multistrut{\strut}% just use the standard line spacing + % + % Compute \multitablelinespace (if not defined by user) for use in + % \multitableparskip calculation. We used define \multistrut based on + % this, but (ironically) that caused the spacing to be off. + % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. +\ifdim\multitablelinespace=0pt +\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip +\global\advance\multitablelinespace by-\ht0 +\fi +%% Test to see if parskip is larger than space between lines of +%% table. If not, do nothing. +%% If so, set to same dimension as multitablelinespace. +\ifdim\multitableparskip>\multitablelinespace +\global\multitableparskip=\multitablelinespace +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. +\fi% +\ifdim\multitableparskip=0pt +\global\multitableparskip=\multitablelinespace +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. +\fi} + + +\message{conditionals,} + +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @ifnotxml always succeed. They currently do nothing; we don't +% attempt to check whether the conditionals are properly nested. But we +% have to remember that they are conditionals, so that @end doesn't +% attempt to close an environment group. +% +\def\makecond#1{% + \expandafter\let\csname #1\endcsname = \relax + \expandafter\let\csname iscond.#1\endcsname = 1 +} +\makecond{iftex} +\makecond{ifnotdocbook} +\makecond{ifnothtml} +\makecond{ifnotinfo} +\makecond{ifnotplaintext} +\makecond{ifnotxml} + +% Ignore @ignore, @ifhtml, @ifinfo, and the like. +% +\def\direntry{\doignore{direntry}} +\def\documentdescription{\doignore{documentdescription}} +\def\docbook{\doignore{docbook}} +\def\html{\doignore{html}} +\def\ifdocbook{\doignore{ifdocbook}} +\def\ifhtml{\doignore{ifhtml}} +\def\ifinfo{\doignore{ifinfo}} +\def\ifnottex{\doignore{ifnottex}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} +\def\menu{\doignore{menu}} +\def\xml{\doignore{xml}} + +% Ignore text until a line `@end #1', keeping track of nested conditionals. +% +% A count to remember the depth of nesting. +\newcount\doignorecount + +\def\doignore#1{\begingroup + % Scan in ``verbatim'' mode: + \catcode`\@ = \other + \catcode`\{ = \other + \catcode`\} = \other + % + % Make sure that spaces turn into tokens that match what \doignoretext wants. + \spaceisspace + % + % Count number of #1's that we've seen. + \doignorecount = 0 + % + % Swallow text until we reach the matching `@end #1'. + \dodoignore{#1}% +} + +{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. + \obeylines % + % + \gdef\dodoignore#1{% + % #1 contains the command name as a string, e.g., `ifinfo'. + % + % Define a command to find the next `@end #1', which must be on a line + % by itself. + \long\def\doignoretext##1^^M at end #1{\doignoretextyyy##1^^M@#1\_STOP_}% + % And this command to find another #1 command, at the beginning of a + % line. (Otherwise, we would consider a line `@c @ifset', for + % example, to count as an @ifset for nesting.) + \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% + % + % And now expand that command. + \obeylines % + \doignoretext ^^M% + }% +} + +\def\doignoreyyy#1{% + \def\temp{#1}% + \ifx\temp\empty % Nothing found. + \let\next\doignoretextzzz + \else % Found a nested condition, ... + \advance\doignorecount by 1 + \let\next\doignoretextyyy % ..., look for another. + % If we're here, #1 ends with ^^M\ifinfo (for example). + \fi + \next #1% the token \_STOP_ is present just after this macro. +} + +% We have to swallow the remaining "\_STOP_". +% +\def\doignoretextzzz#1{% + \ifnum\doignorecount = 0 % We have just found the outermost @end. + \let\next\enddoignore + \else % Still inside a nested condition. + \advance\doignorecount by -1 + \let\next\doignoretext % Look for the next @end. + \fi + \next +} + +% Finish off ignored text. +\def\enddoignore{\endgroup\ignorespaces} + + +% @set VAR sets the variable VAR to an empty value. +% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. +% +% Since we want to separate VAR from REST-OF-LINE (which might be +% empty), we can't just use \parsearg; we have to insert a space of our +% own to delimit the rest of the line, and then take it out again if we +% didn't need it. +% We rely on the fact that \parsearg sets \catcode`\ =10. +% +\parseargdef\set{\setyyy#1 \endsetyyy} +\def\setyyy#1 #2\endsetyyy{% + {% + \makevalueexpandable + \def\temp{#2}% + \edef\next{\gdef\makecsname{SET#1}}% + \ifx\temp\empty + \next{}% + \else + \setzzz#2\endsetzzz + \fi + }% +} +% Remove the trailing space \setxxx inserted. +\def\setzzz#1 \endsetzzz{\next{#1}} + +% @clear VAR clears (i.e., unsets) the variable VAR. +% +\parseargdef\clear{% + {% + \makevalueexpandable + \global\expandafter\let\csname SET#1\endcsname=\relax + }% +} + +% @value{foo} gets the text saved in variable foo. +\def\value{\begingroup\makevalueexpandable\valuexxx} +\def\valuexxx#1{\expandablevalue{#1}\endgroup} +{ + \catcode`\- = \active \catcode`\_ = \active + % + \gdef\makevalueexpandable{% + \let\value = \expandablevalue + % We don't want these characters active, ... + \catcode`\-=\other \catcode`\_=\other + % ..., but we might end up with active ones in the argument if + % we're called from @code, as @code{@value{foo-bar_}}, though. + % So \let them to their normal equivalents. + \let-\realdash \let_\normalunderscore + } +} + +% We have this subroutine so that we can handle at least some @value's +% properly in indexes (we call \makevalueexpandable in \indexdummies). +% The command has to be fully expandable (if the variable is set), since +% the result winds up in the index file. This means that if the +% variable's value contains other Texinfo commands, it's almost certain +% it will fail (although perhaps we could fix that with sufficient work +% to do a one-level expansion on the result, instead of complete). +% +\def\expandablevalue#1{% + \expandafter\ifx\csname SET#1\endcsname\relax + {[No value for ``#1'']}% + \message{Variable `#1', used in @value, is not set.}% + \else + \csname SET#1\endcsname + \fi +} + +% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined +% with @set. +% +% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +\makecond{ifset} +\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} +\def\doifset#1#2{% + {% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname SET#2\endcsname\relax + #1% If not set, redefine \next. + \fi + \expandafter + }\next +} +\def\ifsetfail{\doignore{ifset}} + +% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% defined with @set, or has been undefined with @clear. +% +% The `\else' inside the `\doifset' parameter is a trick to reuse the +% above code: if the variable is not set, do nothing, if it is set, +% then redefine \next to \ifclearfail. +% +\makecond{ifclear} +\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} +\def\ifclearfail{\doignore{ifclear}} + +% @dircategory CATEGORY -- specify a category of the dir file +% which this file should belong to. Ignore this in TeX. +\let\dircategory=\comment + +% @defininfoenclose. +\let\definfoenclose=\comment + + +\message{indexing,} +% Index generation facilities + +% Define \newwrite to be identical to plain tex's \newwrite +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} + +% \newindex {foo} defines an index named foo. +% It automatically defines \fooindex such that +% \fooindex ...rest of line... puts an entry in the index foo. +% It also defines \fooindfile to be the number of the output channel for +% the file that accumulates this index. The file's extension is foo. +% The name of an index should be no more than 2 characters long +% for the sake of vms. +% +\def\newindex#1{% + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 % Open the file + \fi + \expandafter\xdef\csname#1index\endcsname{% % Define @#1index + \noexpand\doindex{#1}} +} + +% @defindex foo == \newindex{foo} +% +\def\defindex{\parsearg\newindex} + +% Define @defcodeindex, like @defindex except put all entries in @code. +% +\def\defcodeindex{\parsearg\newcodeindex} +% +\def\newcodeindex#1{% + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 + \fi + \expandafter\xdef\csname#1index\endcsname{% + \noexpand\docodeindex{#1}}% +} + + +% @synindex foo bar makes index foo feed into index bar. +% Do this instead of @defindex foo if you don't want it as a separate index. +% +% @syncodeindex foo bar similar, but put all entries made for index foo +% inside @code. +% +\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} +\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} + +% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), +% #3 the target index (bar). +\def\dosynindex#1#2#3{% + % Only do \closeout if we haven't already done it, else we'll end up + % closing the target index. + \expandafter \ifx\csname donesynindex#2\endcsname \undefined + % The \closeout helps reduce unnecessary open files; the limit on the + % Acorn RISC OS is a mere 16 files. + \expandafter\closeout\csname#2indfile\endcsname + \expandafter\let\csname\donesynindex#2\endcsname = 1 + \fi + % redefine \fooindfile: + \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname + \expandafter\let\csname#2indfile\endcsname=\temp + % redefine \fooindex: + \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% +} + +% Define \doindex, the driver for all \fooindex macros. +% Argument #1 is generated by the calling \fooindex macro, +% and it is "foo", the name of the index. + +% \doindex just uses \parsearg; it calls \doind for the actual work. +% This is because \doind is more useful to call from other macros. + +% There is also \dosubind {index}{topic}{subtopic} +% which makes an entry in a two-level index such as the operation index. + +\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} +\def\singleindexer #1{\doind{\indexname}{#1}} + +% like the previous two, but they put @code around the argument. +\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} +\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} + +% Take care of Texinfo commands that can appear in an index entry. +% Since there are some commands we want to expand, and others we don't, +% we have to laboriously prevent expansion for those that we don't. +% +\def\indexdummies{% + \escapechar = `\\ % use backslash in output files. + \def\@{@}% change to @@ when we switch to @ as escape char in index files. + \def\ {\realbackslash\space }% + % Need these in case \tex is in effect and \{ is a \delimiter again. + % But can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. + \let\{ = \mylbrace + \let\} = \myrbrace + % + % Do the redefinitions. + \commondummies +} + +% For the aux and toc files, @ is the escape character. So we want to +% redefine everything using @ as the escape character (instead of +% \realbackslash, still used for index files). When everything uses @, +% this will be simpler. +% +\def\atdummies{% + \def\@{@@}% + \def\ {@ }% + \let\{ = \lbraceatcmd + \let\} = \rbraceatcmd + % + % Do the redefinitions. + \commondummies +} + +% Called from \indexdummies and \atdummies. +% +\def\commondummies{% + % + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % preventing its expansion. This is used only for control% words, + % not control letters, because the \space would be incorrect for + % control characters, but is needed to separate the control word + % from whatever follows. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword ##1{\def##1{\string##1\space}}% + \def\definedummyletter##1{\def##1{\string##1}}% + \let\definedummyaccent\definedummyletter + % + \commondummiesnofonts + % + \definedummyletter\_% + % + % Non-English letters. + \definedummyword\AA + \definedummyword\AE + \definedummyword\L + \definedummyword\OE + \definedummyword\O + \definedummyword\aa + \definedummyword\ae + \definedummyword\l + \definedummyword\oe + \definedummyword\o + \definedummyword\ss + \definedummyword\exclamdown + \definedummyword\questiondown + \definedummyword\ordf + \definedummyword\ordm + % + % Although these internal commands shouldn't show up, sometimes they do. + \definedummyword\bf + \definedummyword\gtr + \definedummyword\hat + \definedummyword\less + \definedummyword\sf + \definedummyword\sl + \definedummyword\tclose + \definedummyword\tt + % + \definedummyword\LaTeX + \definedummyword\TeX + % + % Assorted special characters. + \definedummyword\bullet + \definedummyword\comma + \definedummyword\copyright + \definedummyword\registeredsymbol + \definedummyword\dots + \definedummyword\enddots + \definedummyword\equiv + \definedummyword\error + \definedummyword\euro + \definedummyword\expansion + \definedummyword\minus + \definedummyword\pounds + \definedummyword\point + \definedummyword\print + \definedummyword\result + % + % We want to disable all macros so that they are not expanded by \write. + \macrolist + % + \normalturnoffactive + % + % Handle some cases of @value -- where it does not contain any + % (non-fully-expandable) commands. + \makevalueexpandable +} + +% \commondummiesnofonts: common to \commondummies and \indexnofonts. +% +% Better have this without active chars. +{ + \catcode`\~=\other + \gdef\commondummiesnofonts{% + % Control letters and accents. + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless + % + % Texinfo font commands. + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sc + \definedummyword\t + % + % Commands that take arguments. + \definedummyword\acronym + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w + } +} + +% \indexnofonts is used when outputting the strings to sort the index +% by, and when constructing control sequence names. It eliminates all +% control sequences and just writes whatever the best ASCII sort string +% would be for a given command (usually its argument). +% +\def\indexnofonts{% + % Accent commands should become @asis. + \def\definedummyaccent##1{\let##1\asis}% + % We can just ignore other control letters. + \def\definedummyletter##1{\let##1\empty}% + % Hopefully, all control words can become @asis. + \let\definedummyword\definedummyaccent + % + \commondummiesnofonts + % + % Don't no-op \tt, since it isn't a user-level command + % and is used in the definitions of the active chars like <, >, |, etc. + % Likewise with the other plain tex font commands. + %\let\tt=\asis + % + \def\ { }% + \def\@{@}% + % how to handle braces? + \def\_{\normalunderscore}% + % + % Non-English letters. + \def\AA{AA}% + \def\AE{AE}% + \def\L{L}% + \def\OE{OE}% + \def\O{O}% + \def\aa{aa}% + \def\ae{ae}% + \def\l{l}% + \def\oe{oe}% + \def\o{o}% + \def\ss{ss}% + \def\exclamdown{!}% + \def\questiondown{?}% + \def\ordf{a}% + \def\ordm{o}% + % + \def\LaTeX{LaTeX}% + \def\TeX{TeX}% + % + % Assorted special characters. + % (The following {} will end up in the sort string, but that's ok.) + \def\bullet{bullet}% + \def\comma{,}% + \def\copyright{copyright}% + \def\registeredsymbol{R}% + \def\dots{...}% + \def\enddots{...}% + \def\equiv{==}% + \def\error{error}% + \def\euro{euro}% + \def\expansion{==>}% + \def\minus{-}% + \def\pounds{pounds}% + \def\point{.}% + \def\print{-|}% + \def\result{=>}% + % + % We need to get rid of all macros, leaving only the arguments (if present). + % Of course this is not nearly correct, but it is the best we can do for now. + % makeinfo does not expand macros in the argument to @deffn, which ends up + % writing an index entry, and texindex isn't prepared for an index sort entry + % that starts with \. + % + % Since macro invocations are followed by braces, we can just redefine them + % to take a single TeX argument. The case of a macro invocation that + % goes to end-of-line is not handled. + % + \macrolist +} + +\let\indexbackslash=0 %overridden during \printindex. +\let\SETmarginindex=\relax % put index entries in margin (undocumented)? + +% Most index entries go through here, but \dosubind is the general case. +% #1 is the index name, #2 is the entry text. +\def\doind#1#2{\dosubind{#1}{#2}{}} + +% Workhorse for all \fooindexes. +% #1 is name of index, #2 is stuff to put there, #3 is subentry -- +% empty if called from \doind, as we usually are (the main exception +% is with most defuns, which call us directly). +% +\def\dosubind#1#2#3{% + \iflinks + {% + % Store the main index entry text (including the third arg). + \toks0 = {#2}% + % If third arg is present, precede it with a space. + \def\thirdarg{#3}% + \ifx\thirdarg\empty \else + \toks0 = \expandafter{\the\toks0 \space #3}% + \fi + % + \edef\writeto{\csname#1indfile\endcsname}% + % + \ifvmode + \dosubindsanitize + \else + \dosubindwrite + \fi + }% + \fi +} + +% Write the entry in \toks0 to the index file: +% +\def\dosubindwrite{% + % Put the index entry in the margin if desired. + \ifx\SETmarginindex\relax\else + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% + \fi + % + % Remember, we are within a group. + \indexdummies % Must do this here, since \bf, etc expand at this stage + \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now + % so it will be output as is; and it will print as backslash. + % + % Process the index entry with all font commands turned off, to + % get the string to sort by. + {\indexnofonts + \edef\temp{\the\toks0}% need full expansion + \xdef\indexsorttmp{\temp}% + }% + % + % Set up the complete index entry, with both the sort key and + % the original text, including any font commands. We write + % three arguments to \entry to the .?? file (four in the + % subentry case), texindex reduces to two when writing the .??s + % sorted result. + \edef\temp{% + \write\writeto{% + \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% + }% + \temp +} + +% Take care of unwanted page breaks: +% +% If a skip is the last thing on the list now, preserve it +% by backing up by \lastskip, doing the \write, then inserting +% the skip again. Otherwise, the whatsit generated by the +% \write will make \lastskip zero. The result is that sequences +% like this: +% @end defun +% @tindex whatever +% @defun ... +% will have extra space inserted, because the \medbreak in the +% start of the @defun won't see the skip inserted by the @end of +% the previous defun. +% +% But don't do any of this if we're not in vertical mode. We +% don't want to do a \vskip and prematurely end a paragraph. +% +% Avoid page breaks due to these extra skips, too. +% +% But wait, there is a catch there: +% We'll have to check whether \lastskip is zero skip. \ifdim is not +% sufficient for this purpose, as it ignores stretch and shrink parts +% of the skip. The only way seems to be to check the textual +% representation of the skip. +% +% The following is almost like \def\zeroskipmacro{0.0pt} except that +% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). +% +\edef\zeroskipmacro{\expandafter\the\csname z at skip\endcsname} +% +% ..., ready, GO: +% +\def\dosubindsanitize{% + % \lastskip and \lastpenalty cannot both be nonzero simultaneously. + \skip0 = \lastskip + \edef\lastskipmacro{\the\lastskip}% + \count255 = \lastpenalty + % + % If \lastskip is nonzero, that means the last item was a + % skip. And since a skip is discardable, that means this + % -\skip0 glue we're inserting is preceded by a + % non-discardable item, therefore it is not a potential + % breakpoint, therefore no \nobreak needed. + \ifx\lastskipmacro\zeroskipmacro + \else + \vskip-\skip0 + \fi + % + \dosubindwrite + % + \ifx\lastskipmacro\zeroskipmacro + % If \lastskip was zero, perhaps the last item was a penalty, and + % perhaps it was >=10000, e.g., a \nobreak. In that case, we want + % to re-insert the same penalty (values >10000 are used for various + % signals); since we just inserted a non-discardable item, any + % following glue (such as a \parskip) would be a breakpoint. For example: + % + % @deffn deffn-whatever + % @vindex index-whatever + % Description. + % would allow a break between the index-whatever whatsit + % and the "Description." paragraph. + \ifnum\count255>9999 \penalty\count255 \fi + \else + % On the other hand, if we had a nonzero \lastskip, + % this make-up glue would be preceded by a non-discardable item + % (the whatsit from the \write), so we must insert a \nobreak. + \nobreak\vskip\skip0 + \fi +} + +% The index entry written in the file actually looks like +% \entry {sortstring}{page}{topic} +% or +% \entry {sortstring}{page}{topic}{subtopic} +% The texindex program reads in these files and writes files +% containing these kinds of lines: +% \initial {c} +% before the first topic whose initial is c +% \entry {topic}{pagelist} +% for a topic that is used without subtopics +% \primary {topic} +% for the beginning of a topic that is used with subtopics +% \secondary {subtopic}{pagelist} +% for each subtopic. + +% Define the user-accessible indexing commands +% @findex, @vindex, @kindex, @cindex. + +\def\findex {\fnindex} +\def\kindex {\kyindex} +\def\cindex {\cpindex} +\def\vindex {\vrindex} +\def\tindex {\tpindex} +\def\pindex {\pgindex} + +\def\cindexsub {\begingroup\obeylines\cindexsub} +{\obeylines % +\gdef\cindexsub "#1" #2^^M{\endgroup % +\dosubind{cp}{#2}{#1}}} + +% Define the macros used in formatting output of the sorted index material. + +% @printindex causes a particular index (the ??s file) to get printed. +% It does not print any chapter heading (usually an @unnumbered). +% +\parseargdef\printindex{\begingroup + \dobreak \chapheadingskip{10000}% + % + \smallfonts \rm + \tolerance = 9500 + \everypar = {}% don't want the \kern\-parindent from indentation suppression. + % + % See if the index file exists and is nonempty. + % Change catcode of @ here so that if the index file contains + % \initial {@} + % as its first line, TeX doesn't complain about mismatched braces + % (because it thinks @} is a control sequence). + \catcode`\@ = 11 + \openin 1 \jobname.#1s + \ifeof 1 + % \enddoublecolumns gets confused if there is no text in the index, + % and it loses the chapter title and the aux file entries for the + % index. The easiest way to prevent this problem is to make sure + % there is some text. + \putwordIndexNonexistent + \else + % + % If the index file exists but is empty, then \openin leaves \ifeof + % false. We have to make TeX try to read something from the file, so + % it can discover if there is anything in it. + \read 1 to \temp + \ifeof 1 + \putwordIndexIsEmpty + \else + % Index files are almost Texinfo source, but we use \ as the escape + % character. It would be better to use @, but that's too big a change + % to make right now. + \def\indexbackslash{\backslashcurfont}% + \catcode`\\ = 0 + \escapechar = `\\ + \begindoublecolumns + \input \jobname.#1s + \enddoublecolumns + \fi + \fi + \closein 1 +\endgroup} + +% These macros are used by the sorted index file itself. +% Change them to control the appearance of the index. + +\def\initial#1{{% + % Some minor font changes for the special characters. + \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt + % + % Remove any glue we may have, we'll be inserting our own. + \removelastskip + % + % We like breaks before the index initials, so insert a bonus. + \nobreak + \vskip 0pt plus 3\baselineskip + \penalty 0 + \vskip 0pt plus -3\baselineskip + % + % Typeset the initial. Making this add up to a whole number of + % baselineskips increases the chance of the dots lining up from column + % to column. It still won't often be perfect, because of the stretch + % we need before each entry, but it's better. + % + % No shrink because it confuses \balancecolumns. + \vskip 1.67\baselineskip plus .5\baselineskip + \leftline{\secbf #1}% + % Do our best not to break after the initial. + \nobreak + \vskip .33\baselineskip plus .1\baselineskip +}} + +% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +% then page number (#2) flushed to the right margin. It is used for index +% and table of contents entries. The paragraph is indented by \leftskip. +% +% A straightforward implementation would start like this: +% \def\entry#1#2{... +% But this frozes the catcodes in the argument, and can cause problems to +% @code, which sets - active. This problem was fixed by a kludge--- +% ``-'' was active throughout whole index, but this isn't really right. +% +% The right solution is to prevent \entry from swallowing the whole text. +% --kasal, 21nov03 +\def\entry{% + \begingroup + % + % Start a new paragraph if necessary, so our assignments below can't + % affect previous text. + \par + % + % Do not fill out the last line with white space. + \parfillskip = 0in + % + % No extra space above this paragraph. + \parskip = 0in + % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % \hangindent is only relevant when the entry text and page number + % don't both fit on one line. In that case, bob suggests starting the + % dots pretty far over on the line. Unfortunately, a large + % indentation looks wrong when the entry text itself is broken across + % lines. So we use a small indentation and put up with long leaders. + % + % \hangafter is reset to 1 (which is the value we want) at the start + % of each paragraph, so we need not do anything with that. + \hangindent = 2em + % + % When the entry text needs to be broken, just fill out the first line + % with blank space. + \rightskip = 0pt plus1fil + % + % A bit of stretch before each entry for the benefit of balancing + % columns. + \vskip 0pt plus1pt + % + % Swallow the left brace of the text (first parameter): + \afterassignment\doentry + \let\temp = +} +\def\doentry{% + \bgroup % Instead of the swallowed brace. + \noindent + \aftergroup\finishentry + % And now comes the text of the entry. +} +\def\finishentry#1{% + % #1 is the page number. + % + % The following is kludged to not output a line of dots in the index if + % there are no page numbers. The next person who breaks this will be + % cursed by a Unix daemon. + \def\tempa{{\rm }}% + \def\tempb{#1}% + \edef\tempc{\tempa}% + \edef\tempd{\tempb}% + \ifx\tempc\tempd + \ % + \else + % + % If we must, put the page number on a line of its own, and fill out + % this line with blank space. (The \hfil is overwhelmed with the + % fill leaders glue in \indexdotfill if the page number does fit.) + \hfil\penalty50 + \null\nobreak\indexdotfill % Have leaders before the page number. + % + % The `\ ' here is removed by the implicit \unskip that TeX does as + % part of (the primitive) \par. Without it, a spurious underfull + % \hbox ensues. + \ifpdf + \pdfgettoks#1.% + \ \the\toksA + \else + \ #1% + \fi + \fi + \par + \endgroup +} + +% Like \dotfill except takes at least 1 em. +\def\indexdotfill{\cleaders + \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} + +\def\primary #1{\line{#1\hfil}} + +\newskip\secondaryindent \secondaryindent=0.5cm +\def\secondary#1#2{{% + \parfillskip=0in + \parskip=0in + \hangindent=1in + \hangafter=1 + \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill + \ifpdf + \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. + \else + #2 + \fi + \par +}} + +% Define two-column mode, which we use to typeset indexes. +% Adapted from the TeXbook, page 416, which is to say, +% the manmac.tex format used to print the TeXbook itself. +\catcode`\@=11 + +\newbox\partialpage +\newdimen\doublecolumnhsize + +\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns + % Grab any single-column material above us. + \output = {% + % + % Here is a possibility not foreseen in manmac: if we accumulate a + % whole lot of material, we might end up calling this \output + % routine twice in a row (see the doublecol-lose test, which is + % essentially a couple of indexes with @setchapternewpage off). In + % that case we just ship out what is in \partialpage with the normal + % output routine. Generally, \partialpage will be empty when this + % runs and this will be a no-op. See the indexspread.tex test case. + \ifvoid\partialpage \else + \onepageout{\pagecontents\partialpage}% + \fi + % + \global\setbox\partialpage = \vbox{% + % Unvbox the main output page. + \unvbox\PAGE + \kern-\topskip \kern\baselineskip + }% + }% + \eject % run that output routine to set \partialpage + % + % Use the double-column output routine for subsequent pages. + \output = {\doublecolumnout}% + % + % Change the page size parameters. We could do this once outside this + % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 + % format, but then we repeat the same computation. Repeating a couple + % of assignments once per index is clearly meaningless for the + % execution time, so we may as well do it in one place. + % + % First we halve the line length, less a little for the gutter between + % the columns. We compute the gutter based on the line length, so it + % changes automatically with the paper format. The magic constant + % below is chosen so that the gutter has the same value (well, +-<1pt) + % as it did when we hard-coded it. + % + % We put the result in a separate register, \doublecolumhsize, so we + % can restore it in \pagesofar, after \hsize itself has (potentially) + % been clobbered. + % + \doublecolumnhsize = \hsize + \advance\doublecolumnhsize by -.04154\hsize + \divide\doublecolumnhsize by 2 + \hsize = \doublecolumnhsize + % + % Double the \vsize as well. (We don't need a separate register here, + % since nobody clobbers \vsize.) + \vsize = 2\vsize +} + +% The double-column output routine for all double-column pages except +% the last. +% +\def\doublecolumnout{% + \splittopskip=\topskip \splitmaxdepth=\maxdepth + % Get the available space for the double columns -- the normal + % (undoubled) page height minus any material left over from the + % previous page. + \dimen@ = \vsize + \divide\dimen@ by 2 + \advance\dimen@ by -\ht\partialpage + % + % box0 will be the left-hand column, box2 the right. + \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ + \onepageout\pagesofar + \unvbox255 + \penalty\outputpenalty +} +% +% Re-output the contents of the output page -- any previous material, +% followed by the two boxes we just split, in box0 and box2. +\def\pagesofar{% + \unvbox\partialpage + % + \hsize = \doublecolumnhsize + \wd0=\hsize \wd2=\hsize + \hbox to\pagewidth{\box0\hfil\box2}% +} +% +% All done with double columns. +\def\enddoublecolumns{% + \output = {% + % Split the last of the double-column material. Leave it on the + % current page, no automatic page break. + \balancecolumns + % + % If we end up splitting too much material for the current page, + % though, there will be another page break right after this \output + % invocation ends. Having called \balancecolumns once, we do not + % want to call it again. Therefore, reset \output to its normal + % definition right away. (We hope \balancecolumns will never be + % called on to balance too much material, but if it is, this makes + % the output somewhat more palatable.) + \global\output = {\onepageout{\pagecontents\PAGE}}% + }% + \eject + \endgroup % started in \begindoublecolumns + % + % \pagegoal was set to the doubled \vsize above, since we restarted + % the current page. We're now back to normal single-column + % typesetting, so reset \pagegoal to the normal \vsize (after the + % \endgroup where \vsize got restored). + \pagegoal = \vsize +} +% +% Called at the end of the double column material. +\def\balancecolumns{% + \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. + \dimen@ = \ht0 + \advance\dimen@ by \topskip + \advance\dimen@ by-\baselineskip + \divide\dimen@ by 2 % target to split to + %debug\message{final 2-column material height=\the\ht0, target=\the\dimen at .}% + \splittopskip = \topskip + % Loop until we get a decent breakpoint. + {% + \vbadness = 10000 + \loop + \global\setbox3 = \copy0 + \global\setbox1 = \vsplit3 to \dimen@ + \ifdim\ht3>\dimen@ + \global\advance\dimen@ by 1pt + \repeat + }% + %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% + \setbox0=\vbox to\dimen@{\unvbox1}% + \setbox2=\vbox to\dimen@{\unvbox3}% + % + \pagesofar +} +\catcode`\@ = \other + + +\message{sectioning,} +% Chapters, sections, etc. + +% \unnumberedno is an oxymoron, of course. But we count the unnumbered +% sections so that we can refer to them unambiguously in the pdf +% outlines by their "section number". We avoid collisions with chapter +% numbers by starting them at 10000. (If a document ever has 10000 +% chapters, we're in trouble anyway, I'm sure.) +\newcount\unnumberedno \unnumberedno = 10000 +\newcount\chapno +\newcount\secno \secno=0 +\newcount\subsecno \subsecno=0 +\newcount\subsubsecno \subsubsecno=0 + +% This counter is funny since it counts through charcodes of letters A, B, ... +\newcount\appendixno \appendixno = `\@ +% +% \def\appendixletter{\char\the\appendixno} +% We do the following ugly conditional instead of the above simple +% construct for the sake of pdftex, which needs the actual +% letter in the expansion, not just typeset. +% +\def\appendixletter{% + \ifnum\appendixno=`A A% + \else\ifnum\appendixno=`B B% + \else\ifnum\appendixno=`C C% + \else\ifnum\appendixno=`D D% + \else\ifnum\appendixno=`E E% + \else\ifnum\appendixno=`F F% + \else\ifnum\appendixno=`G G% + \else\ifnum\appendixno=`H H% + \else\ifnum\appendixno=`I I% + \else\ifnum\appendixno=`J J% + \else\ifnum\appendixno=`K K% + \else\ifnum\appendixno=`L L% + \else\ifnum\appendixno=`M M% + \else\ifnum\appendixno=`N N% + \else\ifnum\appendixno=`O O% + \else\ifnum\appendixno=`P P% + \else\ifnum\appendixno=`Q Q% + \else\ifnum\appendixno=`R R% + \else\ifnum\appendixno=`S S% + \else\ifnum\appendixno=`T T% + \else\ifnum\appendixno=`U U% + \else\ifnum\appendixno=`V V% + \else\ifnum\appendixno=`W W% + \else\ifnum\appendixno=`X X% + \else\ifnum\appendixno=`Y Y% + \else\ifnum\appendixno=`Z Z% + % The \the is necessary, despite appearances, because \appendixletter is + % expanded while writing the .toc file. \char\appendixno is not + % expandable, thus it is written literally, thus all appendixes come out + % with the same letter (or @) in the toc without it. + \else\char\the\appendixno + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + +% Each @chapter defines this as the name of the chapter. +% page headings and footings can use it. @section does likewise. +% However, they are not reliable, because we don't use marks. +\def\thischapter{} +\def\thissection{} + +\newcount\absseclevel % used to calculate proper heading level +\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count + +% @raisesections: treat @section as chapter, @subsection as section, etc. +\def\raisesections{\global\advance\secbase by -1} +\let\up=\raisesections % original BFox name + +% @lowersections: treat @chapter as section, @section as subsection, etc. +\def\lowersections{\global\advance\secbase by 1} +\let\down=\lowersections % original BFox name + +% we only have subsub. +\chardef\maxseclevel = 3 +% +% A numbered section within an unnumbered changes to unnumbered too. +% To achive this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unmlevel = \maxseclevel +% +% Trace whether the current chapter is an appendix or not: +% \chapheadtype is "N" or "A", unnumbered chapters are ignored. +\def\chapheadtype{N} + +% Choose a heading macro +% #1 is heading type +% #2 is heading level +% #3 is text for heading +\def\genhead#1#2#3{% + % Compute the abs. sec. level: + \absseclevel=#2 + \advance\absseclevel by \secbase + % Make sure \absseclevel doesn't fall outside the range: + \ifnum \absseclevel < 0 + \absseclevel = 0 + \else + \ifnum \absseclevel > 3 + \absseclevel = 3 + \fi + \fi + % The heading type: + \def\headtype{#1}% + \if \headtype U% + \ifnum \absseclevel < \unmlevel + \chardef\unmlevel = \absseclevel + \fi + \else + % Check for appendix sections: + \ifnum \absseclevel = 0 + \edef\chapheadtype{\headtype}% + \else + \if \headtype A\if \chapheadtype N% + \errmessage{@appendix... within a non-appendix chapter}% + \fi\fi + \fi + % Check for numbered within unnumbered: + \ifnum \absseclevel > \unmlevel + \def\headtype{U}% + \else + \chardef\unmlevel = 3 + \fi + \fi + % Now print the heading: + \if \headtype U% + \ifcase\absseclevel + \unnumberedzzz{#3}% + \or \unnumberedseczzz{#3}% + \or \unnumberedsubseczzz{#3}% + \or \unnumberedsubsubseczzz{#3}% + \fi + \else + \if \headtype A% + \ifcase\absseclevel + \appendixzzz{#3}% + \or \appendixsectionzzz{#3}% + \or \appendixsubseczzz{#3}% + \or \appendixsubsubseczzz{#3}% + \fi + \else + \ifcase\absseclevel + \chapterzzz{#3}% + \or \seczzz{#3}% + \or \numberedsubseczzz{#3}% + \or \numberedsubsubseczzz{#3}% + \fi + \fi + \fi + \suppressfirstparagraphindent +} + +% an interface: +\def\numhead{\genhead N} +\def\apphead{\genhead A} +\def\unnmhead{\genhead U} + +% @chapter, @appendix, @unnumbered. Increment top-level counter, reset +% all lower-level sectioning counters to zero. +% +% Also set \chaplevelprefix, which we prepend to @float sequence numbers +% (e.g., figures), q.v. By default (before any chapter), that is empty. +\let\chaplevelprefix = \empty +% +\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz +\def\chapterzzz#1{% + % section resetting is \global in case the chapter is in a group, such + % as an @include file. + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\chapno by 1 + % + % Used for \float. + \gdef\chaplevelprefix{\the\chapno.}% + \resetallfloatnos + % + \message{\putwordChapter\space \the\chapno}% + % + % Write the actual heading. + \chapmacro{#1}{Ynumbered}{\the\chapno}% + % + % So @section and the like are numbered underneath this chapter. + \global\let\section = \numberedsec + \global\let\subsection = \numberedsubsec + \global\let\subsubsection = \numberedsubsubsec +} + +\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\def\appendixzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\appendixno by 1 + \gdef\chaplevelprefix{\appendixletter.}% + \resetallfloatnos + % + \def\appendixnum{\putwordAppendix\space \appendixletter}% + \message{\appendixnum}% + % + \chapmacro{#1}{Yappendix}{\appendixletter}% + % + \global\let\section = \appendixsec + \global\let\subsection = \appendixsubsec + \global\let\subsubsection = \appendixsubsubsec +} + +\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz +\def\unnumberedzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\unnumberedno by 1 + % + % Since an unnumbered has no number, no prefix for figures. + \global\let\chaplevelprefix = \empty + \resetallfloatnos + % + % This used to be simply \message{#1}, but TeX fully expands the + % argument to \message. Therefore, if #1 contained @-commands, TeX + % expanded them. For example, in `@unnumbered The @cite{Book}', TeX + % expanded @cite (which turns out to cause errors because \cite is meant + % to be executed, not expanded). + % + % Anyway, we don't want the fully-expanded definition of @cite to appear + % as a result of the \message, we just want `@cite' itself. We use + % \the to achieve this: TeX expands \the only once, + % simply yielding the contents of . (We also do this for + % the toc entries.) + \toks0 = {#1}% + \message{(\the\toks0)}% + % + \chapmacro{#1}{Ynothing}{\the\unnumberedno}% + % + \global\let\section = \unnumberedsec + \global\let\subsection = \unnumberedsubsec + \global\let\subsubsection = \unnumberedsubsubsec +} + +% @centerchap is like @unnumbered, but the heading is centered. +\outer\parseargdef\centerchap{% + % Well, we could do the following in a group, but that would break + % an assumption that \chapmacro is called at the outermost level. + % Thus we are safer this way: --kasal, 24feb04 + \let\centerparametersmaybe = \centerparameters + \unnmhead0{#1}% + \let\centerparametersmaybe = \relax +} + +% @top is like @unnumbered. +\let\top\unnumbered + +% Sections. +\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz +\def\seczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% +} + +\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz +\def\appendixsectionzzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% +} +\let\appendixsec\appendixsection + +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz +\def\unnumberedseczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% +} + +% Subsections. +\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz +\def\numberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% +} + +\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz +\def\appendixsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno}% +} + +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz +\def\unnumberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno}% +} + +% Subsubsections. +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz +\def\numberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynumbered}% + {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz +\def\appendixsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz +\def\unnumberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +% These macros control what the section commands do, according +% to what kind of chapter we are in (ordinary, appendix, or unnumbered). +% Define them by default for a numbered chapter. +\let\section = \numberedsec +\let\subsection = \numberedsubsec +\let\subsubsection = \numberedsubsubsec + +% Define @majorheading, @heading and @subheading + +% NOTE on use of \vbox for chapter headings, section headings, and such: +% 1) We use \vbox rather than the earlier \line to permit +% overlong headings to fold. +% 2) \hyphenpenalty is set to 10000 because hyphenation in a +% heading is obnoxious; this forbids it. +% 3) Likewise, headings look best if no \parindent is used, and +% if justification is not attempted. Hence \raggedright. + + +\def\majorheading{% + {\advance\chapheadingskip by 10pt \chapbreak }% + \parsearg\chapheadingzzz +} + +\def\chapheading{\chapbreak \parsearg\chapheadingzzz} +\def\chapheadingzzz#1{% + {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}% + \bigskip \par\penalty 200\relax + \suppressfirstparagraphindent +} + +% @heading, @subheading, @subsubheading. +\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} + +% These macros generate a chapter, section, etc. heading only +% (including whitespace, linebreaking, etc. around it), +% given all the information in convenient, parsed form. + +%%% Args are the skip and penalty (usually negative) +\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} + +%%% Define plain chapter starts, and page on/off switching for it +% Parameter controlling skip before chapter headings (if needed) + +\newskip\chapheadingskip + +\def\chapbreak{\dobreak \chapheadingskip {-4000}} +\def\chappager{\par\vfill\supereject} +\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} + +\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} + +\def\CHAPPAGoff{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chapbreak +\global\let\pagealignmacro=\chappager} + +\def\CHAPPAGon{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chappager +\global\let\pagealignmacro=\chappager +\global\def\HEADINGSon{\HEADINGSsingle}} + +\def\CHAPPAGodd{% +\global\let\contentsalignmacro = \chapoddpage +\global\let\pchapsepmacro=\chapoddpage +\global\let\pagealignmacro=\chapoddpage +\global\def\HEADINGSon{\HEADINGSdouble}} + +\CHAPPAGon + +% Chapter opening. +% +% #1 is the text, #2 is the section type (Ynumbered, Ynothing, +% Yappendix, Yomitfromtoc), #3 the chapter number. +% +% To test against our argument. +\def\Ynothingkeyword{Ynothing} +\def\Yomitfromtockeyword{Yomitfromtoc} +\def\Yappendixkeyword{Yappendix} +% +\def\chapmacro#1#2#3{% + \pchapsepmacro + {% + \chapfonts \rm + % + % Have to define \thissection before calling \donoderef, because the + % xref code eventually uses it. On the other hand, it has to be called + % after \pchapsepmacro, or the headline will change too soon. + \gdef\thissection{#1}% + \gdef\thischaptername{#1}% + % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unnchap}% + \gdef\thischapter{#1}% + \else\ifx\temptype\Yomitfromtockeyword + \setbox0 = \hbox{}% contents like unnumbered, but no toc entry + \def\toctype{omit}% + \gdef\thischapter{}% + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% + \def\toctype{app}% + % We don't substitute the actual chapter name into \thischapter + % because we don't want its macros evaluated now. And we don't + % use \thissection because that changes with each section. + % + \xdef\thischapter{\putwordAppendix{} \appendixletter: + \noexpand\thischaptername}% + \else + \setbox0 = \hbox{#3\enspace}% + \def\toctype{numchap}% + \xdef\thischapter{\putwordChapter{} \the\chapno: + \noexpand\thischaptername}% + \fi\fi\fi + % + % Write the toc entry for this chapter. Must come before the + % \donoderef, because we include the current node name in the toc + % entry, and \donoderef resets it to empty. + \writetocentry{\toctype}{#1}{#3}% + % + % For pdftex, we have to write out the node definition (aka, make + % the pdfdest) after any page break, but before the actual text has + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. + \donoderef{#2}% + % + % Typeset the actual heading. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \hangindent=\wd0 \centerparametersmaybe + \unhbox0 #1\par}% + }% + \nobreak\bigskip % no page break after a chapter title + \nobreak +} + +% @centerchap -- centered and unnumbered. +\let\centerparametersmaybe = \relax +\def\centerparameters{% + \advance\rightskip by 3\rightskip + \leftskip = \rightskip + \parfillskip = 0pt +} + + +% I don't think this chapter style is supported any more, so I'm not +% updating it with the new noderef stuff. We'll see. --karl, 11aug03. +% +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} +% +\def\unnchfopen #1{% +\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}\bigskip \par\nobreak +} +\def\chfopen #1#2{\chapoddpage {\chapfonts +\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% +\par\penalty 5000 % +} +\def\centerchfopen #1{% +\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt + \hfill {\rm #1}\hfill}}\bigskip \par\nobreak +} +\def\CHAPFopen{% + \global\let\chapmacro=\chfopen + \global\let\centerchapmacro=\centerchfopen} + + +% Section titles. These macros combine the section number parts and +% call the generic \sectionheading to do the printing. +% +\newskip\secheadingskip +\def\secheadingbreak{\dobreak \secheadingskip{-1000}} + +% Subsection titles. +\newskip\subsecheadingskip +\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} + +% Subsubsection titles. +\def\subsubsecheadingskip{\subsecheadingskip} +\def\subsubsecheadingbreak{\subsecheadingbreak} + + +% Print any size, any type, section title. +% +% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is +% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the +% section number. +% +\def\sectionheading#1#2#3#4{% + {% + % Switch to the right set of fonts. + \csname #2fonts\endcsname \rm + % + % Insert space above the heading. + \csname #2headingbreak\endcsname + % + % Only insert the space after the number if we have a section number. + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% + \gdef\thissection{#1}% + \else\ifx\temptype\Yomitfromtockeyword + % for @headings -- no section number, don't include in toc, + % and don't redefine \thissection. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% + \gdef\thissection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% + \gdef\thissection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chfplain. + \writetocentry{\toctype\sectionlevel}{#1}{#4}% + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chfplain. + \donoderef{#3}% + % + % Output the actual section heading. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \hangindent=\wd0 % zero if no section number + \unhbox0 #1}% + }% + % Add extra space after the heading -- half of whatever came above it. + % Don't allow stretch, though. + \kern .5 \csname #2headingskip\endcsname + % + % Do not let the kern be a potential breakpoint, as it would be if it + % was followed by glue. + \nobreak + % + % We'll almost certainly start a paragraph next, so don't let that + % glue accumulate. (Not a breakpoint because it's preceded by a + % discardable item.) + \vskip-\parskip + % + % This is purely so the last item on the list is a known \penalty > + % 10000. This is so \startdefun can avoid allowing breakpoints after + % section headings. Otherwise, it would insert a valid breakpoint between: + % + % @section sec-whatever + % @deffn def-whatever + \penalty 10001 +} + + +\message{toc,} +% Table of contents. +\newwrite\tocfile + +% Write an entry to the toc file, opening it if necessary. +% Called from @chapter, etc. +% +% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} +% We append the current node name (if any) and page number as additional +% arguments for the \{chap,sec,...}entry macros which will eventually +% read this. The node name is used in the pdf outlines as the +% destination to jump to. +% +% We open the .toc file for writing here instead of at @setfilename (or +% any other fixed time) so that @contents can be anywhere in the document. +% But if #1 is `omit', then we don't do anything. This is used for the +% table of contents chapter openings themselves. +% +\newif\iftocfileopened +\def\omitkeyword{omit}% +% +\def\writetocentry#1#2#3{% + \edef\writetoctype{#1}% + \ifx\writetoctype\omitkeyword \else + \iftocfileopened\else + \immediate\openout\tocfile = \jobname.toc + \global\tocfileopenedtrue + \fi + % + \iflinks + {\atdummies + \edef\temp{% + \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% + \temp + } + \fi + \fi + % + % Tell \shipout to create a pdf destination on each page, if we're + % writing pdf. These are used in the table of contents. We can't + % just write one on every page because the title pages are numbered + % 1 and 2 (the page numbers aren't printed), and so are the first + % two pages of the document. Thus, we'd have two destinations named + % `1', and two named `2'. + \ifpdf \global\pdfmakepagedesttrue \fi +} + + +% These characters do not print properly in the Computer Modern roman +% fonts, so we must take special care. This is more or less redundant +% with the Texinfo input format setup at the end of this file. +% +\def\activecatcodes{% + \catcode`\"=\active + \catcode`\$=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\\=\active + \catcode`\^=\active + \catcode`\_=\active + \catcode`\|=\active + \catcode`\~=\active +} + + +% Read the toc file, which is essentially Texinfo input. +\def\readtocfile{% + \setupdatafile + \activecatcodes + \input \jobname.toc +} + +\newskip\contentsrightmargin \contentsrightmargin=1in +\newcount\savepageno +\newcount\lastnegativepageno \lastnegativepageno = -1 + +% Prepare to read what we've written to \tocfile. +% +\def\startcontents#1{% + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. Thus, we maintain + % \contentsalignmacro in parallel with \pagealignmacro. + % From: Torbjorn Granlund + \contentsalignmacro + \immediate\closeout\tocfile + % + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \def\thischapter{}% + \chapmacro{#1}{Yomitfromtoc}{}% + % + \savepageno = \pageno + \begingroup % Set up to handle contents files properly. + \raggedbottom % Worry more about breakpoints than the bottom. + \advance\hsize by -\contentsrightmargin % Don't use the full line length. + % + % Roman numerals for page numbers. + \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi +} + + +% Normal (long) toc. +\def\contents{% + \startcontents{\putwordTOC}% + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \ifeof 1 \else + \pdfmakeoutlines + \fi + \closein 1 + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno +} + +% And just the chapters. +\def\summarycontents{% + \startcontents{\putwordShortTOC}% + % + \let\numchapentry = \shortchapentry + \let\appentry = \shortchapentry + \let\unnchapentry = \shortunnchapentry + % We want a true roman here for the page numbers. + \secfonts + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt + \rm + \hyphenpenalty = 10000 + \advance\baselineskip by 1pt % Open it up a little. + \def\numsecentry##1##2##3##4{} + \let\appsecentry = \numsecentry + \let\unnsecentry = \numsecentry + \let\numsubsecentry = \numsecentry + \let\appsubsecentry = \numsecentry + \let\unnsubsecentry = \numsecentry + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \closein 1 + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno +} +\let\shortcontents = \summarycontents + +% Typeset the label for a chapter or appendix for the short contents. +% The arg is, e.g., `A' for an appendix, or `3' for a chapter. +% +\def\shortchaplabel#1{% + % This space should be enough, since a single number is .5em, and the + % widest letter (M) is 1em, at least in the Computer Modern fonts. + % But use \hss just in case. + % (This space doesn't include the extra space that gets added after + % the label; that gets put in by \shortchapentry above.) + % + % We'd like to right-justify chapter numbers, but that looks strange + % with appendix letters. And right-justifying numbers and + % left-justifying letters looks strange when there is less than 10 + % chapters. Have to read the whole toc once to know how many chapters + % there are before deciding ... + \hbox to 1em{#1\hss}% +} + +% These macros generate individual entries in the table of contents. +% The first argument is the chapter or section name. +% The last argument is the page number. +% The arguments in between are the chapter number, section number, ... + +% Chapters, in the main contents. +\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} +% +% Chapters, in the short toc. +% See comments in \dochapentry re vbox and related settings. +\def\shortchapentry#1#2#3#4{% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% +} + +% Appendices, in the main contents. +% Need the word Appendix, and a fixed-size box. +% +\def\appendixbox#1{% + % We use M since it's probably the widest letter. + \setbox0 = \hbox{\putwordAppendix{} M}% + \hbox to \wd0{\putwordAppendix{} #1\hss}} +% +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} + +% Unnumbered chapters. +\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} +\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} + +% Sections. +\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} +\let\appsecentry=\numsecentry +\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} + +% Subsections. +\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} +\let\appsubsecentry=\numsubsecentry +\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} + +% And subsubsections. +\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} +\let\appsubsubsecentry=\numsubsubsecentry +\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} + +% This parameter controls the indentation of the various levels. +% Same as \defaultparindent. +\newdimen\tocindent \tocindent = 15pt + +% Now for the actual typesetting. In all these, #1 is the text and #2 is the +% page number. +% +% If the toc has to be broken over pages, we want it to be at chapters +% if at all possible; hence the \penalty. +\def\dochapentry#1#2{% + \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip + \begingroup + \chapentryfonts + \tocentry{#1}{\dopageno\bgroup#2\egroup}% + \endgroup + \nobreak\vskip .25\baselineskip plus.1\baselineskip +} + +\def\dosecentry#1#2{\begingroup + \secentryfonts \leftskip=\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsecentry#1#2{\begingroup + \subsecentryfonts \leftskip=2\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsubsecentry#1#2{\begingroup + \subsubsecentryfonts \leftskip=3\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +% We use the same \entry macro as for the index entries. +\let\tocentry = \entry + +% Space between chapter (or whatever) number and the title. +\def\labelspace{\hskip1em \relax} + +\def\dopageno#1{{\rm #1}} +\def\doshortpageno#1{{\rm #1}} + +\def\chapentryfonts{\secfonts \rm} +\def\secentryfonts{\textfonts} +\def\subsecentryfonts{\textfonts} +\def\subsubsecentryfonts{\textfonts} + + +\message{environments,} +% @foo ... @end foo. + +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% +% Since these characters are used in examples, it should be an even number of +% \tt widths. Each \tt character is 1en, so two makes it 1em. +% +\def\point{$\star$} +\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} +\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} +\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} +\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} + +% The @error{} command. +% Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% +{\tentt \global\dimen0 = 3em}% Width of the box. +\dimen2 = .55pt % Thickness of rules +% The text. (`r' is open on the right, `e' somewhat less so on the left.) +\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} +% +\setbox\errorbox=\hbox to \dimen0{\hfil + \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. + \advance\hsize by -2\dimen2 % Rules. + \vbox{% + \hrule height\dimen2 + \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. + \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. + \kern3pt\vrule width\dimen2}% Space to right. + \hrule height\dimen2} + \hfil} +% +\def\error{\leavevmode\lower.7ex\copy\errorbox} + +% @tex ... @end tex escapes into raw Tex temporarily. +% One exception: @ is still an escape character, so that @end tex works. +% But \@ or @@ will get a plain tex @ character. + +\envdef\tex{% + \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 + \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 + \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie + \catcode `\%=14 + \catcode `\+=\other + \catcode `\"=\other + \catcode `\|=\other + \catcode `\<=\other + \catcode `\>=\other + \escapechar=`\\ + % + \let\b=\ptexb + \let\bullet=\ptexbullet + \let\c=\ptexc + \let\,=\ptexcomma + \let\.=\ptexdot + \let\dots=\ptexdots + \let\equiv=\ptexequiv + \let\!=\ptexexclam + \let\i=\ptexi + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + \let\{=\ptexlbrace + \let\+=\tabalign + \let\}=\ptexrbrace + \let\/=\ptexslash + \let\*=\ptexstar + \let\t=\ptext + \let\frenchspacing=\plainfrenchspacing + % + \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% + \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% + \def\@{@}% +} +% There is no need to define \Etex. + +% Define @lisp ... @end lisp. +% @lisp environment forms a group so it can rebind things, +% including the definition of @end lisp (which normally is erroneous). + +% Amount to narrow the margins by for @lisp. +\newskip\lispnarrowing \lispnarrowing=0.4in + +% This is the definition that ^^M gets inside @lisp, @example, and other +% such environments. \null is better than a space, since it doesn't +% have any width. +\def\lisppar{\null\endgraf} + +% This space is always present above and below environments. +\newskip\envskipamount \envskipamount = 0pt + +% Make spacing and below environment symmetrical. We use \parskip here +% to help in doing that, since in @example-like environments \parskip +% is reset to zero; thus the \afterenvbreak inserts no space -- but the +% start of the next paragraph will insert \parskip. +% +\def\aboveenvbreak{{% + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else + \advance\envskipamount by \parskip + \endgraf + \ifdim\lastskip<\envskipamount + \removelastskip + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty<10000 \penalty-50 \fi + \vskip\envskipamount + \fi + \fi +}} + +\let\afterenvbreak = \aboveenvbreak + +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will +% also clear it, so that its embedded environments do the narrowing again. +\let\nonarrowing=\relax + +% @cartouche ... @end cartouche: draw rectangle w/rounded corners around +% environment contents. +\font\circle=lcircle10 +\newdimen\circthick +\newdimen\cartouter\newdimen\cartinner +\newskip\normbskip\newskip\normpskip\newskip\normlskip +\circthick=\fontdimen8\circle +% +\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth +\def\ctr{{\hskip 6pt\circle\char'010}} +\def\cbl{{\circle\char'012\hskip -6pt}} +\def\cbr{{\hskip 6pt\circle\char'011}} +\def\carttop{\hbox to \cartouter{\hskip\lskip + \ctl\leaders\hrule height\circthick\hfil\ctr + \hskip\rskip}} +\def\cartbot{\hbox to \cartouter{\hskip\lskip + \cbl\leaders\hrule height\circthick\hfil\cbr + \hskip\rskip}} +% +\newskip\lskip\newskip\rskip + +\envdef\cartouche{% + \ifhmode\par\fi % can't be in the midst of a paragraph. + \startsavinginserts + \lskip=\leftskip \rskip=\rightskip + \leftskip=0pt\rightskip=0pt % we want these *outside*. + \cartinner=\hsize \advance\cartinner by-\lskip + \advance\cartinner by-\rskip + \cartouter=\hsize + \advance\cartouter by 18.4pt % allow for 3pt kerns on either + % side, and for 6pt waste from + % each corner char, and rule thickness + \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip + % Flag to tell @lisp, etc., not to narrow margin. + \let\nonarrowing = t% + \vbox\bgroup + \baselineskip=0pt\parskip=0pt\lineskip=0pt + \carttop + \hbox\bgroup + \hskip\lskip + \vrule\kern3pt + \vbox\bgroup + \kern3pt + \hsize=\cartinner + \baselineskip=\normbskip + \lineskip=\normlskip + \parskip=\normpskip + \vskip -\parskip + \comment % For explanation, see the end of \def\group. +} +\def\Ecartouche{% + \ifhmode\par\fi + \kern3pt + \egroup + \kern3pt\vrule + \hskip\rskip + \egroup + \cartbot + \egroup + \checkinserts +} + + +% This macro is called at the beginning of all the @example variants, +% inside a group. +\def\nonfillstart{% + \aboveenvbreak + \hfuzz = 12pt % Don't be fussy + \sepspaces % Make spaces be word-separators rather than space tokens. + \let\par = \lisppar % don't ignore blank lines + \obeylines % each line of input is a line of output + \parskip = 0pt + \parindent = 0pt + \emergencystretch = 0pt % don't try to avoid overfull boxes + \ifx\nonarrowing\relax + \advance \leftskip by \lispnarrowing + \exdentamount=\lispnarrowing + \else + \let\nonarrowing = \relax + \fi + \let\exdent=\nofillexdent +} + +% If you want all examples etc. small: @set dispenvsize small. +% If you want even small examples the full size: @set dispenvsize nosmall. +% This affects the following displayed environments: +% @example, @display, @format, @lisp +% +\def\smallword{small} +\def\nosmallword{nosmall} +\let\SETdispenvsize\relax +\def\setnormaldispenv{% + \ifx\SETdispenvsize\smallword + \smallexamplefonts \rm + \fi +} +\def\setsmalldispenv{% + \ifx\SETdispenvsize\nosmallword + \else + \smallexamplefonts \rm + \fi +} + +% We often define two environments, @foo and @smallfoo. +% Let's do it by one command: +\def\makedispenv #1#2{ + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} + \expandafter\let\csname E#1\endcsname \afterenvbreak + \expandafter\let\csname Esmall#1\endcsname \afterenvbreak +} + +% Define two synonyms: +\def\maketwodispenvs #1#2#3{ + \makedispenv{#1}{#3} + \makedispenv{#2}{#3} +} + +% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. +% +% @smallexample and @smalllisp: use smaller fonts. +% Originally contributed by Pavel at xerox. +% +\maketwodispenvs {lisp}{example}{% + \nonfillstart + \tt + \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. + \gobble % eat return +} + +% @display/@smalldisplay: same as @lisp except keep current font. +% +\makedispenv {display}{% + \nonfillstart + \gobble +} + +% @format/@smallformat: same as @display except don't narrow margins. +% +\makedispenv{format}{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} + +% @flushleft: same as @format, but doesn't obey \SETdispenvsize. +\envdef\flushleft{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} +\let\Eflushleft = \afterenvbreak + +% @flushright. +% +\envdef\flushright{% + \let\nonarrowing = t% + \nonfillstart + \advance\leftskip by 0pt plus 1fill + \gobble +} +\let\Eflushright = \afterenvbreak + + +% @quotation does normal linebreaking (hence we can't use \nonfillstart) +% and narrows the margins. We keep \parskip nonzero in general, since +% we're doing normal filling. So, when using \aboveenvbreak and +% \afterenvbreak, temporarily make \parskip 0. +% +\envdef\quotation{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \advance\rightskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi + \parsearg\quotationlabel +} + +% We have retained a nonzero parskip for the environment, since we're +% doing normal filling. +% +\def\Equotation{% + \par + \ifx\quotationauthor\undefined\else + % indent a bit. + \leftline{\kern 2\leftskip \sl ---\quotationauthor}% + \fi + {\parskip=0pt \afterenvbreak}% +} + +% If we're given an argument, typeset it in bold with a colon after. +\def\quotationlabel#1{% + \def\temp{#1}% + \ifx\temp\empty \else + {\bf #1: }% + \fi +} + + +% LaTeX-like @verbatim... at end verbatim and @verb{...} +% If we want to allow any as delimiter, +% we need the curly braces so that makeinfo sees the @verb command, eg: +% `@verbx...x' would look like the '@verbx' command. --janneke at gnu.org +% +% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. +% +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. +\def\dospecials{% + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% +} +% +% [Knuth] p. 380 +\def\uncatcodespecials{% + \def\do##1{\catcode`##1=\other}\dospecials} +% +% [Knuth] pp. 380,381,391 +% Disable Spanish ligatures ?` and !` of \tt font +\begingroup + \catcode`\`=\active\gdef`{\relax\lq} +\endgroup +% +% Setup for the @verb command. +% +% Eight spaces for a tab +\begingroup + \catcode`\^^I=\active + \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} +\endgroup +% +\def\setupverb{% + \tt % easiest (and conventionally used) font for verbatim + \def\par{\leavevmode\endgraf}% + \catcode`\`=\active + \tabeightspaces + % Respect line breaks, + % print special symbols as themselves, and + % make each space count + % must do in this order: + \obeylines \uncatcodespecials \sepspaces +} + +% Setup for the @verbatim environment +% +% Real tab expansion +\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount +% +\def\starttabbox{\setbox0=\hbox\bgroup} +\begingroup + \catcode`\^^I=\active + \gdef\tabexpand{% + \catcode`\^^I=\active + \def^^I{\leavevmode\egroup + \dimen0=\wd0 % the width so far, or since the previous tab + \divide\dimen0 by\tabw + \multiply\dimen0 by\tabw % compute previous multiple of \tabw + \advance\dimen0 by\tabw % advance to next multiple of \tabw + \wd0=\dimen0 \box0 \starttabbox + }% + } +\endgroup +\def\setupverbatim{% + \let\nonarrowing = t% + \nonfillstart + % Easiest (and conventionally used) font for verbatim + \tt + \def\par{\leavevmode\egroup\box0\endgraf}% + \catcode`\`=\active + \tabexpand + % Respect line breaks, + % print special symbols as themselves, and + % make each space count + % must do in this order: + \obeylines \uncatcodespecials \sepspaces + \everypar{\starttabbox}% +} + +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a +% right brace, after last delimiter expect closing brace: +% +% \def\doverb'{'#1'}'{#1} +% +% [Knuth] p. 382; only eat outer {} +\begingroup + \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other + \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] +\endgroup +% +\def\verb{\begingroup\setupverb\doverb} +% +% +% Do the @verbatim magic: define the macro \doverbatim so that +% the (first) argument ends when '@end verbatim' is reached, ie: +% +% \def\doverbatim#1 at end verbatim{#1} +% +% For Texinfo it's a lot easier than for LaTeX, +% because texinfo's \verbatim doesn't stop at '\end{verbatim}': +% we need not redefine '\', '{' and '}'. +% +% Inspired by LaTeX's verbatim command set [latex.ltx] +% +\begingroup + \catcode`\ =\active + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \xdef\doverbatim#1^^M#2 at end verbatim{#2\noexpand\end\gobble verbatim}% + % We really want {...\end verbatim} in the body of the macro, but + % without the active space; thus we have to use \xdef and \gobble. +\endgroup +% +\envdef\verbatim{% + \setupverbatim\doverbatim +} +\let\Everbatim = \afterenvbreak + + +% @verbatiminclude FILE - insert text of file in verbatim environment. +% +\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} +% +\def\doverbatiminclude#1{% + {% + \makevalueexpandable + \setupverbatim + \input #1 + \afterenvbreak + }% +} + +% @copying ... @end copying. +% Save the text away for @insertcopying later. +% +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is very desirable. +% +\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} +\def\docopying#1 at end copying{\endgroup\def\copyingtext{#1}} +% +\def\insertcopying{% + \begingroup + \parindent = 0pt % paragraph indentation looks wrong on title page + \scanexp\copyingtext + \endgroup +} + +\message{defuns,} +% @defun etc. + +\newskip\defbodyindent \defbodyindent=.4in +\newskip\defargsindent \defargsindent=50pt +\newskip\deflastargmargin \deflastargmargin=18pt + +% Start the processing of @deffn: +\def\startdefun{% + \ifnum\lastpenalty<10000 + \medbreak + \else + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we need to allow a + % break somewhere. Check specifically for penalty 10002, inserted + % by \defargscommonending, instead of 10000, since the sectioning + % commands also insert a nobreak penalty, and we don't want to allow + % a break between a section heading and a defun. + % + \ifnum\lastpenalty=10002 \penalty2000 \fi + % + % Similarly, after a section heading, do not allow a break. + % But do insert the glue. + \medskip % preceded by discardable penalty, so not a breakpoint + \fi + % + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent +} + +\def\dodefunx#1{% + % First, check whether we are in the right environment: + \checkenv#1% + % + % As above, allow line break if we have multiple x headers in a row. + % It's not a great place, though. + \ifnum\lastpenalty=10002 \penalty3000 \fi + % + % And now, it's time to reuse the body of the original defun: + \expandafter\gobbledefun#1% +} +\def\gobbledefun#1\startdefun{} + +% \printdefunline \deffnheader{text} +% +\def\printdefunline#1#2{% + \begingroup + % call \deffnheader: + #1#2 \endheader + % common ending: + \interlinepenalty = 10000 + \advance\rightskip by 0pt plus 1fil + \endgraf + \nobreak\vskip -\parskip + \penalty 10002 % signal to \startdefun and \dodefunx + % Some of the @defun-type tags do not enable magic parentheses, + % rendering the following check redundant. But we don't optimize. + \checkparencounts + \endgroup +} + +\def\Edefun{\endgraf\medbreak} + +% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; +% the only thing remainnig is to define \deffnheader. +% +\def\makedefun#1{% + \expandafter\let\csname E#1\endcsname = \Edefun + \edef\temp{\noexpand\domakedefun + \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% + \temp +} + +% \domakedefun \deffn \deffnx \deffnheader +% +% Define \deffn and \deffnx, without parameters. +% \deffnheader has to be defined explicitly. +% +\def\domakedefun#1#2#3{% + \envdef#1{% + \startdefun + \parseargusing\activeparens{\printdefunline#3}% + }% + \def#2{\dodefunx#1}% + \def#3% +} + +%%% Untyped functions: + +% @deffn category name args +\makedefun{deffn}{\deffngeneral{}} + +% @deffn category class name args +\makedefun{defop}#1 {\defopon{#1\ \putwordon}} + +% \defopon {category on}class name args +\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deffngeneral {subind}category name args +% +\def\deffngeneral#1#2 #3 #4\endheader{% + % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. + \dosubind{fn}{\code{#3}}{#1}% + \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +} + +%%% Typed functions: + +% @deftypefn category type name args +\makedefun{deftypefn}{\deftypefngeneral{}} + +% @deftypeop category class type name args +\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} + +% \deftypeopon {category on}class type name args +\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deftypefngeneral {subind}category type name args +% +\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% + \dosubind{fn}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +%%% Typed variables: + +% @deftypevr category type var args +\makedefun{deftypevr}{\deftypecvgeneral{}} + +% @deftypecv category class type var args +\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} + +% \deftypecvof {category of}class type var args +\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } + +% \deftypecvgeneral {subind}category type var args +% +\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% + \dosubind{vr}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +%%% Untyped variables: + +% @defvr category var args +\makedefun{defvr}#1 {\deftypevrheader{#1} {} } + +% @defcv category class var args +\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} + +% \defcvof {category of}class var args +\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } + +%%% Type: +% @deftp category name args +\makedefun{deftp}#1 #2 #3\endheader{% + \doind{tp}{\code{#2}}% + \defname{#1}{}{#2}\defunargs{#3\unskip}% +} + +% Remaining @defun-like shortcuts: +\makedefun{defun}{\deffnheader{\putwordDeffunc} } +\makedefun{defmac}{\deffnheader{\putwordDefmac} } +\makedefun{defspec}{\deffnheader{\putwordDefspec} } +\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } +\makedefun{defvar}{\defvrheader{\putwordDefvar} } +\makedefun{defopt}{\defvrheader{\putwordDefopt} } +\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } +\makedefun{defmethod}{\defopon\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} +\makedefun{defivar}{\defcvof\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} + +% \defname, which formats the name of the @def (not the args). +% #1 is the category, such as "Function". +% #2 is the return type, if any. +% #3 is the function name. +% +% We are followed by (but not passed) the arguments, if any. +% +\def\defname#1#2#3{% + % Get the values of \leftskip and \rightskip as they were outside the @def... + \advance\leftskip by -\defbodyindent + % + % How we'll format the type name. Putting it in brackets helps + % distinguish it from the body text that may end up on the next line + % just below it. + \def\temp{#1}% + \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} + % + % Figure out line sizes for the paragraph shape. + % The first line needs space for \box0; but if \rightskip is nonzero, + % we need only space for the part of \box0 which exceeds it: + \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % The continuations: + \dimen2=\hsize \advance\dimen2 by -\defargsindent + % (plain.tex says that \dimen1 should be used only as global.) + \parshape 2 0in \dimen0 \defargsindent \dimen2 + % + % Put the type name to the right margin. + \noindent + \hbox to 0pt{% + \hfil\box0 \kern-\hsize + % \hsize has to be shortened this way: + \kern\leftskip + % Intentionally do not respect \rightskip, since we need the space. + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \exdentamount=\defbodyindent + {% + % defun fonts. We use typewriter by default (used to be bold) because: + % . we're printing identifiers, they should be in tt in principle. + % . in languages with many accents, such as Czech or French, it's + % common to leave accents off identifiers. The result looks ok in + % tt, but exceedingly strange in rm. + % . we don't want -- and --- to be treated as ligatures. + % . this still does not fix the ?` and !` ligatures, but so far no + % one has made identifiers using them :). + \df \tt + \def\temp{#2}% return value type + \ifx\temp\empty\else \tclose{\temp} \fi + #3% output function name + }% + {\rm\enskip}% hskip 0.5 em of \tenrm + % + \boldbrax + % arguments will be output next, if any. +} + +% Print arguments in slanted roman (not ttsl), inconsistently with using +% tt for the name. This is because literal text is sometimes needed in +% the argument list (groff manual), and ttsl and tt are not very +% distinguishable. Prevent hyphenation at `-' chars. +% +\def\defunargs#1{% + % use sl by default (not ttsl), + % tt for the names. + \df \sl \hyphenchar\font=0 + % + % On the other hand, if an argument has two dashes (for instance), we + % want a way to get ttsl. Let's try @var for that. + \let\var=\ttslanted + #1% + \sl\hyphenchar\font=45 +} + +% We want ()&[] to print specially on the defun line. +% +\def\activeparens{% + \catcode`\(=\active \catcode`\)=\active + \catcode`\[=\active \catcode`\]=\active + \catcode`\&=\active +} + +% Make control sequences which act like normal parenthesis chars. +\let\lparen = ( \let\rparen = ) + +% Be sure that we always have a definition for `(', etc. For example, +% if the fn name has parens in it, \boldbrax will not be in effect yet, +% so TeX would otherwise complain about undefined control sequence. +{ + \activeparens + \global\let(=\lparen \global\let)=\rparen + \global\let[=\lbrack \global\let]=\rbrack + \global\let& = \& + + \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} +} + +\newcount\parencount + +% If we encounter &foo, then turn on ()-hacking afterwards +\newif\ifampseen +\def\amprm#1 {\ampseentrue{\bf\ }} + +\def\parenfont{% + \ifampseen + % At the first level, print parens in roman, + % otherwise use the default font. + \ifnum \parencount=1 \rm \fi + \else + % The \sf parens (in \boldbrax) actually are a little bolder than + % the contained text. This is especially needed for [ and ] . + \sf + \fi +} +\def\infirstlevel#1{% + \ifampseen + \ifnum\parencount=1 + #1% + \fi + \fi +} +\def\bfafterword#1 {#1 \bf} + +\def\opnr{% + \global\advance\parencount by 1 + {\parenfont(}% + \infirstlevel \bfafterword +} +\def\clnr{% + {\parenfont)}% + \infirstlevel \sl + \global\advance\parencount by -1 +} + +\newcount\brackcount +\def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +} +\def\rbrb{% + {\bf]}% + \global\advance\brackcount by -1 +} + +\def\checkparencounts{% + \ifnum\parencount=0 \else \badparencount \fi + \ifnum\brackcount=0 \else \badbrackcount \fi +} +\def\badparencount{% + \errmessage{Unbalanced parentheses in @def}% + \global\parencount=0 +} +\def\badbrackcount{% + \errmessage{Unbalanced square braces in @def}% + \global\brackcount=0 +} + + +\message{macros,} +% @macro. + +% To do this right we need a feature of e-TeX, \scantokens, +% which we arrange to emulate with a temporary file in ordinary TeX. +\ifx\eTeXversion\undefined + \newwrite\macscribble + \def\scantokens#1{% + \toks0={#1}% + \immediate\openout\macscribble=\jobname.tmp + \immediate\write\macscribble{\the\toks0}% + \immediate\closeout\macscribble + \input \jobname.tmp + } +\fi + +\def\scanmacro#1{% + \begingroup + \newlinechar`\^^M + \let\xeatspaces\eatspaces + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ + % ... and \example + \spaceisspace + % + % Append \endinput to make sure that TeX does not see the ending newline. + % + % I've verified that it is necessary both for e-TeX and for ordinary TeX + % --kasal, 29nov03 + \scantokens{#1\endinput}% + \endgroup +} + +\def\scanexp#1{% + \edef\temp{\noexpand\scanmacro{#1}}% + \temp +} + +\newcount\paramno % Count of parameters +\newtoks\macname % Macro name +\newif\ifrecursive % Is it recursive? + +% List of all defined macros in the form +% \definedummyword\macro1\definedummyword\macro2... +% Currently is also contains all @aliases; the list can be split +% if there is a need. +\def\macrolist{} + +% Add the macro to \macrolist +\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} +\def\addtomacrolistxxx#1{% + \toks0 = \expandafter{\macrolist\definedummyword#1}% + \xdef\macrolist{\the\toks0}% +} + +% Utility routines. +% This does \let #1 = #2, with \csnames; that is, +% \let \csname#1\endcsname = \csname#2\endcsname +% (except of course we have to play expansion games). +% +\def\cslet#1#2{% + \expandafter\let + \csname#1\expandafter\endcsname + \csname#2\endcsname +} + +% Trim leading and trailing spaces off a string. +% Concepts from aro-bend problem 15 (see CTAN). +{\catcode`\@=11 +\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} +\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} +\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} +\def\unbrace#1{#1} +\unbrace{\gdef\trim@@@ #1 } #2@{#1} +} + +% Trim a single trailing ^^M off a string. +{\catcode`\^^M=\other \catcode`\Q=3% +\gdef\eatcr #1{\eatcra #1Q^^MQ}% +\gdef\eatcra#1^^MQ{\eatcrb#1Q}% +\gdef\eatcrb#1Q#2Q{#1}% +} + +% Macro bodies are absorbed as an argument in a context where +% all characters are catcode 10, 11 or 12, except \ which is active +% (as in normal texinfo). It is necessary to change the definition of \. + +% It's necessary to have hard CRs when the macro is executed. This is +% done by making ^^M (\endlinechar) catcode 12 when reading the macro +% body, and then making it the \newlinechar in \scanmacro. + +\def\scanctxt{% + \catcode`\"=\other + \catcode`\+=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\@=\other + \catcode`\^=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\~=\other +} + +\def\scanargctxt{% + \scanctxt + \catcode`\\=\other + \catcode`\^^M=\other +} + +\def\macrobodyctxt{% + \scanctxt + \catcode`\{=\other + \catcode`\}=\other + \catcode`\^^M=\other + \usembodybackslash +} + +\def\macroargctxt{% + \scanctxt + \catcode`\\=\other +} + +% \mbodybackslash is the definition of \ in @macro bodies. +% It maps \foo\ => \csname macarg.foo\endcsname => #N +% where N is the macro parameter number. +% We define \csname macarg.\endcsname to be \realbackslash, so +% \\ in macro replacement text gets you a backslash. + +{\catcode`@=0 @catcode`@\=@active + @gdef at usembodybackslash{@let\=@mbodybackslash} + @gdef at mbodybackslash#1\{@csname macarg.#1 at endcsname} +} +\expandafter\def\csname macarg.\endcsname{\realbackslash} + +\def\macro{\recursivefalse\parsearg\macroxxx} +\def\rmacro{\recursivetrue\parsearg\macroxxx} + +\def\macroxxx#1{% + \getargs{#1}% now \macname is the macname and \argl the arglist + \ifx\argl\empty % no arguments + \paramno=0% + \else + \expandafter\parsemargdef \argl;% + \fi + \if1\csname ismacro.\the\macname\endcsname + \message{Warning: redefining \the\macname}% + \else + \expandafter\ifx\csname \the\macname\endcsname \relax + \else \errmessage{Macro name \the\macname\space already defined}\fi + \global\cslet{macsave.\the\macname}{\the\macname}% + \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% + \addtomacrolist{\the\macname}% + \fi + \begingroup \macrobodyctxt + \ifrecursive \expandafter\parsermacbody + \else \expandafter\parsemacbody + \fi} + +\parseargdef\unmacro{% + \if1\csname ismacro.#1\endcsname + \global\cslet{#1}{macsave.#1}% + \global\expandafter\let \csname ismacro.#1\endcsname=0% + % Remove the macro name from \macrolist: + \begingroup + \expandafter\let\csname#1\endcsname \relax + \let\definedummyword\unmacrodo + \xdef\macrolist{\macrolist}% + \endgroup + \else + \errmessage{Macro #1 not defined}% + \fi +} + +% Called by \do from \dounmacro on each macro. The idea is to omit any +% macro definitions that have been changed to \relax. +% +\def\unmacrodo#1{% + \ifx #1\relax + % remove this + \else + \noexpand\definedummyword \noexpand#1% + \fi +} + +% This makes use of the obscure feature that if the last token of a +% is #, then the preceding argument is delimited by +% an opening brace, and that opening brace is not consumed. +\def\getargs#1{\getargsxxx#1{}} +\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} +\def\getmacname #1 #2\relax{\macname={#1}} +\def\getmacargs#1{\def\argl{#1}} + +% Parse the optional {params} list. Set up \paramno and \paramlist +% so \defmacro knows what to do. Define \macarg.blah for each blah +% in the params list, to be ##N where N is the position in that list. +% That gets used by \mbodybackslash (above). + +% We need to get `macro parameter char #' into several definitions. +% The technique used is stolen from LaTeX: let \hash be something +% unexpandable, insert that wherever you need a #, and then redefine +% it to # just before using the token list produced. +% +% The same technique is used to protect \eatspaces till just before +% the macro is used. + +\def\parsemargdef#1;{\paramno=0\def\paramlist{}% + \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} +\def\parsemargdefxxx#1,{% + \if#1;\let\next=\relax + \else \let\next=\parsemargdefxxx + \advance\paramno by 1% + \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname + {\xeatspaces{\hash\the\paramno}}% + \edef\paramlist{\paramlist\hash\the\paramno,}% + \fi\next} + +% These two commands read recursive and nonrecursive macro bodies. +% (They're different since rec and nonrec macros end differently.) + +\long\def\parsemacbody#1 at end macro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\long\def\parsermacbody#1 at end rmacro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% + +% This defines the macro itself. There are six cases: recursive and +% nonrecursive macros of zero, one, and many arguments. +% Much magic with \expandafter here. +% \xdef is used so that macro definitions will survive the file +% they're defined in; @include reads the file inside a group. +\def\defmacro{% + \let\hash=##% convert placeholders to macro parameter chars + \ifrecursive + \ifcase\paramno + % 0 + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\scanmacro{\temp}}% + \or % 1 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% + \egroup\noexpand\scanmacro{\temp}}% + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \fi + \else + \ifcase\paramno + % 0 + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \or % 1 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \fi + \fi} + +\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} + +% \braceorline decides whether the next nonwhitespace character is a +% {. If so it reads up to the closing }, if not, it reads the whole +% line. Whatever was read is then fed to the next control sequence +% as an argument (by \parsebrace or \parsearg) +\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} +\def\braceorlinexxx{% + \ifx\nchar\bgroup\else + \expandafter\parsearg + \fi \next} + + +% @alias. +% We need some trickery to remove the optional spaces around the equal +% sign. Just make them active and then expand them all to nothing. +\def\alias{\parseargusing\obeyspaces\aliasxxx} +\def\aliasxxx #1{\aliasyyy#1\relax} +\def\aliasyyy #1=#2\relax{% + {% + \expandafter\let\obeyedspace=\empty + \addtomacrolist{#1}% + \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% + }% + \next +} + + +\message{cross references,} + +\newwrite\auxfile + +\newif\ifhavexrefs % True if xref values are known. +\newif\ifwarnedxrefs % True if we warned once that they aren't known. + +% @inforef is relatively simple. +\def\inforef #1{\inforefzzz #1,,,,**} +\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, + node \samp{\ignorespaces#1{}}} + +% @node's only job in TeX is to define \lastnode, which is used in +% cross-references. The @node line might or might not have commas, and +% might or might not have spaces before the first comma, like: +% @node foo , bar , ... +% We don't want such trailing spaces in the node name. +% +\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} +% +% also remove a trailing comma, in case of something like this: +% @node Help-Cross, , , Cross-refs +\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} + +\let\nwnode=\node +\let\lastnode=\empty + +% Write a cross-reference definition for the current node. #1 is the +% type (Ynumbered, Yappendix, Ynothing). +% +\def\donoderef#1{% + \ifx\lastnode\empty\else + \setref{\lastnode}{#1}% + \global\let\lastnode=\empty + \fi +} + +% @anchor{NAME} -- define xref target at arbitrary point. +% +\newcount\savesfregister +% +\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} + +% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +% anchor), which consists of three parts: +% 1) NAME-title - the current sectioning name taken from \thissection, +% or the anchor name. +% 2) NAME-snt - section number and type, passed as the SNT arg, or +% empty for anchors. +% 3) NAME-pg - the page number. +% +% This is called from \donoderef, \anchor, and \dofloat. In the case of +% floats, there is an additional part, which is not written here: +% 4) NAME-lof - the text as it should appear in a @listoffloats. +% +\def\setref#1#2{% + \pdfmkdest{#1}% + \iflinks + {% + \atdummies % preserve commands, but don't expand them + \edef\writexrdef##1##2{% + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% + \toks0 = \expandafter{\thissection}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \writexrdef{pg}{\folio}% will be written later, during \shipout + }% + \fi +} + +% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is +% the node name, #2 the name of the Info cross-reference, #3 the printed +% node name, #4 the name of the Info file, #5 the name of the printed +% manual. All but the node name can be omitted. +% +\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} +\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} +\def\ref#1{\xrefX[#1,,,,,,,]} +\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup + \unsepspaces + \def\printedmanual{\ignorespaces #5}% + \def\printedrefname{\ignorespaces #3}% + \setbox1=\hbox{\printedmanual\unskip}% + \setbox0=\hbox{\printedrefname\unskip}% + \ifdim \wd0 = 0pt + % No printed node name was explicitly given. + \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax + % Use the node name inside the square brackets. + \def\printedrefname{\ignorespaces #1}% + \else + % Use the actual chapter/section title appear inside + % the square brackets. Use the real section title if we have it. + \ifdim \wd1 > 0pt + % It is in another manual, so we don't have it. + \def\printedrefname{\ignorespaces #1}% + \else + \ifhavexrefs + % We know the real title if we have the xref values. + \def\printedrefname{\refx{#1-title}{}}% + \else + % Otherwise just copy the Info node name. + \def\printedrefname{\ignorespaces #1}% + \fi% + \fi + \fi + \fi + % + % Make link in pdf output. + \ifpdf + \leavevmode + \getfilename{#4}% + {\turnoffactive + % See comments at \activebackslashdouble. + {\activebackslashdouble \xdef\pdfxrefdest{#1}% + \backslashparens\pdfxrefdest}% + % + \ifnum\filenamelength>0 + \startlink attr{/Border [0 0 0]}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% + \else + \startlink attr{/Border [0 0 0]}% + goto name{\pdfmkpgn{\pdfxrefdest}}% + \fi + }% + \linkcolor + \fi + % + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". We distinguish them by the + % LABEL-title being set to a magic string. + {% + % Have to otherify everything special to allow the \csname to + % include an _ in the xref name, etc. + \indexnofonts + \turnoffactive + \expandafter\global\expandafter\let\expandafter\Xthisreftitle + \csname XR#1-title\endcsname + }% + \iffloat\Xthisreftitle + % If the user specified the print name (third arg) to the ref, + % print it instead of our usual "Figure 1.2". + \ifdim\wd0 = 0pt + \refx{#1-snt}% + \else + \printedrefname + \fi + % + % if the user also gave the printed manual name (fifth arg), append + % "in MANUALNAME". + \ifdim \wd1 > 0pt + \space \putwordin{} \cite{\printedmanual}% + \fi + \else + % node/anchor (non-float) references. + % + % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not + % insert empty discretionaries after hyphens, which means that it will + % not find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, this + % is a loss. Therefore, we give the text of the node name again, so it + % is as if TeX is seeing it for the first time. + \ifdim \wd1 > 0pt + \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% + \else + % _ (for example) has to be the character _ for the purposes of the + % control sequence corresponding to the node, but it has to expand + % into the usual \leavevmode...\vrule stuff for purposes of + % printing. So we \turnoffactive for the \refx-snt, back on for the + % printing, back off for the \refx-pg. + {\turnoffactive + % Only output a following space if the -snt ref is nonempty; for + % @unnumbered and @anchor, it won't be. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + }% + % output the `[mynode]' via a macro so it can be overridden. + \xrefprintnodename\printedrefname + % + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \putwordpage\tie\refx{#1-pg}{}% + \fi + \fi + \endlink +\endgroup} + +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since square brackets don't work well in some documents. Particularly +% one that Bob is working on :). +% +\def\xrefprintnodename#1{[#1]} + +% Things referred to by \setref. +% +\def\Ynothing{} +\def\Yomitfromtoc{} +\def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter at tie \the\chapno + \else \ifnum\subsecno=0 + \putwordSection at tie \the\chapno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection at tie \the\chapno.\the\secno.\the\subsecno + \else + \putwordSection at tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} +\def\Yappendix{% + \ifnum\secno=0 + \putwordAppendix at tie @char\the\appendixno{}% + \else \ifnum\subsecno=0 + \putwordSection at tie @char\the\appendixno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection at tie @char\the\appendixno.\the\secno.\the\subsecno + \else + \putwordSection at tie + @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} + +% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. +% If its value is nonempty, SUFFIX is output afterward. +% +\def\refx#1#2{% + {% + \indexnofonts + \otherbackslash + \expandafter\global\expandafter\let\expandafter\thisrefX + \csname XR#1\endcsname + }% + \ifx\thisrefX\relax + % If not defined, say something at least. + \angleleft un\-de\-fined\angleright + \iflinks + \ifhavexrefs + \message{\linenumber Undefined cross reference `#1'.}% + \else + \ifwarnedxrefs\else + \global\warnedxrefstrue + \message{Cross reference values unknown; you must run TeX again.}% + \fi + \fi + \fi + \else + % It's defined, so just use it. + \thisrefX + \fi + #2% Output the suffix in any case. +} + +% This is the macro invoked by entries in the aux file. Usually it's +% just a \def (we prepend XR to the control sequence name to avoid +% collisions). But if this is a float type, we have more work to do. +% +\def\xrdef#1#2{% + \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR#1\endcsname + % it was a float, and we have the (safe) float type in \iffloattype. + \expandafter\let\expandafter\floatlist + \csname floatlist\iffloattype\endcsname + % + % Is this the first time we've seen this float type? + \expandafter\ifx\floatlist\relax + \toks0 = {\do}% yes, so just \do + \else + % had it before, so preserve previous elements in list. + \toks0 = \expandafter{\floatlist\do}% + \fi + % + % Remember this xref in the control sequence \floatlistFLOATTYPE, + % for later use in \listoffloats. + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% + \fi +} + +% Read the last existing aux file, if any. No error if none exists. +% +\def\tryauxfile{% + \openin 1 \jobname.aux + \ifeof 1 \else + \readdatafile{aux}% + \global\havexrefstrue + \fi + \closein 1 +} + +\def\setupdatafile{% + \catcode`\^^@=\other + \catcode`\^^A=\other + \catcode`\^^B=\other + \catcode`\^^C=\other + \catcode`\^^D=\other + \catcode`\^^E=\other + \catcode`\^^F=\other + \catcode`\^^G=\other + \catcode`\^^H=\other + \catcode`\^^K=\other + \catcode`\^^L=\other + \catcode`\^^N=\other + \catcode`\^^P=\other + \catcode`\^^Q=\other + \catcode`\^^R=\other + \catcode`\^^S=\other + \catcode`\^^T=\other + \catcode`\^^U=\other + \catcode`\^^V=\other + \catcode`\^^W=\other + \catcode`\^^X=\other + \catcode`\^^Z=\other + \catcode`\^^[=\other + \catcode`\^^\=\other + \catcode`\^^]=\other + \catcode`\^^^=\other + \catcode`\^^_=\other + % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. + % in xref tags, i.e., node names. But since ^^e4 notation isn't + % supported in the main text, it doesn't seem desirable. Furthermore, + % that is not enough: for node names that actually contain a ^ + % character, we would end up writing a line like this: 'xrdef {'hat + % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first + % argument, and \hat is not an expandable control sequence. It could + % all be worked out, but why? Either we support ^^ or we don't. + % + % The other change necessary for this was to define \auxhat: + % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter + % and then to call \auxhat in \setq. + % + \catcode`\^=\other + % + % Special characters. Should be turned off anyway, but... + \catcode`\~=\other + \catcode`\[=\other + \catcode`\]=\other + \catcode`\"=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\$=\other + \catcode`\#=\other + \catcode`\&=\other + \catcode`\%=\other + \catcode`+=\other % avoid \+ for paranoia even though we've turned it off + % + % This is to support \ in node names and titles, since the \ + % characters end up in a \csname. It's easier than + % leaving it active and making its active definition an actual \ + % character. What I don't understand is why it works in the *value* + % of the xrdef. Seems like it should be a catcode12 \, and that + % should not typeset properly. But it works, so I'm moving on for + % now. --karl, 15jan04. + \catcode`\\=\other + % + % Make the characters 128-255 be printing characters. + {% + \count1=128 + \def\loop{% + \catcode\count1=\other + \advance\count1 by 1 + \ifnum \count1<256 \loop \fi + }% + }% + % + % @ is our escape character in .aux files, and we need braces. + \catcode`\{=1 + \catcode`\}=2 + \catcode`\@=0 +} + +\def\readdatafile#1{% +\begingroup + \setupdatafile + \input\jobname.#1 +\endgroup} + +\message{insertions,} +% including footnotes. + +\newcount \footnoteno + +% The trailing space in the following definition for supereject is +% vital for proper filling; pages come out unaligned when you do a +% pagealignmacro call if that space before the closing brace is +% removed. (Generally, numeric constants should always be followed by a +% space to prevent strange expansion errors.) +\def\supereject{\par\penalty -20000\footnoteno =0 } + +% @footnotestyle is meaningful for info output only. +\let\footnotestyle=\comment + +{\catcode `\@=11 +% +% Auto-number footnotes. Otherwise like plain. +\gdef\footnote{% + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + \global\advance\footnoteno by \@ne + \edef\thisfootno{$^{\the\footnoteno}$}% + % + % In case the footnote comes at the end of a sentence, preserve the + % extra spacing after we do the footnote number. + \let\@sf\empty + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi + % + % Remove inadvertent blank space before typesetting the footnote number. + \unskip + \thisfootno\@sf + \dofootnote +}% + +% Don't bother with the trickery in plain.tex to not require the +% footnote text as a parameter. Our footnotes don't need to be so general. +% +% Oh yes, they do; otherwise, @ifset (and anything else that uses +% \parseargline) fails inside footnotes because the tokens are fixed when +% the footnote is read. --karl, 16nov96. +% +\gdef\dofootnote{% + \insert\footins\bgroup + % We want to typeset this text as a normal paragraph, even if the + % footnote reference occurs in (for example) a display environment. + % So reset some parameters. + \hsize=\pagewidth + \interlinepenalty\interfootnotelinepenalty + \splittopskip\ht\strutbox % top baseline for broken footnotes + \splitmaxdepth\dp\strutbox + \floatingpenalty\@MM + \leftskip\z at skip + \rightskip\z at skip + \spaceskip\z at skip + \xspaceskip\z at skip + \parindent\defaultparindent + % + \smallfonts \rm + % + % Because we use hanging indentation in footnotes, a @noindent appears + % to exdent this text, so make it be a no-op. makeinfo does not use + % hanging indentation so @noindent can still be needed within footnote + % text after an @example or the like (not that this is good style). + \let\noindent = \relax + % + % Hang the footnote text off the number. Use \everypar in case the + % footnote extends for more than one paragraph. + \everypar = {\hang}% + \textindent{\thisfootno}% + % + % Don't crash into the line above the footnote text. Since this + % expands into a box, it must come within the paragraph, lest it + % provide a place where TeX can split the footnote. + \footstrut + \futurelet\next\fo at t +} +}%end \catcode `\@=11 + +% In case a @footnote appears in a vbox, save the footnote text and create +% the real \insert just after the vbox finished. Otherwise, the insertion +% would be lost. +% Similarily, if a @footnote appears inside an alignment, save the footnote +% text to a box and make the \insert when a row of the table is finished. +% And the same can be done for other insert classes. --kasal, 16nov03. + +% Replace the \insert primitive by a cheating macro. +% Deeper inside, just make sure that the saved insertions are not spilled +% out prematurely. +% +\def\startsavinginserts{% + \ifx \insert\ptexinsert + \let\insert\saveinsert + \else + \let\checkinserts\relax + \fi +} + +% This \insert replacement works for both \insert\footins{foo} and +% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. +% +\def\saveinsert#1{% + \edef\next{\noexpand\savetobox \makeSAVEname#1}% + \afterassignment\next + % swallow the left brace + \let\temp = +} +\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} +\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} + +\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} + +\def\placesaveins#1{% + \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname + {\box#1}% +} + +% eat @SAVE -- beware, all of them have catcode \other: +{ + \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) + \gdef\gobblesave @SAVE{} +} + +% initialization: +\def\newsaveins #1{% + \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% + \next +} +\def\newsaveinsX #1{% + \csname newbox\endcsname #1% + \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts + \checksaveins #1}% +} + +% initialize: +\let\checkinserts\empty +\newsaveins\footins +\newsaveins\margin + + +% @image. We use the macros from epsf.tex to support this. +% If epsf.tex is not installed and @image is used, we complain. +% +% Check for and read epsf.tex up front. If we read it only at @image +% time, we might be inside a group, and then its definitions would get +% undone and the next image would fail. +\openin 1 = epsf.tex +\ifeof 1 \else + % Do not bother showing banner with epsf.tex v2.7k (available in + % doc/epsf.tex and on ctan). + \def\epsfannounce{\toks0 = }% + \input epsf.tex +\fi +\closein 1 +% +% We will only complain once about lack of epsf.tex. +\newif\ifwarnednoepsf +\newhelp\noepsfhelp{epsf.tex must be installed for images to + work. It is also included in the Texinfo distribution, or you can get + it from ftp://tug.org/tex/epsf.tex.} +% +\def\image#1{% + \ifx\epsfbox\undefined + \ifwarnednoepsf \else + \errhelp = \noepsfhelp + \errmessage{epsf.tex not found, images will be ignored}% + \global\warnednoepsftrue + \fi + \else + \imagexxx #1,,,,,\finish + \fi +} +% +% Arguments to @image: +% #1 is (mandatory) image filename; we tack on .eps extension. +% #2 is (optional) width, #3 is (optional) height. +% #4 is (ignored optional) html alt text. +% #5 is (ignored optional) extension. +% #6 is just the usual extra ignored arg for parsing this stuff. +\newif\ifimagevmode +\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup + \catcode`\^^M = 5 % in case we're inside an example + \normalturnoffactive % allow _ et al. in names + % If the image is by itself, center it. + \ifvmode + \imagevmodetrue + \nobreak\bigskip + % Usually we'll have text after the image which will insert + % \parskip glue, so insert it here too to equalize the space + % above and below. + \nobreak\vskip\parskip + \nobreak + \line\bgroup\hss + \fi + % + % Output the image. + \ifpdf + \dopdfimage{#1}{#2}{#3}% + \else + % \epsfbox itself resets \epsf?size at each figure. + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi + \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi + \epsfbox{#1.eps}% + \fi + % + \ifimagevmode \hss \egroup \bigbreak \fi % space after the image +\endgroup} + + +% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, +% etc. We don't actually implement floating yet, we always include the +% float "here". But it seemed the best name for the future. +% +\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} + +% There may be a space before second and/or third parameter; delete it. +\def\eatcommaspace#1, {#1,} + +% #1 is the optional FLOATTYPE, the text label for this float, typically +% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, +% this float will not be numbered and cannot be referred to. +% +% #2 is the optional xref label. Also must be present for the float to +% be referable. +% +% #3 is the optional positioning argument; for now, it is ignored. It +% will somehow specify the positions allowed to float to (here, top, bottom). +% +% We keep a separate counter for each FLOATTYPE, which we reset at each +% chapter-level command. +\let\resetallfloatnos=\empty +% +\def\dofloat#1,#2,#3,#4\finish{% + \let\thiscaption=\empty + \let\thisshortcaption=\empty + % + % don't lose footnotes inside @float. + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \startsavinginserts + % + % We can't be used inside a paragraph. + \par + % + \vtop\bgroup + \def\floattype{#1}% + \def\floatlabel{#2}% + \def\floatloc{#3}% we do nothing with this yet. + % + \ifx\floattype\empty + \let\safefloattype=\empty + \else + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + \fi + % + % If label is given but no type, we handle that as the empty type. + \ifx\floatlabel\empty \else + % We want each FLOATTYPE to be numbered separately (Figure 1, + % Table 1, Figure 2, ...). (And if no label, no number.) + % + \expandafter\getfloatno\csname\safefloattype floatno\endcsname + \global\advance\floatno by 1 + % + {% + % This magic value for \thissection is output by \setref as the + % XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % + \edef\thissection{\floatmagic=\safefloattype}% + \setref{\floatlabel}{Yfloat}% + }% + \fi + % + % start with \parskip glue, I guess. + \vskip\parskip + % + % Don't suppress indentation if a float happens to start a section. + \restorefirstparagraphindent +} + +% we have these possibilities: +% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap +% @float Foo,lbl & no caption: Foo 1.1 +% @float Foo & @caption{Cap}: Foo: Cap +% @float Foo & no caption: Foo +% @float ,lbl & Caption{Cap}: 1.1: Cap +% @float ,lbl & no caption: 1.1 +% @float & @caption{Cap}: Cap +% @float & no caption: +% +\def\Efloat{% + \let\floatident = \empty + % + % In all cases, if we have a float type, it comes first. + \ifx\floattype\empty \else \def\floatident{\floattype}\fi + % + % If we have an xref label, the number comes next. + \ifx\floatlabel\empty \else + \ifx\floattype\empty \else % if also had float type, need tie first. + \appendtomacro\floatident{\tie}% + \fi + % the number. + \appendtomacro\floatident{\chaplevelprefix\the\floatno}% + \fi + % + % Start the printed caption with what we've constructed in + % \floatident, but keep it separate; we need \floatident again. + \let\captionline = \floatident + % + \ifx\thiscaption\empty \else + \ifx\floatident\empty \else + \appendtomacro\captionline{: }% had ident, so need a colon between + \fi + % + % caption text. + \appendtomacro\captionline{\scanexp\thiscaption}% + \fi + % + % If we have anything to print, print it, with space before. + % Eventually this needs to become an \insert. + \ifx\captionline\empty \else + \vskip.5\parskip + \captionline + % + % Space below caption. + \vskip\parskip + \fi + % + % If have an xref label, write the list of floats info. Do this + % after the caption, to avoid chance of it being a breakpoint. + \ifx\floatlabel\empty \else + % Write the text that goes in the lof to the aux file as + % \floatlabel-lof. Besides \floatident, we include the short + % caption if specified, else the full caption if specified, else nothing. + {% + \atdummies + % since we read the caption text in the macro world, where ^^M + % is turned into a normal character, we have to scan it back, so + % we don't write the literal three characters "^^M" into the aux file. + \scanexp{% + \xdef\noexpand\gtemp{% + \ifx\thisshortcaption\empty + \thiscaption + \else + \thisshortcaption + \fi + }% + }% + \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident + \ifx\gtemp\empty \else : \gtemp \fi}}% + }% + \fi + \egroup % end of \vtop + % + % place the captured inserts + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \checkinserts +} + +% Append the tokens #2 to the definition of macro #1, not expanding either. +% +\def\appendtomacro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}% +} + +% @caption, @shortcaption +% +\def\caption{\docaption\thiscaption} +\def\shortcaption{\docaption\thisshortcaption} +\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\defcaption#1#2{\egroup \def#1{#2}} + +% The parameter is the control sequence identifying the counter we are +% going to use. Create it if it doesn't exist and assign it to \floatno. +\def\getfloatno#1{% + \ifx#1\relax + % Haven't seen this figure type before. + \csname newcount\endcsname #1% + % + % Remember to reset this floatno at the next chap. + \expandafter\gdef\expandafter\resetallfloatnos + \expandafter{\resetallfloatnos #1=0 }% + \fi + \let\floatno#1% +} + +% \setref calls this to get the XREFLABEL-snt value. We want an @xref +% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we +% first read the @float command. +% +\def\Yfloat{\floattype at tie \chaplevelprefix\the\floatno}% + +% Magic string used for the XREFLABEL-title value, so \xrefX can +% distinguish floats from other xref types. +\def\floatmagic{!!float!!} + +% #1 is the control sequence we are passed; we expand into a conditional +% which is true if #1 represents a float ref. That is, the magic +% \thissection value which we \setref above. +% +\def\iffloat#1{\expandafter\doiffloat#1==\finish} +% +% #1 is (maybe) the \floatmagic string. If so, #2 will be the +% (safe) float type for this float. We set \iffloattype to #2. +% +\def\doiffloat#1=#2=#3\finish{% + \def\temp{#1}% + \def\iffloattype{#2}% + \ifx\temp\floatmagic +} + +% @listoffloats FLOATTYPE - print a list of floats like a table of contents. +% +\parseargdef\listoffloats{% + \def\floattype{#1}% floattype + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + % + % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. + \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax + \ifhavexrefs + % if the user said @listoffloats foo but never @float foo. + \message{\linenumber No `\safefloattype' floats to list.}% + \fi + \else + \begingroup + \leftskip=\tocindent % indent these entries like a toc + \let\do=\listoffloatsdo + \csname floatlist\safefloattype\endcsname + \endgroup + \fi +} + +% This is called on each entry in a list of floats. We're passed the +% xref label, in the form LABEL-title, which is how we save it in the +% aux file. We strip off the -title and look up \XRLABEL-lof, which +% has the text we're supposed to typeset here. +% +% Figures without xref labels will not be included in the list (since +% they won't appear in the aux file). +% +\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} +\def\listoffloatsdoentry#1-title\finish{{% + % Can't fully expand XR#1-lof because it can contain anything. Just + % pass the control sequence. On the other hand, XR#1-pg is just the + % page number, and we want to fully expand that so we can get a link + % in pdf output. + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry +}} + +\message{localization,} +% and i18n. + +% @documentlanguage is usually given very early, just after +% @setfilename. If done too late, it may not override everything +% properly. Single argument is the language abbreviation. +% It would be nice if we could set up a hyphenation file here. +% +\parseargdef\documentlanguage{% + \tex % read txi-??.tex file in plain TeX. + % Read the file if it exists. + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \input txi-#1.tex + \fi + \closein 1 + \endgroup +} +\newhelp\nolanghelp{The given language definition file cannot be found or +is empty. Maybe you need to install it? In the current directory +should work if nowhere else does.} + + +% @documentencoding should change something in TeX eventually, most +% likely, but for now just recognize it. +\let\documentencoding = \comment + + +% Page size parameters. +% +\newdimen\defaultparindent \defaultparindent = 15pt + +\chapheadingskip = 15pt plus 4pt minus 2pt +\secheadingskip = 12pt plus 3pt minus 2pt +\subsecheadingskip = 9pt plus 2pt minus 2pt + +% Prevent underfull vbox error messages. +\vbadness = 10000 + +% Don't be so finicky about underfull hboxes, either. +\hbadness = 2000 + +% Following George Bush, just get rid of widows and orphans. +\widowpenalty=10000 +\clubpenalty=10000 + +% Use TeX 3.0's \emergencystretch to help line breaking, but if we're +% using an old version of TeX, don't do anything. We want the amount of +% stretch added to depend on the line length, hence the dependence on +% \hsize. We call this whenever the paper size is set. +% +\def\setemergencystretch{% + \ifx\emergencystretch\thisisundefined + % Allow us to assign to \emergencystretch anyway. + \def\emergencystretch{\dimen0}% + \else + \emergencystretch = .15\hsize + \fi +} + +% Parameters in order: 1) textheight; 2) textwidth; +% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; +% 7) physical page height; 8) physical page width. +% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. +% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% + \voffset = #3\relax + \topskip = #6\relax + \splittopskip = \topskip + % + \vsize = #1\relax + \advance\vsize by \topskip + \outervsize = \vsize + \advance\outervsize by 2\topandbottommargin + \pageheight = \vsize + % + \hsize = #2\relax + \outerhsize = \hsize + \advance\outerhsize by 0.5in + \pagewidth = \hsize + % + \normaloffset = #4\relax + \bindingoffset = #5\relax + % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + \fi + % + \setleading{\textleading} + % + \parindent = \defaultparindent + \setemergencystretch +} + +% @letterpaper (the default). +\def\letterpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % If page is nothing but text, make it come out even. + \internalpagesizes{46\baselineskip}{6in}% + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% +}} + +% Use @smallbook to reset parameters for 7x9.25 trim size. +\def\smallbook{{\globaldefs = 1 + \parskip = 2pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.5in}{5in}% + {\voffset}{.25in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% + % + \lispnarrowing = 0.3in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .5cm +}} + +% Use @smallerbook to reset parameters for 6x9 trim size. +% (Just testing, parameters still in flux.) +\def\smallerbook{{\globaldefs = 1 + \parskip = 1.5pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.4in}{4.8in}% + {-.2in}{-.4in}% + {0pt}{14pt}% + {9in}{6in}% + % + \lispnarrowing = 0.25in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .4cm +}} + +% Use @afourpaper to print on European A4 paper. +\def\afourpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{51\baselineskip}{160mm} + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% + % + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = 5mm +}} + +% Use @afivepaper to print on European A5 paper. +% From romildo at urano.iceb.ufop.br, 2 July 2000. +% He also recommends making @example and @lisp be small. +\def\afivepaper{{\globaldefs = 1 + \parskip = 2pt plus 1pt minus 0.1pt + \textleading = 12.5pt + % + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% + % + \lispnarrowing = 0.2in + \tolerance = 800 + \hfuzz = 1.2pt + \contentsrightmargin = 0pt + \defbodyindent = 2mm + \tableindent = 12mm +}} + +% A specific text layout, 24x15cm overall, intended for A4 paper. +\def\afourlatex{{\globaldefs = 1 + \afourpaper + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + % + % Must explicitly reset to 0 because we call \afourpaper. + \globaldefs = 0 +}} + +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 + \afourpaper + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} + +% @pagesizes TEXTHEIGHT[,TEXTWIDTH] +% Perhaps we should allow setting the margins, \topskip, \parskip, +% and/or leading, also. Or perhaps we should compute them somehow. +% +\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} +\def\pagesizesyyy#1,#2,#3\finish{{% + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi + \globaldefs = 1 + % + \parskip = 3pt plus 2pt minus 1pt + \setleading{\textleading}% + % + \dimen0 = #1 + \advance\dimen0 by \voffset + % + \dimen2 = \hsize + \advance\dimen2 by \normaloffset + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% +}} + +% Set default to letter. +% +\letterpaper + + +\message{and turning on texinfo input format.} + +% Define macros to output various characters with catcode for normal text. +\catcode`\"=\other +\catcode`\~=\other +\catcode`\^=\other +\catcode`\_=\other +\catcode`\|=\other +\catcode`\<=\other +\catcode`\>=\other +\catcode`\+=\other +\catcode`\$=\other +\def\normaldoublequote{"} +\def\normaltilde{~} +\def\normalcaret{^} +\def\normalunderscore{_} +\def\normalverticalbar{|} +\def\normalless{<} +\def\normalgreater{>} +\def\normalplus{+} +\def\normaldollar{$}%$ font-lock fix + +% This macro is used to make a character print one way in \tt +% (where it can probably be output as-is), and another way in other fonts, +% where something hairier probably needs to be done. +% +% #1 is what to print if we are indeed using \tt; #2 is what to print +% otherwise. Since all the Computer Modern typewriter fonts have zero +% interword stretch (and shrink), and it is reasonable to expect all +% typewriter fonts to have this, we can check that font parameter. +% +\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} + +% Same as above, but check for italic font. Actually this also catches +% non-italic slanted fonts since it is impossible to distinguish them from +% italic fonts. But since this is only used by $ and it uses \sl anyway +% this is not a problem. +\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} + +% Turn off all special characters except @ +% (and those which the user can use as if they were ordinary). +% Most of these we simply print from the \tt font, but for some, we can +% use math or other variants that look better in normal text. + +\catcode`\"=\active +\def\activedoublequote{{\tt\char34}} +\let"=\activedoublequote +\catcode`\~=\active +\def~{{\tt\char126}} +\chardef\hat=`\^ +\catcode`\^=\active +\def^{{\tt \hat}} + +\catcode`\_=\active +\def_{\ifusingtt\normalunderscore\_} +\let\realunder=_ +% Subroutine for the previous macro. +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } + +\catcode`\|=\active +\def|{{\tt\char124}} +\chardef \less=`\< +\catcode`\<=\active +\def<{{\tt \less}} +\chardef \gtr=`\> +\catcode`\>=\active +\def>{{\tt \gtr}} +\catcode`\+=\active +\def+{{\tt \char 43}} +\catcode`\$=\active +\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% If a .fmt file is being used, characters that might appear in a file +% name cannot be active until we have parsed the command line. +% So turn them off again, and have \everyjob (or @setfilename) turn them on. +% \otherifyactive is called near the end of this file. +\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} + +\catcode`\@=0 + +% \backslashcurfont outputs one backslash character in current font, +% as in \char`\\. +\global\chardef\backslashcurfont=`\\ +\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work + +% \rawbackslash defines an active \ to do \backslashcurfont. +% \otherbackslash defines an active \ to be a literal `\' character with +% catcode other. +{\catcode`\\=\active + @gdef at rawbackslash{@let\=@backslashcurfont} + @gdef at otherbackslash{@let\=@realbackslash} +} + +% \realbackslash is an actual character `\' with catcode other, and +% \doublebackslash is two of them (for the pdf outlines). +{\catcode`\\=\other @gdef at realbackslash{\} @gdef at doublebackslash{\\}} + +% \normalbackslash outputs one backslash in fixed width font. +\def\normalbackslash{{\tt\backslashcurfont}} + +\catcode`\\=\active + +% Used sometimes to turn off (effectively) the active characters +% even after parsing them. + at def@turnoffactive{% + @let"=@normaldoublequote + @let\=@realbackslash + @let~=@normaltilde + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let<=@normalless + @let>=@normalgreater + @let+=@normalplus + @let$=@normaldollar %$ font-lock fix + @unsepspaces +} + +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. (Thus, \ is not expandable when this is in +% effect.) +% + at def@normalturnoffactive{@turnoffactive @let\=@normalbackslash} + +% Make _ and + \other characters, temporarily. +% This is canceled by @fixbackslash. + at otherifyactive + +% If a .fmt file is being used, we don't want the `\input texinfo' to show up. +% That is what \eatinput is for; after that, the `\' should revert to printing +% a backslash. +% + at gdef@eatinput input texinfo{@fixbackslash} + at global@let\ = @eatinput + +% On the other hand, perhaps the file did not have a `\input texinfo'. Then +% the first `\{ in the file would cause an error. This macro tries to fix +% that, assuming it is called before the first `\' could plausibly occur. +% Also turn back on active characters that might appear in the input +% file name, in case not using a pre-dumped format. +% + at gdef@fixbackslash{% + @ifx\@eatinput @let\ = @normalbackslash @fi + @catcode`+=@active + @catcode`@_=@active +} + +% Say @foo, not \foo, in error messages. + at escapechar = `@@ + +% These look ok in all fonts, so just make them not special. + at catcode`@& = @other + at catcode`@# = @other + at catcode`@% = @other + + + at c Local variables: + at c eval: (add-hook 'write-file-hooks 'time-stamp) + at c page-delimiter: "^\\\\message" + at c time-stamp-start: "def\\\\texinfoversion{" + at c time-stamp-format: "%:y-%02m-%02d.%02H" + at c time-stamp-end: "}" + at c End: + + at c vim:sw=2: + + at ignore + arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 + at end ignore Modified: freeswitch/trunk/libs/iksemel/include/iksemel.h ============================================================================== --- freeswitch/trunk/libs/iksemel/include/iksemel.h (original) +++ freeswitch/trunk/libs/iksemel/include/iksemel.h Wed Feb 4 17:59:19 2009 @@ -1,5 +1,5 @@ /* iksemel (XML parser for Jabber) -** Copyright (C) 2000-2004 Gurer Ozen +** Copyright (C) 2000-2007 Gurer Ozen ** This code is free software; you can redistribute it and/or ** modify it under the terms of GNU Lesser General Public License. */ @@ -26,7 +26,6 @@ void iks_stack_stat (ikstack *s, size_t *allocated, size_t *used); void iks_stack_delete (ikstack **sp); - /***** utilities *****/ void *iks_malloc (size_t size); @@ -63,6 +62,10 @@ iks *iks_insert_cdata (iks *x, const char *data, size_t len); iks *iks_insert_attrib (iks *x, const char *name, const char *value); iks *iks_insert_node (iks *x, iks *y); +iks *iks_append (iks *x, const char *name); +iks *iks_prepend (iks *x, const char *name); +iks *iks_append_cdata (iks *x, const char *data, size_t len); +iks *iks_prepend_cdata (iks *x, const char *data, size_t len); void iks_hide (iks *x); void iks_delete (iks *x); iks *iks_next (iks *x); Modified: freeswitch/trunk/libs/iksemel/ltmain.sh ============================================================================== --- freeswitch/trunk/libs/iksemel/ltmain.sh (original) +++ freeswitch/trunk/libs/iksemel/ltmain.sh Wed Feb 4 17:59:19 2009 @@ -33,6 +33,9 @@ # function. progpath="$0" +# define SED for historic ltconfig's generated by Libtool 1.3 +test -z "$SED" && SED=sed + # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" @@ -51,6 +54,13 @@ if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi +# Same for EGREP, and just to be sure, do LTCC as well +if test "X$EGREP" = X ; then + EGREP=egrep +fi +if test "X$LTCC" = X ; then + LTCC=${CC-gcc} +fi # Check that we have a working $echo. if test "X$1" = X--no-reexec; then @@ -137,6 +147,30 @@ lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" +if test -z "$max_cmd_len"; then + i=0 + testring="ABCD" + new_result= + + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + max_cmd_len="$new_result" && + test "$i" != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring="$testring$testring" + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + max_cmd_len=`expr $max_cmd_len \/ 2` +fi + ##################################### # Shell function definitions: # This seems to be the best place for them @@ -257,7 +291,17 @@ esac CC_quoted="$CC_quoted $arg" done + # user sometimes does CC=-gcc so we need to match that to 'gcc' + trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` + # and sometimes libtool has CC=-gcc but user does CC=gcc + extendcc=${host}-${CC} case "$@ " in + "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ + "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) + tagname=CC + break ;; + "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ + "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. @@ -851,7 +895,7 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do + until $run ln "$srcfile" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done @@ -3642,6 +3686,13 @@ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done + # It is ok to link against an archive when + # building a shared library. + if $AR -t $potlib > /dev/null 2>&1; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then @@ -5379,6 +5430,11 @@ $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. + + # Make sure env LD_LIBRARY_PATH does not mess us up + if test -n \"\${LD_LIBRARY_PATH+set}\"; then + export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH + fi " case $host in # Backslashes separate directories on plain windows @@ -5606,9 +5662,48 @@ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi - newdependency_libs="$newdependency_libs $libdir/$name" + if test "X$EGREP" = X ; then + EGREP=egrep + fi + # We do not want PiSi's install root ($INSTALL_ROOT) present. Check only for + # this if the .la is being installed. + if test "$installed" = yes && test "$INSTALL_ROOT"; then + eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$INSTALL_ROOT:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$libdir/$name" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_1"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi + ;; + *) + if test "$installed" = yes; then + # We do not want PiSi's build root ($WORK_DIR) present. + my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$WORK_DIR"` + # We do not want PiSi's install root ($INSTALL_ROOT) present. + my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$INSTALL_ROOT"` + if test -n "$my_little_ninja_foo_2" && test "$WORK_DIR"; then + mynewdependency_lib="" + elif test -n "$my_little_ninja_foo_3" && test "$INSTALL_DIR"; then + eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$INSTALL_DIR:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$deplib" + fi + else + mynewdependency_lib="$deplib" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_4"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" @@ -5660,6 +5755,10 @@ case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac + # Do not add duplicates + if test "$installed" = yes && test "$INSTALL_DIR"; then + install_libdir=`echo "$install_libdir" |sed -e "s:$INSTALL_DIR:/:g" -e 's:/\+:/:g'` + fi $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP Modified: freeswitch/trunk/libs/iksemel/src/Makefile.am ============================================================================== --- freeswitch/trunk/libs/iksemel/src/Makefile.am (original) +++ freeswitch/trunk/libs/iksemel/src/Makefile.am Wed Feb 4 17:59:19 2009 @@ -24,6 +24,6 @@ md5.c \ base64.c -libiksemel_la_LDFLAGS = -version-info 3:0:0 -no-undefined +libiksemel_la_LDFLAGS = -version-info 4:0:1 -no-undefined libiksemel_la_CFLAGS = $(CFLAGS) $(LIBGNUTLS_CFLAGS) libiksemel_la_LIBADD = $(LIBGNUTLS_LIBS) Modified: freeswitch/trunk/libs/iksemel/src/base64.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/base64.c (original) +++ freeswitch/trunk/libs/iksemel/src/base64.c Wed Feb 4 17:59:19 2009 @@ -7,27 +7,30 @@ #include "common.h" #include "iksemel.h" -static char base64_charset[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +static const char base64_charset[] = +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; char *iks_base64_decode(const char *buf) { - char *res, *save, *foo, val; + char *res, *save; + char val; + const char *foo; const char *end; int index; + size_t len; if (!buf) return NULL; - index = iks_strlen(buf)*6 / 8 + 1; - save = res = iks_malloc(index); - memset(res, 0, index); - index = 0; + len = iks_strlen(buf) * 6 / 8 + 1; + save = res = iks_malloc(len); if (!save) return NULL; + memset(res, 0, len); + index = 0; end = buf + iks_strlen(buf); while (*buf && buf < end) { @@ -66,6 +69,7 @@ len = (len > 0) ? (len) : (iks_strlen(buf)); save = res = iks_malloc((len*8) / 6 + 4); + if (!save) return NULL; for (k = 0; k < len/3; ++k) { *res++ = base64_charset[*buf >> 2]; @@ -85,14 +89,15 @@ buf++; *res++ = base64_charset[t | (*buf >> 4)]; *res++ = base64_charset[((*buf++ & 0x0F) << 2)]; + *res++ = '='; break; case 1: *res++ = base64_charset[*buf >> 2]; *res++ = base64_charset[(*buf++ & 0x03) << 4]; + *res++ = '='; + *res++ = '='; break; } - *res++ = '='; - *res++ = '='; *res = 0; return save; } Modified: freeswitch/trunk/libs/iksemel/src/dom.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/dom.c (original) +++ freeswitch/trunk/libs/iksemel/src/dom.c Wed Feb 4 17:59:19 2009 @@ -37,6 +37,8 @@ } if (IKS_CLOSE == type || IKS_SINGLE == type) { x = iks_parent (data->current); + if (iks_strcmp(iks_name(data->current), name) != 0) + return IKS_BADXML; if (x) data->current = x; else { @@ -130,8 +132,9 @@ if (len < FILE_IO_BUF_SIZE) { if (0 == feof (f)) { ret = IKS_FILE_RWERR; - len = 0; + break; } + if (0 == len) ret = IKS_OK; done = 1; } if (len > 0) { Modified: freeswitch/trunk/libs/iksemel/src/iks.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/iks.c (original) +++ freeswitch/trunk/libs/iksemel/src/iks.c Wed Feb 4 17:59:19 2009 @@ -1,5 +1,5 @@ /* iksemel (XML parser for Jabber) -** Copyright (C) 2000-2004 Gurer Ozen +** Copyright (C) 2000-2007 Gurer Ozen ** This code is free software; you can redistribute it and/or ** modify it under the terms of GNU Lesser General Public License. */ @@ -183,6 +183,106 @@ return y; } +iks * +iks_append (iks *x, const char *name) +{ + iks *y; + + if (!x) return NULL; + y = iks_new_within (name, x->s); + if (!y) return NULL; + + if (x->next) { + x->next->prev = y; + } else { + IKS_TAG_LAST_CHILD (x->parent) = y; + } + y->next = x->next; + x->next = y; + y->parent = x->parent; + y->prev = x; + + return y; +} + +iks * +iks_prepend (iks *x, const char *name) +{ + iks *y; + + if (!x) return NULL; + y = iks_new_within (name, x->s); + if (!y) return NULL; + + if (x->prev) { + x->prev->next = y; + } else { + IKS_TAG_CHILDREN (x->parent) = y; + } + y->prev = x->prev; + x->prev = y; + y->parent = x->parent; + y->next = x; + + return y; +} + +iks * +iks_append_cdata (iks *x, const char *data, size_t len) +{ + iks *y; + + if (!x || !data) return NULL; + if (len == 0) len = strlen (data); + + y = iks_new_within (NULL, x->s); + if (!y) return NULL; + y->type = IKS_CDATA; + IKS_CDATA_CDATA (y) = iks_stack_strdup (x->s, data, len); + if (!IKS_CDATA_CDATA (y)) return NULL; + IKS_CDATA_LEN (y) = len; + + if (x->next) { + x->next->prev = y; + } else { + IKS_TAG_LAST_CHILD (x->parent) = y; + } + y->next = x->next; + x->next = y; + y->parent = x->parent; + y->prev = x; + + return y; +} + +iks * +iks_prepend_cdata (iks *x, const char *data, size_t len) +{ + iks *y; + + if (!x || !data) return NULL; + if (len == 0) len = strlen (data); + + y = iks_new_within (NULL, x->s); + if (!y) return NULL; + y->type = IKS_CDATA; + IKS_CDATA_CDATA(y) = iks_stack_strdup (x->s, data, len); + if (!IKS_CDATA_CDATA (y)) return NULL; + IKS_CDATA_LEN (y) = len; + + if (x->prev) { + x->prev->next = y; + } else { + IKS_TAG_CHILDREN (x->parent) = y; + } + y->prev = x->prev; + x->prev = y; + y->parent = x->parent; + y->next = x; + + return y; +} + void iks_hide (iks *x) { @@ -379,7 +479,7 @@ iks_name (iks *x) { if (x) { - if (IKS_TAG == x->type) + if (IKS_TAG == x->type) return IKS_TAG_NAME (x); else return IKS_ATTRIB_NAME (x); Modified: freeswitch/trunk/libs/iksemel/src/ikstack.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/ikstack.c (original) +++ freeswitch/trunk/libs/iksemel/src/ikstack.c Wed Feb 4 17:59:19 2009 @@ -192,10 +192,11 @@ } s = *sp; - + if (!s) { return; } + *sp = NULL; c = s->meta->next; while (c) { @@ -210,5 +211,4 @@ c = tmp; } iks_free (s); - } Modified: freeswitch/trunk/libs/iksemel/src/io-posix.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/io-posix.c (original) +++ freeswitch/trunk/libs/iksemel/src/io-posix.c Wed Feb 4 17:59:19 2009 @@ -36,6 +36,7 @@ struct addrinfo hints; struct addrinfo *addr_res, *addr_ptr; char port_str[6]; + int err = 0; hints.ai_flags = AI_CANONNAME; hints.ai_family = PF_UNSPEC; @@ -52,14 +53,20 @@ addr_ptr = addr_res; while (addr_ptr) { + err = IKS_NET_NOSOCK; sock = socket (addr_ptr->ai_family, addr_ptr->ai_socktype, addr_ptr->ai_protocol); - if (sock != -1) break; + if (sock != -1) { + err = IKS_NET_NOCONN; + tmp = connect (sock, addr_ptr->ai_addr, addr_ptr->ai_addrlen); + if (tmp == 0) break; + io_close ((void *) sock); + sock = -1; + } addr_ptr = addr_ptr->ai_next; } - if (sock == -1) return IKS_NET_NOSOCK; - - tmp = connect (sock, addr_ptr->ai_addr, addr_ptr->ai_addrlen); freeaddrinfo (addr_res); + + if (sock == -1) return err; #else struct hostent *host; struct sockaddr_in sin; @@ -74,11 +81,11 @@ if (sock == -1) return IKS_NET_NOSOCK; tmp = connect (sock, (struct sockaddr *)&sin, sizeof (struct sockaddr_in)); -#endif if (tmp != 0) { io_close ((void *) sock); return IKS_NET_NOCONN; } +#endif *socketptr = (void *) sock; @@ -135,7 +142,6 @@ } t++; - } } } Modified: freeswitch/trunk/libs/iksemel/src/jabber.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/jabber.c (original) +++ freeswitch/trunk/libs/iksemel/src/jabber.c Wed Feb 4 17:59:19 2009 @@ -173,8 +173,8 @@ char buf[41]; iksha *sha; sha = iks_sha_new (); - iks_sha_hash (sha, sid, strlen (sid), 0); - iks_sha_hash (sha, pass, strlen (pass), 1); + iks_sha_hash (sha, (const unsigned char*)sid, strlen (sid), 0); + iks_sha_hash (sha, (const unsigned char*)pass, strlen (pass), 1); iks_sha_print (sha, buf); iks_sha_delete (sha); iks_insert_cdata (iks_insert (y, "digest"), buf, 40); Modified: freeswitch/trunk/libs/iksemel/src/md5.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/md5.c (original) +++ freeswitch/trunk/libs/iksemel/src/md5.c Wed Feb 4 17:59:19 2009 @@ -43,7 +43,7 @@ unsigned char blen; }; -static unsigned long int T[] = +static const unsigned long int T[] = { 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, @@ -151,7 +151,7 @@ { iksmd5 *md5 = iks_md5_new(); - iks_md5_hash(md5, data, strlen(data), 1); + iks_md5_hash(md5, (const unsigned char*)data, strlen(data), 1); iks_md5_print(md5, buf); iks_md5_delete(md5); } Modified: freeswitch/trunk/libs/iksemel/src/sax.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/sax.c (original) +++ freeswitch/trunk/libs/iksemel/src/sax.c Wed Feb 4 17:59:19 2009 @@ -149,7 +149,8 @@ if (need < prs->stack_max) { need = prs->stack_max * 2; } else { - need = prs->stack_max + (need * 1.2); + /* need x 1.2 for integer only archs like ARM */ + need = prs->stack_max + ( (need * 6) / 5); } tmp = iks_malloc (need); if (!tmp) return 0; Modified: freeswitch/trunk/libs/iksemel/src/sha.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/sha.c (original) +++ freeswitch/trunk/libs/iksemel/src/sha.c Wed Feb 4 17:59:19 2009 @@ -11,10 +11,10 @@ static void sha_calculate (iksha *sha); struct iksha_struct { - unsigned long hash[5]; - unsigned long buf[80]; + unsigned int hash[5]; + unsigned int buf[80]; int blen; - unsigned long lenhi, lenlo; + unsigned int lenhi, lenlo; }; iksha * @@ -32,11 +32,11 @@ iks_sha_reset (iksha *sha) { memset (sha, 0, sizeof (iksha)); - sha->hash[0] = 0x67452301L; - sha->hash[1] = 0xefcdab89L; - sha->hash[2] = 0x98badcfeL; - sha->hash[3] = 0x10325476L; - sha->hash[4] = 0xc3d2e1f0L; + sha->hash[0] = 0x67452301; + sha->hash[1] = 0xefcdab89; + sha->hash[2] = 0x98badcfe; + sha->hash[3] = 0x10325476; + sha->hash[4] = 0xc3d2e1f0; } void @@ -74,7 +74,7 @@ for (i=0; i<5; i++) { - sprintf (hash, "%08lx", sha->hash[i]); + sprintf (hash, "%08x", sha->hash[i]); hash += 8; } } @@ -91,7 +91,7 @@ iksha *sha; sha = iks_sha_new (); - iks_sha_hash (sha, data, strlen (data), 1); + iks_sha_hash (sha, (const unsigned char*)data, strlen (data), 1); iks_sha_print (sha, hash); iks_free (sha); } @@ -103,7 +103,7 @@ for (i=0; ibuf[sha->blen / 4] <<= 8; - sha->buf[sha->blen / 4] |= (unsigned long)data[i]; + sha->buf[sha->blen / 4] |= (unsigned int)data[i]; if ((++sha->blen) % 64 == 0) { sha_calculate (sha); sha->blen = 0; @@ -128,7 +128,7 @@ sha_calculate (iksha *sha) { int i; - unsigned long A, B, C, D, E, TMP; + unsigned int A, B, C, D, E, TMP; for (i=16; i<80; i++) sha->buf[i] = SRL (sha->buf[i-3] ^ sha->buf[i-8] ^ sha->buf[i-14] ^ sha->buf[i-16], 1); @@ -139,10 +139,10 @@ D = sha->hash[3]; E = sha->hash[4]; - SHA (0, 19, ((C^D)&B)^D, 0x5a827999L); - SHA (20, 39, B^C^D, 0x6ed9eba1L); - SHA (40, 59, (B&C)|(D&(B|C)), 0x8f1bbcdcL); - SHA (60, 79, B^C^D, 0xca62c1d6L); + SHA (0, 19, ((C^D)&B)^D, 0x5a827999); + SHA (20, 39, B^C^D, 0x6ed9eba1); + SHA (40, 59, (B&C)|(D&(B|C)), 0x8f1bbcdc); + SHA (60, 79, B^C^D, 0xca62c1d6); sha->hash[0] += A; sha->hash[1] += B; Modified: freeswitch/trunk/libs/iksemel/src/stream.c ============================================================================== --- freeswitch/trunk/libs/iksemel/src/stream.c (original) +++ freeswitch/trunk/libs/iksemel/src/stream.c Wed Feb 4 17:59:19 2009 @@ -1,5 +1,5 @@ /* iksemel (XML parser for Jabber) -** Copyright (C) 2000-2004 Gurer Ozen +** Copyright (C) 2000-2007 Gurer Ozen ** This code is free software; you can redistribute it and/or ** modify it under the terms of GNU Lesser General Public License. */ @@ -122,106 +122,143 @@ #define CNONCE_LEN 4 static void -iks_sasl_challenge (struct stream_data *data, iks *challenge) +parse_digest (char *message, const char *key, char **value_ptr, char **value_end_ptr) { - char *b; - iks *x; + char *t; - b = iks_cdata (iks_child (challenge)); - if (!b) return; + *value_ptr = NULL; + *value_end_ptr = NULL; - b = iks_base64_decode (b); + t = strstr(message, key); + if (t) { + t += strlen(key); + *value_ptr = t; + while (t[0] != '\0') { + if (t[0] != '\\' && t[1] == '"') { + ++t; + *value_end_ptr = t; + return; + } + ++t; + } + } +} - if (strstr (b, "rspauth")) { - x = iks_new("response"); +static iks * +make_sasl_response (struct stream_data *data, char *message) +{ + iks *x = NULL; + char *realm, *realm_end; + char *nonce, *nonce_end; + char cnonce[CNONCE_LEN*8 + 1]; + iksmd5 *md5; + unsigned char a1_h[16], a1[33], a2[33], response_value[33]; + char *response, *response_coded; + int i; + + parse_digest(message, "realm=\"", &realm, &realm_end); + parse_digest(message, "nonce=\"", &nonce, &nonce_end); + + /* nonce is necessary for auth */ + if (!nonce || !nonce_end) return NULL; + *nonce_end = '\0'; + + /* if no realm is given use the server hostname */ + if (realm) { + if (!realm_end) return NULL; + *realm_end = '\0'; } else { - char *realm, *nonce, *charset = NULL, *algorithm = NULL; - char *realm_end, *nonce_end, cnonce[CNONCE_LEN*8 + 1]; - unsigned char a1_h[16], a1[33], a2[33], response_value[33]; - char *response, *response_coded; - iksmd5 *md5; - int i; - - realm = strstr (b, "realm"); - if (realm) { - realm += 7; - do { - realm_end = strchr(realm, '"'); - } while (*(realm_end - 1) == '\\'); - } else { - realm_end = 0; - realm = (char *) data->server; - } - nonce = strstr (b, "nonce"); - if (nonce) { - nonce += 7; - do { - nonce_end = strchr (nonce, '"'); - } while (*(nonce - 1) == '\\'); - } else { - iks_free (b); - return; - } - charset = strstr (b, "charset"); - if (charset) charset += 8; - algorithm = strstr (b, "algorithm"); - if (algorithm) algorithm += 10; - if (realm_end) *realm_end = 0; - *nonce_end = 0; - - for (i = 0; i < CNONCE_LEN; ++i) - sprintf (cnonce + i*8, "%08x", rand()); - - md5 = iks_md5_new(); - iks_md5_hash (md5, data->auth_username, iks_strlen (data->auth_username), 0); - iks_md5_hash (md5, ":", 1, 0); - iks_md5_hash (md5, realm, iks_strlen (realm), 0); - iks_md5_hash (md5, ":", 1, 0); - iks_md5_hash (md5, data->auth_pass, iks_strlen (data->auth_pass), 1); - iks_md5_digest (md5, a1_h); - iks_md5_reset (md5); - iks_md5_hash (md5, a1_h, 16, 0); - iks_md5_hash (md5, ":", 1, 0); - iks_md5_hash (md5, nonce, iks_strlen (nonce), 0); - iks_md5_hash (md5, ":", 1, 0); - iks_md5_hash (md5, cnonce, iks_strlen (cnonce), 1); - iks_md5_print (md5, a1); - iks_md5_reset (md5); - iks_md5_hash (md5, "AUTHENTICATE:xmpp/", 18, 0); - iks_md5_hash (md5, data->server, iks_strlen (data->server), 1); - iks_md5_print (md5, a2); - iks_md5_reset (md5); - iks_md5_hash (md5, a1, 32, 0); - iks_md5_hash (md5, ":", 1, 0); - iks_md5_hash (md5, nonce, iks_strlen (nonce), 0); - iks_md5_hash (md5, ":00000001:", 10, 0); - iks_md5_hash (md5, cnonce, iks_strlen (cnonce), 0); - iks_md5_hash (md5, ":auth:", 6, 0); - iks_md5_hash (md5, a2, 32, 1); - iks_md5_print (md5, response_value); - iks_md5_delete (md5); - - i = iks_strlen (data->auth_username) + iks_strlen (realm) + - iks_strlen (nonce) + iks_strlen (data->server) + - CNONCE_LEN*8 + 136; - response = iks_malloc (i); - sprintf (response, "username=\"%s\",realm=\"%s\",nonce=\"%s\"" - ",cnonce=\"%s\",nc=00000001,qop=auth,digest-uri=\"" - "xmpp/%s\",response=%s,charset=utf-8", - data->auth_username, realm, nonce, cnonce, - data->server, response_value); - response_coded = iks_base64_encode (response, 0); + realm = (char *) data->server; + } + + /* generate random client challenge */ + for (i = 0; i < CNONCE_LEN; ++i) + sprintf (cnonce + i*8, "%08x", rand()); + + md5 = iks_md5_new(); + if (!md5) return NULL; + + iks_md5_hash (md5, (const unsigned char*)data->auth_username, iks_strlen (data->auth_username), 0); + iks_md5_hash (md5, (const unsigned char*)":", 1, 0); + iks_md5_hash (md5, (const unsigned char*)realm, iks_strlen (realm), 0); + iks_md5_hash (md5, (const unsigned char*)":", 1, 0); + iks_md5_hash (md5, (const unsigned char*)data->auth_pass, iks_strlen (data->auth_pass), 1); + iks_md5_digest (md5, a1_h); + + iks_md5_reset (md5); + iks_md5_hash (md5, (const unsigned char*)a1_h, 16, 0); + iks_md5_hash (md5, (const unsigned char*)":", 1, 0); + iks_md5_hash (md5, (const unsigned char*)nonce, iks_strlen (nonce), 0); + iks_md5_hash (md5, (const unsigned char*)":", 1, 0); + iks_md5_hash (md5, (const unsigned char*)cnonce, iks_strlen (cnonce), 1); + iks_md5_print (md5, (char*)a1); + + iks_md5_reset (md5); + iks_md5_hash (md5, (const unsigned char*)"AUTHENTICATE:xmpp/", 18, 0); + iks_md5_hash (md5, (const unsigned char*)data->server, iks_strlen (data->server), 1); + iks_md5_print (md5, (char*)a2); + + iks_md5_reset (md5); + iks_md5_hash (md5, (const unsigned char*)a1, 32, 0); + iks_md5_hash (md5, (const unsigned char*)":", 1, 0); + iks_md5_hash (md5, (const unsigned char*)nonce, iks_strlen (nonce), 0); + iks_md5_hash (md5, (const unsigned char*)":00000001:", 10, 0); + iks_md5_hash (md5, (const unsigned char*)cnonce, iks_strlen (cnonce), 0); + iks_md5_hash (md5, (const unsigned char*)":auth:", 6, 0); + iks_md5_hash (md5, (const unsigned char*)a2, 32, 1); + iks_md5_print (md5, (char*)response_value); + + iks_md5_delete (md5); + + i = iks_strlen (data->auth_username) + iks_strlen (realm) + + iks_strlen (nonce) + iks_strlen (data->server) + + CNONCE_LEN*8 + 136; + response = iks_malloc (i); + if (!response) return NULL; + + sprintf (response, "username=\"%s\",realm=\"%s\",nonce=\"%s\"" + ",cnonce=\"%s\",nc=00000001,qop=auth,digest-uri=\"" + "xmpp/%s\",response=%s,charset=utf-8", + data->auth_username, realm, nonce, cnonce, + data->server, response_value); + response_coded = iks_base64_encode (response, 0); + if (response_coded) { x = iks_new ("response"); iks_insert_cdata (x, response_coded, 0); - - iks_free (response); iks_free (response_coded); } - iks_insert_attrib (x, "xmlns", IKS_NS_XMPP_SASL); - iks_send (data->prs, x); - iks_delete (x); - iks_free (b); + iks_free (response); + + return x; +} + +static void +iks_sasl_challenge (struct stream_data *data, iks *challenge) +{ + char *message; + iks *x; + char *tmp; + + tmp = iks_cdata (iks_child (challenge)); + if (!tmp) return; + + /* decode received blob */ + message = iks_base64_decode (tmp); + if (!message) return; + + /* reply the challenge */ + if (strstr (message, "rspauth")) { + x = iks_new ("response"); + } else { + x = make_sasl_response (data, message); + } + if (x) { + iks_insert_attrib (x, "xmlns", IKS_NS_XMPP_SASL); + iks_send (data->prs, x); + iks_delete (x); + } + iks_free (message); } static int Modified: freeswitch/trunk/libs/iksemel/test/tst-iks.c ============================================================================== --- freeswitch/trunk/libs/iksemel/test/tst-iks.c (original) +++ freeswitch/trunk/libs/iksemel/test/tst-iks.c Wed Feb 4 17:59:19 2009 @@ -17,6 +17,8 @@ "" "TestClientSuxOS 2000" "1.2.0 patchlevel 2"; + static char xml2[] = + "lala
Hello World
"; iks *x, *y, *z; char *t; @@ -52,5 +54,24 @@ } iks_delete(x); + + x = iks_new ("Ni"); + y = iks_insert (x, "br"); + z = iks_prepend_cdata (y, "lala", 4); + iks_prepend (z, "C"); + z = iks_insert_cdata (x, "Hello", 5); + y = iks_append (z, "B"); + iks_prepend (z, "A"); + iks_append_cdata (z, " ", 1); + iks_prepend_cdata (y, "World", 5); + + t = iks_string (iks_stack (x), x); + if(!t || strcmp(t, xml2) != 0) { + printf("Result: %s\n", t); + printf("Expected: %s\n", xml2); + return 1; + } + iks_delete(x); + return 0; } From anthm at freeswitch.org Wed Feb 4 16:05:56 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 18:05:56 -0600 Subject: [Freeswitch-svn] [commit] r11646 - in freeswitch/trunk: . libs/iksemel Message-ID: Author: anthm Date: Wed Feb 4 18:05:55 2009 New Revision: 11646 Log: add iks-reconf target Modified: freeswitch/trunk/Makefile.am freeswitch/trunk/libs/iksemel/INSTALL freeswitch/trunk/libs/iksemel/ltmain.sh Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Wed Feb 4 18:05:55 2009 @@ -376,6 +376,12 @@ cd libs/openzap && sh ./configure.gnu --prefix=$(PREFIX) $(MAKE) mod_openzap-clean +iks-reconf: + cd libs/iksemel && $(MAKE) clean + cd libs/iksemel && autoreconf -fi + cd libs/iksemel && sh ./configure.gnu --prefix=$(PREFIX) + $(MAKE) mod_dingaling-clean + sofia-reconf: cd libs/sofia-sip && sh ./autogen.sh cd libs/sofia-sip && $(MAKE) clean Modified: freeswitch/trunk/libs/iksemel/INSTALL ============================================================================== --- freeswitch/trunk/libs/iksemel/INSTALL (original) +++ freeswitch/trunk/libs/iksemel/INSTALL Wed Feb 4 18:05:55 2009 @@ -1,27 +1,43 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + Basic Installation ================== - These are generic installation instructions. +These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. The simplest way to compile this package is: @@ -54,20 +70,22 @@ Compilers and Options ===================== - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== - You can compile the package for more than one kind of computer at the +You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the @@ -75,28 +93,28 @@ the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. Installation Names ================== - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular +options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. @@ -107,7 +125,7 @@ Optional Features ================= - Some packages pay attention to `--enable-FEATURE' options to +Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The @@ -122,48 +140,86 @@ Specifying the System Type ========================== - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + CPU-COMPANY-SYSTEM -See the file `config.sub' for the possible values of each field. If +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't -need to know the host type. +need to know the machine type. - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. Sharing Defaults ================ - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. -Operation Controls +Defining Variables ================== - `configure' recognizes the following options to control how it -operates. +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. `--help' +`-h' Print a summary of the options to `configure', and exit. +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + `--quiet' `--silent' `-q' @@ -175,8 +231,6 @@ Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. -`configure' also accepts some other, not widely useful, options. Modified: freeswitch/trunk/libs/iksemel/ltmain.sh ============================================================================== --- freeswitch/trunk/libs/iksemel/ltmain.sh (original) +++ freeswitch/trunk/libs/iksemel/ltmain.sh Wed Feb 4 18:05:55 2009 @@ -33,9 +33,6 @@ # function. progpath="$0" -# define SED for historic ltconfig's generated by Libtool 1.3 -test -z "$SED" && SED=sed - # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" @@ -49,17 +46,16 @@ VERSION=1.5.22 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes. -if test -n "${ZSH_VERSION+set}" ; then +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -fi -# Same for EGREP, and just to be sure, do LTCC as well -if test "X$EGREP" = X ; then - EGREP=egrep -fi -if test "X$LTCC" = X ; then - LTCC=${CC-gcc} +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi # Check that we have a working $echo. @@ -115,12 +111,14 @@ # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). # We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi +for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + fi" +done # Make sure IFS has a sensible default lt_nl=' @@ -146,30 +144,8 @@ preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" - -if test -z "$max_cmd_len"; then - i=0 - testring="ABCD" - new_result= - - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ - = "XX$testring") >/dev/null 2>&1 && - new_result=`expr "X$testring" : ".*" 2>&1` && - max_cmd_len="$new_result" && - test "$i" != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - testring="$testring$testring" - done - testring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - max_cmd_len=`expr $max_cmd_len \/ 2` -fi +extracted_archives= +extracted_serial=0 ##################################### # Shell function definitions: @@ -291,17 +267,7 @@ esac CC_quoted="$CC_quoted $arg" done - # user sometimes does CC=-gcc so we need to match that to 'gcc' - trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` - # and sometimes libtool has CC=-gcc but user does CC=gcc - extendcc=${host}-${CC} case "$@ " in - "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ - "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) - tagname=CC - break ;; - "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ - "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. @@ -371,7 +337,17 @@ *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xdir="$my_gentop/$my_xlib" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" @@ -802,6 +778,7 @@ *.f90) xform=f90 ;; *.for) xform=for ;; *.java) xform=java ;; + *.obj) xform=obj ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` @@ -895,7 +872,7 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then - until $run ln "$srcfile" "$lockfile" 2>/dev/null; do + until $run ln "$progpath" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done @@ -1182,8 +1159,9 @@ for arg do case $arg in - -all-static | -static) - if test "X$arg" = "X-all-static"; then + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 fi @@ -1191,12 +1169,20 @@ dlopen_self=$dlopen_self_static fi prefer_static_libs=yes - else + ;; + -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built - fi + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac build_libtool_libs=no build_old_libs=yes break @@ -1756,7 +1742,7 @@ continue ;; - -static) + -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects @@ -2534,7 +2520,9 @@ if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. @@ -3230,7 +3218,7 @@ # which has an extra 1 added just for fun # case $version_type in - darwin|linux|osf|windows) + darwin|linux|osf|windows|none) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" @@ -3454,11 +3442,11 @@ fi # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - done +# for path in $notinst_path; do +# lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` +# deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` +# dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` +# done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. @@ -3559,13 +3547,12 @@ int main() { return 0; } EOF $rm conftest - $LTCC $LTCFLAGS -o conftest conftest.c $deplibs - if test "$?" -eq 0 ; then + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then ldd_output=`ldd conftest` for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" -ne "0"; then + if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) @@ -3604,9 +3591,7 @@ # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest - $LTCC $LTCFLAGS -o conftest conftest.c $i - # Did it work? - if test "$?" -eq 0 ; then + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in @@ -3638,7 +3623,7 @@ droppeddeps=yes $echo $echo "*** Warning! Library $i is needed by this library but I was not able to" - $echo "*** make it link in! You will probably need to install it or some" + $echo "*** make it link in! You will probably need to install it or some" $echo "*** library that it depends on before this library will be fully" $echo "*** functional. Installing it before continuing would be even better." fi @@ -3686,13 +3671,6 @@ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done - # It is ok to link against an archive when - # building a shared library. - if $AR -t $potlib > /dev/null 2>&1; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then @@ -4290,12 +4268,14 @@ reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" @@ -4743,16 +4723,16 @@ case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; @@ -4767,13 +4747,13 @@ # really was required. # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. @@ -4860,7 +4840,7 @@ if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` else # fast_install is set to needless relink_command= @@ -4897,7 +4877,7 @@ fi done relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. @@ -5304,6 +5284,18 @@ Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi + # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH @@ -5430,11 +5422,6 @@ $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. - - # Make sure env LD_LIBRARY_PATH does not mess us up - if test -n \"\${LD_LIBRARY_PATH+set}\"; then - export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH - fi " case $host in # Backslashes separate directories on plain windows @@ -5451,7 +5438,7 @@ ;; esac $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE fi else @@ -5637,7 +5624,7 @@ done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` if test "$hardcode_automatic" = yes ; then relink_command= fi @@ -5662,48 +5649,9 @@ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi - if test "X$EGREP" = X ; then - EGREP=egrep - fi - # We do not want PiSi's install root ($INSTALL_ROOT) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$INSTALL_ROOT"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$INSTALL_ROOT:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # We do not want PiSi's build root ($WORK_DIR) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$WORK_DIR"` - # We do not want PiSi's install root ($INSTALL_ROOT) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$INSTALL_ROOT"` - if test -n "$my_little_ninja_foo_2" && test "$WORK_DIR"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$INSTALL_DIR"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$INSTALL_DIR:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi + newdependency_libs="$newdependency_libs $libdir/$name" ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" @@ -5755,10 +5703,6 @@ case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac - # Do not add duplicates - if test "$installed" = yes && test "$INSTALL_DIR"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$INSTALL_DIR:/:g" -e 's:/\+:/:g'` - fi $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP @@ -6025,9 +5969,9 @@ if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` fi $echo "$modename: warning: relinking \`$file'" 1>&2 @@ -6236,7 +6180,7 @@ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $show "$relink_command" if $run eval "$relink_command"; then : @@ -6512,12 +6456,15 @@ fi # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + # Now prepare to actually exec the command. exec_cmd="\$cmd$args" @@ -6874,9 +6821,9 @@ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE + try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX - try to export only the symbols matching REGEX + try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened @@ -6890,9 +6837,11 @@ -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] + specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. From anthm at freeswitch.org Wed Feb 4 16:11:37 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 18:11:37 -0600 Subject: [Freeswitch-svn] [commit] r11647 - freeswitch/trunk/libs/iksemel Message-ID: Author: anthm Date: Wed Feb 4 18:11:37 2009 New Revision: 11647 Log: revert Modified: freeswitch/trunk/libs/iksemel/configure.ac Modified: freeswitch/trunk/libs/iksemel/configure.ac ============================================================================== --- freeswitch/trunk/libs/iksemel/configure.ac (original) +++ freeswitch/trunk/libs/iksemel/configure.ac Wed Feb 4 18:11:37 2009 @@ -2,7 +2,7 @@ AC_INIT AC_PREREQ(2.50) AC_CONFIG_SRCDIR([configure.ac]) -AM_INIT_AUTOMAKE(iksemel,1.3) +AM_INIT_AUTOMAKE(iksemel,1.2) AM_CONFIG_HEADER(include/config.h) AC_CANONICAL_HOST @@ -45,7 +45,7 @@ AC_CHECK_FUNCS(getopt_long) AC_CHECK_FUNCS(getaddrinfo) -AM_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls")) +AX_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls")) dnl Check -Wall flag of GCC if test "x$GCC" = "xyes"; then From anthm at freeswitch.org Wed Feb 4 16:16:40 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 18:16:40 -0600 Subject: [Freeswitch-svn] [commit] r11648 - in freeswitch/trunk/libs/iksemel: . build Message-ID: Author: anthm Date: Wed Feb 4 18:16:40 2009 New Revision: 11648 Log: revert Modified: freeswitch/trunk/libs/iksemel/build/texinfo.tex freeswitch/trunk/libs/iksemel/configure.ac Modified: freeswitch/trunk/libs/iksemel/build/texinfo.tex ============================================================================== --- freeswitch/trunk/libs/iksemel/build/texinfo.tex (original) +++ freeswitch/trunk/libs/iksemel/build/texinfo.tex Wed Feb 4 18:16:40 2009 @@ -3,10 +3,10 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2004-09-06.16} +\def\texinfoversion{2005-07-05.19} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software % Foundation, Inc. % % This texinfo.tex file is free software; you can redistribute it and/or @@ -21,8 +21,8 @@ % % You should have received a copy of the GNU General Public License % along with this texinfo.tex file; see the file COPYING. If not, write -% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -% Boston, MA 02111-1307, USA. +% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +% Boston, MA 02110-1301, USA. % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without @@ -89,10 +89,11 @@ \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent -\let\ptexnoindent=\noindent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexrbrace=\} \let\ptexslash=\/ @@ -154,10 +155,12 @@ % In some macros, we cannot use the `\? notation---the left quote is % in some cases the escape char. +\chardef\backChar = `\\ \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dotChar = `\. \chardef\exclamChar= `\! +\chardef\plusChar = `\+ \chardef\questChar = `\? \chardef\semiChar = `\; \chardef\underChar = `\_ @@ -166,6 +169,12 @@ \chardef\spacecat = 10 \def\spaceisspace{\catcode\spaceChar=\spacecat} +{% for help with debugging. + % example usage: \expandafter\show\activebackslash + \catcode`\! = 0 \catcode`\\ = \active + !global!def!activebackslash{\} +} + % Ignore a token. % \def\gobble#1{} @@ -301,10 +310,7 @@ % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % - \escapechar = `\\ % use backslash in output files. \indexdummies % don't expand commands in the output. - \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi @@ -355,7 +361,7 @@ \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox - }% end of group with \normalturnoffactive + }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } @@ -565,7 +571,7 @@ \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux file. + % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other @@ -646,13 +652,28 @@ \let\/=\allowbreak % @. is an end-of-sentence period. -\def\.{.\spacefactor=3000 } +\def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. -\def\!{!\spacefactor=3000 } +\def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. -\def\?{?\spacefactor=3000 } +\def\?{?\spacefactor=\endofsentencespacefactor\space} + +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \plainfrenchspacing + \else\ifx\temp\offword \plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% + \fi\fi +} % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would @@ -1091,7 +1112,7 @@ % \def\enddots{% \dots - \spacefactor=3000 + \spacefactor=\endofsentencespacefactor } % @comma{} is so commas can be inserted into text without messing up @@ -1175,7 +1196,62 @@ \fi \fi \fi -% + +% PDF uses PostScript string constants for the names of xref targets, to +% for display in the outlines, and in other places. Thus, we have to +% double any backslashes. Otherwise, a name like "\node" will be +% interpreted as a newline (\n), followed by o, d, e. Not good. +% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html +% (and related messages, the final outcome is that it is up to the TeX +% user to double the backslashes and otherwise make the string valid, so +% that's we do). + +% double active backslashes. +% +{\catcode`\@=0 \catcode`\\=\active + @gdef at activebackslash{@catcode`@\=@active @otherbackslash} + @gdef at activebackslashdouble{% + @catcode at backChar=@active + @let\=@doublebackslash} +} + +% To handle parens, we must adopt a different approach, since parens are +% not active characters. hyperref.dtx (which has the same problem as +% us) handles it with this amazing macro to replace tokens. I've +% tinkered with it a little for texinfo, but it's definitely from there. +% +% #1 is the tokens to replace. +% #2 is the replacement. +% #3 is the control sequence with the string. +% +\def\HyPsdSubst#1#2#3{% + \def\HyPsdReplace##1#1##2\END{% + ##1% + \ifx\\##2\\% + \else + #2% + \HyReturnAfterFi{% + \HyPsdReplace##2\END + }% + \fi + }% + \xdef#3{\expandafter\HyPsdReplace#3#1\END}% +} +\long\def\HyReturnAfterFi#1\fi{\fi#1} + +% #1 is a control sequence in which to do the replacements. +\def\backslashparens#1{% + \xdef#1{#1}% redefine it as its expansion; the definition is simply + % \lastnode when called from \setref -> \pdfmkdest. + \HyPsdSubst{(}{\backslashlparen}{#1}% + \HyPsdSubst{)}{\backslashrparen}{#1}% +} + +{\catcode\exclamChar = 0 \catcode\backChar = \other + !gdef!backslashlparen{\(}% + !gdef!backslashrparen{\)}% +} + \ifpdf \input pdfcolor \pdfcatalog{/PageMode /UseOutlines}% @@ -1200,13 +1276,18 @@ \pdfrefximage \pdflastximage \fi} \def\pdfmkdest#1{{% - % We have to set dummies so commands such as @code in a section title - % aren't expanded. + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. \atdummies - \normalturnoffactive - \pdfdest name{#1} xyz% - }} - \def\pdfmkpgn#1{#1} + \activebackslashdouble + \def\pdfdestname{#1}% + \backslashparens\pdfdestname + \pdfdest name{\pdfdestname} xyz% + }}% + % + % used to mark target names; must be expandable. + \def\pdfmkpgn#1{#1}% + % \let\linkcolor = \Blue % was Cyan, but that seems light? \def\endlink{\Black\pdfendlink} % Adding outlines to PDF; macros for calculating structure of outlines @@ -1217,20 +1298,31 @@ \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % - % #1 is the section text. #2 is the pdf expression for the number - % of subentries (or empty, for subsubsections). #3 is the node - % text, which might be empty if this toc entry had no - % corresponding node. #4 is the page number. + % #1 is the section text, which is what will be displayed in the + % outline by the pdf viewer. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node text, + % which might be empty if this toc entry had no corresponding node. + % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't - % seem worthwhile, since most documents are normally structured. + % seem worth the trouble, since most documents are normally structured. \def\pdfoutlinedest{#3}% - \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi + \ifx\pdfoutlinedest\empty + \def\pdfoutlinedest{#4}% + \else + % Doubled backslashes in the name. + {\activebackslashdouble \xdef\pdfoutlinedest{#3}% + \backslashparens\pdfoutlinedest}% + \fi + % + % Also double the backslashes in the display string. + {\activebackslashdouble \xdef\pdfoutlinetext{#1}% + \backslashparens\pdfoutlinetext}% % - \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}% + \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% @@ -1242,13 +1334,13 @@ % Read toc silently, to get counts of subentries for \pdfoutline. \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% - \let\thissecnum\empty - \let\thissubsecnum\empty + \def\thissecnum{0}% + \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% - \let\thissubsecnum\empty + \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% @@ -1257,9 +1349,9 @@ \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% - \let\thischapnum\empty - \let\thissecnum\empty - \let\thissubsecnum\empty + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. @@ -1271,7 +1363,7 @@ \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% - \input \jobname.toc + \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of @@ -1297,41 +1389,12 @@ % their "best" equivalent, based on the @documentencoding. Right % now, I guess we'll just let the pdf reader have its way. \indexnofonts - \turnoffactive + \setupdatafile + \activebackslash \input \jobname.toc \endgroup } % - \def\makelinks #1,{% - \def\params{#1}\def\E{END}% - \ifx\params\E - \let\nextmakelinks=\relax - \else - \let\nextmakelinks=\makelinks - \ifnum\lnkcount>0,\fi - \picknum{#1}% - \startlink attr{/Border [0 0 0]} - goto name{\pdfmkpgn{\the\pgn}}% - \linkcolor #1% - \advance\lnkcount by 1% - \endlink - \fi - \nextmakelinks - } - \def\picknum#1{\expandafter\pn#1} - \def\pn#1{% - \def\p{#1}% - \ifx\p\lbrace - \let\nextpn=\ppn - \else - \let\nextpn=\ppnn - \def\first{#1} - \fi - \nextpn - } - \def\ppn#1{\pgn=#1\gobble} - \def\ppnn{\pgn=\first} - \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces @@ -1406,7 +1469,7 @@ \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} -\def\bf{\fam=\bffam \setfontstyle{bf}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. @@ -1468,17 +1531,10 @@ \def\scbshape{csc} % Text fonts (11.2pt, magstep1). -\newcount\mainmagstep -\ifx\bigger\relax - % not really supported. - \mainmagstep=\magstep1 - \setfont\textrm\rmshape{12}{1000} - \setfont\texttt\ttshape{12}{1000} -\else - \mainmagstep=\magstephalf - \setfont\textrm\rmshape{10}{\mainmagstep} - \setfont\texttt\ttshape{10}{\mainmagstep} -\fi +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} \setfont\textbf\bfshape{10}{\mainmagstep} \setfont\textit\itshape{10}{\mainmagstep} \setfont\textsl\slshape{10}{\mainmagstep} @@ -1495,6 +1551,7 @@ \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000} \setfont\smalltt\ttshape{9}{1000} \setfont\smallbf\bfshape{10}{900} @@ -1507,6 +1564,7 @@ \font\smallsy=cmsy9 % Fonts for small examples (8pt). +\def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000} \setfont\smallertt\ttshape{8}{1000} \setfont\smallerbf\bfshape{10}{800} @@ -1519,6 +1577,7 @@ \font\smallersy=cmsy8 % Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titleit\itbshape{10}{\magstep4} \setfont\titlesl\slbshape{10}{\magstep4} @@ -1533,6 +1592,7 @@ \def\authortt{\sectt} % Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2} \setfont\chapit\itbshape{10}{\magstep3} \setfont\chapsl\slbshape{10}{\magstep3} @@ -1545,6 +1605,7 @@ \font\chapsy=cmsy10 scaled \magstep3 % Section fonts (14.4pt). +\def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1} \setfont\secit\itbshape{10}{\magstep2} \setfont\secsl\slbshape{10}{\magstep2} @@ -1557,6 +1618,7 @@ \font\secsy=cmsy10 scaled \magstep2 % Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf} \setfont\ssecit\itbshape{10}{1315} \setfont\ssecsl\slbshape{10}{1315} @@ -1569,6 +1631,7 @@ \font\ssecsy=cmsy10 scaled 1315 % Reduced fonts for @acro in text (10pt). +\def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000} \setfont\reducedtt\ttshape{10}{1000} \setfont\reducedbf\bfshape{10}{1000} @@ -1608,6 +1671,7 @@ \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl + \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% @@ -1615,13 +1679,16 @@ \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl + \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl + \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy + \let\tenttsl=\chapttsl + \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% @@ -1629,6 +1696,7 @@ \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl + \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% @@ -1636,6 +1704,7 @@ \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl + \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts @@ -1644,6 +1713,7 @@ \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl + \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% @@ -1651,6 +1721,7 @@ \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl + \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% @@ -1658,6 +1729,7 @@ \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl + \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} @@ -1720,9 +1792,13 @@ \let\dfn=\smartslanted \let\emph=\smartitalic +% @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. @@ -1735,14 +1811,21 @@ % sometimes \x has an active definition that messes things up. % \catcode`@=11 - \def\frenchspacing{% + \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m + \def\endofsentencespacefactor{1000}% for @. and friends + } + \def\plainnonfrenchspacing{% + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other +\def\endofsentencespacefactor{3000}% default \def\t#1{% - {\tt \rawbackslash \frenchspacing #1}% + {\tt \rawbackslash \plainfrenchspacing #1}% \null } \def\samp#1{`\tclose{#1}'\null} @@ -1779,7 +1862,7 @@ \nohyphenation % \rawbackslash - \frenchspacing + \plainfrenchspacing #1% }% \null @@ -1799,8 +1882,14 @@ \catcode`\_=\active % \global\def\code{\begingroup - \catcode`\-=\active \let-\codedash - \catcode`\_=\active \let_\codeunder + \catcode`\-=\active \catcode`\_=\active + \ifallowcodebreaks + \let-\codedash + \let_\codeunder + \else + \let-\realdash + \let_\realunder + \fi \codex } } @@ -1820,6 +1909,28 @@ } \def\codex #1{\tclose{#1}\endgroup} +% An additional complication: the above will allow breaks after, e.g., +% each of the four underscores in __typeof__. This is undesirable in +% some manuals, especially if they don't have long identifiers in +% general. @allowcodebreaks provides a way to control this. +% +\newif\ifallowcodebreaks \allowcodebreakstrue + +\def\keywordtrue{true} +\def\keywordfalse{false} + +\parseargdef\allowcodebreaks{% + \def\txiarg{#1}% + \ifx\txiarg\keywordtrue + \allowcodebreakstrue + \else\ifx\txiarg\keywordfalse + \allowcodebreaksfalse + \else + \errhelp = \EMsimple + \errmessage{Unknown @allowcodebreaks option `\txiarg'}% + \fi\fi +} + % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. @@ -1827,16 +1938,16 @@ % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% - \def\arg{#1}% - \ifx\arg\worddistinct + \def\txiarg{#1}% + \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\arg\wordexample + \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\arg\wordcode + \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle option `\arg'}% + \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} @@ -1948,7 +2059,7 @@ % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% - {\frenchspacing #1}% + {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% @@ -1959,6 +2070,54 @@ % \def\pounds{{\it\$}} +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. @@ -2314,15 +2473,26 @@ % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble - \tablex + \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablex + \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablex + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next } \def\tablex#1{% \def\itemindicate{#1}% @@ -2721,19 +2891,17 @@ \global\setpercentfalse } -\def\setmultitablespacing{% test to see if user has set \multitablelinespace. -% If so, do nothing. If not, give it an appropriate dimension based on -% current baselineskip. +\def\setmultitablespacing{% + \def\multistrut{\strut}% just use the standard line spacing + % + % Compute \multitablelinespace (if not defined by user) for use in + % \multitableparskip calculation. We used define \multistrut based on + % this, but (ironically) that caused the spacing to be off. + % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 -%% strut to put in table in case some entry doesn't have descenders, -%% to keep lines equally spaced -\let\multistrut = \strut -\else -%% FIXME: what is \box0 supposed to be? -\gdef\multistrut{\vrule height\multitablelinespace depth\dp0 -width0pt\relax} \fi +\fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. @@ -2963,9 +3131,8 @@ % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within \newindex. -{\catcode`\@=11 -\gdef\newwrite{\alloc at 7\write\chardef\sixt@@n}} +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that @@ -3051,6 +3218,7 @@ % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% + \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % Need these in case \tex is in effect and \{ is a \delimiter again. @@ -3059,34 +3227,14 @@ \let\{ = \mylbrace \let\} = \myrbrace % - % \definedummyword defines \#1 as \realbackslash #1\space, thus - % effectively preventing its expansion. This is used only for control - % words, not control letters, because the \space would be incorrect - % for control characters, but is needed to separate the control word - % from whatever follows. - % - % For control letters, we have \definedummyletter, which omits the - % space. - % - % These can be used both for control words that take an argument and - % those that do not. If it is followed by {arg} in the input, then - % that will dutifully get written to the index (or wherever). - % - \def\definedummyword##1{% - \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}% - }% - \def\definedummyletter##1{% - \expandafter\def\csname ##1\endcsname{\realbackslash ##1}% - }% - \let\definedummyaccent\definedummyletter - % % Do the redefinitions. \commondummies } -% For the aux file, @ is the escape character. So we want to redefine -% everything using @ instead of \realbackslash. When everything uses -% @, this will be simpler. +% For the aux and toc files, @ is the escape character. So we want to +% redefine everything using @ as the escape character (instead of +% \realbackslash, still used for index files). When everything uses @, +% this will be simpler. % \def\atdummies{% \def\@{@@}% @@ -3094,85 +3242,90 @@ \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % - % (See comments in \indexdummies.) - \def\definedummyword##1{% - \expandafter\def\csname ##1\endcsname{@##1\space}% - }% - \def\definedummyletter##1{% - \expandafter\def\csname ##1\endcsname{@##1}% - }% - \let\definedummyaccent\definedummyletter - % % Do the redefinitions. \commondummies } -% Called from \indexdummies and \atdummies. \definedummyword and -% \definedummyletter must be defined first. +% Called from \indexdummies and \atdummies. % \def\commondummies{% % - \normalturnoffactive + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % preventing its expansion. This is used only for control% words, + % not control letters, because the \space would be incorrect for + % control characters, but is needed to separate the control word + % from whatever follows. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword ##1{\def##1{\string##1\space}}% + \def\definedummyletter##1{\def##1{\string##1}}% + \let\definedummyaccent\definedummyletter % \commondummiesnofonts % - \definedummyletter{_}% + \definedummyletter\_% % % Non-English letters. - \definedummyword{AA}% - \definedummyword{AE}% - \definedummyword{L}% - \definedummyword{OE}% - \definedummyword{O}% - \definedummyword{aa}% - \definedummyword{ae}% - \definedummyword{l}% - \definedummyword{oe}% - \definedummyword{o}% - \definedummyword{ss}% - \definedummyword{exclamdown}% - \definedummyword{questiondown}% - \definedummyword{ordf}% - \definedummyword{ordm}% + \definedummyword\AA + \definedummyword\AE + \definedummyword\L + \definedummyword\OE + \definedummyword\O + \definedummyword\aa + \definedummyword\ae + \definedummyword\l + \definedummyword\oe + \definedummyword\o + \definedummyword\ss + \definedummyword\exclamdown + \definedummyword\questiondown + \definedummyword\ordf + \definedummyword\ordm % % Although these internal commands shouldn't show up, sometimes they do. - \definedummyword{bf}% - \definedummyword{gtr}% - \definedummyword{hat}% - \definedummyword{less}% - \definedummyword{sf}% - \definedummyword{sl}% - \definedummyword{tclose}% - \definedummyword{tt}% + \definedummyword\bf + \definedummyword\gtr + \definedummyword\hat + \definedummyword\less + \definedummyword\sf + \definedummyword\sl + \definedummyword\tclose + \definedummyword\tt % - \definedummyword{LaTeX}% - \definedummyword{TeX}% + \definedummyword\LaTeX + \definedummyword\TeX % % Assorted special characters. - \definedummyword{bullet}% - \definedummyword{comma}% - \definedummyword{copyright}% - \definedummyword{registeredsymbol}% - \definedummyword{dots}% - \definedummyword{enddots}% - \definedummyword{equiv}% - \definedummyword{error}% - \definedummyword{expansion}% - \definedummyword{minus}% - \definedummyword{pounds}% - \definedummyword{point}% - \definedummyword{print}% - \definedummyword{result}% + \definedummyword\bullet + \definedummyword\comma + \definedummyword\copyright + \definedummyword\registeredsymbol + \definedummyword\dots + \definedummyword\enddots + \definedummyword\equiv + \definedummyword\error + \definedummyword\euro + \definedummyword\expansion + \definedummyword\minus + \definedummyword\pounds + \definedummyword\point + \definedummyword\print + \definedummyword\result + % + % We want to disable all macros so that they are not expanded by \write. + \macrolist + % + \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable - % - % Normal spaces, not active ones. - \unsepspaces - % - % No macro expansion. - \turnoffmacros } % \commondummiesnofonts: common to \commondummies and \indexnofonts. @@ -3182,57 +3335,57 @@ \catcode`\~=\other \gdef\commondummiesnofonts{% % Control letters and accents. - \definedummyletter{!}% - \definedummyaccent{"}% - \definedummyaccent{'}% - \definedummyletter{*}% - \definedummyaccent{,}% - \definedummyletter{.}% - \definedummyletter{/}% - \definedummyletter{:}% - \definedummyaccent{=}% - \definedummyletter{?}% - \definedummyaccent{^}% - \definedummyaccent{`}% - \definedummyaccent{~}% - \definedummyword{u}% - \definedummyword{v}% - \definedummyword{H}% - \definedummyword{dotaccent}% - \definedummyword{ringaccent}% - \definedummyword{tieaccent}% - \definedummyword{ubaraccent}% - \definedummyword{udotaccent}% - \definedummyword{dotless}% + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless % % Texinfo font commands. - \definedummyword{b}% - \definedummyword{i}% - \definedummyword{r}% - \definedummyword{sc}% - \definedummyword{t}% + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sc + \definedummyword\t % % Commands that take arguments. - \definedummyword{acronym}% - \definedummyword{cite}% - \definedummyword{code}% - \definedummyword{command}% - \definedummyword{dfn}% - \definedummyword{emph}% - \definedummyword{env}% - \definedummyword{file}% - \definedummyword{kbd}% - \definedummyword{key}% - \definedummyword{math}% - \definedummyword{option}% - \definedummyword{samp}% - \definedummyword{strong}% - \definedummyword{tie}% - \definedummyword{uref}% - \definedummyword{url}% - \definedummyword{var}% - \definedummyword{verb}% - \definedummyword{w}% + \definedummyword\acronym + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w } } @@ -3243,13 +3396,9 @@ % \def\indexnofonts{% % Accent commands should become @asis. - \def\definedummyaccent##1{% - \expandafter\let\csname ##1\endcsname\asis - }% + \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. - \def\definedummyletter##1{% - \expandafter\def\csname ##1\endcsname{}% - }% + \def\definedummyletter##1{\let##1\empty}% % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % @@ -3295,6 +3444,7 @@ \def\enddots{...}% \def\equiv{==}% \def\error{error}% + \def\euro{euro}% \def\expansion{==>}% \def\minus{-}% \def\pounds{pounds}% @@ -3302,8 +3452,17 @@ \def\print{-|}% \def\result{=>}% % - % Don't write macro names. - \emptyusermacros + % We need to get rid of all macros, leaving only the arguments (if present). + % Of course this is not nearly correct, but it is the best we can do for now. + % makeinfo does not expand macros in the argument to @deffn, which ends up + % writing an index entry, and texindex isn't prepared for an index sort entry + % that starts with \. + % + % Since macro invocations are followed by braces, we can just redefine them + % to take a single TeX argument. The case of a macro invocation that + % goes to end-of-line is not handled. + % + \macrolist } \let\indexbackslash=0 %overridden during \printindex. @@ -3350,7 +3509,6 @@ % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage - \escapechar=`\\ \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % @@ -4217,11 +4375,11 @@ \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% - \def\thischapter{#1}% + \gdef\thischapter{#1}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% - \xdef\thischapter{}% + \gdef\thischapter{}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% @@ -4410,11 +4568,11 @@ \fi % \iflinks - \toks0 = {#2}% - \toks2 = \expandafter{\lastnode}% - \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}% - {\the\toks2}{\noexpand\folio}}}% - \temp + {\atdummies + \edef\temp{% + \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% + \temp + } \fi \fi % @@ -4427,6 +4585,31 @@ \ifpdf \global\pdfmakepagedesttrue \fi } + +% These characters do not print properly in the Computer Modern roman +% fonts, so we must take special care. This is more or less redundant +% with the Texinfo input format setup at the end of this file. +% +\def\activecatcodes{% + \catcode`\"=\active + \catcode`\$=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\\=\active + \catcode`\^=\active + \catcode`\_=\active + \catcode`\|=\active + \catcode`\~=\active +} + + +% Read the toc file, which is essentially Texinfo input. +\def\readtocfile{% + \setupdatafile + \activecatcodes + \input \jobname.toc +} + \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 @@ -4448,11 +4631,7 @@ % \savepageno = \pageno \begingroup % Set up to handle contents files properly. - \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 - % We can't do this, because then an actual ^ in a section - % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. - %\catcode`\^=7 % to see ^^e4 as \"a etc. juha at piuha.ydi.vtt.fi - \raggedbottom % Worry more about breakpoints than the bottom. + \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. @@ -4465,7 +4644,7 @@ \startcontents{\putwordTOC}% \openin 1 \jobname.toc \ifeof 1 \else - \input \jobname.toc + \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect @@ -4503,7 +4682,7 @@ \let\unnsubsubsecentry = \numsecentry \openin 1 \jobname.toc \ifeof 1 \else - \input \jobname.toc + \readtocfile \fi \closein 1 \vfill \eject @@ -4693,6 +4872,7 @@ \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext + \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% @@ -4738,7 +4918,8 @@ \let\afterenvbreak = \aboveenvbreak -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will +% also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around @@ -4775,7 +4956,7 @@ % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing=\comment + \let\nonarrowing = t% \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop @@ -4815,11 +4996,11 @@ \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes - % @cartouche defines \nonarrowing to inhibit narrowing - % at next level down. \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing + \else + \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } @@ -4919,6 +5100,7 @@ \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing + \else \let\nonarrowing = \relax \fi \parsearg\quotationlabel @@ -5011,8 +5193,8 @@ } \endgroup \def\setupverbatim{% + \let\nonarrowing = t% \nonfillstart - \advance\leftskip by -\defbodyindent % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% @@ -5482,8 +5664,19 @@ \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? -\def\macrolist{} % List of all defined macros in the form - % \do\macro1\do\macro2... + +% List of all defined macros in the form +% \definedummyword\macro1\definedummyword\macro2... +% Currently is also contains all @aliases; the list can be split +% if there is a need. +\def\macrolist{} + +% Add the macro to \macrolist +\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} +\def\addtomacrolistxxx#1{% + \toks0 = \expandafter{\macrolist\definedummyword#1}% + \xdef\macrolist{\the\toks0}% +} % Utility routines. % This does \let #1 = #2, with \csnames; that is, @@ -5581,10 +5774,7 @@ \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - % Add the macroname to \macrolist - \toks0 = \expandafter{\macrolist\do}% - \xdef\macrolist{\the\toks0 - \expandafter\noexpand\csname\the\macname\endcsname}% + \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody @@ -5598,7 +5788,7 @@ % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax - \let\do\unmacrodo + \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else @@ -5610,10 +5800,10 @@ % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% - \ifx#1\relax + \ifx #1\relax % remove this \else - \noexpand\do \noexpand #1% + \noexpand\definedummyword \noexpand#1% \fi } @@ -5732,25 +5922,6 @@ \expandafter\parsearg \fi \next} -% We want to disable all macros during \shipout so that they are not -% expanded by \write. -\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% - \edef\next{\macrolist}\expandafter\endgroup\next} - -% For \indexnofonts, we need to get rid of all macros, leaving only the -% arguments (if present). Of course this is not nearly correct, but it -% is the best we can do for now. makeinfo does not expand macros in the -% argument to @deffn, which ends up writing an index entry, and texindex -% isn't prepared for an index sort entry that starts with \. -% -% Since macro invocations are followed by braces, we can just redefine them -% to take a single TeX argument. The case of a macro invocation that -% goes to end-of-line is not handled. -% -\def\emptyusermacros{\begingroup - \def\do##1{\let\noexpand##1=\noexpand\asis}% - \edef\next{\macrolist}\expandafter\endgroup\next} - % @alias. % We need some trickery to remove the optional spaces around the equal @@ -5760,6 +5931,7 @@ \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty + \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next @@ -5829,8 +6001,6 @@ \iflinks {% \atdummies % preserve commands, but don't expand them - \turnoffactive - \otherbackslash \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef @@ -5884,13 +6054,17 @@ \ifpdf \leavevmode \getfilename{#4}% - {\turnoffactive \otherbackslash + {\turnoffactive + % See comments at \activebackslashdouble. + {\activebackslashdouble \xdef\pdfxrefdest{#1}% + \backslashparens\pdfxrefdest}% + % \ifnum\filenamelength>0 \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{#1}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% \else \startlink attr{/Border [0 0 0]}% - goto name{\pdfmkpgn{#1}}% + goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \linkcolor @@ -5904,7 +6078,6 @@ % include an _ in the xref name, etc. \indexnofonts \turnoffactive - \otherbackslash \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% @@ -5939,7 +6112,7 @@ % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. - {\turnoffactive \otherbackslash + {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% @@ -5952,7 +6125,7 @@ ,\space % % output the `page 3'. - \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}% + \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \fi \endlink @@ -6055,13 +6228,13 @@ \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else - \readauxfile + \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } -\def\readauxfile{\begingroup +\def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other @@ -6130,11 +6303,11 @@ % % Make the characters 128-255 be printing characters. {% - \count 1=128 + \count1=128 \def\loop{% - \catcode\count 1=\other - \advance\count 1 by 1 - \ifnum \count 1<256 \loop \fi + \catcode\count1=\other + \advance\count1 by 1 + \ifnum \count1<256 \loop \fi }% }% % @@ -6142,10 +6315,13 @@ \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 - % - \input \jobname.aux -\endgroup} +} +\def\readdatafile#1{% +\begingroup + \setupdatafile + \input\jobname.#1 +\endgroup} \message{insertions,} % including footnotes. @@ -6492,7 +6668,7 @@ % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% - \atdummies \turnoffactive \otherbackslash + \atdummies % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. @@ -6682,9 +6858,9 @@ \fi } -% Parameters in order: 1) textheight; 2) textwidth; 3) voffset; -% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8) -% physical page width. +% Parameters in order: 1) textheight; 2) textwidth; +% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; +% 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. @@ -6731,7 +6907,7 @@ {11in}{8.5in}% }} -% Use @smallbook to reset parameters for 7x9.5 (or so) format. +% Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt @@ -6748,6 +6924,24 @@ \defbodyindent = .5cm }} +% Use @smallerbook to reset parameters for 6x9 trim size. +% (Just testing, parameters still in flux.) +\def\smallerbook{{\globaldefs = 1 + \parskip = 1.5pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.4in}{4.8in}% + {-.2in}{-.4in}% + {0pt}{14pt}% + {9in}{6in}% + % + \lispnarrowing = 0.25in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .4cm +}} + % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt @@ -6900,6 +7094,7 @@ \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} +\let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } @@ -6937,8 +7132,9 @@ @gdef at otherbackslash{@let\=@realbackslash} } -% \realbackslash is an actual character `\' with catcode other. -{\catcode`\\=\other @gdef at realbackslash{\}} +% \realbackslash is an actual character `\' with catcode other, and +% \doublebackslash is two of them (for the pdf outlines). +{\catcode`\\=\other @gdef at realbackslash{\} @gdef at doublebackslash{\\}} % \normalbackslash outputs one backslash in fixed width font. \def\normalbackslash{{\tt\backslashcurfont}} @@ -6981,7 +7177,7 @@ % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\{ in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. -% Also back turn on active characters that might appear in the input +% Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef at fixbackslash{% Modified: freeswitch/trunk/libs/iksemel/configure.ac ============================================================================== --- freeswitch/trunk/libs/iksemel/configure.ac (original) +++ freeswitch/trunk/libs/iksemel/configure.ac Wed Feb 4 18:16:40 2009 @@ -1,9 +1,10 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT AC_PREREQ(2.50) +AC_CONFIG_AUX_DIR(build) AC_CONFIG_SRCDIR([configure.ac]) -AM_INIT_AUTOMAKE(iksemel,1.2) -AM_CONFIG_HEADER(include/config.h) +AM_INIT_AUTOMAKE(iksemel,1.3) +AC_CONFIG_HEADERS(include/config.h) AC_CANONICAL_HOST @@ -54,6 +55,35 @@ fi fi +AC_DEFUN([AX_COMPILER_VENDOR], +[ +AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, + [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown + # note: don't check for gcc first since some other compilers define __GNUC__ + for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do + vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[ +#if !($vencpp) + thisisanerror; +#endif +])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break]) + done + ]) +]) + +AX_COMPILER_VENDOR + +# Enable 64 bit build +AC_ARG_ENABLE(64, +[AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"]) + +if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then + if test "${enable_64}" = "yes"; then + CFLAGS="$CFLAGS -m64" + CXXFLAGS="$CXXFLAGS -m64" + fi +fi + dnl Generating makefiles AC_CONFIG_FILES([ Makefile From brian at freeswitch.org Wed Feb 4 16:18:51 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 18:18:51 -0600 Subject: [Freeswitch-svn] [commit] r11649 - freeswitch/trunk/libs/iksemel/doc Message-ID: Author: brian Date: Wed Feb 4 18:18:50 2009 New Revision: 11649 Log: merge in new iksemel patches Removed: freeswitch/trunk/libs/iksemel/doc/texinfo.tex From jskopis at freeswitch.org Wed Feb 4 19:32:38 2009 From: jskopis at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 21:32:38 -0600 Subject: [Freeswitch-svn] [commit] r11650 - freeswitch/branches/jskopis/trunk Message-ID: Author: jskopis Date: Wed Feb 4 21:32:38 2009 New Revision: 11650 Log: copying trunk Added: freeswitch/branches/jskopis/trunk/ - copied from r11649, /freeswitch/trunk/ From jskopis at freeswitch.org Wed Feb 4 19:36:06 2009 From: jskopis at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 21:36:06 -0600 Subject: [Freeswitch-svn] [commit] r11651 - freeswitch/branches/jskopis/trunk Message-ID: Author: jskopis Date: Wed Feb 4 21:36:06 2009 New Revision: 11651 Log: whoops Removed: freeswitch/branches/jskopis/trunk/ From jskopis at freeswitch.org Wed Feb 4 19:36:18 2009 From: jskopis at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 21:36:18 -0600 Subject: [Freeswitch-svn] [commit] r11652 - freeswitch/branches/jskopis/trunk Message-ID: Author: jskopis Date: Wed Feb 4 21:36:18 2009 New Revision: 11652 Log: copying trunk Added: freeswitch/branches/jskopis/trunk/ - copied from r11651, /freeswitch/trunk/ From jskopis at freeswitch.org Wed Feb 4 19:40:45 2009 From: jskopis at freeswitch.org (FreeSWITCH SVN) Date: Wed, 04 Feb 2009 21:40:45 -0600 Subject: [Freeswitch-svn] [commit] r11653 - freeswitch/branches/jskopis/trunk Message-ID: Author: jskopis Date: Wed Feb 4 21:40:44 2009 New Revision: 11653 Log: whoops Removed: freeswitch/branches/jskopis/trunk/ From mikej at freeswitch.org Thu Feb 5 07:54:03 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 09:54:03 -0600 Subject: [Freeswitch-svn] [commit] r11654 - in freeswitch/trunk/libs/spandsp: . src src/msvc src/spandsp src/spandsp/private Message-ID: Author: mikej Date: Thu Feb 5 09:54:02 2009 New Revision: 11654 Log: update to snapshot spandsp-20090205 Modified: freeswitch/trunk/libs/spandsp/ (props changed) freeswitch/trunk/libs/spandsp/src/async.c freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head freeswitch/trunk/libs/spandsp/src/silence_gen.c freeswitch/trunk/libs/spandsp/src/spandsp/async.h freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h freeswitch/trunk/libs/spandsp/src/spandsp/private/t4.h freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h freeswitch/trunk/libs/spandsp/src/spandsp/t30.h freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h freeswitch/trunk/libs/spandsp/src/spandsp/t4.h freeswitch/trunk/libs/spandsp/src/spandsp/v42.h freeswitch/trunk/libs/spandsp/src/spandsp/version.h freeswitch/trunk/libs/spandsp/src/t30.c freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c freeswitch/trunk/libs/spandsp/src/t4.c freeswitch/trunk/libs/spandsp/src/v42.c Modified: freeswitch/trunk/libs/spandsp/src/async.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/async.c (original) +++ freeswitch/trunk/libs/spandsp/src/async.c Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: async.c,v 1.16 2009/02/03 16:28:39 steveu Exp $ + * $Id: async.c,v 1.17 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj ============================================================================== --- freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj (original) +++ freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj Thu Feb 5 09:54:02 2009 @@ -8,37 +8,22 @@ Keyword="Win32Proj" TargetFrameworkVersion="131072" > - - + - - - - - + + + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + \ No newline at end of file + > Modified: freeswitch/trunk/libs/spandsp/src/silence_gen.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/silence_gen.c (original) +++ freeswitch/trunk/libs/spandsp/src/silence_gen.c Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: silence_gen.c,v 1.18 2009/02/03 16:28:40 steveu Exp $ + * $Id: silence_gen.c,v 1.19 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/async.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/async.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/async.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: async.h,v 1.21 2009/02/03 16:28:40 steveu Exp $ + * $Id: async.h,v 1.22 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: complex_vector_float.h,v 1.12 2009/01/31 08:48:11 steveu Exp $ + * $Id: complex_vector_float.h,v 1.13 2009/02/04 13:18:53 steveu Exp $ */ #if !defined(_SPANDSP_COMPLEX_VECTOR_FLOAT_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/fast_convert.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: fast_convert.h,v 1.1 2009/02/03 16:28:41 steveu Exp $ + * $Id: fast_convert.h,v 1.2 2009/02/05 12:21:36 steveu Exp $ */ #if !defined(_SPANDSP_FAST_CONVERT_H_) @@ -90,7 +90,6 @@ * These replacement functions (pulled from the Public Domain MinGW * math.h header) replace the native versions. */ -#if 0 static __inline__ long int lrint(double x) { long int retval; @@ -119,8 +118,8 @@ ); return retval; } -#endif + /* The fastest way to convert is the equivalent of lrint() */ static __inline__ long int lfastrint(double x) { long int retval; @@ -149,7 +148,7 @@ ); return retval; } -#elif defined(HAVE_LRINT) && defined(HAVE_LRINTF) +#elif defined(__GNUC__) #if defined(__i386__) /* These routines are guaranteed fast on an i386 machine. Using the built in @@ -235,6 +234,7 @@ * Win32 doesn't seem to have the lrint() and lrintf() functions. * Therefore implement inline versions of these functions here. */ + __inline long int lrint(double x) { long int i; @@ -269,7 +269,7 @@ __inline double rint(double dbl) { - __asm + _asm { fld dbl frndint @@ -300,7 +300,7 @@ return i; } #elif defined(WIN64) || defined(_WIN64) - /* Win64 machines will do best with a simple assignment. */ + /* x86_64 machines will do best with a simple assignment. */ __inline long int lfastrint(double x) { @@ -377,12 +377,21 @@ the accuracy issues related to changing the rounding scheme are of little concern to us. */ -#if 0 #if !defined(__sgi) #warning "No usable lrint() and lrintf() functions available." #warning "Replacing these functions with a simple C cast." #endif -#endif + + static __inline__ long int lrint(double x) + { + return (long int) (x); + } + + static __inline__ long int lrintf(float x) + { + return (long int) (x); + } + static __inline__ long int lfastrint(double x) { return (long int) (x); Modified: freeswitch/trunk/libs/spandsp/src/spandsp/private/t4.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/private/t4.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/private/t4.h Thu Feb 5 09:54:02 2009 @@ -22,25 +22,29 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.h,v 1.1 2008/10/13 13:14:01 steveu Exp $ + * $Id: t4.h,v 1.2 2009/02/05 12:21:36 steveu Exp $ */ #if !defined(_SPANDSP_PRIVATE_T4_H_) #define _SPANDSP_PRIVATE_T4_H_ /*! - T.4 FAX compression/decompression descriptor. This defines the working state - for a single instance of a T.4 FAX compression or decompression channel. + TIFF specific state information to go with T.4 compression or decompression handling. */ -struct t4_state_s +typedef struct { - /*! \brief The same structure is used for T.4 transmit and receive. This variable - records which mode is in progress. */ - int rx; - /* "Background" information about the FAX, which can be stored in a TIFF file. */ - /*! \brief The vendor of the machine which produced the TIFF file. */ + /*! \brief The libtiff context for the current TIFF file */ + TIFF *tiff_file; + + /*! \brief The compression type for output to the TIFF file. */ + int output_compression; + /*! \brief The TIFF G3 FAX options. */ + int output_t4_options; + + /* "Background" information about the FAX, which can be stored in the image file. */ + /*! \brief The vendor of the machine which produced the file. */ const char *vendor; - /*! \brief The model of machine which produced the TIFF file. */ + /*! \brief The model of machine which produced the file. */ const char *model; /*! \brief The local ident string. */ const char *local_ident; @@ -50,9 +54,17 @@ const char *sub_address; /*! \brief The FAX DCS information, as an ASCII string. */ const char *dcs; - /*! \brief The text which will be used in FAX page header. No text results - in no header line. */ - const char *header_info; +} t4_tiff_state_t; + +/*! + T.4 FAX compression/decompression descriptor. This defines the working state + for a single instance of a T.4 FAX compression or decompression channel. +*/ +struct t4_state_s +{ + /*! \brief The same structure is used for T.4 transmit and receive. This variable + records which mode is in progress. */ + int rx; /*! \brief The type of compression used between the FAX machines. */ int line_encoding; @@ -60,11 +72,6 @@ for hardware FAX machines. */ int min_bits_per_row; - /*! \brief The compression type for output to the TIFF file. */ - int output_compression; - /*! \brief The TIFF G3 FAX options. */ - int output_t4_options; - /*! \brief Callback function to read a row of pixels from the image source. */ t4_row_read_handler_t row_read_handler; /*! \brief Opaque pointer passed to row_read_handler. */ @@ -88,8 +95,6 @@ /*! \brief A point to the image buffer. */ uint8_t *image_buffer; - /*! \brief The libtiff context for the current TIFF file */ - TIFF *tiff_file; /*! \brief The current file name. */ const char *file; /*! \brief The first page to transfer. -1 to start at the beginning of the file. */ @@ -99,7 +104,7 @@ /*! \brief The number of pages transferred to date. */ int pages_transferred; - /*! \brief The number of pages in the current TIFF file. */ + /*! \brief The number of pages in the current image file. */ int pages_in_file; /*! \brief Column-to-column (X) resolution in pixels per metre. */ int x_resolution; @@ -193,8 +198,15 @@ /*! \brief The maximum bits in any row of the current page. For monitoring only. */ int max_row_bits; + /*! \brief The text which will be used in FAX page header. No text results + in no header line. */ + const char *header_info; + /*! \brief Error and flow logging control */ logging_state_t logging; + + /*! \brief All TIFF file specific state information for the T.4 context. */ + t4_tiff_state_t tiff; }; #endif Modified: freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: saturated.h,v 1.3 2009/02/03 17:25:53 steveu Exp $ + * $Id: saturated.h,v 1.4 2009/02/05 12:21:36 steveu Exp $ */ /*! \file */ @@ -75,7 +75,6 @@ return INT16_MAX; if (famp < (float) INT16_MIN) return INT16_MIN; - //return (int16_t) lfastrintf(famp); return (int16_t) lrintf(famp); } /*- End of function --------------------------------------------------------*/ @@ -86,11 +85,33 @@ return INT16_MAX; if (damp < (double) INT16_MIN) return INT16_MIN; - //return (int16_t) lfastrint(damp); return (int16_t) lrint(damp); } /*- End of function --------------------------------------------------------*/ +/* Saturate to a 16 bit integer, using the fastest float to int conversion */ +static __inline__ int16_t ffastsaturatef(float famp) +{ + if (famp > (float) INT16_MAX) + return INT16_MAX; + if (famp < (float) INT16_MIN) + return INT16_MIN; + return (int16_t) lfastrintf(famp); +} +/*- End of function --------------------------------------------------------*/ + +/* Saturate to a 16 bit integer, using the fastest double to int conversion */ +static __inline__ int16_t ffastsaturate(double damp) +{ + if (damp > (double) INT16_MAX) + return INT16_MAX; + if (damp < (double) INT16_MIN) + return INT16_MIN; + return (int16_t) lfastrint(damp); +} +/*- End of function --------------------------------------------------------*/ + +/* Saturate to a 16 bit integer, using the closest float to int conversion */ static __inline__ float ffsaturatef(float famp) { if (famp > (float) INT16_MAX) @@ -101,6 +122,7 @@ } /*- End of function --------------------------------------------------------*/ +/* Saturate to a 16 bit integer, using the closest double to int conversion */ static __inline__ double ffsaturate(double famp) { if (famp > (double) INT16_MAX) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: silence_gen.h,v 1.14 2009/02/03 16:28:41 steveu Exp $ + * $Id: silence_gen.h,v 1.15 2009/02/04 13:18:53 steveu Exp $ */ #if !defined(_SPANDSP_SILENCE_GEN_H_) Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t30.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t30.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t30.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.h,v 1.122 2009/02/03 16:28:41 steveu Exp $ + * $Id: t30.h,v 1.123 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h Thu Feb 5 09:54:02 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_non_ecm_buffer.h,v 1.5 2009/02/03 16:28:41 steveu Exp $ + * $Id: t38_non_ecm_buffer.h,v 1.6 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/spandsp/t4.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/t4.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/t4.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.h,v 1.55 2009/02/03 16:28:41 steveu Exp $ + * $Id: t4.h,v 1.56 2009/02/05 12:21:36 steveu Exp $ */ /*! \file */ @@ -249,7 +249,7 @@ started with t4_rx_init. \param s The T.4 receive context. \return 0 for success, otherwise -1. */ -SPAN_DECLARE(int) t4_rx_delete(t4_state_t *s); +SPAN_DECLARE(int) t4_rx_free(t4_state_t *s); /*! \brief End reception of a document. Tidy up and close the file. This should be used to end T.4 reception started with @@ -379,7 +379,7 @@ started with t4_tx_init. \param s The T.4 context. \return 0 for success, otherwise -1. */ -SPAN_DECLARE(int) t4_tx_delete(t4_state_t *s); +SPAN_DECLARE(int) t4_tx_free(t4_state_t *s); /*! \brief End the transmission of a document. Tidy up and close the file. This should be used to end T.4 transmission started with t4_tx_init. Modified: freeswitch/trunk/libs/spandsp/src/spandsp/v42.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/v42.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/v42.h Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42.h,v 1.28 2009/02/03 16:28:41 steveu Exp $ + * $Id: v42.h,v 1.29 2009/02/04 13:18:53 steveu Exp $ */ /*! \page v42_page V.42 modem error correction Modified: freeswitch/trunk/libs/spandsp/src/spandsp/version.h ============================================================================== --- freeswitch/trunk/libs/spandsp/src/spandsp/version.h (original) +++ freeswitch/trunk/libs/spandsp/src/spandsp/version.h Thu Feb 5 09:54:02 2009 @@ -30,8 +30,8 @@ /* The date and time of the version are in UTC form. */ -#define SPANDSP_RELEASE_DATE 20090203 -#define SPANDSP_RELEASE_TIME 172817 +#define SPANDSP_RELEASE_DATE 20090205 +#define SPANDSP_RELEASE_TIME 122416 #endif /*- End of file ------------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/t30.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t30.c (original) +++ freeswitch/trunk/libs/spandsp/src/t30.c Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t30.c,v 1.283 2009/02/03 16:28:40 steveu Exp $ + * $Id: t30.c,v 1.284 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c (original) +++ freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c Thu Feb 5 09:54:02 2009 @@ -23,7 +23,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t38_non_ecm_buffer.c,v 1.6 2009/02/03 16:28:40 steveu Exp $ + * $Id: t38_non_ecm_buffer.c,v 1.7 2009/02/04 13:18:53 steveu Exp $ */ /*! \file */ Modified: freeswitch/trunk/libs/spandsp/src/t4.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/t4.c (original) +++ freeswitch/trunk/libs/spandsp/src/t4.c Thu Feb 5 09:54:02 2009 @@ -24,7 +24,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: t4.c,v 1.121 2009/02/03 16:28:40 steveu Exp $ + * $Id: t4.c,v 1.123 2009/02/05 12:21:36 steveu Exp $ */ /* @@ -117,6 +117,8 @@ #include "faxfont.h" +static int encode_row(t4_state_t *s); + #if defined(T4_STATE_DEBUGGING) static void STATE_TRACE(const char *format, ...) { @@ -156,66 +158,68 @@ uint16_t resunit; float x_resolution; float y_resolution; + t4_tiff_state_t *t; + t = &s->tiff; /* Prepare the directory entry fully before writing the image, or libtiff complains */ - TIFFSetField(s->tiff_file, TIFFTAG_COMPRESSION, s->output_compression); - if (s->output_compression == COMPRESSION_CCITT_T4) + TIFFSetField(t->tiff_file, TIFFTAG_COMPRESSION, t->output_compression); + if (t->output_compression == COMPRESSION_CCITT_T4) { - TIFFSetField(s->tiff_file, TIFFTAG_T4OPTIONS, s->output_t4_options); - TIFFSetField(s->tiff_file, TIFFTAG_FAXMODE, FAXMODE_CLASSF); + TIFFSetField(t->tiff_file, TIFFTAG_T4OPTIONS, t->output_t4_options); + TIFFSetField(t->tiff_file, TIFFTAG_FAXMODE, FAXMODE_CLASSF); } - TIFFSetField(s->tiff_file, TIFFTAG_IMAGEWIDTH, s->image_width); - TIFFSetField(s->tiff_file, TIFFTAG_BITSPERSAMPLE, 1); - TIFFSetField(s->tiff_file, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT); - TIFFSetField(s->tiff_file, TIFFTAG_SAMPLESPERPIXEL, 1); - if (s->output_compression == COMPRESSION_CCITT_T4 + TIFFSetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, s->image_width); + TIFFSetField(t->tiff_file, TIFFTAG_BITSPERSAMPLE, 1); + TIFFSetField(t->tiff_file, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT); + TIFFSetField(t->tiff_file, TIFFTAG_SAMPLESPERPIXEL, 1); + if (t->output_compression == COMPRESSION_CCITT_T4 || - s->output_compression == COMPRESSION_CCITT_T6) + t->output_compression == COMPRESSION_CCITT_T6) { - TIFFSetField(s->tiff_file, TIFFTAG_ROWSPERSTRIP, -1L); + TIFFSetField(t->tiff_file, TIFFTAG_ROWSPERSTRIP, -1L); } else { - TIFFSetField(s->tiff_file, + TIFFSetField(t->tiff_file, TIFFTAG_ROWSPERSTRIP, - TIFFDefaultStripSize(s->tiff_file, 0)); + TIFFDefaultStripSize(t->tiff_file, 0)); } - TIFFSetField(s->tiff_file, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); - TIFFSetField(s->tiff_file, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISWHITE); - TIFFSetField(s->tiff_file, TIFFTAG_FILLORDER, FILLORDER_LSB2MSB); + TIFFSetField(t->tiff_file, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); + TIFFSetField(t->tiff_file, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISWHITE); + TIFFSetField(t->tiff_file, TIFFTAG_FILLORDER, FILLORDER_LSB2MSB); x_resolution = s->x_resolution/100.0f; y_resolution = s->y_resolution/100.0f; /* Metric seems the sane thing to use in the 21st century, but a lot of lousy software gets FAX resolutions wrong, and more get it wrong using metric than using inches. */ #if 0 - TIFFSetField(s->tiff_file, TIFFTAG_XRESOLUTION, x_resolution); - TIFFSetField(s->tiff_file, TIFFTAG_YRESOLUTION, y_resolution); + TIFFSetField(t->tiff_file, TIFFTAG_XRESOLUTION, x_resolution); + TIFFSetField(t->tiff_file, TIFFTAG_YRESOLUTION, y_resolution); resunit = RESUNIT_CENTIMETER; - TIFFSetField(s->tiff_file, TIFFTAG_RESOLUTIONUNIT, resunit); + TIFFSetField(t->tiff_file, TIFFTAG_RESOLUTIONUNIT, resunit); #else - TIFFSetField(s->tiff_file, TIFFTAG_XRESOLUTION, floorf(x_resolution*CM_PER_INCH + 0.5f)); - TIFFSetField(s->tiff_file, TIFFTAG_YRESOLUTION, floorf(y_resolution*CM_PER_INCH + 0.5f)); + TIFFSetField(t->tiff_file, TIFFTAG_XRESOLUTION, floorf(x_resolution*CM_PER_INCH + 0.5f)); + TIFFSetField(t->tiff_file, TIFFTAG_YRESOLUTION, floorf(y_resolution*CM_PER_INCH + 0.5f)); resunit = RESUNIT_INCH; - TIFFSetField(s->tiff_file, TIFFTAG_RESOLUTIONUNIT, resunit); + TIFFSetField(t->tiff_file, TIFFTAG_RESOLUTIONUNIT, resunit); #endif /* TODO: add the version of spandsp */ - TIFFSetField(s->tiff_file, TIFFTAG_SOFTWARE, "spandsp"); + TIFFSetField(t->tiff_file, TIFFTAG_SOFTWARE, "spandsp"); if (gethostname(buf, sizeof(buf)) == 0) - TIFFSetField(s->tiff_file, TIFFTAG_HOSTCOMPUTER, buf); + TIFFSetField(t->tiff_file, TIFFTAG_HOSTCOMPUTER, buf); #if defined(TIFFTAG_FAXDCS) - if (s->dcs) - TIFFSetField(s->tiff_file, TIFFTAG_FAXDCS, s->dcs); + if (t->dcs) + TIFFSetField(t->tiff_file, TIFFTAG_FAXDCS, t->dcs); #endif - if (s->sub_address) - TIFFSetField(s->tiff_file, TIFFTAG_FAXSUBADDRESS, s->sub_address); - if (s->far_ident) - TIFFSetField(s->tiff_file, TIFFTAG_IMAGEDESCRIPTION, s->far_ident); - if (s->vendor) - TIFFSetField(s->tiff_file, TIFFTAG_MAKE, s->vendor); - if (s->model) - TIFFSetField(s->tiff_file, TIFFTAG_MODEL, s->model); + if (t->sub_address) + TIFFSetField(t->tiff_file, TIFFTAG_FAXSUBADDRESS, t->sub_address); + if (t->far_ident) + TIFFSetField(t->tiff_file, TIFFTAG_IMAGEDESCRIPTION, t->far_ident); + if (t->vendor) + TIFFSetField(t->tiff_file, TIFFTAG_MAKE, t->vendor); + if (t->model) + TIFFSetField(t->tiff_file, TIFFTAG_MODEL, t->model); time(&now); tm = localtime(&now); @@ -227,43 +231,33 @@ tm->tm_hour, tm->tm_min, tm->tm_sec); - TIFFSetField(s->tiff_file, TIFFTAG_DATETIME, buf); - TIFFSetField(s->tiff_file, TIFFTAG_FAXRECVTIME, now - s->page_start_time); + TIFFSetField(t->tiff_file, TIFFTAG_DATETIME, buf); + TIFFSetField(t->tiff_file, TIFFTAG_FAXRECVTIME, now - s->page_start_time); - TIFFSetField(s->tiff_file, TIFFTAG_IMAGELENGTH, s->image_length); + TIFFSetField(t->tiff_file, TIFFTAG_IMAGELENGTH, s->image_length); /* Set the total pages to 1. For any one page document we will get this right. For multi-page documents we will need to come back and fill in the right answer when we know it. */ - TIFFSetField(s->tiff_file, TIFFTAG_PAGENUMBER, s->pages_transferred++, 1); + TIFFSetField(t->tiff_file, TIFFTAG_PAGENUMBER, s->pages_transferred++, 1); s->pages_in_file = s->pages_transferred; - if (s->output_compression == COMPRESSION_CCITT_T4) + if (t->output_compression == COMPRESSION_CCITT_T4) { if (s->bad_rows) { - TIFFSetField(s->tiff_file, TIFFTAG_BADFAXLINES, s->bad_rows); - TIFFSetField(s->tiff_file, TIFFTAG_CLEANFAXDATA, CLEANFAXDATA_REGENERATED); - TIFFSetField(s->tiff_file, TIFFTAG_CONSECUTIVEBADFAXLINES, s->longest_bad_row_run); + TIFFSetField(t->tiff_file, TIFFTAG_BADFAXLINES, s->bad_rows); + TIFFSetField(t->tiff_file, TIFFTAG_CLEANFAXDATA, CLEANFAXDATA_REGENERATED); + TIFFSetField(t->tiff_file, TIFFTAG_CONSECUTIVEBADFAXLINES, s->longest_bad_row_run); } else { - TIFFSetField(s->tiff_file, TIFFTAG_CLEANFAXDATA, CLEANFAXDATA_CLEAN); + TIFFSetField(t->tiff_file, TIFFTAG_CLEANFAXDATA, CLEANFAXDATA_CLEAN); } } - TIFFSetField(s->tiff_file, TIFFTAG_IMAGEWIDTH, s->image_width); + TIFFSetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, s->image_width); return 0; } /*- End of function --------------------------------------------------------*/ -static void update_row_bit_info(t4_state_t *s) -{ - if (s->row_bits > s->max_row_bits) - s->max_row_bits = s->row_bits; - if (s->row_bits < s->min_row_bits) - s->min_row_bits = s->row_bits; - s->row_bits = 0; -} -/*- End of function --------------------------------------------------------*/ - static int test_resolution(int res_unit, float actual, float expected) { if (res_unit == RESUNIT_INCH) @@ -310,24 +304,26 @@ float x_resolution; float y_resolution; int i; + t4_tiff_state_t *t; + t = &s->tiff; parm = 0; - TIFFGetField(s->tiff_file, TIFFTAG_BITSPERSAMPLE, &parm); + TIFFGetField(t->tiff_file, TIFFTAG_BITSPERSAMPLE, &parm); if (parm != 1) return -1; parm = 0; - TIFFGetField(s->tiff_file, TIFFTAG_IMAGEWIDTH, &parm); + TIFFGetField(t->tiff_file, TIFFTAG_IMAGEWIDTH, &parm); s->image_width = parm; s->bytes_per_row = (s->image_width + 7)/8; parm = 0; - TIFFGetField(s->tiff_file, TIFFTAG_IMAGELENGTH, &parm); + TIFFGetField(t->tiff_file, TIFFTAG_IMAGELENGTH, &parm); s->image_length = parm; x_resolution = 0.0f; - TIFFGetField(s->tiff_file, TIFFTAG_XRESOLUTION, &x_resolution); + TIFFGetField(t->tiff_file, TIFFTAG_XRESOLUTION, &x_resolution); y_resolution = 0.0f; - TIFFGetField(s->tiff_file, TIFFTAG_YRESOLUTION, &y_resolution); + TIFFGetField(t->tiff_file, TIFFTAG_YRESOLUTION, &y_resolution); res_unit = RESUNIT_INCH; - TIFFGetField(s->tiff_file, TIFFTAG_RESOLUTIONUNIT, &res_unit); + TIFFGetField(t->tiff_file, TIFFTAG_RESOLUTIONUNIT, &res_unit); /* Allow a little range for the X resolution in centimeters. The spec doesn't pin down the precise value. The other value should be exact. */ @@ -360,16 +356,37 @@ static int open_tiff_input_file(t4_state_t *s, const char *file) { - if ((s->tiff_file = TIFFOpen(file, "r")) == NULL) + if ((s->tiff.tiff_file = TIFFOpen(file, "r")) == NULL) return -1; return 0; } /*- End of function --------------------------------------------------------*/ +static int read_tiff_image(t4_state_t *s) +{ + int row; + int image_length; + + image_length = 0; + TIFFGetField(s->tiff.tiff_file, TIFFTAG_IMAGELENGTH, &image_length); + for (row = 0; row < image_length; row++) + { + if (TIFFReadScanline(s->tiff.tiff_file, s->row_buf, row, 0) <= 0) + { + span_log(&s->logging, SPAN_LOG_WARNING, "%s: Read error at row %d.\n", s->file, row); + break; + } + if (encode_row(s)) + return -1; + } + return image_length; +} +/*- End of function --------------------------------------------------------*/ + static int close_tiff_input_file(t4_state_t *s) { - TIFFClose(s->tiff_file); - s->tiff_file = NULL; + TIFFClose(s->tiff.tiff_file); + s->tiff.tiff_file = NULL; if (s->file) free((char *) s->file); s->file = NULL; @@ -379,16 +396,30 @@ static int open_tiff_output_file(t4_state_t *s, const char *file) { - if ((s->tiff_file = TIFFOpen(file, "w")) == NULL) + if ((s->tiff.tiff_file = TIFFOpen(file, "w")) == NULL) return -1; return 0; } /*- End of function --------------------------------------------------------*/ +static void write_tiff_image(t4_state_t *s) +{ + /* Set up the TIFF directory info... */ + set_tiff_directory_info(s); + /* ..and then write the image... */ + if (TIFFWriteEncodedStrip(s->tiff.tiff_file, 0, s->image_buffer, s->image_length*s->bytes_per_row) < 0) + span_log(&s->logging, SPAN_LOG_WARNING, "%s: Error writing TIFF strip.\n", s->file); + /* ...then the directory entry, and libtiff is happy. */ + TIFFWriteDirectory(s->tiff.tiff_file); +} +/*- End of function --------------------------------------------------------*/ + static int close_tiff_output_file(t4_state_t *s) { int i; + t4_tiff_state_t *t; + t = &s->tiff; /* Perform any operations needed to tidy up a written TIFF file before closure. */ if (s->pages_transferred > 1) @@ -398,13 +429,13 @@ need to set the correct total page count associated with each page. */ for (i = 0; i < s->pages_transferred; i++) { - TIFFSetDirectory(s->tiff_file, (tdir_t) i); - TIFFSetField(s->tiff_file, TIFFTAG_PAGENUMBER, i, s->pages_transferred); - TIFFWriteDirectory(s->tiff_file); + TIFFSetDirectory(t->tiff_file, (tdir_t) i); + TIFFSetField(t->tiff_file, TIFFTAG_PAGENUMBER, i, s->pages_transferred); + TIFFWriteDirectory(t->tiff_file); } } - TIFFClose(s->tiff_file); - s->tiff_file = NULL; + TIFFClose(t->tiff_file); + t->tiff_file = NULL; if (s->file) { /* Try not to leave a file behind, if we didn't receive any pages to @@ -418,6 +449,16 @@ } /*- End of function --------------------------------------------------------*/ +static void update_row_bit_info(t4_state_t *s) +{ + if (s->row_bits > s->max_row_bits) + s->max_row_bits = s->row_bits; + if (s->row_bits < s->min_row_bits) + s->min_row_bits = s->row_bits; + s->row_bits = 0; +} +/*- End of function --------------------------------------------------------*/ + #if defined(__i386__) || defined(__x86_64__) || defined(__ppc__) || defined(__powerpc__) static __inline__ int run_length(unsigned int bits) { @@ -780,13 +821,7 @@ } else { - /* Set up the TIFF directory info... */ - set_tiff_directory_info(s); - /* ..and then write the image... */ - if (TIFFWriteEncodedStrip(s->tiff_file, 0, s->image_buffer, s->image_length*s->bytes_per_row) < 0) - span_log(&s->logging, SPAN_LOG_WARNING, "%s: Error writing TIFF strip.\n", s->file); - /* ...then the directory entry, and libtiff is happy. */ - TIFFWriteDirectory(s->tiff_file); + write_tiff_image(s); } s->rx_bits = 0; s->rx_skip_bits = 0; @@ -801,7 +836,8 @@ static __inline__ void drop_rx_bits(t4_state_t *s, int bits) { /* Only remove one bit right now. The rest need to be removed step by step, - checking for a misaligned EOL along the way. */ + checking for a misaligned EOL along the way. This is time consuming, but + if we don't do it a single bit error can severely damage an image. */ s->row_bits += bits; s->rx_skip_bits += (bits - 1); s->rx_bits--; @@ -1162,6 +1198,11 @@ SPAN_DECLARE(t4_state_t *) t4_rx_init(t4_state_t *s, const char *file, int output_encoding) { + if (s == NULL) + { + if ((s = (t4_state_t *) malloc(sizeof(*s))) == NULL) + return NULL; + } memset(s, 0, sizeof(*s)); span_log_init(&s->logging, SPAN_LOG_NONE, NULL); span_log_set_protocol(&s->logging, "T.4"); @@ -1179,16 +1220,16 @@ switch (output_encoding) { case T4_COMPRESSION_ITU_T4_1D: - s->output_compression = COMPRESSION_CCITT_T4; - s->output_t4_options = GROUP3OPT_FILLBITS; + s->tiff.output_compression = COMPRESSION_CCITT_T4; + s->tiff.output_t4_options = GROUP3OPT_FILLBITS; break; case T4_COMPRESSION_ITU_T4_2D: - s->output_compression = COMPRESSION_CCITT_T4; - s->output_t4_options = GROUP3OPT_FILLBITS | GROUP3OPT_2DENCODING; + s->tiff.output_compression = COMPRESSION_CCITT_T4; + s->tiff.output_t4_options = GROUP3OPT_FILLBITS | GROUP3OPT_2DENCODING; break; case T4_COMPRESSION_ITU_T6: - s->output_compression = COMPRESSION_CCITT_T6; - s->output_t4_options = 0; + s->tiff.output_compression = COMPRESSION_CCITT_T6; + s->tiff.output_t4_options = 0; break; } @@ -1220,7 +1261,7 @@ uint32_t *bufptr; span_log(&s->logging, SPAN_LOG_FLOW, "Start rx page - compression %d\n", s->line_encoding); - if (s->tiff_file == NULL) + if (s->tiff.tiff_file == NULL) return -1; /* Calculate the scanline/tile width. */ @@ -1286,23 +1327,22 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t4_rx_delete(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_end(t4_state_t *s) { - if (t4_rx_end(s)) + if (!s->rx) return -1; + if (s->tiff.tiff_file) + close_tiff_output_file(s); free_buffers(s); - free(s); return 0; } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t4_rx_end(t4_state_t *s) +SPAN_DECLARE(int) t4_rx_free(t4_state_t *s) { - if (!s->rx) + if (t4_rx_end(s)) return -1; - if (s->tiff_file) - close_tiff_output_file(s); - free_buffers(s); + free(s); return 0; } /*- End of function --------------------------------------------------------*/ @@ -1333,31 +1373,31 @@ SPAN_DECLARE(void) t4_rx_set_dcs(t4_state_t *s, const char *dcs) { - s->dcs = (dcs && dcs[0]) ? dcs : NULL; + s->tiff.dcs = (dcs && dcs[0]) ? dcs : NULL; } /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t4_rx_set_sub_address(t4_state_t *s, const char *sub_address) { - s->sub_address = (sub_address && sub_address[0]) ? sub_address : NULL; + s->tiff.sub_address = (sub_address && sub_address[0]) ? sub_address : NULL; } /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t4_rx_set_far_ident(t4_state_t *s, const char *ident) { - s->far_ident = (ident && ident[0]) ? ident : NULL; + s->tiff.far_ident = (ident && ident[0]) ? ident : NULL; } /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t4_rx_set_vendor(t4_state_t *s, const char *vendor) { - s->vendor = vendor; + s->tiff.vendor = vendor; } /*- End of function --------------------------------------------------------*/ SPAN_DECLARE(void) t4_rx_set_model(t4_state_t *s, const char *model) { - s->model = model; + s->tiff.model = model; } /*- End of function --------------------------------------------------------*/ @@ -1721,6 +1761,11 @@ { int run_space; + if (s == NULL) + { + if ((s = (t4_state_t *) malloc(sizeof(*s))) == NULL) + return NULL; + } memset(s, 0, sizeof(*s)); span_log_init(&s->logging, SPAN_LOG_NONE, NULL); span_log_set_protocol(&s->logging, "T.4"); @@ -1801,7 +1846,7 @@ tm.tm_hour, tm.tm_min, s->header_info, - s->local_ident, + s->tiff.local_ident, s->pages_transferred + 1); } /*- End of function --------------------------------------------------------*/ @@ -1813,9 +1858,9 @@ int repeats; int pattern; int row_bufptr; - int parm; int run_space; int len; + int this_image_width; char *t; char header[132 + 1]; uint8_t *bufptr8; @@ -1824,23 +1869,26 @@ span_log(&s->logging, SPAN_LOG_FLOW, "Start tx page %d\n", s->pages_transferred); if (s->pages_transferred > s->stop_page) return -1; - if (s->tiff_file == NULL) - return -1; - if (!TIFFSetDirectory(s->tiff_file, (tdir_t) s->pages_transferred)) + if (s->tiff.tiff_file == NULL) return -1; + this_image_width = 0; + if (s->row_read_handler == NULL) + { + if (!TIFFSetDirectory(s->tiff.tiff_file, (tdir_t) s->pages_transferred)) + return -1; + TIFFGetField(s->tiff.tiff_file, TIFFTAG_IMAGEWIDTH, &this_image_width); + } s->image_size = 0; s->tx_bitstream = 0; s->tx_bits = 0; s->row_is_2d = (s->line_encoding == T4_COMPRESSION_ITU_T6); s->rows_to_next_1d_row = s->max_rows_to_next_1d_row - 1; - /* Allow for pages being of different width */ - parm = 0; - TIFFGetField(s->tiff_file, TIFFTAG_IMAGEWIDTH, &parm); - run_space = (parm + 4)*sizeof(uint32_t); - if (parm != s->image_width) + /* Allow for pages being of different width. */ + run_space = (this_image_width + 4)*sizeof(uint32_t); + if (this_image_width != s->image_width) { - s->image_width = parm; + s->image_width = this_image_width; s->bytes_per_row = (s->image_width + 7)/8; if ((bufptr = (uint32_t *) realloc(s->cur_runs, run_space)) == NULL) @@ -1928,18 +1976,8 @@ } else { - s->image_length = 0; - TIFFGetField(s->tiff_file, TIFFTAG_IMAGELENGTH, &s->image_length); - for (row = 0; row < s->image_length; row++) - { - if (TIFFReadScanline(s->tiff_file, s->row_buf, row, 0) <= 0) - { - span_log(&s->logging, SPAN_LOG_WARNING, "%s: Read error at row %d.\n", s->file, row); - break; - } - if (encode_row(s)) - return -1; - } + if ((s->image_length = read_tiff_image(s)) < 0) + return -1; } if (s->line_encoding == T4_COMPRESSION_ITU_T6) { @@ -1970,7 +2008,7 @@ span_log(&s->logging, SPAN_LOG_FLOW, "Checking for the existance of page %d\n", s->pages_transferred + 1); if (s->pages_transferred >= s->stop_page) return -1; - if (s->tiff_file == NULL) + if (s->tiff.tiff_file == NULL) return -1; if (s->pages_in_file >= 0) { @@ -1979,8 +2017,11 @@ } else { - if (!TIFFSetDirectory(s->tiff_file, (tdir_t) s->pages_transferred + 1)) - return -1; + if (s->row_read_handler == NULL) + { + if (!TIFFSetDirectory(s->tiff.tiff_file, (tdir_t) s->pages_transferred + 1)) + return -1; + } } return 0; } @@ -2048,23 +2089,22 @@ } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t4_tx_delete(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_end(t4_state_t *s) { - if (t4_tx_end(s)) + if (s->rx) return -1; + if (s->tiff.tiff_file) + close_tiff_input_file(s); free_buffers(s); - free(s); return 0; } /*- End of function --------------------------------------------------------*/ -SPAN_DECLARE(int) t4_tx_end(t4_state_t *s) +SPAN_DECLARE(int) t4_tx_free(t4_state_t *s) { - if (s->rx) + if (t4_tx_end(s)) return -1; - if (s->tiff_file) - close_tiff_input_file(s); - free_buffers(s); + free(s); return 0; } /*- End of function --------------------------------------------------------*/ @@ -2085,7 +2125,7 @@ SPAN_DECLARE(void) t4_tx_set_local_ident(t4_state_t *s, const char *ident) { - s->local_ident = (ident && ident[0]) ? ident : NULL; + s->tiff.local_ident = (ident && ident[0]) ? ident : NULL; } /*- End of function --------------------------------------------------------*/ @@ -2121,12 +2161,15 @@ trusted? Some files say 0. Actually searching for the last page is more reliable. */ max = 0; - while (TIFFSetDirectory(s->tiff_file, (tdir_t) max)) - max++; + if (s->row_write_handler == NULL) + { + while (TIFFSetDirectory(s->tiff.tiff_file, (tdir_t) max)) + max++; + /* Back to the previous page */ + if (!TIFFSetDirectory(s->tiff.tiff_file, (tdir_t) s->pages_transferred)) + return -1; + } s->pages_in_file = max; - /* Back to the previous page */ - if (!TIFFSetDirectory(s->tiff_file, (tdir_t) s->pages_transferred)) - return -1; return max; } /*- End of function --------------------------------------------------------*/ Modified: freeswitch/trunk/libs/spandsp/src/v42.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/v42.c (original) +++ freeswitch/trunk/libs/spandsp/src/v42.c Thu Feb 5 09:54:02 2009 @@ -22,7 +22,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: v42.c,v 1.48 2009/02/03 16:28:40 steveu Exp $ + * $Id: v42.c,v 1.49 2009/02/04 13:18:53 steveu Exp $ */ /* THIS IS A WORK IN PROGRESS. IT IS NOT FINISHED. */ From mikej at freeswitch.org Thu Feb 5 08:21:19 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 10:21:19 -0600 Subject: [Freeswitch-svn] [commit] r11655 - freeswitch/trunk/libs/spandsp/src Message-ID: Author: mikej Date: Thu Feb 5 10:21:18 2009 New Revision: 11655 Log: fix gcc 4.3.2 build warnings Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c freeswitch/trunk/libs/spandsp/src/vector_float.c Modified: freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c (original) +++ freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c Thu Feb 5 10:21:18 2009 @@ -135,7 +135,7 @@ /*- End of function --------------------------------------------------------*/ #if defined(__GNUC__) && defined(SPANDSP_USE_MMX) -void gsm0610_vec_vsraw(const int16_t *p, int n, int bits) +static void gsm0610_vec_vsraw(const int16_t *p, int n, int bits) { static const int64_t ones = 0x0001000100010001LL; Modified: freeswitch/trunk/libs/spandsp/src/vector_float.c ============================================================================== --- freeswitch/trunk/libs/spandsp/src/vector_float.c (original) +++ freeswitch/trunk/libs/spandsp/src/vector_float.c Thu Feb 5 10:21:18 2009 @@ -132,13 +132,14 @@ SPAN_DECLARE(void) vec_negatef(float z[], const float x[], int n) { int i; - static const uint32_t mask = 0x80000000; + static const uint32_t mask = 0x80000000; + static const float *fmask = (float *)&mask; __m128 n1; __m128 n2; if ((i = n & ~3)) { - n2 = _mm_set1_ps(*((float *) &mask)); + n2 = _mm_set1_ps(*fmask); for (i -= 4; i >= 0; i -= 4) { n1 = _mm_loadu_ps(x + i); From anthm at freeswitch.org Thu Feb 5 09:14:12 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 11:14:12 -0600 Subject: [Freeswitch-svn] [commit] r11656 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia Message-ID: Author: anthm Date: Thu Feb 5 11:14:12 2009 New Revision: 11656 Log: tweak sofia profile shutdown Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/switch_core_session.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Thu Feb 5 11:14:12 2009 @@ -692,7 +692,7 @@ int use_100rel = !sofia_test_pflag(profile, PFLAG_DISABLE_100REL); int use_timer = !sofia_test_pflag(profile, PFLAG_DISABLE_TIMER); const char *supported = NULL; - int sanity = 4; + int sanity; switch_mutex_lock(mod_sofia_globals.mutex); mod_sofia_globals.threads++; @@ -831,9 +831,15 @@ sofia_clear_pflag_locked(profile, PFLAG_RUNNING); switch_core_session_hupall_matching_var("sofia_profile_name", profile->name, SWITCH_CAUSE_MANAGER_REQUEST); + sanity = 10; while (profile->inuse) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Waiting for %d session(s)\n", profile->inuse); su_root_step(profile->s_root, 1000); + if (!--sanity) { + break; + } else if (sanity == 5) { + switch_core_session_hupall_matching_var("sofia_profile_name", profile->name, SWITCH_CAUSE_MANAGER_REQUEST); + } } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Write lock %s\n", profile->name); @@ -841,6 +847,8 @@ sofia_reg_unregister(profile); nua_shutdown(profile->nua); su_root_run(profile->s_root); + nua_shutdown(profile->nua); + su_root_run(profile->s_root); sofia_clear_pflag_locked(profile, PFLAG_RUNNING); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Waiting for worker thread\n"); @@ -848,16 +856,18 @@ while (sofia_test_pflag(profile, PFLAG_WORKER_RUNNING)) { switch_yield(100000); } - + + sanity = 4; while (profile->inuse) { + switch_core_session_hupall_matching_var("sofia_profile_name", profile->name, SWITCH_CAUSE_MANAGER_REQUEST); switch_yield(5000000); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Waiting for %d session(s)\n", profile->inuse); - if (!sanity--) { + if (!--sanity) { break; } } nua_destroy(profile->nua); - + switch_mutex_lock(profile->ireg_mutex); switch_mutex_unlock(profile->ireg_mutex); Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Thu Feb 5 11:14:12 2009 @@ -142,8 +142,8 @@ switch_mutex_unlock(runtime.throttle_mutex); while (session_manager.session_count > 0) { - switch_yield(100000); - if (++loops == 100) { + switch_yield(1000000); + if (++loops == 30) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Giving up with %d session%s remaining\n", session_manager.session_count, session_manager.session_count == 1 ? "" : "s"); break; From nicholas at freeswitch.org Thu Feb 5 09:29:11 2009 From: nicholas at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 11:29:11 -0600 Subject: [Freeswitch-svn] [commit] r11657 - freeswitch/trunk/debian Message-ID: Author: nicholas Date: Thu Feb 5 11:29:11 2009 New Revision: 11657 Log: fixed an configure error in rules Modified: freeswitch/trunk/debian/rules Modified: freeswitch/trunk/debian/rules ============================================================================== --- freeswitch/trunk/debian/rules (original) +++ freeswitch/trunk/debian/rules Thu Feb 5 11:29:11 2009 @@ -61,7 +61,7 @@ touch modules.conf echo $(MODULES) for i in $(MODULES); do echo $$i >> modules.conf; done - ./configure --prefix=/opt/freeswitch --with-modinstdir=/usr/lib/freeswitch/modules --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} + ./configure --prefix=/opt/freeswitch --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} configure: if test ! -f Makefile.in ; then \ From anthm at freeswitch.org Thu Feb 5 11:53:13 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 13:53:13 -0600 Subject: [Freeswitch-svn] [commit] r11658 - in freeswitch/trunk/src: . include mod/applications/mod_dptools Message-ID: Author: anthm Date: Thu Feb 5 13:53:13 2009 New Revision: 11658 Log: sound_test app Modified: freeswitch/trunk/src/include/switch_ivr.h freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/trunk/src/switch_ivr.c Modified: freeswitch/trunk/src/include/switch_ivr.h ============================================================================== --- freeswitch/trunk/src/include/switch_ivr.h (original) +++ freeswitch/trunk/src/include/switch_ivr.h Thu Feb 5 13:53:13 2009 @@ -794,6 +794,7 @@ SWITCH_DECLARE(switch_say_method_t) switch_ivr_get_say_method_by_name(const char *name); SWITCH_DECLARE(switch_say_type_t) switch_ivr_get_say_type_by_name(const char *name); SWITCH_DECLARE(switch_status_t) switch_ivr_set_user(switch_core_session_t *session, const char *data); + SWITCH_DECLARE(switch_status_t) switch_ivr_sound_test(switch_core_session_t *session); /** @} */ SWITCH_END_EXTERN_C Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Thu Feb 5 13:53:13 2009 @@ -912,6 +912,11 @@ } } +SWITCH_STANDARD_APP(sound_test_function) +{ + switch_ivr_sound_test(session); +} + SWITCH_STANDARD_APP(event_function) { switch_event_t *event; @@ -2581,6 +2586,7 @@ SWITCH_ADD_APP(app_interface, "log", "Logs to the logger", LOG_LONG_DESC, log_function, " ", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "info", "Display Call Info", "Display Call Info", info_function, "", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "event", "Fire an event", "Fire an event", event_function, "", SAF_SUPPORT_NOMEDIA); + SWITCH_ADD_APP(app_interface, "sound_test", "Analyze Audio", "Analyze Audio", sound_test_function, "", SAF_NONE); SWITCH_ADD_APP(app_interface, "export", "Export a channel variable across a bridge", EXPORT_LONG_DESC, export_function, "=", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "set", "Set a channel variable", SET_LONG_DESC, set_function, "=", SAF_SUPPORT_NOMEDIA); Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Thu Feb 5 13:53:13 2009 @@ -38,6 +38,91 @@ #include #include "stfu.h" +SWITCH_DECLARE(switch_status_t) switch_ivr_sound_test(switch_core_session_t *session) +{ + + switch_codec_implementation_t imp = {0}; + switch_codec_t codec = { 0 }; + int16_t peak = 0; + int16_t *data; + switch_frame_t *read_frame = NULL; + int i; + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_status_t status = SWITCH_STATUS_SUCCESS; + int64_t global_total = 0, global_sum = 0, period_sum = 0; + int period_total = 0; + int period_avg = 0, global_avg = 0; + int avg = 0; + int period_len; + + switch_core_session_get_read_impl(session, &imp); + + period_len = imp.actual_samples_per_second / imp.samples_per_packet; + + if (switch_core_codec_init(&codec, + "L16", + NULL, + imp.samples_per_second, + imp.microseconds_per_packet / 1000, + imp.number_of_channels, + SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, + switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec Error L16@%uhz %u channels %dms\n", + imp.samples_per_second, imp.number_of_channels, imp.microseconds_per_packet / 1000); + return SWITCH_STATUS_FALSE; + } + + while(switch_channel_ready(channel)) { + status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + break; + } + + if (switch_test_flag(read_frame, SFF_CNG) || !read_frame->samples) { + continue; + } + + + data = (int16_t *) read_frame->data; + peak = 0; + avg = 0; + for (i = 0; i < read_frame->samples; i++) { + const int16_t s = abs(data[i]); + if (s > peak) { + peak = s; + } + avg += s; + } + + avg /= read_frame->samples; + + period_sum += peak; + global_sum += peak; + + global_total++; + period_total++; + + period_avg = period_sum / period_total; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, + "\npacket_avg=%d packet_peak=%d period_avg=%d global_avg=%d\n\n", avg, peak, period_avg, global_avg); + + if (period_total >= period_len) { + global_avg = global_sum / global_total; + period_total = 0; + period_sum = 0; + } + + } + + + switch_core_codec_destroy(&codec); + + return SWITCH_STATUS_SUCCESS; + +} + SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session, uint32_t ms, switch_bool_t sync, switch_input_args_t *args) { switch_channel_t *channel = switch_core_session_get_channel(session); From brian at freeswitch.org Thu Feb 5 12:10:08 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 14:10:08 -0600 Subject: [Freeswitch-svn] [commit] r11659 - freeswitch/trunk/src/mod/formats/mod_sndfile Message-ID: Author: brian Date: Thu Feb 5 14:10:08 2009 New Revision: 11659 Log: MODFORM-22 Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Thu Feb 5 14:10:08 2009 @@ -139,6 +139,9 @@ context->sfinfo.format = SF_FORMAT_RAW | SF_FORMAT_ALAW; context->sfinfo.channels = 1; context->sfinfo.samplerate = 8000; + } else if (!strcmp(ext, "adpcm")) { + context->sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_IMA_ADPCM; + context->sfinfo.samplerate = 8000; } if ((mode & SFM_WRITE) && sf_format_check(&context->sfinfo) == 0) { @@ -305,7 +308,7 @@ char buffer[128]; int format, major_count, subtype_count, m, s; int len, x, skip; - char *extras[] = { "r8", "r16", "r24", "r32", "gsm", "ul", "al", NULL }; + char *extras[] = { "r8", "r16", "r24", "r32", "gsm", "ul", "al", "adpcm", NULL }; int exlen = (sizeof(extras) / sizeof(extras[0])); buffer[0] = 0; From mikej at freeswitch.org Thu Feb 5 12:13:35 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 14:13:35 -0600 Subject: [Freeswitch-svn] [commit] r11660 - freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket Message-ID: Author: mikej Date: Thu Feb 5 14:13:35 2009 New Revision: 11660 Log: mod_spidermonkey_socket: fix gc blocking (MODLANG-97) Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c Thu Feb 5 14:13:35 2009 @@ -37,6 +37,7 @@ char *read_buffer; switch_size_t buffer_size; int state; + jsrefcount saveDepth; }; typedef struct js_socket_obj js_socket_obj_t; @@ -72,10 +73,13 @@ return; if (socket->socket != 0) { + socket->saveDepth = JS_SuspendRequest(cx); switch_socket_shutdown(socket->socket, SWITCH_SHUTDOWN_READWRITE); switch_socket_close(socket->socket); switch_core_destroy_memory_pool(&socket->pool); + JS_ResumeRequest(cx, socket->saveDepth); } + } static JSBool socket_connect(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval) @@ -101,7 +105,9 @@ } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "Connecting to: %s:%d.\n", host, port); + socket->saveDepth = JS_SuspendRequest(cx); ret = switch_socket_connect(socket->socket, addr); + JS_ResumeRequest(cx, socket->saveDepth); if (ret != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "switch_socket_connect failed: %d.\n", ret); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); @@ -122,9 +128,12 @@ } if (argc == 1) { + switch_status_t ret; char *buffer = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); switch_size_t len = strlen(buffer); - switch_status_t ret = switch_socket_send(socket->socket, buffer, &len); + socket->saveDepth = JS_SuspendRequest(cx); + ret = switch_socket_send(socket->socket, buffer, &len); + JS_ResumeRequest(cx, socket->saveDepth); if (ret != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "switch_socket_send failed: %d.\n", ret); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); @@ -156,7 +165,9 @@ socket->buffer_size = bytes_to_read + 1; } + socket->saveDepth = JS_SuspendRequest(cx); ret = switch_socket_recv(socket->socket, socket->read_buffer, &len); + JS_ResumeRequest(cx, socket->saveDepth); if (ret != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "switch_socket_send failed: %d.\n", ret); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); @@ -192,6 +203,7 @@ if (socket->read_buffer == 0) socket->read_buffer = switch_core_alloc(socket->pool, socket->buffer_size); + socket->saveDepth = JS_SuspendRequest(cx); while (can_run == TRUE) { ret = switch_socket_recv(socket->socket, tempbuf, &len); if (ret != SWITCH_STATUS_SUCCESS) @@ -215,6 +227,8 @@ ++total_length; } } + JS_ResumeRequest(cx, socket->saveDepth); + if (ret != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "socket receive failed: %d.\n", ret); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); @@ -235,9 +249,11 @@ return JS_FALSE; } + socket->saveDepth = JS_SuspendRequest(cx); switch_socket_shutdown(socket->socket, SWITCH_SHUTDOWN_READWRITE); switch_socket_close(socket->socket); socket->socket = NULL; + JS_ResumeRequest(cx, socket->saveDepth); return JS_TRUE; } From anthm at freeswitch.org Thu Feb 5 14:43:47 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 16:43:47 -0600 Subject: [Freeswitch-svn] [commit] r11661 - freeswitch/trunk/src/mod/applications/mod_conference Message-ID: Author: anthm Date: Thu Feb 5 16:43:46 2009 New Revision: 11661 Log: MODAPP-209 Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Thu Feb 5 16:43:46 2009 @@ -288,6 +288,7 @@ uint32_t flags; uint32_t score; switch_mutex_t *flag_mutex; + switch_mutex_t *control_mutex; switch_mutex_t *audio_in_mutex; switch_mutex_t *audio_out_mutex; switch_codec_t *orig_read_codec; @@ -448,8 +449,8 @@ if (member == NULL || other_member == NULL || member->relationships == NULL) return NULL; - switch_mutex_lock(member->flag_mutex); - switch_mutex_lock(other_member->flag_mutex); + switch_mutex_lock(member->control_mutex); + switch_mutex_lock(other_member->control_mutex); for (rel = member->relationships; rel; rel = rel->next) { if (rel->id == other_member->id) { @@ -462,8 +463,8 @@ } } - switch_mutex_unlock(other_member->flag_mutex); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(other_member->control_mutex); + switch_mutex_unlock(member->control_mutex); return rel ? rel : global; } @@ -527,10 +528,10 @@ rel->id = id; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); rel->next = member->relationships; member->relationships = rel; - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); return rel; } @@ -544,7 +545,7 @@ if (member == NULL || id == 0) return status; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); for (rel = member->relationships; rel; rel = rel->next) { if (rel->id == id) { /* we just forget about rel here cos it was allocated by the member's pool @@ -558,7 +559,7 @@ } last = rel; } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); return status; } @@ -578,7 +579,7 @@ switch_mutex_lock(conference->mutex); switch_mutex_lock(member->audio_in_mutex); switch_mutex_lock(member->audio_out_mutex); - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); switch_mutex_lock(conference->member_mutex); switch_clear_flag(conference, CFLAG_DESTRUCT); @@ -587,7 +588,7 @@ member->energy_level = conference->energy_level; member->verbose_events = conference->verbose_events; conference->members = member; - switch_set_flag(member, MFLAG_INTREE); + switch_set_flag_locked(member, MFLAG_INTREE); switch_mutex_unlock(conference->member_mutex); if (!switch_test_flag(member, MFLAG_NOCHANNEL)) { @@ -658,7 +659,7 @@ } } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_mutex_unlock(member->audio_out_mutex); switch_mutex_unlock(member->audio_in_mutex); @@ -674,15 +675,24 @@ switch_status_t status = SWITCH_STATUS_FALSE; conference_member_t *imember, *last = NULL; switch_event_t *event; + conference_file_node_t *member_fnode; + switch_speech_handle_t *member_sh; switch_assert(conference != NULL); switch_assert(member != NULL); + switch_mutex_lock(member->control_mutex); + member_fnode = member->fnode; + member_sh = member->sh; + member->fnode = NULL; + member->sh = NULL; + switch_mutex_unlock(member->control_mutex); + switch_mutex_lock(conference->mutex); switch_mutex_lock(conference->member_mutex); switch_mutex_lock(member->audio_in_mutex); switch_mutex_lock(member->audio_out_mutex); - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); switch_clear_flag(member, MFLAG_INTREE); for (imember = conference->members; imember; imember = imember->next) { @@ -698,11 +708,11 @@ } /* Close Unused Handles */ - if (member->fnode) { + if (member_fnode) { conference_file_node_t *fnode, *cur; switch_memory_pool_t *pool; - fnode = member->fnode; + fnode = member_fnode; while (fnode) { cur = fnode; fnode = fnode->next; @@ -716,10 +726,9 @@ } } - if (member->sh) { + if (member_sh) { switch_speech_flag_t flags = SWITCH_SPEECH_FLAG_NONE; switch_core_speech_close(&member->lsh, &flags); - member->sh = NULL; } if (switch_test_flag(member, MFLAG_ENDCONF)) { @@ -775,7 +784,7 @@ } } switch_mutex_unlock(conference->member_mutex); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_mutex_unlock(member->audio_out_mutex); switch_mutex_unlock(member->audio_in_mutex); switch_mutex_unlock(conference->mutex); @@ -1298,7 +1307,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->energy_level += 200; if (member->energy_level > 3000) { member->energy_level = 3000; @@ -1311,7 +1320,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level); conference_member_say(member, msg, 0); @@ -1325,7 +1334,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->energy_level = member->conference->energy_level; if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL) && @@ -1335,7 +1344,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level); conference_member_say(member, msg, 0); @@ -1349,7 +1358,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->energy_level -= 100; if (member->energy_level < 0) { member->energy_level = 0; @@ -1362,7 +1371,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->energy_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level); conference_member_say(member, msg, 0); @@ -1376,7 +1385,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_out_level++; switch_normalize_volume(member->volume_out_level); @@ -1387,7 +1396,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level); conference_member_say(member, msg, 0); @@ -1401,7 +1410,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_out_level = 0; if (test_eflag(member->conference, EFLAG_VOLUME_LEVEL) && @@ -1411,7 +1420,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level); conference_member_say(member, msg, 0); @@ -1425,7 +1434,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_out_level--; switch_normalize_volume(member->volume_out_level); @@ -1436,7 +1445,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_out_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level); conference_member_say(member, msg, 0); @@ -1450,7 +1459,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_in_level++; switch_normalize_volume(member->volume_in_level); @@ -1461,7 +1470,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level); conference_member_say(member, msg, 0); @@ -1475,7 +1484,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_in_level = 0; if (test_eflag(member->conference, EFLAG_GAIN_LEVEL) && @@ -1485,7 +1494,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level); conference_member_say(member, msg, 0); @@ -1499,7 +1508,7 @@ if (member == NULL) return; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_in_level--; switch_normalize_volume(member->volume_in_level); @@ -1510,7 +1519,7 @@ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "New-Level", "%d", member->volume_in_level); switch_event_fire(&event); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level); conference_member_say(member, msg, 0); @@ -1893,7 +1902,7 @@ goto top; } - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); if (switch_core_session_dequeue_event(member->session, &event) == SWITCH_STATUS_SUCCESS) { if (event->event_id == SWITCH_EVENT_MESSAGE) { @@ -2086,7 +2095,7 @@ switch_clear_flag_locked(member, MFLAG_FLUSH_BUFFER); } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); if (switch_core_session_private_event_count(member->session)) { @@ -2171,7 +2180,7 @@ member->mux_frame = switch_core_alloc(member->pool, member->frame_size); - switch_mutex_init(&member->flag_mutex, SWITCH_MUTEX_NESTED, rec->pool); + switch_mutex_init(&member->control_mutex, SWITCH_MUTEX_NESTED, rec->pool); switch_mutex_init(&member->audio_in_mutex, SWITCH_MUTEX_NESTED, rec->pool); switch_mutex_init(&member->audio_out_mutex, SWITCH_MUTEX_NESTED, rec->pool); @@ -2330,7 +2339,7 @@ if (member == NULL) return count; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); if (stop == FILE_STOP_ALL) { for (nptr = member->fnode; nptr; nptr = nptr->next) { @@ -2344,7 +2353,7 @@ } } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); return count; } @@ -2526,14 +2535,14 @@ fnode->pool = pool; /* Queue the node */ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Queueing file '%s' for play\n", file); - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); for (nptr = member->fnode; nptr && nptr->next; nptr = nptr->next); if (nptr) { nptr->next = fnode; } else { member->fnode = fnode; } - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); status = SWITCH_STATUS_SUCCESS; done: @@ -2591,7 +2600,7 @@ } /* Queue the node */ - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); for (nptr = member->fnode; nptr && nptr->next; nptr = nptr->next); if (nptr) { @@ -2617,7 +2626,7 @@ } switch_core_speech_feed_tts(fnode->sh, text, &flags); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); status = SWITCH_STATUS_SUCCESS; @@ -2918,11 +2927,11 @@ if (member == NULL) return SWITCH_STATUS_GENERR; - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); switch_clear_flag(member, MFLAG_RUNNING); - switch_set_flag(member, MFLAG_KICKED); + switch_set_flag_locked(member, MFLAG_KICKED); switch_core_session_kill_channel(member->session, SWITCH_SIG_BREAK); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); if (stream != NULL) { stream->write_function(stream, "OK kicked %u\n", member->id); } @@ -2952,10 +2961,10 @@ return SWITCH_STATUS_GENERR; } - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); switch_core_session_kill_channel(member->session, SWITCH_SIG_BREAK); switch_core_session_send_dtmf_string(member->session, (char *) data); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); if (stream != NULL) { stream->write_function(stream, "OK sent %s to %u\n", (char *) data, member->id); @@ -2980,9 +2989,9 @@ return SWITCH_STATUS_GENERR; if (data) { - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->energy_level = atoi((char *) data); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); } if (stream != NULL) { stream->write_function(stream, "Energy %u = %d\n", member->id, member->energy_level); @@ -3006,10 +3015,10 @@ return SWITCH_STATUS_GENERR; if (data) { - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_in_level = atoi((char *) data); switch_normalize_volume(member->volume_in_level); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); } if (stream != NULL) { stream->write_function(stream, "Volume IN %u = %d\n", member->id, member->volume_in_level); @@ -3033,10 +3042,10 @@ return SWITCH_STATUS_GENERR; if (data) { - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); member->volume_out_level = atoi((char *) data); switch_normalize_volume(member->volume_out_level); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); } if (stream != NULL) { stream->write_function(stream, "Volume OUT %u = %d\n", member->id, member->volume_out_level); @@ -3684,7 +3693,7 @@ } /* move the member from the old conference to the new one */ - switch_mutex_lock(member->flag_mutex); + switch_mutex_lock(member->control_mutex); conference_del_member(conference, member); conference_add_member(new_conference, member); @@ -3693,12 +3702,12 @@ switch_clear_flag_locked(member, MFLAG_RUNNING); } else { switch_channel_set_flag(channel, CF_SERVICE); - switch_set_flag(member, MFLAG_RESTART); + switch_set_flag_locked(member, MFLAG_RESTART); } } switch_mutex_unlock(new_conference->mutex); - switch_mutex_unlock(member->flag_mutex); + switch_mutex_unlock(member->control_mutex); stream->write_function(stream, "OK Member '%d' sent to conference %s.\n", member->id, argv[2]); @@ -4820,6 +4829,7 @@ /* Prepare MUTEXS */ member.id = next_member_id(); switch_mutex_init(&member.flag_mutex, SWITCH_MUTEX_NESTED, member.pool); + switch_mutex_init(&member.control_mutex, SWITCH_MUTEX_NESTED, member.pool); switch_mutex_init(&member.audio_in_mutex, SWITCH_MUTEX_NESTED, member.pool); switch_mutex_init(&member.audio_out_mutex, SWITCH_MUTEX_NESTED, member.pool); From mrene at freeswitch.org Thu Feb 5 19:03:50 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Thu, 05 Feb 2009 21:03:50 -0600 Subject: [Freeswitch-svn] [commit] r11662 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mrene Date: Thu Feb 5 21:03:50 2009 New Revision: 11662 Log: MDXMLINT-46 Add purpose=gateways and profile=[name] so xml_curl requests make sense Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Thu Feb 5 21:03:50 2009 @@ -1629,6 +1629,12 @@ status = SWITCH_STATUS_SUCCESS; if ((domains_tag = switch_xml_child(xprofile, "domains"))) { + switch_event_t *xml_params; + switch_event_create(&xml_params, SWITCH_EVENT_REQUEST_PARAMS); + switch_assert(xml_params); + switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways"); + switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name); + for (domain_tag = switch_xml_child(domains_tag, "domain"); domain_tag; domain_tag = domain_tag->next) { switch_xml_t droot, x_domain_tag; const char *dname = switch_xml_attr_soft(domain_tag, "name"); @@ -1638,19 +1644,21 @@ if (!switch_strlen_zero(dname)) { if (!strcasecmp(dname, "all")) { switch_xml_t xml_root, x_domains; - if (switch_xml_locate("directory", NULL, NULL, NULL, &xml_root, &x_domains, NULL) == SWITCH_STATUS_SUCCESS) { + if (switch_xml_locate("directory", NULL, NULL, NULL, &xml_root, &x_domains, xml_params) == SWITCH_STATUS_SUCCESS) { for (x_domain_tag = switch_xml_child(x_domains, "domain"); x_domain_tag; x_domain_tag = x_domain_tag->next) { dname = switch_xml_attr_soft(x_domain_tag, "name"); parse_domain_tag(profile, x_domain_tag, dname, parse, alias); } switch_xml_free(xml_root); } - } else if (switch_xml_locate_domain(dname, NULL, &droot, &x_domain_tag) == SWITCH_STATUS_SUCCESS) { + } else if (switch_xml_locate_domain(dname, xml_params, &droot, &x_domain_tag) == SWITCH_STATUS_SUCCESS) { parse_domain_tag(profile, x_domain_tag, dname, parse, alias); switch_xml_free(droot); } } } + + switch_event_destroy(&xml_params); } if ((aliases_tag = switch_xml_child(xprofile, "aliases"))) { @@ -2310,6 +2318,12 @@ } if ((domains_tag = switch_xml_child(xprofile, "domains"))) { + switch_event_t *xml_params; + switch_event_create(&xml_params, SWITCH_EVENT_REQUEST_PARAMS); + switch_assert(xml_params); + switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "purpose", "gateways"); + switch_event_add_header_string(xml_params, SWITCH_STACK_BOTTOM, "profile", profile->name); + for (domain_tag = switch_xml_child(domains_tag, "domain"); domain_tag; domain_tag = domain_tag->next) { switch_xml_t droot, x_domain_tag; const char *dname = switch_xml_attr_soft(domain_tag, "name"); @@ -2319,19 +2333,21 @@ if (!switch_strlen_zero(dname)) { if (!strcasecmp(dname, "all")) { switch_xml_t xml_root, x_domains; - if (switch_xml_locate("directory", NULL, NULL, NULL, &xml_root, &x_domains, NULL) == SWITCH_STATUS_SUCCESS) { + if (switch_xml_locate("directory", NULL, NULL, NULL, &xml_root, &x_domains, xml_params) == SWITCH_STATUS_SUCCESS) { for (x_domain_tag = switch_xml_child(x_domains, "domain"); x_domain_tag; x_domain_tag = x_domain_tag->next) { dname = switch_xml_attr_soft(x_domain_tag, "name"); parse_domain_tag(profile, x_domain_tag, dname, parse, alias); } switch_xml_free(xml_root); } - } else if (switch_xml_locate_domain(dname, NULL, &droot, &x_domain_tag) == SWITCH_STATUS_SUCCESS) { + } else if (switch_xml_locate_domain(dname, xml_params, &droot, &x_domain_tag) == SWITCH_STATUS_SUCCESS) { parse_domain_tag(profile, x_domain_tag, dname, parse, alias); switch_xml_free(droot); } } } + + switch_event_destroy(&xml_params); } if ((aliases_tag = switch_xml_child(xprofile, "aliases"))) { From anthm at freeswitch.org Fri Feb 6 08:03:56 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 10:03:56 -0600 Subject: [Freeswitch-svn] [commit] r11663 - in freeswitch/trunk: libs/esl scripts src/mod/applications/mod_conference Message-ID: Author: anthm Date: Fri Feb 6 10:03:56 2009 New Revision: 11663 Log: fix regression in previous fix for MODAPP-209 Modified: freeswitch/trunk/libs/esl/testclient.c freeswitch/trunk/scripts/freeswitch-gcore freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/trunk/libs/esl/testclient.c ============================================================================== --- freeswitch/trunk/libs/esl/testclient.c (original) +++ freeswitch/trunk/libs/esl/testclient.c Fri Feb 6 10:03:56 2009 @@ -9,7 +9,21 @@ esl_connect(&handle, "localhost", 8021, "ClueCon"); - esl_send_recv(&handle, "api status\n\n"); + esl_send_recv(&handle, "api conference 3100 play /root/sr8k.raw 1\n\n"); + + esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3101\n\n"); + + esl_send_recv(&handle, "api conference 3101 play /root/sr8k.raw 2\n\n"); + + esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3102\n\n"); + + esl_send_recv(&handle, "api conference 3102 play /root/sr8k.raw 3\n\n"); + + esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3103\n\n"); + + esl_send_recv(&handle, "api conference 3103 play /root/sr8k.raw 4\n\n"); + + esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3104\n\n"); esl_disconnect(&handle); Modified: freeswitch/trunk/scripts/freeswitch-gcore ============================================================================== --- freeswitch/trunk/scripts/freeswitch-gcore (original) +++ freeswitch/trunk/scripts/freeswitch-gcore Fri Feb 6 10:03:56 2009 @@ -9,4 +9,4 @@ --eval-command='thread apply all bt' \ --eval-command='thread apply all bt full' \ --eval-command='quit' -rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid +#rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Feb 6 10:03:56 2009 @@ -2181,6 +2181,7 @@ switch_mutex_init(&member->control_mutex, SWITCH_MUTEX_NESTED, rec->pool); + switch_mutex_init(&member->flag_mutex, SWITCH_MUTEX_NESTED, rec->pool); switch_mutex_init(&member->audio_in_mutex, SWITCH_MUTEX_NESTED, rec->pool); switch_mutex_init(&member->audio_out_mutex, SWITCH_MUTEX_NESTED, rec->pool); From brian at freeswitch.org Fri Feb 6 08:05:46 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 10:05:46 -0600 Subject: [Freeswitch-svn] [commit] r11664 - in freeswitch/trunk: libs/esl scripts Message-ID: Author: brian Date: Fri Feb 6 10:05:46 2009 New Revision: 11664 Log: doh Modified: freeswitch/trunk/libs/esl/testclient.c freeswitch/trunk/scripts/freeswitch-gcore Modified: freeswitch/trunk/libs/esl/testclient.c ============================================================================== --- freeswitch/trunk/libs/esl/testclient.c (original) +++ freeswitch/trunk/libs/esl/testclient.c Fri Feb 6 10:05:46 2009 @@ -9,21 +9,7 @@ esl_connect(&handle, "localhost", 8021, "ClueCon"); - esl_send_recv(&handle, "api conference 3100 play /root/sr8k.raw 1\n\n"); - - esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3101\n\n"); - - esl_send_recv(&handle, "api conference 3101 play /root/sr8k.raw 2\n\n"); - - esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3102\n\n"); - - esl_send_recv(&handle, "api conference 3102 play /root/sr8k.raw 3\n\n"); - - esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3103\n\n"); - - esl_send_recv(&handle, "api conference 3103 play /root/sr8k.raw 4\n\n"); - - esl_send_recv(&handle, "api uuid_transfer aa1cedb1-5abc-4154-b068-9a0d1be6a7b6 3104\n\n"); + esl_send_recv(&handle, "api status\n\n"); esl_disconnect(&handle); Modified: freeswitch/trunk/scripts/freeswitch-gcore ============================================================================== --- freeswitch/trunk/scripts/freeswitch-gcore (original) +++ freeswitch/trunk/scripts/freeswitch-gcore Fri Feb 6 10:05:46 2009 @@ -9,4 +9,4 @@ --eval-command='thread apply all bt' \ --eval-command='thread apply all bt full' \ --eval-command='quit' -#rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid +rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid From brian at freeswitch.org Fri Feb 6 10:21:08 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:21:08 -0600 Subject: [Freeswitch-svn] [commit] r11665 - freeswitch/trunk/src/mod/codecs/mod_dahdi Message-ID: Author: brian Date: Fri Feb 6 12:21:08 2009 New Revision: 11665 Log: add MODCODEC-7, thanks moy Added: freeswitch/trunk/src/mod/codecs/mod_dahdi/ freeswitch/trunk/src/mod/codecs/mod_dahdi/mod_dahdi.c Added: freeswitch/trunk/src/mod/codecs/mod_dahdi/mod_dahdi.c ============================================================================== --- (empty file) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi/mod_dahdi.c Fri Feb 6 12:21:08 2009 @@ -0,0 +1,416 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / DAHDI codec module + * + * The Initial Developer of the Original Code is + * Moises Silva + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Moises Silva + * + * mod_dahdi -- DAHDI Codecs (G729A 8.0kbit, G723.1 5.3kbit) + * + * Thanks to Voiceway for sponsoring this module and Neocenter for providing the DAHDI hardware to test + * + */ + +#include +#include +#include +#include + +/*#define DEBUG_DAHDI_CODEC 1*/ + +#define DAHDI_FORMAT_G723_1 (1 << 0) +#define DAHDI_FORMAT_ULAW (1 << 2) +#define DAHDI_FORMAT_SLINEAR (1 << 6) +#define DAHDI_FORMAT_G729A (1 << 8) + +#define CODEC_G729_IANA_CODE 18 +#define CODEC_G723_IANA_CODE 4 + +switch_mutex_t *transcoder_counter_mutex; +static uint32_t total_encoders = 0; +static uint32_t total_encoders_usage = 0; +static uint32_t total_decoders = 0; +static uint32_t total_decoders_usage = 0; +static const char transcoding_device[] = "/dev/dahdi/transcode"; +static const char transcoder_name[] = "DAHDI"; + +SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_load); +SWITCH_MODULE_DEFINITION(mod_dahdi, mod_dahdi_load, NULL, NULL); + +struct dahdi_context { + int32_t encoding_fd; + int32_t decoding_fd; + uint8_t codec_r; +}; + +static int32_t switch_dahdi_get_transcoder(struct dahdi_transcoder_formats *fmts) +{ + int32_t fd = open(transcoding_device, O_RDWR); + if (fd < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + "Failed to open %s transcoder device: %s.\n", + transcoder_name, strerror(errno)); + return -1; + } + if (ioctl(fd, DAHDI_TC_ALLOCATE, fmts)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + "Failed to attach to transcoder: %s.\n", + strerror(errno)); + close(fd); + return -1; + } + if (fmts->srcfmt & DAHDI_FORMAT_ULAW) { + switch_mutex_lock(transcoder_counter_mutex); + total_encoders_usage++; + switch_mutex_unlock(transcoder_counter_mutex); + } else { + switch_mutex_lock(transcoder_counter_mutex); + total_decoders_usage++; + switch_mutex_unlock(transcoder_counter_mutex); + } + return fd; +} + +static switch_status_t switch_dahdi_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + uint32_t encoding, decoding; + struct dahdi_context *context = NULL; + struct dahdi_transcoder_formats fmts; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Switch DAHDI init called.\n"); + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding)) { +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No encoding or decoding requested for DAHDI transcoder?.\n"); +#endif + return SWITCH_STATUS_FALSE; + } + + if (!(context = switch_core_alloc(codec->memory_pool, sizeof(*context)))) { +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to allocate memory for dahdi codec context.\n"); +#endif + return SWITCH_STATUS_FALSE; + } + + if (encoding) { + fmts.srcfmt = DAHDI_FORMAT_ULAW; + fmts.dstfmt = (codec->implementation->ianacode == CODEC_G729_IANA_CODE) + ? DAHDI_FORMAT_G729A : DAHDI_FORMAT_G723_1; + context->encoding_fd = switch_dahdi_get_transcoder(&fmts); + if (context->decoding_fd < 0) { +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "encoding requested and denied with %d/%d.\n", + fmts.srcfmt, fmts.dstfmt); +#endif + return SWITCH_STATUS_FALSE; + } + /* ulaw requires 8 times more storage than g729 and 12 times more than G723, right? */ + context->codec_r = (codec->implementation->ianacode == CODEC_G729_IANA_CODE) + ? 8 : 12; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Encoding requested and granted with %d/%d.\n", + fmts.srcfmt, fmts.dstfmt); +#endif + } + if (decoding) { + fmts.dstfmt = DAHDI_FORMAT_ULAW; + fmts.srcfmt = (codec->implementation->ianacode == CODEC_G729_IANA_CODE) + ? DAHDI_FORMAT_G729A : DAHDI_FORMAT_G723_1; + context->decoding_fd = switch_dahdi_get_transcoder(&fmts); + if (context->decoding_fd < 0) { +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Decoding requested and denied with %d/%d.\n", + fmts.srcfmt, fmts.dstfmt); +#endif + return SWITCH_STATUS_FALSE; + } +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Decoding requested and granted with %d/%d.\n", + fmts.srcfmt, fmts.dstfmt); +#endif + } + codec->private_info = context; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_dahdi_encode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *decoded_data, + uint32_t decoded_data_len, + uint32_t decoded_rate, void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate, + unsigned int *flag) +{ + int32_t res; + short *dbuf_linear; + unsigned char *ebuf_g729; + unsigned char ebuf_ulaw[decoded_data_len/2]; + uint32_t i; + struct dahdi_context *context = NULL; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Switch DAHDI encode called to encode %d bytes.\n", decoded_data_len); +#endif + context = codec->private_info; + dbuf_linear = decoded_data; + ebuf_g729 = encoded_data; + for (i = 0; i < decoded_data_len / sizeof(short); i++) { + ebuf_ulaw[i] = linear_to_ulaw(dbuf_linear[i]); + } +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Writing %d bytes of decoded ulaw data.\n", i); +#endif + res = write(context->encoding_fd, ebuf_ulaw, i); + if (-1 == res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to write to %s encoder device.\n", transcoder_name); + return SWITCH_STATUS_FALSE; + } + if (i != res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Requested to write %d bytes to %s encoder device, but only wrote %d bytes.\n", i, transcoder_name, res); + return SWITCH_STATUS_FALSE; + } +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Wrote %d bytes of decoded ulaw data.\n", res); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Attempting to read %d bytes of encoded data.\n", i/context->codec_r); +#endif + res = read(context->encoding_fd, encoded_data, i/context->codec_r); + if (-1 == res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to read from %s encoder device: %s.\n", transcoder_name, strerror(errno)); + return SWITCH_STATUS_FALSE; + } + *encoded_data_len = res; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Read %d bytes of encoded data.\n", res); +#endif + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_dahdi_decode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *encoded_data, + uint32_t encoded_data_len, + uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, + unsigned int *flag) +{ + int32_t res; + short *dbuf_linear; + unsigned char dbuf_ulaw[encoded_data_len * ((struct dahdi_context*)codec->private_info)->codec_r]; + unsigned char *ebuf_g729; + uint32_t i; + struct dahdi_context *context; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Switch DAHDI decode called to decode %d bytes.\n", encoded_data_len); +#endif + + context = codec->private_info; + dbuf_linear = decoded_data; + ebuf_g729 = encoded_data; + + if (*flag & SWITCH_CODEC_FLAG_SILENCE) { + memset(dbuf_linear, 0, codec->implementation->decoded_bytes_per_packet); + *decoded_data_len = codec->implementation->decoded_bytes_per_packet; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Switch DAHDI decode in silence returned %d bytes.\n", *decoded_data_len); +#endif + return SWITCH_STATUS_SUCCESS; + } +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Writing %d bytes to decode.\n", encoded_data_len); +#endif + res = write(context->decoding_fd, ebuf_g729, encoded_data_len); + if (-1 == res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to write to %s decoder device.\n", transcoder_name); + return SWITCH_STATUS_FALSE; + } + if (encoded_data_len != res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Requested to write %d bytes to %s decoder device, but only wrote %d bytes.\n", encoded_data_len, transcoder_name, res); + return SWITCH_STATUS_FALSE; + } +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Wrote %d bytes to decode.\n", res); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Attempting to read from device %d bytes of decoded ulaw data.\n", + encoded_data_len*context->codec_r); +#endif + res = read(context->decoding_fd, dbuf_ulaw, encoded_data_len*context->codec_r); + if (-1 == res) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to read from %s encoder device: %s.\n", transcoder_name, strerror(errno)); + return SWITCH_STATUS_FALSE; + } + for (i = 0; i < res; i++) { + dbuf_linear[i] = ulaw_to_linear(dbuf_ulaw[i]); + } + *decoded_data_len = i * 2; +#ifdef DEBUG_DAHDI_CODEC + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Switch DAHDI decode returned %d bytes.\n", *decoded_data_len); +#endif + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_dahdi_destroy(switch_codec_t *codec) +{ + /* memory pool takes care of the private_info memory */ + struct dahdi_context *context = codec->private_info; + if (context->encoding_fd >= 0) { + switch_mutex_lock(transcoder_counter_mutex); + total_encoders_usage--; + switch_mutex_unlock(transcoder_counter_mutex); + close(context->encoding_fd); + } + if (context->decoding_fd >= 0) { + switch_mutex_lock(transcoder_counter_mutex); + total_decoders_usage--; + switch_mutex_unlock(transcoder_counter_mutex); + close(context->decoding_fd); + } + codec->private_info = NULL; + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_STANDARD_API(dahdi_transcode_usage) +{ + if (!total_encoders && !total_decoders) { + stream->write_function(stream, "No DAHDI transcoding hardware found.\n"); + return SWITCH_STATUS_SUCCESS; + } + switch_mutex_lock(transcoder_counter_mutex); + stream->write_function(stream, "Using %d encoders of a total of %d available.\n", + total_encoders_usage, total_encoders); + stream->write_function(stream, "Using %d decoders of a total of %d available.\n", + total_decoders_usage, total_decoders); + switch_mutex_unlock(transcoder_counter_mutex); + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_load) +{ + switch_api_interface_t *api_interface; + switch_codec_interface_t *codec_interface; + struct dahdi_transcoder_info info = { 0 }; + int32_t fd, res; + + total_encoders = 0; + total_encoders_usage = 0; + total_decoders = 0; + total_decoders_usage = 0; + + fd = open(transcoding_device, O_RDWR); + if (fd < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open %s transcoder device.\n", transcoder_name); + return SWITCH_STATUS_FALSE; + } + + for (info.tcnum = 0; !(res = ioctl(fd, DAHDI_TC_GETINFO, &info)); info.tcnum++) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Found dahdi transcoder name: %s\n", info.name); + if ((info.srcfmts & DAHDI_FORMAT_ULAW) && (info.dstfmts & (DAHDI_FORMAT_G729A | DAHDI_FORMAT_G723_1))) { + total_encoders += info.numchannels/2; + continue; + } + if ((info.dstfmts & DAHDI_FORMAT_ULAW) && (info.srcfmts & (DAHDI_FORMAT_G729A | DAHDI_FORMAT_G723_1))) { + total_decoders += info.numchannels/2; + continue; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, + "Not using transcoder %s, we just support ULAW and G723.1/G729A", info.name); + } + close(fd); + + if (!total_encoders && !total_decoders) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "No DAHDI transcoders found.\n"); + return SWITCH_STATUS_FALSE; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Found %d ULAW to G729A/G723.1 encoders.\n", total_encoders); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Found %d G729A/G723.1 to ULAW decoders.\n", total_decoders); + + switch_mutex_init(&transcoder_counter_mutex, SWITCH_MUTEX_UNNESTED, pool); + + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + + SWITCH_ADD_CODEC(codec_interface, "DAHDI G.729A 8.0k"); /* 8.0kbit */ + int mpf = 20000; /* Algorithmic delay of 15ms with 5ms of look-ahead delay */ + int spf = 160; + int bpfd = 320; + int bpfc = 20; + int fpnp = 10; + switch_core_codec_add_implementation(pool, + codec_interface, + SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */ + 18, /* the IANA code number */ + "G729", /* the IANA code name */ + NULL, /* default fmtp to send (can be overridden by the init function) */ + 8000, /* samples transferred per second */ + 8000, /* actual samples transferred per second */ + 8000, /* bits transferred per second */ + mpf, /* number of microseconds per frame (10ms frames) */ + spf, /* number of samples per frame */ + bpfd, /* number of bytes per frame decompressed */ + bpfc, /* number of bytes per frame compressed */ + 1, /* number of channels represented */ + fpnp, /* number of frames per network packet */ + switch_dahdi_init, /* function to initialize a codec handle using this implementation */ + switch_dahdi_encode, /* function to encode raw data into encoded data */ + switch_dahdi_decode, /* function to decode encoded data into raw data */ + switch_dahdi_destroy); /* deinitalize a codec handle using this implementation */ + + SWITCH_ADD_CODEC(codec_interface, "DAHDI G.723.1 5.3k"); /* 5.3kbit */ + mpf = 30000; /* Algorithmic delay of 37.5ms with 7.5ms of look-ahead delay */ + spf = 240; + bpfd = 480; + bpfc = 20; + fpnp = 10; + switch_core_codec_add_implementation(pool, + codec_interface, + SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */ + 4, /* the IANA code number */ + "G723", /* the IANA code name */ + NULL, /* default fmtp to send (can be overridden by the init function) */ + 8000, /* samples transferred per second */ + 8000, /* actual samples transferred per second */ + 8000, /* bits transferred per second */ + mpf, /* number of microseconds per frame (10ms frames) */ + spf, /* number of samples per frame */ + bpfd, /* number of bytes per frame decompressed */ + bpfc, /* number of bytes per frame compressed */ + 1, /* number of channels represented */ + fpnp, /* number of frames per network packet */ + switch_dahdi_init, /* function to initialize a codec handle using this implementation */ + switch_dahdi_encode, /* function to encode raw data into encoded data */ + switch_dahdi_decode, /* function to decode encoded data into raw data */ + switch_dahdi_destroy); /* deinitalize a codec handle using this implementation */ + + SWITCH_ADD_API(api_interface, "dahdi_transcode", "DAHDI Transcode", dahdi_transcode_usage, NULL); + switch_console_set_complete("add dahdi_transcode"); + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4: + */ From mikej at freeswitch.org Fri Feb 6 10:23:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:23:14 -0600 Subject: [Freeswitch-svn] [commit] r11666 - in freeswitch/trunk: . build/config Message-ID: Author: mikej Date: Fri Feb 6 12:23:14 2009 New Revision: 11666 Log: tweak odbc detection Modified: freeswitch/trunk/build/config/odbc.m4 freeswitch/trunk/configure.in Modified: freeswitch/trunk/build/config/odbc.m4 ============================================================================== --- freeswitch/trunk/build/config/odbc.m4 (original) +++ freeswitch/trunk/build/config/odbc.m4 Fri Feb 6 12:23:14 2009 @@ -119,7 +119,9 @@ ac_cv_odbc_where_lib=$with_odbc_lib fi if test "X$ac_cv_odbc_where_lib" = "X"; then + AC_CHECK_LIB([odbc],[SQLDisconnect],[ac_cv_odbc_where_lib="yes"],[ ODBC_LIB_WHERE(/usr/$LIB_SUBDIR /usr/local/$LIB_SUBDIR) + ]) fi if test "X$with_odbc_include" != "X"; then @@ -138,15 +140,16 @@ AC_MSG_RESULT(yes) ODBC_INC_DIR=$ac_cv_pcap_where_inc ODBC_LIB_DIR=$ac_cv_pcap_where_lib - ODBC_INC_FLAGS="-I${ODBC_INC_DIR}" + ODBC_INC_FLAGS="-I$ac_cv_pcap_where_inc" + ODBC_LIB_FLAGS="-Wl,-lodbc" case "$host" in *darwin*) - ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc -framework CoreFoundation" - ;; - *) - ODBC_LIB_FLAGS="-L${ODBC_LIB_DIR} -lodbc" + ODBC_LIB_FLAGS="$ODBC_LIB_FLAGS -framework CoreFoundation" ;; esac + if test "$ac_cv_odbc_where_lib" != "yes"; then + ODBC_LIB_FLAGS="-L$ac_cv_odbc_where_lib $ODBC_LIB_FLAGS" + fi AC_SUBST(ODBC_INC_DIR) AC_SUBST(ODBC_LIB_DIR) AC_SUBST(ODBC_INC_FLAGS) Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Fri Feb 6 12:23:14 2009 @@ -112,7 +112,7 @@ # set defaults for use on all platforms SWITCH_AM_CFLAGS="-I${switch_srcdir}/src/include -I${switch_srcdir}/libs/libteletone/src" SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_srcdir}/libs/libteletone/src" -SWITCH_AM_LDFLAGS="-lm -L/usr/local/lib" +SWITCH_AM_LDFLAGS="-lm" #set SOLINK variable based on compiler and host if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then @@ -161,11 +161,15 @@ APR_ADDTO(SWITCH_AM_CFLAGS, -m64) APR_ADDTO(SWITCH_AM_CXXFLAGS, -m64) APR_ADDTO(SWITCH_AM_LDFLAGS, -m64) + LIBS="$LIBS -m64" fi elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC) APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC) APR_ADDTO(SWITCH_AM_CFLAGS, -Werror) + if test "${enable_64}" = "yes"; then + LIBS="$LIBS -m64" + fi fi # Enable debugging (default: on) From brian at freeswitch.org Fri Feb 6 10:26:53 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:26:53 -0600 Subject: [Freeswitch-svn] [commit] r11667 - in freeswitch/trunk/src/mod/codecs: mod_dahdi mod_dahdi_codec Message-ID: Author: brian Date: Fri Feb 6 12:26:53 2009 New Revision: 11667 Log: rename so nobody is confused that this is just the codec interface Added: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/ - copied from r11665, /freeswitch/trunk/src/mod/codecs/mod_dahdi/ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c - copied unchanged from r11665, /freeswitch/trunk/src/mod/codecs/mod_dahdi/mod_dahdi.c Removed: freeswitch/trunk/src/mod/codecs/mod_dahdi/ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi.c From brian at freeswitch.org Fri Feb 6 10:27:40 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:27:40 -0600 Subject: [Freeswitch-svn] [commit] r11668 - freeswitch/trunk/build Message-ID: Author: brian Date: Fri Feb 6 12:27:40 2009 New Revision: 11668 Log: adding to modules.conf.in Modified: freeswitch/trunk/build/modules.conf.in Modified: freeswitch/trunk/build/modules.conf.in ============================================================================== --- freeswitch/trunk/build/modules.conf.in (original) +++ freeswitch/trunk/build/modules.conf.in Fri Feb 6 12:27:40 2009 @@ -30,6 +30,7 @@ codecs/mod_speex #codecs/mod_siren #codecs/mod_celt +#codecs/mod_dahdi_codec #dialplans/mod_dialplan_directory dialplans/mod_dialplan_xml dialplans/mod_dialplan_asterisk From brian at freeswitch.org Fri Feb 6 10:29:51 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:29:51 -0600 Subject: [Freeswitch-svn] [commit] r11669 - freeswitch/trunk/src/mod/codecs/mod_dahdi_codec Message-ID: Author: brian Date: Fri Feb 6 12:29:51 2009 New Revision: 11669 Log: update the src to reference mod_dahdi_codec Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Fri Feb 6 12:29:51 2009 @@ -24,7 +24,7 @@ * Contributor(s): * Moises Silva * - * mod_dahdi -- DAHDI Codecs (G729A 8.0kbit, G723.1 5.3kbit) + * mod_dahdi_codec -- DAHDI Codecs (G729A 8.0kbit, G723.1 5.3kbit) * * Thanks to Voiceway for sponsoring this module and Neocenter for providing the DAHDI hardware to test * @@ -53,8 +53,8 @@ static const char transcoding_device[] = "/dev/dahdi/transcode"; static const char transcoder_name[] = "DAHDI"; -SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_load); -SWITCH_MODULE_DEFINITION(mod_dahdi, mod_dahdi_load, NULL, NULL); +SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_codec_load); +SWITCH_MODULE_DEFINITION(mod_dahdi_codec, mod_dahdi_codec_load, NULL, NULL); struct dahdi_context { int32_t encoding_fd; @@ -301,7 +301,7 @@ return SWITCH_STATUS_SUCCESS; } -SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_load) +SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_codec_load) { switch_api_interface_t *api_interface; switch_codec_interface_t *codec_interface; From mikej at freeswitch.org Fri Feb 6 10:46:12 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 12:46:12 -0600 Subject: [Freeswitch-svn] [commit] r11670 - freeswitch/trunk Message-ID: Author: mikej Date: Fri Feb 6 12:46:12 2009 New Revision: 11670 Log: build: fix configure --sysconfdir (FSBUILD-84) Modified: freeswitch/trunk/Makefile.am Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Fri Feb 6 12:46:12 2009 @@ -206,25 +206,26 @@ yaml-files: - @echo `mkdir $(DESTDIR)$(prefix)/conf/yaml 2>/dev/null` - $(INSTALL) -m 644 conf/yaml/*.yaml $(DESTDIR)$(prefix)/conf/yaml + @echo `mkdir $(DESTDIR)@confdir@/yaml 2>/dev/null` + $(INSTALL) -m 644 conf/yaml/*.yaml $(DESTDIR)@confdir@/yaml vm-sync: - test -d $(DESTDIR)$(prefix)/conf || $(mkinstalldirs) $(DESTDIR)$(prefix)/conf - test -d $(DESTDIR)$(prefix)/conf/lang || $(mkinstalldirs) $(DESTDIR)$(prefix)/conf/lang - test -d $(DESTDIR)$(prefix)/conf/lang/en || $(mkinstalldirs) $(DESTDIR)$(prefix)/conf/lang/en - test -d $(DESTDIR)$(prefix)/conf/lang/en/vm || $(mkinstalldirs) $(DESTDIR)$(prefix)/conf/lang/en/vm - $(INSTALL) -m 644 conf/lang/en/vm/* $(DESTDIR)$(prefix)/conf/lang/en/vm + test -d $(DESTDIR)@confdir@ || $(mkinstalldirs) $(DESTDIR)@confdir@ + test -d $(DESTDIR)@confdir@/lang || $(mkinstalldirs) $(DESTDIR)@confdir@/lang + test -d $(DESTDIR)@confdir@/lang/en || $(mkinstalldirs) $(DESTDIR)@confdir@/lang/en + test -d $(DESTDIR)@confdir@/lang/en/vm || $(mkinstalldirs) $(DESTDIR)@confdir@/lang/en/vm + $(INSTALL) -m 644 conf/lang/en/vm/* $(DESTDIR)@confdir@/lang/en/vm samples-conf: - test -d $(DESTDIR)$(prefix)/conf || $(mkinstalldirs) $(DESTDIR)$(prefix)/conf + test -d $(DESTDIR)@confdir@/ || $(mkinstalldirs) $(DESTDIR)@confdir@ for conffile in `find conf -name \*.xml && find conf -name \*.conf && find conf -name \*.tpl && find conf -name \*.ttml && find conf -name mime.types` ; do \ - dir=`echo $$conffile | sed -e 's|/[^/]*$$||'`; \ + src_dir=`echo $$conffile | sed -e 's|/[^/]*$$||'`; \ + dir=`echo $$src_dir | sed -e 's|conf||'`; \ filename=`echo $$conffile | sed -e 's|^.*/||'`; \ - test -d $(DESTDIR)$(PREFIX)/$$dir || $(mkinstalldirs) $(DESTDIR)$(prefix)/$$dir ; \ - test -f $(DESTDIR)$(PREFIX)/$$dir/$$filename || \ - test -f $(DESTDIR)$(PREFIX)/$$dir/$$filename.noload || \ - $(INSTALL) -m 644 $$dir/$$filename $(DESTDIR)$(PREFIX)/$$dir; \ + test -d $(DESTDIR)@confdir@/$$dir || $(mkinstalldirs) $(DESTDIR)@confdir@/$$dir ; \ + test -f $(DESTDIR)@confdir@/$$dir/$$filename || \ + test -f $(DESTDIR)@confdir@/$$dir/$$filename.noload || \ + $(INSTALL) -m 644 $$src_dir/$$filename $(DESTDIR)@confdir@/$$dir; \ done samples-htdocs: @@ -244,7 +245,7 @@ $(mkinstalldirs) $(DESTDIR)$(prefix)/$$x ; \ done $(mkinstalldirs) $(DESTDIR)@modinstdir@ - test -d $(DESTDIR)$(prefix)/conf || $(MAKE) samples-conf + test -d $(DESTDIR)@confdir@ || $(MAKE) samples-conf test -d $(DESTDIR)$(prefix)/htdocs || $(MAKE) samples-htdocs .version: @@ -429,7 +430,7 @@ -e "s, at LIB_DIR\@, at libdir@," \ -e "s, at BIN_DIR\@, at bindir@," \ -e "s, at INC_DIR\@, at includedir@," \ - -e "s, at CFG_DIR\@,$(PREFIX)/conf," \ + -e "s, at CFG_DIR\@, at confdir@," \ -e "s, at DB_DIR\@,$(PREFIX)/db," \ -e "s, at PREFIX\@,$(PREFIX)," \ -e "s, at CC\@,$(CC)," \ From mikej at freeswitch.org Fri Feb 6 11:15:42 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 13:15:42 -0600 Subject: [Freeswitch-svn] [commit] r11671 - in freeswitch/trunk: libs/apr libs/apr-util/xml/expat libs/libsndfile src/mod/formats/mod_shout Message-ID: Author: mikej Date: Fri Feb 6 13:15:42 2009 New Revision: 11671 Log: merge parts of libtool 2.2 fixes (FSBUILD-82) Modified: freeswitch/trunk/libs/apr-util/xml/expat/buildconf.sh freeswitch/trunk/libs/apr/configure.in freeswitch/trunk/libs/libsndfile/configure.ac freeswitch/trunk/src/mod/formats/mod_shout/Makefile Modified: freeswitch/trunk/libs/apr-util/xml/expat/buildconf.sh ============================================================================== --- freeswitch/trunk/libs/apr-util/xml/expat/buildconf.sh (original) +++ freeswitch/trunk/libs/apr-util/xml/expat/buildconf.sh Fri Feb 6 13:15:42 2009 @@ -58,6 +58,8 @@ ${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning" echo "Creating configure ..." +${ACLOCAL:-aclocal} + ### do some work to toss config.cache? ${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning" Modified: freeswitch/trunk/libs/apr/configure.in ============================================================================== --- freeswitch/trunk/libs/apr/configure.in (original) +++ freeswitch/trunk/libs/apr/configure.in Fri Feb 6 13:15:42 2009 @@ -200,8 +200,8 @@ if test "x$use_libtool" = "xyes"; then lt_compile='$(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -o $@ -c $< && touch $@' - LT_VERSION="-version-info `$get_version libtool $version_hdr APR`" - link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(LT_LDFLAGS) \$(COMPILE) ${LT_VERSION} \$(ALL_LDFLAGS) -o \$@" + lt_version="-version-info `$get_version libtool $version_hdr APR`" + link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(LT_LDFLAGS) \$(COMPILE) ${lt_version} \$(ALL_LDFLAGS) -o \$@" so_ext='lo' lib_target='-rpath $(libdir) $(OBJECTS)' export_lib_target='-rpath \$(libdir) \$(OBJECTS)' Modified: freeswitch/trunk/libs/libsndfile/configure.ac ============================================================================== --- freeswitch/trunk/libs/libsndfile/configure.ac (original) +++ freeswitch/trunk/libs/libsndfile/configure.ac Fri Feb 6 13:15:42 2009 @@ -32,6 +32,7 @@ AC_PROG_CC AM_PROG_CC_C_O +AC_PROG_CXX AM_PROG_LIBTOOL AC_CHECK_PROG(autogen, autogen, yes, no) Modified: freeswitch/trunk/src/mod/formats/mod_shout/Makefile ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_shout/Makefile (original) +++ freeswitch/trunk/src/mod/formats/mod_shout/Makefile Fri Feb 6 13:15:42 2009 @@ -30,7 +30,7 @@ $(GETLIB) $(MPG123).tar.gz $(MPG123_DIR)/Makefile: $(MPG123_DIR) - cd $(MPG123_DIR) && CFLAGS=$(AM_CFLAGS) ./configure --disable-shared --with-pic CPPFLAGS= LDFLAGS= + cd $(MPG123_DIR) && CFLAGS=$(AM_CFLAGS) CC=$(CC) CXX=$(CXX) ./configure --disable-shared --with-pic CPPFLAGS= LDFLAGS= $(TOUCH_TARGET) $(MPG123LA): $(MPG123_DIR)/Makefile @@ -41,7 +41,7 @@ $(GETLIB) $(LAME).tar.gz $(LAME_DIR)/Makefile: $(LAME_DIR) - cd $(LAME_DIR) && ./configure $(DEFAULT_ARGS) --disable-decoder CPPFLAGS= LDFLAGS= + cd $(LAME_DIR) && CC=$(CC) CXX=$(CXX) ./configure $(DEFAULT_ARGS) --disable-decoder CPPFLAGS= LDFLAGS= $(TOUCH_TARGET) $(LAMELA): $(LAME_DIR)/Makefile @@ -52,7 +52,7 @@ $(GETLIB) $(SHOUT).tar.gz $(SHOUT_DIR)/Makefile: $(SHOUT_DIR) - cd $(SHOUT_DIR) && ./configure $(DEFAULT_ARGS) --without-speex --without-vorbis --without-ogg CPPFLAGS= LDFLAGS= + cd $(SHOUT_DIR) && CC=$(CC) CXX=$(CXX) ./configure $(DEFAULT_ARGS) --without-speex --without-vorbis --without-ogg CPPFLAGS= LDFLAGS= $(TOUCH_TARGET) $(SHOUTLA): $(SHOUT_DIR)/Makefile From gmaruzz at freeswitch.org Fri Feb 6 11:37:00 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 13:37:00 -0600 Subject: [Freeswitch-svn] [commit] r11672 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Fri Feb 6 13:36:59 2009 New Revision: 11672 Log: skypiax: if don't start all interfaces, module don't load Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Fri Feb 6 13:36:59 2009 @@ -905,7 +905,7 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); i=0; - while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 6000) { // 60sec + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 60000) { // 60sec FIXME switch_sleep(1000); i++; } @@ -913,7 +913,7 @@ NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { ERRORA("FAILED to start interface_id=%d\n", SKYPIAX_P_LOG, interface_id); - break; + return SWITCH_STATUS_FALSE; } } else { @@ -961,7 +961,8 @@ running = 1; - load_config(); + if (load_config() != SWITCH_STATUS_SUCCESS) + return SWITCH_STATUS_FALSE; *module_interface = switch_loadable_module_create_module_interface(pool, modname); skypiax_endpoint_interface = From gmaruzz at freeswitch.org Fri Feb 6 11:39:31 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 13:39:31 -0600 Subject: [Freeswitch-svn] [commit] r11673 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Fri Feb 6 13:39:31 2009 New Revision: 11673 Log: skypiax: on asterisk subdir removed skypiax_protocol.c, will be a symlink to ../skypiax_protocol.c Removed: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c From gmaruzz at freeswitch.org Fri Feb 6 11:40:22 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 13:40:22 -0600 Subject: [Freeswitch-svn] [commit] r11674 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Fri Feb 6 13:40:22 2009 New Revision: 11674 Log: skypiax: on asterisk subdir added symlink to ../skypiax_protocol.c Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c (contents, props changed) Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c Fri Feb 6 13:40:22 2009 @@ -0,0 +1 @@ +link ../skypiax_protocol.c \ No newline at end of file From gmaruzz at freeswitch.org Fri Feb 6 11:45:39 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 13:45:39 -0600 Subject: [Freeswitch-svn] [commit] r11675 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Fri Feb 6 13:45:38 2009 New Revision: 11675 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile Fri Feb 6 13:45:38 2009 @@ -21,7 +21,7 @@ #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_160/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_12/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include -AST_INCLUDE_DIR=/home/user/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include +AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include #ASTERISK CFLAGS+=-DASTERISK Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Fri Feb 6 13:45:38 2009 @@ -188,7 +188,6 @@ char language[80]; /*!< \brief default Asterisk dialplan language for this interface */ char exten[80]; /*!< \brief default Asterisk dialplan extension for this interface */ int skypiax_sound_rate; /*!< \brief rate of the sound device, in Hz, eg: 8000 */ - switch_file_t *skypiax_sound_capt_fd; /*!< \brief file descriptor for sound capture dev */ char callid_name[50]; char callid_number[50]; double playback_boost; @@ -205,9 +204,11 @@ #ifdef WIN32 switch_file_t *audiopipe[2]; switch_file_t *audioskypepipe[2]; + switch_file_t *skypiax_sound_capt_fd; /*!< \brief file descriptor for sound capture dev */ #else /* WIN32 */ int audiopipe[2]; int audioskypepipe[2]; + int skypiax_sound_capt_fd; /*!< \brief file descriptor for sound capture dev */ #endif /* WIN32 */ switch_thread_t *tcp_srv_thread; switch_thread_t *tcp_cli_thread; Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Fri Feb 6 13:45:38 2009 @@ -3,7 +3,6 @@ #ifdef ASTERISK #define skypiax_sleep usleep #define tech_pvt p -#define SKYPIAX_DIR_CONFIG "directoriax.conf" extern int skypiax_debug; #define skypiax_file_write switch_file_write #define skypiax_file_read switch_file_read @@ -19,8 +18,6 @@ extern int option_debug; extern int running; -/* GLOBALS */ -int skypiax_dir_entry_extension=1; /*************************************/ #ifndef WIN32 XErrorHandler old_handler = 0; @@ -481,6 +478,9 @@ } #endif /* WIN32 */ +/* the pipe is the audio fd for asterisk to poll on during a call */ + tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; + if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -1635,376 +1635,3 @@ return 0; } -#ifdef ASTERISK -int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[]) -{ - //int res; - struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - //char list_command[64]; - char fn[256]; - char date[256] = ""; - time_t t; - char *configfile = SKYPIAX_DIR_CONFIG; - int add_to_skypiax_dir_conf = 1; - //int fromskype = 0; - //int fromcell = 0; - -#if 0 - if(directoriax_entry_extension){ - skypiax_dir_entry_extension=directoriax_entry_extension; - }else{ - ast_cli(fd, "No 'directoriax_entry_extension', you MUST have loaded directoriax.so\n"); - return RESULT_SUCCESS; - } -#endif - - if (argc != 2) - return RESULT_SHOWUSAGE; - if (!p) { - ast_cli(fd, "No \"current\" console ???, please enter 'help skypiax_console'\n"); - return RESULT_SUCCESS; - } - - if (!strcasecmp(argv[1], "add")) - add_to_skypiax_dir_conf = 1; - else if (!strcasecmp(argv[1], "replace")) - add_to_skypiax_dir_conf = 0; - else { - ast_cli(fd, "\n\nYou have neither specified 'add' nor 'replace'\n\n"); - return RESULT_SHOWUSAGE; - } - -#if 0 - if (!strcasecmp(argv[2], "fromskype")) - fromskype = 1; - else if (!strcasecmp(argv[2], "fromcell")) - fromcell = 1; - else { - ast_cli(fd, "\n\nYou have neither specified 'fromskype' nor 'fromcell'\n\n"); - return RESULT_SHOWUSAGE; - } - - if (fromcell) { - ast_cli(fd, - "Importing from cellphone is currently supported only on \"AT\" cellphones :( !\n"); - //fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - return RESULT_SUCCESS; - } - - if (fromskype) - if (!p->skype) { - ast_cli(fd, "Importing from skype is supported by skypiax_dir on chan_skypiax!\n"); - //fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - return RESULT_SUCCESS; - } - - if (fromcell || fromskype) - if (argc != 3) { - ast_cli(fd, - "\n\nYou don't have to specify a filename with 'fromcell' or with 'fromskype'\n\n"); - return RESULT_SHOWUSAGE; - } -#endif - - /*******************************************************************************************/ - - if (configfile[0] == '/') { - ast_copy_string(fn, configfile, sizeof(fn)); - } else { - snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile); - } - if (option_debug) - NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn); - time(&t); - ast_copy_string(date, ctime(&t), sizeof(date)); - - if (add_to_skypiax_dir_conf) - p->phonebook_writing_fp = fopen(fn, "a+"); - else - p->phonebook_writing_fp = fopen(fn, "w+"); - - if (p->phonebook_writing_fp) { - if (add_to_skypiax_dir_conf) { - if (option_debug) - NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date); - fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__); - fprintf(p->phonebook_writing_fp, ";!\n"); - } else { - if (option_debug) - NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n"); - fprintf(p->phonebook_writing_fp, ";! Filename: %s (%s)\n", configfile, fn); - fprintf(p->phonebook_writing_fp, ";! Creation Date: %s", date); - fprintf(p->phonebook_writing_fp, ";! Generated by: %s, %d\n", __FILE__, __LINE__); - fprintf(p->phonebook_writing_fp, ";!\n"); - fprintf(p->phonebook_writing_fp, "[general]\n\n"); - fprintf(p->phonebook_writing_fp, "[default]\n"); - } - - /*******************************************************************************************/ - //if (fromskype) { - if (p->skype) { - WARNINGA - ("About to querying the Skype client 'Contacts', it may take some moments... Don't worry.\n", - SKYPIAX_P_LOG); - if (p->skype_thread != AST_PTHREADT_NULL) { - char msg_to_skype[1024]; - - p->skype_friends[0] = '\0'; - sprintf(msg_to_skype, "#333 SEARCH FRIENDS"); - if (skypiax_skype_write(p, msg_to_skype) < 0) { - return -1; - } - - int friends_count = 0; - while (p->skype_friends[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - friends_count++; - if (friends_count > 20000) { - return -1; /* FIXME */ - } - } - - } - - if (p->skype_thread != AST_PTHREADT_NULL) { - char msg_to_skype[1024]; - - if (p->skype_friends[0] != '\0') { - char *buf, *where; - char **stringp; - int skype_dir_file_written = 0; - - buf = p->skype_friends; - stringp = &buf; - where = strsep(stringp, ", "); - while (where) { - if (where[0] != '\0') { - /* - * So, we have the Skype username (the HANDLE, I think is called). - * But we want to call the names we see in the Skype contact list - * So, let's check the DISPLAYNAME (the end user modified contact name) - * Then, we check the FULLNAME (that appears as it was the DISPLAYNAME - * if the end user has not modify it) - * If we still have neither DISPLAYNAME nor FULLNAME, we'll use the - * Skipe username (the HANDLE) - */ - - p->skype_displayname[0] = '\0'; - sprintf(msg_to_skype, "#765 GET USER %s DISPLAYNAME", where); - skypiax_skype_write(p, msg_to_skype); - int displayname_count = 0; - while (p->skype_displayname[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - displayname_count++; - if (displayname_count > 20000) - return -1; /* FIXME */ - } - if (p->skype_displayname[0] != '\0') { - char *where2; - char sanitized[300]; - - sanitized[0] = '\0'; - - where2 = strstr(p->skype_displayname, "DISPLAYNAME "); - if (where2) { - - /* there can be some *smart* that makes a displayname - * that is different than firstlast, */ - /* maybe initials, simbols, slashes, - * something smartish... let's check */ - - if (where2[12] != '\0') { - int i = 12; - int x = 0; - int spaces = 0; - int last_char_was_space = 0; - - for (i = 12; i < strlen(where2) && x < 299; i++) { - if (!isalnum(where2[i])) { - if (!isblank(where2[i])) { - /* bad char */ - continue; - } - /* is a space */ - if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ - continue; - last_char_was_space = 1; - sanitized[x] = ' '; - x++; - continue; - } - /* is alphanum */ - last_char_was_space = 0; - sanitized[x] = where2[i]; - x++; - continue; - } - - sanitized[x] = '\0'; - if (spaces == 0) { - } - DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", - SKYPIAX_P_LOG, sanitized, where, &where2[12]); - } - - if (where2[12] != '\0') { - skypiax_dir_entry_extension++; - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - } - skype_dir_file_written = 1; - - } - } - } - p->skype_displayname[0] = '\0'; - - p->skype_fullname[0] = '\0'; - sprintf(msg_to_skype, "#222 GET USER %s FULLNAME", where); - skypiax_skype_write(p, msg_to_skype); - int fullname_count = 0; - while (p->skype_fullname[0] == '\0') { - /* FIXME needs a timeout, can't wait forever! - * eg. when skype is running but not connected! */ - usleep(100); - fullname_count++; - if (fullname_count > 20000) - return -1; /* FIXME */ - } - if (p->skype_fullname[0] != '\0') { - char *where2; - char sanitized[300]; - - where2 = strstr(p->skype_fullname, "FULLNAME "); - if (where2) { - - /* there can be some *smart* that makes a fullname - * that is different than firstlast, */ - /* maybe initials, simbols, slashes, - * something smartish... let's check */ - - if (where2[9] != '\0') { - int i = 9; - int x = 0; - int spaces = 0; - int last_char_was_space = 0; - - for (i = 9; i < strlen(where2) && x < 299; i++) { - if (!isalnum(where2[i])) { - if (!isblank(where2[i])) { - /* bad char */ - continue; - } - /* is a space */ - if (last_char_was_space == 1) /* do not write 2 consecutive spaces */ - continue; - last_char_was_space = 1; - sanitized[x] = ' '; - x++; - continue; - } - /* alphanum */ - last_char_was_space = 0; - sanitized[x] = where2[i]; - x++; - continue; - } - - sanitized[x] = '\0'; - if (spaces == 0) { - } - DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n", - SKYPIAX_P_LOG, sanitized, where, &where2[9]); - } - - if (skype_dir_file_written == 0) { - skypiax_dir_entry_extension++; - if (where2[9] != '\0') { - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, sanitized, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - - } - - } else { - if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, where, "no", - p->skypiax_dir_entry_extension_prefix, "2", - skypiax_dir_entry_extension, "yes", "not_specified"); - } else { /* is a skype name */ - fprintf(p->phonebook_writing_fp, - "%s => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n", - where, where, "no", - p->skypiax_dir_entry_extension_prefix, "1", - skypiax_dir_entry_extension, "yes", "not_specified"); - - } - } - } - - skype_dir_file_written = 0; - - } - - } - p->skype_fullname[0] = '\0'; - - } - where = strsep(stringp, ", "); - } - - p->skype_friends[0] = '\0'; - } - } - } else { - - ast_cli(fd, - "Skype not configured on the 'current' console, not importing from Skype client!\n"); - } - //} - /*******************************************************************************************/ - /*******************************************************************************************/ - } else { - ast_cli(fd, "\n\nfailed to open the skypiax_dir.conf configuration file: %s\n", fn); - ERRORA("failed to open the skypiax_dir.conf configuration file: %s\n", SKYPIAX_P_LOG, - fn); - return RESULT_FAILURE; - } - - fclose(p->phonebook_writing_fp); - //skypiax_dir_create_extensions(); - - return RESULT_SUCCESS; -} -#endif /* ASTERISK */ From mcollins at freeswitch.org Fri Feb 6 12:33:21 2009 From: mcollins at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 14:33:21 -0600 Subject: [Freeswitch-svn] [commit] r11676 - freeswitch/trunk/libs/esl Message-ID: Author: mcollins Date: Fri Feb 6 14:33:20 2009 New Revision: 11676 Log: Too many people asking 'how do I...' with fs_cli Modified: freeswitch/trunk/libs/esl/fs_cli.c Modified: freeswitch/trunk/libs/esl/fs_cli.c ============================================================================== --- freeswitch/trunk/libs/esl/fs_cli.c (original) +++ freeswitch/trunk/libs/esl/fs_cli.c Fri Feb 6 14:33:20 2009 @@ -379,7 +379,8 @@ "* FreeSWITCH (http://www.freeswitch.org) *\n" "* Brought to you by ClueCon http://www.cluecon.com/ *\n" "*****************************************************\n" - "\n\n" + "\n" + "Type /help to see a list of commands\n\n\n" ); } From anthm at freeswitch.org Fri Feb 6 12:44:53 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 14:44:53 -0600 Subject: [Freeswitch-svn] [commit] r11677 - freeswitch/trunk/src Message-ID: Author: anthm Date: Fri Feb 6 14:44:53 2009 New Revision: 11677 Log: add enable_file_write_buffering variable Modified: freeswitch/trunk/src/switch_ivr_play_say.c Modified: freeswitch/trunk/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_play_say.c (original) +++ freeswitch/trunk/src/switch_ivr_play_say.c Fri Feb 6 14:44:53 2009 @@ -420,7 +420,10 @@ } } - fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; + vval = switch_channel_get_variable(channel, "enable_file_write_buffering"); + if (!vval || !switch_true(vval)) { + fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; + } if (switch_core_file_open(fh, file, From mikej at freeswitch.org Fri Feb 6 15:49:22 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 06 Feb 2009 17:49:22 -0600 Subject: [Freeswitch-svn] [commit] r11678 - freeswitch/trunk/src Message-ID: Author: mikej Date: Fri Feb 6 17:49:22 2009 New Revision: 11678 Log: fix windows build Modified: freeswitch/trunk/src/switch_ivr.c Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Fri Feb 6 17:49:22 2009 @@ -46,7 +46,7 @@ int16_t peak = 0; int16_t *data; switch_frame_t *read_frame = NULL; - int i; + uint32_t i; switch_channel_t *channel = switch_core_session_get_channel(session); switch_status_t status = SWITCH_STATUS_SUCCESS; int64_t global_total = 0, global_sum = 0, period_sum = 0; @@ -88,7 +88,7 @@ peak = 0; avg = 0; for (i = 0; i < read_frame->samples; i++) { - const int16_t s = abs(data[i]); + const int16_t s = (int16_t)abs(data[i]); if (s > peak) { peak = s; } @@ -103,13 +103,13 @@ global_total++; period_total++; - period_avg = period_sum / period_total; + period_avg = (int)(period_sum / period_total); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "\npacket_avg=%d packet_peak=%d period_avg=%d global_avg=%d\n\n", avg, peak, period_avg, global_avg); if (period_total >= period_len) { - global_avg = global_sum / global_total; + global_avg = (int)(global_sum / global_total); period_total = 0; period_sum = 0; } From gmaruzz at freeswitch.org Sat Feb 7 06:09:40 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 07 Feb 2009 08:09:40 -0600 Subject: [Freeswitch-svn] [commit] r11679 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Sat Feb 7 08:09:40 2009 New Revision: 11679 Log: skypiax: * compile and works on Cygwin Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Sat Feb 7 08:09:40 2009 @@ -1285,6 +1285,7 @@ M_UINT("tcp_srv_port", tmp->tcp_srv_port) M_F("playback_boost", skypiax_store_boost(v->value, &tmp->playback_boost)) M_F("capture_boost", skypiax_store_boost(v->value, &tmp->capture_boost)) + M_STR("skype_user", tmp->skype_user) M_UINT("skypiax_dir_entry_extension_prefix", tmp->skypiax_dir_entry_extension_prefix) M_END(;); @@ -1404,6 +1405,7 @@ free(tmp); return NULL; } + /* res = pipe(tmp->SkypiaxHandles.fdesc); if (res) { ast_log(LOG_ERROR, "Unable to create skype pipe\n"); @@ -1415,6 +1417,7 @@ } fcntl(tmp->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); fcntl(tmp->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); + */ tmp->skype_thread = AST_PTHREADT_NULL; if (tmp->skype) { @@ -1424,7 +1427,7 @@ (unsigned long) AST_PTHREADT_NULL); #ifdef __CYGWIN__ if (ast_pthread_create - (&tmp->skype_thread, NULL, do_skypeapi_thread, &tmp->SkypiaxHandles) < 0) { + (&tmp->skype_thread, NULL, do_skypeapi_thread, tmp) < 0) { ast_log(LOG_ERROR, "Unable to start skype_main thread.\n"); if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf Sat Feb 7 08:09:40 2009 @@ -53,6 +53,7 @@ X11_display=:101 tcp_cli_port=11234 tcp_srv_port=11235 +skype_user=gmaruzz2 ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels @@ -63,57 +64,58 @@ playback_boost=0 ; capture_boost=0 ; -[skypeclient2] -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; general settings, valid on all platforms -; -; -; Default language -; -language=en -; -; Default context (in extensions.conf, can be overridden with @context syntax) -; -context=default -; -; Default extension (in extensions.conf) where incoming calls land -; -extension=s -; -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; Debugging settings, valid globally for all interfaces on all platforms -; -; the debug values are global for all the interfaces. -; -; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax -; -; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch -; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages -; -; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all -; debug_all activate all possible debugging info -; -;debug_all=yes -debug_skype=yes -debug_pbx=yes -;debug_sound=yes -;debug_locks=yes -;debug_monitorlocks=yes - -skype=yes ; legacy setting, leave it to yes -X11_display=:102 -tcp_cli_port=11236 -tcp_srv_port=11237 -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels -; tweak it if you get horrible (or not hearable) sound -; -;boost can be positive or negative (-40 to +40) in db -;experiment to find which values are best for your computer -playback_boost=0 ; -capture_boost=0 ; - - +;;;[skypeclient2] +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; general settings, valid on all platforms +;;;; +;;;; +;;;; Default language +;;;; +;;;language=en +;;;; +;;;; Default context (in extensions.conf, can be overridden with @context syntax) +;;;; +;;;context=default +;;;; +;;;; Default extension (in extensions.conf) where incoming calls land +;;;; +;;;extension=s +;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; Debugging settings, valid globally for all interfaces on all platforms +;;;; +;;;; the debug values are global for all the interfaces. +;;;; +;;;; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax +;;;; +;;;; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch +;;;; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages +;;;; +;;;; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all +;;;; debug_all activate all possible debugging info +;;;; +;;;;debug_all=yes +;;;debug_skype=yes +;;;debug_pbx=yes +;;;;debug_sound=yes +;;;;debug_locks=yes +;;;;debug_monitorlocks=yes +;;; +;;;skype=yes ; legacy setting, leave it to yes +;;;X11_display=:102 +;;;tcp_cli_port=11236 +;;;tcp_srv_port=11237 +;;;skype_user=gmaruzz3 +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels +;;;; tweak it if you get horrible (or not hearable) sound +;;;; +;;;;boost can be positive or negative (-40 to +40) in db +;;;;experiment to find which values are best for your computer +;;;playback_boost=0 ; +;;;capture_boost=0 ; +;;; +;;; Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h Sat Feb 7 08:09:40 2009 @@ -230,7 +230,7 @@ UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach; UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover; int api_connected; - switch_file_t *fdesc[2]; + int fdesc[2]; }; #endif //WIN32 @@ -329,10 +329,11 @@ void skypiax_skype_clean_disp(void *data); #endif /* WANT_SKYPE_X11 */ #ifdef __CYGWIN__ -int win32_Initialize_CreateWindowClass(void); -void win32_DeInitialize_DestroyWindowClass(void); -int win32_Initialize_CreateMainWindow(void); -void win32_DeInitialize_DestroyMainWindow(void); + +int win32_Initialize_CreateWindowClass(private_t * tech_pvt); +void win32_DeInitialize_DestroyWindowClass(private_t * tech_pvt); +int win32_Initialize_CreateMainWindow(private_t * tech_pvt); +void win32_DeInitialize_DestroyMainWindow(private_t * tech_pvt); #endif /* __CYGWIN__ */ /* CHAN_SKYPIAX.C */ Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sat Feb 7 08:09:40 2009 @@ -4,8 +4,8 @@ #define skypiax_sleep usleep #define tech_pvt p extern int skypiax_debug; -#define skypiax_file_write switch_file_write -#define skypiax_file_read switch_file_read +//#define skypiax_file_write switch_file_write +//#define skypiax_file_read switch_file_read extern char *skypiax_console_active; #else /* FREESWITCH */ #define skypiax_sleep switch_sleep @@ -157,7 +157,7 @@ howmany = len; -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); #else /* WIN32 */ howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); @@ -179,7 +179,7 @@ //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) unsigned int howmany; howmany = len; @@ -203,7 +203,7 @@ i++; } -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); #else /* WIN32 */ howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); @@ -233,7 +233,7 @@ skypiax_sleep(10000); } } -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); @@ -255,20 +255,20 @@ len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); #endif /* WIN32 */ DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); -#ifndef WIN32 - close(fd); -#else +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(fd); +#else + close(fd); #endif if (exit) break; } DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG); -#ifndef WIN32 - close(s); -#else +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(s); +#else + close(s); #endif if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -321,10 +321,10 @@ if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } -#ifndef WIN32 - close(s); +#if defined(WIN32) && !defined(__CYGWIN__) + closesocket(s); #else - closesocket(s); + close(s); #endif return NULL; } @@ -369,7 +369,7 @@ if (rt > 0) { if ((SAMPLERATE_SKYPIAX - 8000) == 0) { got = SAMPLES_PER_FRAME * sizeof(short); -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ got = read(tech_pvt->audioskypepipe[0], cli_in, got); @@ -399,7 +399,7 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { got = SAMPLES_PER_FRAME * sizeof(short); -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ got = read(tech_pvt->audioskypepipe[0], cli_in, got); @@ -436,19 +436,19 @@ } DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG); -#ifndef WIN32 - close(fd); +#if defined(WIN32) && !defined(__CYGWIN__) + closesocket(s); #else - closesocket(fd); + close(fd); #endif break; } DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG); -#ifndef WIN32 - close(s); -#else +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(s); +#else + close(s); #endif if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -459,7 +459,7 @@ int skypiax_skypeaudio_init(private_t * tech_pvt) { -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) switch_status_t rv; rv = switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], @@ -510,7 +510,7 @@ #endif /* WIN32 */ if (rt > 0) { samples = SAMPLES_PER_FRAME * sizeof(short); -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples); #else /* WIN32 */ samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); @@ -612,8 +612,13 @@ sizeof(msg_from_skype) - 2); howmany = strlen(msg_from_skype) + 1; +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany); - //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, (const char *) poCopyData->lpData); + //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); +#else + howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); + //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); +#endif lReturnCode = 1; } break; @@ -758,9 +763,22 @@ /* destroy window class */ private_t *tech_pvt = obj; +#if defined(WIN32) && !defined(__CYGWIN__) + switch_status_t rv; switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); + rv = + switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], &tech_pvt->SkypiaxHandles.fdesc[1], + skypiax_module_pool); +#else /* WIN32 */ + if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { + fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); + } +#endif /* WIN32 */ + + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = @@ -1156,7 +1174,7 @@ if (rt > 0) { if (tech_pvt->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); #else /* WIN32 */ howmany = @@ -1256,7 +1274,7 @@ if (!strcasecmp(id, tech_pvt->skype_user)) { tech_pvt->SkypiaxHandles.api_connected = 1; - //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); + DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); } } From anthm at freeswitch.org Sat Feb 7 08:44:46 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Sat, 07 Feb 2009 10:44:46 -0600 Subject: [Freeswitch-svn] [commit] r11680 - freeswitch/trunk/src/mod/event_handlers/mod_event_socket Message-ID: Author: anthm Date: Sat Feb 7 10:44:46 2009 New Revision: 11680 Log: add extra checking for race cond in bgapi Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Sat Feb 7 10:44:46 2009 @@ -1199,7 +1199,8 @@ char *arg; listener_t *listener; char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1]; - uint8_t bg; + int bg; + int ack; switch_memory_pool_t *pool; }; @@ -1210,18 +1211,21 @@ switch_stream_handle_t stream = { 0 }; char *reply, *freply = NULL; switch_status_t status; - + if (!acs) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Internal error.\n"); return NULL; } - if (!acs->listener || !acs->listener->rwlock || switch_thread_rwlock_tryrdlock(acs->listener->rwlock) != SWITCH_STATUS_SUCCESS) { + if (!acs->listener || !switch_test_flag(acs->listener, LFLAG_RUNNING) || + !acs->listener->rwlock || switch_thread_rwlock_tryrdlock(acs->listener->rwlock) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error! cannot get read lock.\n"); + acs->ack = -1; goto done; } - - + + acs->ack = 1; + SWITCH_STANDARD_STREAM(stream); if ((status = switch_api_execute(acs->api_cmd, acs->arg, NULL, &stream)) == SWITCH_STATUS_SUCCESS) { @@ -1270,12 +1274,23 @@ } done: + if (acs->bg) { switch_memory_pool_t *pool = acs->pool; + if (acs->ack == -1) { + int sanity = 2000; + while(acs->ack == -1) { + switch_cond_next(); + if (--sanity <= 0) break; + } + } + acs = NULL; switch_core_destroy_memory_pool(&pool); pool = NULL; + } + return NULL; } @@ -1539,6 +1554,7 @@ switch_thread_t *thread; switch_threadattr_t *thd_attr = NULL; switch_uuid_t uuid; + int sanity; strip_cr(api_cmd); @@ -1571,6 +1587,14 @@ } switch_snprintf(reply, reply_len, "~Reply-Text: +OK Job-UUID: %s\nJob-UUID: %s\n\n", acs->uuid_str, acs->uuid_str); switch_thread_create(&thread, thd_attr, api_exec, acs, acs->pool); + sanity = 2000; + while(!acs->ack) { + switch_cond_next(); + if (--sanity <= 0) break; + } + if (acs->ack == -1) { + acs->ack--; + } status = SWITCH_STATUS_SUCCESS; goto done_noreply; @@ -1942,7 +1966,7 @@ if (revent) { switch_event_destroy(&revent); } - + remove_listener(listener); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Session complete, waiting for children\n"); From moy at freeswitch.org Sat Feb 7 11:14:03 2009 From: moy at freeswitch.org (FreeSWITCH SVN) Date: Sat, 07 Feb 2009 13:14:03 -0600 Subject: [Freeswitch-svn] [commit] r11681 - freeswitch/trunk/src/mod/codecs/mod_dahdi_codec Message-ID: Author: moy Date: Sat Feb 7 13:14:03 2009 New Revision: 11681 Log: mod_dahdi_codec now works with Zaptel too, no need for DAHDI or Zaptel headers. Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Sat Feb 7 13:14:03 2009 @@ -32,16 +32,11 @@ #include #include -#include +#include /* __u32 */ #include /*#define DEBUG_DAHDI_CODEC 1*/ -#define DAHDI_FORMAT_G723_1 (1 << 0) -#define DAHDI_FORMAT_ULAW (1 << 2) -#define DAHDI_FORMAT_SLINEAR (1 << 6) -#define DAHDI_FORMAT_G729A (1 << 8) - #define CODEC_G729_IANA_CODE 18 #define CODEC_G723_IANA_CODE 4 @@ -50,8 +45,40 @@ static uint32_t total_encoders_usage = 0; static uint32_t total_decoders = 0; static uint32_t total_decoders_usage = 0; -static const char transcoding_device[] = "/dev/dahdi/transcode"; -static const char transcoder_name[] = "DAHDI"; + +/* + Zaptel/DAHDI definitions to not require the headers installed + Zaptel and DAHDI are binary compatible (at least in the transcoder interface) + */ + +#define DAHDI_TC_CODE 'T' +#define DAHDI_TC_ALLOCATE _IOW(DAHDI_TC_CODE, 1, struct dahdi_transcoder_formats) +#define DAHDI_TC_GETINFO _IOWR(DAHDI_TC_CODE, 2, struct dahdi_transcoder_info) + +#define DAHDI_FORMAT_G723_1 (1 << 0) +#define DAHDI_FORMAT_ULAW (1 << 2) +#define DAHDI_FORMAT_SLINEAR (1 << 6) +#define DAHDI_FORMAT_G729A (1 << 8) + +struct dahdi_transcoder_formats { + __u32 srcfmt; + __u32 dstfmt; +}; + +struct dahdi_transcoder_info { + __u32 tcnum; + char name[80]; + __u32 numchannels; + __u32 dstfmts; + __u32 srcfmts; +}; + +static const char transcoding_device_dahdi[] = "/dev/dahdi/transcode"; +static const char transcoder_name_dahdi[] = "DAHDI"; +static const char transcoding_device_zap[] = "/dev/zap/transcode"; +static const char transcoder_name_zap[] = "Zap"; +static const char *transcoding_device = NULL; +static const char *transcoder_name = NULL; SWITCH_MODULE_LOAD_FUNCTION(mod_dahdi_codec_load); SWITCH_MODULE_DEFINITION(mod_dahdi_codec, mod_dahdi_codec_load, NULL, NULL); @@ -305,6 +332,7 @@ { switch_api_interface_t *api_interface; switch_codec_interface_t *codec_interface; + struct stat statbuf; struct dahdi_transcoder_info info = { 0 }; int32_t fd, res; @@ -313,6 +341,20 @@ total_decoders = 0; total_decoders_usage = 0; + /* Let's check if DAHDI or Zaptel device should be used */ + if (!stat(transcoding_device_dahdi, &statbuf)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "DAHDI transcoding device found.\n"); + transcoding_device = transcoding_device_dahdi; + transcoder_name = transcoder_name_zap; + } else if (!stat(transcoding_device_zap, &statbuf)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Zap transcoding device found.\n"); + transcoding_device = transcoding_device_zap; + transcoder_name = transcoder_name_zap; + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No DAHDI or Zap transcoder device was found in /dev/.\n"); + return SWITCH_STATUS_FALSE; + } + fd = open(transcoding_device, O_RDWR); if (fd < 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open %s transcoder device.\n", transcoder_name); From anthm at freeswitch.org Sat Feb 7 13:22:12 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Sat, 07 Feb 2009 15:22:12 -0600 Subject: [Freeswitch-svn] [commit] r11682 - freeswitch/trunk/src Message-ID: Author: anthm Date: Sat Feb 7 15:22:12 2009 New Revision: 11682 Log: lisdexic Modified: freeswitch/trunk/src/switch_ivr_play_say.c Modified: freeswitch/trunk/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_play_say.c (original) +++ freeswitch/trunk/src/switch_ivr_play_say.c Sat Feb 7 15:22:12 2009 @@ -421,7 +421,7 @@ } vval = switch_channel_get_variable(channel, "enable_file_write_buffering"); - if (!vval || !switch_true(vval)) { + if (!vval || switch_true(vval)) { fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; } From mrene at freeswitch.org Sat Feb 7 16:38:48 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Sat, 07 Feb 2009 18:38:48 -0600 Subject: [Freeswitch-svn] [commit] r11683 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mrene Date: Sat Feb 7 18:38:48 2009 New Revision: 11683 Log: MODENDP-183 Add disable-srv and disable-naptr params to sip profiles (default false) Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Sat Feb 7 18:38:48 2009 @@ -441,6 +441,8 @@ uint32_t force_subscription_expires; switch_rtp_bug_flag_t auto_rtp_bugs; char manage_shared_appearance; /* pflags was all full up - MTK */ + char disable_srv; + char disable_naptr; }; struct private_object { Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Sat Feb 7 18:38:48 2009 @@ -728,6 +728,8 @@ TAG_IF(sofia_test_pflag(profile, PFLAG_TLS), NUTAG_CERTIFICATE_DIR(profile->tls_cert_dir)), TAG_IF(sofia_test_pflag(profile, PFLAG_TLS), TPTAG_TLS_VERSION(profile->tls_version)), TAG_IF(!strchr(profile->sipip, ':'), NTATAG_UDP_MTU(65535)), + TAG_IF(profile->disable_srv, NTATAG_USE_SRV(0)), + TAG_IF(profile->disable_naptr, NTATAG_USE_NAPTR(0)), NTATAG_SERVER_RPORT(profile->rport_level), TAG_IF(tportlog, TPTAG_LOG(1)), TAG_END()); /* Last tag should always finish the sequence */ @@ -1798,6 +1800,9 @@ profile->pflags |= PFLAG_STUN_ENABLED; profile->pflags |= PFLAG_DISABLE_100REL; profile->auto_restart = 1; + profile->manage_shared_appearance = 0; /* Initialize default */ + profile->disable_srv = 0; + profile->disable_naptr = 0; for (param = switch_xml_child(settings, "param"); param; param = param->next) { char *var = (char *) switch_xml_attr_soft(param, "name"); @@ -2016,6 +2021,14 @@ profile->manage_shared_appearance = 1; profile->sla_contact = switch_core_sprintf(profile->pool, "sip:sla-agent@%s", profile->sipip); } + } else if (!strcasecmp(var, "disable-srv")) { + if (switch_true(val)) { + profile->disable_srv = 1; + } + } else if (!strcasecmp(var, "disable-naptr")) { + if (switch_true(val)) { + profile->disable_naptr = 1; + } } else if (!strcasecmp(var, "unregister-on-options-fail")) { if (switch_true(val)) { profile->pflags |= PFLAG_UNREG_OPTIONS_FAIL; From moy at freeswitch.org Sat Feb 7 22:33:22 2009 From: moy at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 00:33:22 -0600 Subject: [Freeswitch-svn] [commit] r11684 - freeswitch/trunk/src/mod/codecs/mod_dahdi_codec Message-ID: Author: moy Date: Sun Feb 8 00:33:22 2009 New Revision: 11684 Log: fixed calculation of numchannels for decoders and transcoders for mod_dahdi_codec Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Sun Feb 8 00:33:22 2009 @@ -364,11 +364,11 @@ for (info.tcnum = 0; !(res = ioctl(fd, DAHDI_TC_GETINFO, &info)); info.tcnum++) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Found dahdi transcoder name: %s\n", info.name); if ((info.srcfmts & DAHDI_FORMAT_ULAW) && (info.dstfmts & (DAHDI_FORMAT_G729A | DAHDI_FORMAT_G723_1))) { - total_encoders += info.numchannels/2; + total_encoders += info.numchannels; continue; } if ((info.dstfmts & DAHDI_FORMAT_ULAW) && (info.srcfmts & (DAHDI_FORMAT_G729A | DAHDI_FORMAT_G723_1))) { - total_decoders += info.numchannels/2; + total_decoders += info.numchannels; continue; } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, From gmaruzz at freeswitch.org Sun Feb 8 03:43:41 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 05:43:41 -0600 Subject: [Freeswitch-svn] [commit] r11685 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Sun Feb 8 05:43:41 2009 New Revision: 11685 Log: skypiax: cleaning skypiax_protocol.c, will compile on win32? Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile Sun Feb 8 05:43:41 2009 @@ -49,7 +49,7 @@ CFLAGS+=-fPIC endif -SVNDEF := -D'SKYPIAX_SVN_VERSION="$(shell svnversion -n .)"' +SVNDEF := -D'SKYPIAX_SVN_VERSION="$(shell svnversion -n ..)"' CFLAGS += $(SVNDEF) Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 05:43:41 2009 @@ -4,15 +4,13 @@ #define skypiax_sleep usleep #define tech_pvt p extern int skypiax_debug; -//#define skypiax_file_write switch_file_write -//#define skypiax_file_read switch_file_read extern char *skypiax_console_active; #else /* FREESWITCH */ #define skypiax_sleep switch_sleep -extern switch_memory_pool_t *skypiax_module_pool; -extern switch_endpoint_interface_t *skypiax_endpoint_interface; #define skypiax_file_write switch_file_write #define skypiax_file_read switch_file_read +extern switch_memory_pool_t *skypiax_module_pool; +extern switch_endpoint_interface_t *skypiax_endpoint_interface; #endif /* ASTERISK */ extern int option_debug; @@ -29,23 +27,13 @@ { private_t *tech_pvt = obj; int s; -#ifdef WIN32 unsigned int len; unsigned int i; unsigned int a; - int sin_size; - unsigned int fd; - short srv_in[SAMPLES_PER_FRAME]; - short srv_out[SAMPLES_PER_FRAME / 2]; -#else - int len; - int i; - int a; unsigned int sin_size; - int fd; + unsigned int fd; short srv_in[SAMPLES_PER_FRAME]; short srv_out[SAMPLES_PER_FRAME / 2]; -#endif /* WIN32 */ struct sockaddr_in my_addr; struct sockaddr_in remote_addr; int exit = 0; @@ -89,12 +77,7 @@ && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { -#ifdef WIN32 unsigned int fdselect; -#else - int received = 0; - int fdselect; -#endif /* WIN32 */ int rt; fd_set fs; struct timeval to; @@ -112,24 +95,11 @@ rt = select(fdselect + 1, &fs, NULL, NULL, &to); if (rt > 0) { -#ifdef WIN32 len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time -#else /* WIN32 */ - while (received < SAMPLES_PER_FRAME * sizeof(short)) { - len = recv(fd, srv_in + (received / sizeof(short)), (SAMPLES_PER_FRAME * sizeof(short)) - received, 0); //seems that Skype only sends 320 bytes at time - received += len; - if (len == 0) - break; - } - if (len) - len = received; -#endif /* WIN32 */ - if ((SAMPLERATE_SKYPIAX - 8000) == 0) { + if (SAMPLERATE_SKYPIAX == 8000) { - //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); - if (len > 0) { + if (len == 320) { a = 0; for (i = 0; i < len / sizeof(short); i++) { srv_out[a] = srv_in[i]; @@ -175,19 +145,7 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { - //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); - if (len > 0) { - if (len == SAMPLES_PER_FRAME * sizeof(short)) { -#if defined(WIN32) && !defined(__CYGWIN__) - unsigned int howmany; - - howmany = len; - skypiax_file_write(tech_pvt->audiopipe[1], srv_in, &howmany); -#else /* WIN32 */ - len = write(tech_pvt->audiopipe[1], srv_in, len); -#endif /* WIN32 */ - } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { + if (len == 320) { if (!tech_pvt->audiobuf_is_loaded) { for (i = 0; i < (len / sizeof(short)); i++) { tech_pvt->audiobuf[i] = srv_in[i]; @@ -210,11 +168,6 @@ #endif /* WIN32 */ tech_pvt->audiobuf_is_loaded = 0; } - - } else { - ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); - } - } else if (len == 0) { DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); skypiax_sleep(1000); From gmaruzz at freeswitch.org Sun Feb 8 04:38:59 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 06:38:59 -0600 Subject: [Freeswitch-svn] [commit] r11686 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 06:38:59 2009 New Revision: 11686 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 06:38:59 2009 @@ -7,7 +7,7 @@ extern char *skypiax_console_active; #else /* FREESWITCH */ #define skypiax_sleep switch_sleep -#define skypiax_file_write switch_file_write +//#define skypiax_file_write switch_file_write #define skypiax_file_read switch_file_read extern switch_memory_pool_t *skypiax_module_pool; extern switch_endpoint_interface_t *skypiax_endpoint_interface; @@ -23,6 +23,18 @@ #endif /* WIN32 */ /*************************************/ +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_file_write(switch_file_t *pipe, short *buf, int howmany){ + switch_file_write(pipe, buf, &howmany); + return howmany; +} +#else /* WIN32 */ +int skypiax_file_write(int pipe, short *buf, int howmany){ + howmany = write(pipe, buf, howmany); + return howmany; +} +#endif /* WIN32 */ + void * skypiax_do_tcp_srv_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -127,11 +139,7 @@ howmany = len; -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); -#else /* WIN32 */ - howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); -#endif /* WIN32 */ + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); tech_pvt->audiobuf_is_loaded = 0; } @@ -161,11 +169,7 @@ i++; } -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); -#else /* WIN32 */ - howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); -#endif /* WIN32 */ + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); tech_pvt->audiobuf_is_loaded = 0; } } else if (len == 0) { From gmaruzz at freeswitch.org Sun Feb 8 05:01:09 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 07:01:09 -0600 Subject: [Freeswitch-svn] [commit] r11687 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 07:01:09 2009 New Revision: 11687 Log: skypiax: cleaning skypiax_protocol.c, will it works on linux? Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 07:01:09 2009 @@ -25,7 +25,14 @@ #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_file_write(switch_file_t *pipe, short *buf, int howmany){ - switch_file_write(pipe, buf, &howmany); + switch_size_t quantity; + + quantity = howmany; + + switch_file_write(pipe, buf, &quantity); + + howmany = quantity; + return howmany; } #else /* WIN32 */ @@ -42,7 +49,11 @@ unsigned int len; unsigned int i; unsigned int a; +#if defined(WIN32) && !defined(__CYGWIN__) + int sin_size; +#else /* WIN32 */ unsigned int sin_size; +#endif /* WIN32 */ unsigned int fd; short srv_in[SAMPLES_PER_FRAME]; short srv_out[SAMPLES_PER_FRAME / 2]; @@ -190,6 +201,7 @@ skypiax_sleep(10000); } } +#if 0 #if defined(WIN32) && !defined(__CYGWIN__) kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); @@ -211,6 +223,20 @@ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); #endif /* WIN32 */ +#endif + + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + + + DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); #if defined(WIN32) && !defined(__CYGWIN__) closesocket(fd); @@ -569,13 +595,13 @@ sizeof(msg_from_skype) - 2); howmany = strlen(msg_from_skype) + 1; -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany); +//#if defined(WIN32) && !defined(__CYGWIN__) + howmany = skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *)msg_from_skype, howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); -#else - howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); +//#else + //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); -#endif +//#endif lReturnCode = 1; } break; From gmaruzz at freeswitch.org Sun Feb 8 05:49:11 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 07:49:11 -0600 Subject: [Freeswitch-svn] [commit] r11688 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 07:49:11 2009 New Revision: 11688 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 07:49:11 2009 @@ -116,10 +116,99 @@ to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); +#ifndef NOTDEF if (rt > 0) { len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time + if (len == 320) { + + if (SAMPLERATE_SKYPIAX == 8000) { + + a = 0; + for (i = 0; i < len / sizeof(short); i++) { + srv_out[a] = srv_in[i]; + i++; + a++; + } + + if (!tech_pvt->audiobuf_is_loaded) { + for (i = 0; i < (len / sizeof(short)) / 2; i++) { + tech_pvt->audiobuf[i] = srv_out[i]; + } + tech_pvt->audiobuf_is_loaded = 1; + } else { + unsigned int howmany; + + howmany = len / 2 / 2; + for (i = 0; i < howmany; i++) + totalbuf[i] = tech_pvt->audiobuf[i]; + + howmany = len / 2 / 2; + for (a = 0; a < howmany; a++) { + totalbuf[i] = srv_out[a]; + i++; + } + + howmany = len; + + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); + tech_pvt->audiobuf_is_loaded = 0; + } + + } else if (SAMPLERATE_SKYPIAX == 16000) { + + if (!tech_pvt->audiobuf_is_loaded) { + for (i = 0; i < (len / sizeof(short)); i++) { + tech_pvt->audiobuf[i] = srv_in[i]; + } + tech_pvt->audiobuf_is_loaded = 1; + } else { + unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); + + for (i = 0; i < (len / sizeof(short)); i++) + totalbuf[i] = tech_pvt->audiobuf[i]; + for (a = 0; a < (len / sizeof(short)); a++) { + totalbuf[i] = srv_in[a]; + i++; + } + + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); + tech_pvt->audiobuf_is_loaded = 0; + } + + } else { + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } + + } else if (len == 0) { + DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + skypiax_sleep(1000); + } else { + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + exit = 1; + break; + } + + + + + + + + } else { + if (rt) + ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); + skypiax_sleep(10000); + } +#endif // NOTDEF + +#ifdef NOTDEF + if (rt > 0) { + + len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time + + if (SAMPLERATE_SKYPIAX == 8000) { if (len == 320) { @@ -200,30 +289,8 @@ ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); skypiax_sleep(10000); } +#endif // NOTDEF } -#if 0 -#if defined(WIN32) && !defined(__CYGWIN__) - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size); -#else /* WIN32 */ - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); -#endif /* WIN32 */ -#endif kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); @@ -235,8 +302,6 @@ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); #if defined(WIN32) && !defined(__CYGWIN__) closesocket(fd); From gmaruzz at freeswitch.org Sun Feb 8 06:02:51 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 08:02:51 -0600 Subject: [Freeswitch-svn] [commit] r11689 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 08:02:51 2009 New Revision: 11689 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 08:02:51 2009 @@ -23,33 +23,35 @@ #endif /* WIN32 */ /*************************************/ -#if defined(WIN32) && !defined(__CYGWIN__) -int skypiax_file_write(switch_file_t *pipe, short *buf, int howmany){ - switch_size_t quantity; +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_file_write(switch_file_t * pipe, short *buf, int howmany) +{ + switch_size_t quantity; - quantity = howmany; + quantity = howmany; - switch_file_write(pipe, buf, &quantity); + switch_file_write(pipe, buf, &quantity); - howmany = quantity; + howmany = quantity; - return howmany; + return howmany; } #else /* WIN32 */ -int skypiax_file_write(int pipe, short *buf, int howmany){ - howmany = write(pipe, buf, howmany); - return howmany; +int skypiax_file_write(int pipe, short *buf, int howmany) +{ + howmany = write(pipe, buf, howmany); + return howmany; } #endif /* WIN32 */ -void * skypiax_do_tcp_srv_thread_func(void *obj) +void *skypiax_do_tcp_srv_thread_func(void *obj) { private_t *tech_pvt = obj; int s; unsigned int len; unsigned int i; unsigned int a; -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) int sin_size; #else /* WIN32 */ unsigned int sin_size; @@ -116,14 +118,14 @@ to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); -#ifndef NOTDEF if (rt > 0) { len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time - if (len == 320) { + if (len == 320) { + unsigned int howmany; - if (SAMPLERATE_SKYPIAX == 8000) { + if (SAMPLERATE_SKYPIAX == 8000) { a = 0; for (i = 0; i < len / sizeof(short); i++) { @@ -138,7 +140,6 @@ } tech_pvt->audiobuf_is_loaded = 1; } else { - unsigned int howmany; howmany = len / 2 / 2; for (i = 0; i < howmany; i++) @@ -156,140 +157,46 @@ tech_pvt->audiobuf_is_loaded = 0; } - } else if (SAMPLERATE_SKYPIAX == 16000) { - - if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)); i++) { - tech_pvt->audiobuf[i] = srv_in[i]; - } - tech_pvt->audiobuf_is_loaded = 1; - } else { - unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); - - for (i = 0; i < (len / sizeof(short)); i++) - totalbuf[i] = tech_pvt->audiobuf[i]; - for (a = 0; a < (len / sizeof(short)); a++) { - totalbuf[i] = srv_in[a]; - i++; - } - - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); - tech_pvt->audiobuf_is_loaded = 0; - } - - } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } - - } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - skypiax_sleep(1000); - } else { - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; - } - - - - - - - - } else { - if (rt) - ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); - skypiax_sleep(10000); - } -#endif // NOTDEF - -#ifdef NOTDEF - if (rt > 0) { - - len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time - - - if (SAMPLERATE_SKYPIAX == 8000) { - - if (len == 320) { - a = 0; - for (i = 0; i < len / sizeof(short); i++) { - srv_out[a] = srv_in[i]; - i++; - a++; - } + } else if (SAMPLERATE_SKYPIAX == 16000) { if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)) / 2; i++) { - tech_pvt->audiobuf[i] = srv_out[i]; + for (i = 0; i < (len / sizeof(short)); i++) { + tech_pvt->audiobuf[i] = srv_in[i]; } tech_pvt->audiobuf_is_loaded = 1; } else { - unsigned int howmany; + howmany = SAMPLES_PER_FRAME * sizeof(short); - howmany = len / 2 / 2; - for (i = 0; i < howmany; i++) + for (i = 0; i < (len / sizeof(short)); i++) totalbuf[i] = tech_pvt->audiobuf[i]; - - howmany = len / 2 / 2; - for (a = 0; a < howmany; a++) { - totalbuf[i] = srv_out[a]; + for (a = 0; a < (len / sizeof(short)); a++) { + totalbuf[i] = srv_in[a]; i++; } - howmany = len; - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); tech_pvt->audiobuf_is_loaded = 0; } - } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - skypiax_sleep(1000); } else { - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; - } - } else if (SAMPLERATE_SKYPIAX == 16000) { - - if (len == 320) { - if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)); i++) { - tech_pvt->audiobuf[i] = srv_in[i]; - } - tech_pvt->audiobuf_is_loaded = 1; - } else { - unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); - - for (i = 0; i < (len / sizeof(short)); i++) - totalbuf[i] = tech_pvt->audiobuf[i]; - for (a = 0; a < (len / sizeof(short)); a++) { - totalbuf[i] = srv_in[a]; - i++; - } - - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); - tech_pvt->audiobuf_is_loaded = 0; - } - } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - skypiax_sleep(1000); - } else { - ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); } + } else if (len == 0) { + DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + skypiax_sleep(1000); } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + exit = 1; + break; } + } else { if (rt) ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); skypiax_sleep(10000); } -#endif // NOTDEF + } kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); @@ -303,7 +210,7 @@ len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(fd); #else close(fd); @@ -313,7 +220,7 @@ } DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(s); #else close(s); @@ -323,7 +230,7 @@ } return NULL; } -void * skypiax_do_tcp_cli_thread_func(void *obj) +void *skypiax_do_tcp_cli_thread_func(void *obj) { private_t *tech_pvt = obj; int s; @@ -369,8 +276,8 @@ if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); +#if defined(WIN32) && !defined(__CYGWIN__) + closesocket(s); #else close(s); #endif @@ -417,7 +324,7 @@ if (rt > 0) { if ((SAMPLERATE_SKYPIAX - 8000) == 0) { got = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ got = read(tech_pvt->audioskypepipe[0], cli_in, got); @@ -447,7 +354,7 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { got = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ got = read(tech_pvt->audioskypepipe[0], cli_in, got); @@ -484,8 +391,8 @@ } DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); +#if defined(WIN32) && !defined(__CYGWIN__) + closesocket(s); #else close(fd); #endif @@ -493,7 +400,7 @@ } DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) closesocket(s); #else close(s); @@ -507,7 +414,7 @@ int skypiax_skypeaudio_init(private_t * tech_pvt) { -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) switch_status_t rv; rv = switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], @@ -558,7 +465,7 @@ #endif /* WIN32 */ if (rt > 0) { samples = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples); #else /* WIN32 */ samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); @@ -661,10 +568,12 @@ howmany = strlen(msg_from_skype) + 1; //#if defined(WIN32) && !defined(__CYGWIN__) - howmany = skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *)msg_from_skype, howmany); + howmany = + skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype, + howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); //#else - //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); + //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); //#endif lReturnCode = 1; @@ -799,7 +708,7 @@ DWORD win32_dwThreadId; -void * skypiax_do_skypeapi_thread_func(void *obj) +void *skypiax_do_skypeapi_thread_func(void *obj) { /* create window class */ /* create dummy/hidden window for processing messages */ @@ -811,14 +720,14 @@ /* destroy window class */ private_t *tech_pvt = obj; -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) switch_status_t rv; switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); rv = - switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], &tech_pvt->SkypiaxHandles.fdesc[1], - skypiax_module_pool); + switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], + &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); #else /* WIN32 */ if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); @@ -826,7 +735,6 @@ } #endif /* WIN32 */ - tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = @@ -991,7 +899,7 @@ skypiax_sleep(1000); } -void * skypiax_do_skypeapi_thread_func(void *obj) +void *skypiax_do_skypeapi_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -1003,14 +911,14 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - if(!strlen(tech_pvt->X11_display)) - strcpy(tech_pvt->X11_display, getenv("DISPLAY")); + if (!strlen(tech_pvt->X11_display)) + strcpy(tech_pvt->X11_display, getenv("DISPLAY")); - if(!tech_pvt->tcp_srv_port) - tech_pvt->tcp_srv_port = 10160; + if (!tech_pvt->tcp_srv_port) + tech_pvt->tcp_srv_port = 10160; - if(!tech_pvt->tcp_cli_port) - tech_pvt->tcp_cli_port = 10161; + if (!tech_pvt->tcp_cli_port) + tech_pvt->tcp_cli_port = 10161; if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); @@ -1021,7 +929,7 @@ if (!disp) { ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, tech_pvt->X11_display); - running=0; + running = 0; return NULL; } else { DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display); @@ -1052,7 +960,7 @@ ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running=0; + running = 0; return NULL; } @@ -1062,7 +970,7 @@ ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running=0; + running = 0; return NULL; } @@ -1110,11 +1018,11 @@ ERRORA ("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n", SKYPIAX_P_LOG); - running=0; + running = 0; return NULL; } DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running=0; + running = 0; return NULL; } @@ -1222,7 +1130,7 @@ if (rt > 0) { if (tech_pvt->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); #else /* WIN32 */ howmany = @@ -1322,7 +1230,9 @@ if (!strcasecmp(id, tech_pvt->skype_user)) { tech_pvt->SkypiaxHandles.api_connected = 1; - DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); } } @@ -1438,11 +1348,11 @@ tech_pvt->interface_state = SKYPIAX_STATE_PRERING; } - if (!strcasecmp(prop, "DTMF")) { + if (!strcasecmp(prop, "DTMF")) { DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - dtmf_received(tech_pvt, value); + dtmf_received(tech_pvt, value); } if (!strcasecmp(prop, "FAILUREREASON")) { @@ -1596,7 +1506,7 @@ strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "INPROGRESS")) { - char msg_to_skype[1024]; + char msg_to_skype[1024]; tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_UP; @@ -1607,29 +1517,29 @@ DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n", SKYPIAX_P_LOG, id); - start_audio_threads(tech_pvt); + start_audio_threads(tech_pvt); + + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(100000); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(100000); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - tech_pvt->tcp_srv_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(100000); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(100000); - tech_pvt->skype_callflow = SKYPIAX_STATE_UP; if (!strlen(tech_pvt->session_uuid_str)) { DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); - } else { + new_inbound_channel(tech_pvt); + } else { DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); + outbound_channel_answered(tech_pvt); } } else { @@ -1700,4 +1610,3 @@ //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); return 0; } - From gmaruzz at freeswitch.org Sun Feb 8 06:28:45 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 08:28:45 -0600 Subject: [Freeswitch-svn] [commit] r11690 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 08:28:45 2009 New Revision: 11690 Log: skypiax: checking sizes on win Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 08:28:45 2009 @@ -126,8 +126,10 @@ unsigned int howmany; if (SAMPLERATE_SKYPIAX == 8000) { - + NOTICA("sizeof(short)=%d, \tSAMPLES_PER_FRAME=%d, \tSAMPLES_PER_FRAME/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), SAMPLES_PER_FRAME, SAMPLES_PER_FRAME/sizeof(short)); + NOTICA("sizeof(short)=%d, \tlen=%d, \tlen/sizeof(short)/2=%d\n", SKYPIAX_P_LOG, sizeof(short), len, len/sizeof(short)/2); a = 0; + /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ for (i = 0; i < len / sizeof(short); i++) { srv_out[a] = srv_in[i]; i++; @@ -141,11 +143,11 @@ tech_pvt->audiobuf_is_loaded = 1; } else { - howmany = len / 2 / 2; - for (i = 0; i < howmany; i++) + howmany = len / sizeof(short) / 2; + for (i = 0; i < howmany; i++){ totalbuf[i] = tech_pvt->audiobuf[i]; + } - howmany = len / 2 / 2; for (a = 0; a < howmany; a++) { totalbuf[i] = srv_out[a]; i++; @@ -158,6 +160,8 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { + NOTICA("sizeof(short)=%d, SAMPLES_PER_FRAME=%d, SAMPLES_PER_FRAME/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), SAMPLES_PER_FRAME, SAMPLES_PER_FRAME/sizeof(short)); + NOTICA("sizeof(short)=%d, len=%d, len/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), len, len/sizeof(short)); if (!tech_pvt->audiobuf_is_loaded) { for (i = 0; i < (len / sizeof(short)); i++) { @@ -167,8 +171,9 @@ } else { howmany = SAMPLES_PER_FRAME * sizeof(short); - for (i = 0; i < (len / sizeof(short)); i++) + for (i = 0; i < (len / sizeof(short)); i++){ totalbuf[i] = tech_pvt->audiobuf[i]; + } for (a = 0; a < (len / sizeof(short)); a++) { totalbuf[i] = srv_in[a]; i++; From gmaruzz at freeswitch.org Sun Feb 8 07:09:15 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 09:09:15 -0600 Subject: [Freeswitch-svn] [commit] r11691 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 09:09:14 2009 New Revision: 11691 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 09:09:14 2009 @@ -126,8 +126,6 @@ unsigned int howmany; if (SAMPLERATE_SKYPIAX == 8000) { - NOTICA("sizeof(short)=%d, \tSAMPLES_PER_FRAME=%d, \tSAMPLES_PER_FRAME/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), SAMPLES_PER_FRAME, SAMPLES_PER_FRAME/sizeof(short)); - NOTICA("sizeof(short)=%d, \tlen=%d, \tlen/sizeof(short)/2=%d\n", SKYPIAX_P_LOG, sizeof(short), len, len/sizeof(short)/2); a = 0; /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ for (i = 0; i < len / sizeof(short); i++) { @@ -135,51 +133,53 @@ i++; a++; } - + /* if not yet done, let's store half incoming frame */ if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)) / 2; i++) { + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { tech_pvt->audiobuf[i] = srv_out[i]; } tech_pvt->audiobuf_is_loaded = 1; } else { - - howmany = len / sizeof(short) / 2; - for (i = 0; i < howmany; i++){ + /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++){ totalbuf[i] = tech_pvt->audiobuf[i]; } - - for (a = 0; a < howmany; a++) { + for (a = 0; a < SAMPLES_PER_FRAME / 2; a++) { totalbuf[i] = srv_out[a]; i++; } - - howmany = len; - - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); + /* send the complete frame through the pipe to our code waiting for incoming audio */ + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, SAMPLES_PER_FRAME * sizeof(short)); + if(howmany != SAMPLES_PER_FRAME * sizeof(short)){ + ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, SAMPLES_PER_FRAME * sizeof(short)); + } + /* done with the stored half frame */ tech_pvt->audiobuf_is_loaded = 0; } } else if (SAMPLERATE_SKYPIAX == 16000) { - NOTICA("sizeof(short)=%d, SAMPLES_PER_FRAME=%d, SAMPLES_PER_FRAME/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), SAMPLES_PER_FRAME, SAMPLES_PER_FRAME/sizeof(short)); - NOTICA("sizeof(short)=%d, len=%d, len/sizeof(short)=%d\n", SKYPIAX_P_LOG, sizeof(short), len, len/sizeof(short)); - + /* if not yet done, let's store half incoming frame */ if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)); i++) { + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { tech_pvt->audiobuf[i] = srv_in[i]; } tech_pvt->audiobuf_is_loaded = 1; } else { - howmany = SAMPLES_PER_FRAME * sizeof(short); - - for (i = 0; i < (len / sizeof(short)); i++){ + /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ + for (i = 0; i < (SAMPLES_PER_FRAME / 2); i++){ totalbuf[i] = tech_pvt->audiobuf[i]; } - for (a = 0; a < (len / sizeof(short)); a++) { + for (a = 0; a < (SAMPLES_PER_FRAME / 2); a++) { totalbuf[i] = srv_in[a]; i++; } - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany); + /* send the complete frame through the pipe to our code waiting for incoming audio */ + howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, SAMPLES_PER_FRAME * sizeof(short)); + if(howmany != SAMPLES_PER_FRAME * sizeof(short)){ + ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, SAMPLES_PER_FRAME * sizeof(short)); + } + /* done with the stored half frame */ tech_pvt->audiobuf_is_loaded = 0; } From gmaruzz at freeswitch.org Sun Feb 8 08:05:32 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 10:05:32 -0600 Subject: [Freeswitch-svn] [commit] r11692 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 10:05:32 2009 New Revision: 11692 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 10:05:32 2009 @@ -43,6 +43,26 @@ return howmany; } #endif /* WIN32 */ +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_close_socket(unsigned int fd) +{ + int res; + + res = closesocket(fd); + + return res; +} +#else /* WIN32 */ +int skypiax_close_socket(unsigned int fd) +{ + int res; + + res = close(fd); + + return res; +} +#endif /* WIN32 */ + void *skypiax_do_tcp_srv_thread_func(void *obj) { @@ -125,15 +145,23 @@ if (len == 320) { unsigned int howmany; - if (SAMPLERATE_SKYPIAX == 8000) { - a = 0; - /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ - for (i = 0; i < len / sizeof(short); i++) { - srv_out[a] = srv_in[i]; - i++; - a++; - } - /* if not yet done, let's store half incoming frame */ + if (SAMPLERATE_SKYPIAX == 8000) { + /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ + a = 0; + for (i = 0; i < len / sizeof(short); i++) { + srv_out[a] = srv_in[i]; + i++; + a++; + } + } else if (SAMPLERATE_SKYPIAX == 16000) { + /* we're NOT downsampling from 16khz to 8khz, srv_out will contain ALL samples from srv_in */ + for (i = 0; i < len / sizeof(short); i++) { + srv_out[i] = srv_in[i]; + } + } else { + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } + /* if not yet done, let's store the half incoming frame */ if (!tech_pvt->audiobuf_is_loaded) { for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { tech_pvt->audiobuf[i] = srv_out[i]; @@ -157,36 +185,6 @@ tech_pvt->audiobuf_is_loaded = 0; } - } else if (SAMPLERATE_SKYPIAX == 16000) { - /* if not yet done, let's store half incoming frame */ - if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { - tech_pvt->audiobuf[i] = srv_in[i]; - } - tech_pvt->audiobuf_is_loaded = 1; - } else { - /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ - for (i = 0; i < (SAMPLES_PER_FRAME / 2); i++){ - totalbuf[i] = tech_pvt->audiobuf[i]; - } - for (a = 0; a < (SAMPLES_PER_FRAME / 2); a++) { - totalbuf[i] = srv_in[a]; - i++; - } - - /* send the complete frame through the pipe to our code waiting for incoming audio */ - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, SAMPLES_PER_FRAME * sizeof(short)); - if(howmany != SAMPLES_PER_FRAME * sizeof(short)){ - ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, SAMPLES_PER_FRAME * sizeof(short)); - } - /* done with the stored half frame */ - tech_pvt->audiobuf_is_loaded = 0; - } - - } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } - } else if (len == 0) { DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); skypiax_sleep(1000); @@ -215,21 +213,13 @@ len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(fd); -#else - close(fd); -#endif + skypiax_close_socket(fd); if (exit) break; } DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); -#else - close(s); -#endif + skypiax_close_socket(s); if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -281,11 +271,7 @@ if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); -#else - close(s); -#endif + skypiax_close_socket(s); return NULL; } DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); @@ -396,20 +382,12 @@ } DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); -#else - close(fd); -#endif + skypiax_close_socket(s); break; } DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG); -#if defined(WIN32) && !defined(__CYGWIN__) - closesocket(s); -#else - close(s); -#endif + skypiax_close_socket(s); if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } From gmaruzz at freeswitch.org Sun Feb 8 08:14:39 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 10:14:39 -0600 Subject: [Freeswitch-svn] [commit] r11693 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 10:14:38 2009 New Revision: 11693 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 10:14:38 2009 @@ -46,24 +46,23 @@ #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_close_socket(unsigned int fd) { - int res; + int res; - res = closesocket(fd); + res = closesocket(fd); return res; } #else /* WIN32 */ int skypiax_close_socket(unsigned int fd) { - int res; + int res; - res = close(fd); + res = close(fd); return res; } #endif /* WIN32 */ - void *skypiax_do_tcp_srv_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -145,45 +144,48 @@ if (len == 320) { unsigned int howmany; - if (SAMPLERATE_SKYPIAX == 8000) { - /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ - a = 0; - for (i = 0; i < len / sizeof(short); i++) { - srv_out[a] = srv_in[i]; - i++; - a++; - } - } else if (SAMPLERATE_SKYPIAX == 16000) { - /* we're NOT downsampling from 16khz to 8khz, srv_out will contain ALL samples from srv_in */ - for (i = 0; i < len / sizeof(short); i++) { - srv_out[i] = srv_in[i]; - } - } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } - /* if not yet done, let's store the half incoming frame */ - if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { - tech_pvt->audiobuf[i] = srv_out[i]; - } - tech_pvt->audiobuf_is_loaded = 1; - } else { - /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ - for (i = 0; i < SAMPLES_PER_FRAME / 2; i++){ - totalbuf[i] = tech_pvt->audiobuf[i]; - } - for (a = 0; a < SAMPLES_PER_FRAME / 2; a++) { - totalbuf[i] = srv_out[a]; - i++; - } - /* send the complete frame through the pipe to our code waiting for incoming audio */ - howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, SAMPLES_PER_FRAME * sizeof(short)); - if(howmany != SAMPLES_PER_FRAME * sizeof(short)){ - ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, SAMPLES_PER_FRAME * sizeof(short)); - } - /* done with the stored half frame */ - tech_pvt->audiobuf_is_loaded = 0; + if (SAMPLERATE_SKYPIAX == 8000) { + /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ + a = 0; + for (i = 0; i < len / sizeof(short); i++) { + srv_out[a] = srv_in[i]; + i++; + a++; } + } else if (SAMPLERATE_SKYPIAX == 16000) { + /* we're NOT downsampling from 16khz to 8khz, srv_out will contain ALL samples from srv_in */ + for (i = 0; i < len / sizeof(short); i++) { + srv_out[i] = srv_in[i]; + } + } else { + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } + /* if not yet done, let's store the half incoming frame */ + if (!tech_pvt->audiobuf_is_loaded) { + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { + tech_pvt->audiobuf[i] = srv_out[i]; + } + tech_pvt->audiobuf_is_loaded = 1; + } else { + /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { + totalbuf[i] = tech_pvt->audiobuf[i]; + } + for (a = 0; a < SAMPLES_PER_FRAME / 2; a++) { + totalbuf[i] = srv_out[a]; + i++; + } + /* send the complete frame through the pipe to our code waiting for incoming audio */ + howmany = + skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, + SAMPLES_PER_FRAME * sizeof(short)); + if (howmany != SAMPLES_PER_FRAME * sizeof(short)) { + ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, + SAMPLES_PER_FRAME * sizeof(short)); + } + /* done with the stored half frame */ + tech_pvt->audiobuf_is_loaded = 0; + } } else if (len == 0) { DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); From gmaruzz at freeswitch.org Sun Feb 8 09:10:44 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 11:10:44 -0600 Subject: [Freeswitch-svn] [commit] r11694 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 11:10:44 2009 New Revision: 11694 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 11:10:44 2009 @@ -7,8 +7,8 @@ extern char *skypiax_console_active; #else /* FREESWITCH */ #define skypiax_sleep switch_sleep -//#define skypiax_file_write switch_file_write -#define skypiax_file_read switch_file_read +//#define skypiax_pipe_write switch_file_write +//#define skypiax_pipe_read switch_file_read extern switch_memory_pool_t *skypiax_module_pool; extern switch_endpoint_interface_t *skypiax_endpoint_interface; #endif /* ASTERISK */ @@ -23,8 +23,31 @@ #endif /* WIN32 */ /*************************************/ + +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany) +{ + switch_size_t quantity; + + quantity = howmany; + + switch_file_read(pipe, buf, &quantity); + + howmany = quantity; + + return howmany; +} +#else /* WIN32 */ +int skypiax_pipe_read(int pipe, short *buf, int howmany) +{ + howmany = read(pipe, buf, howmany); + return howmany; +} +#endif /* WIN32 */ + + #if defined(WIN32) && !defined(__CYGWIN__) -int skypiax_file_write(switch_file_t * pipe, short *buf, int howmany) +int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany) { switch_size_t quantity; @@ -37,12 +60,14 @@ return howmany; } #else /* WIN32 */ -int skypiax_file_write(int pipe, short *buf, int howmany) +int skypiax_pipe_write(int pipe, short *buf, int howmany) { howmany = write(pipe, buf, howmany); return howmany; } #endif /* WIN32 */ + + #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_close_socket(unsigned int fd) { @@ -153,7 +178,7 @@ a++; } } else if (SAMPLERATE_SKYPIAX == 16000) { - /* we're NOT downsampling from 16khz to 8khz, srv_out will contain ALL samples from srv_in */ + /* we're NOT downsampling, srv_out will contain ALL samples from srv_in */ for (i = 0; i < len / sizeof(short); i++) { srv_out[i] = srv_in[i]; } @@ -177,7 +202,7 @@ } /* send the complete frame through the pipe to our code waiting for incoming audio */ howmany = - skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, + skypiax_pipe_write(tech_pvt->audiopipe[1], totalbuf, SAMPLES_PER_FRAME * sizeof(short)); if (howmany != SAMPLES_PER_FRAME * sizeof(short)) { ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, @@ -204,17 +229,18 @@ } + /* let's send some frame in the pipes, so both tcp_cli and tcp_srv will have an occasion to die */ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(fd); if (exit) break; @@ -227,6 +253,8 @@ } return NULL; } + + void *skypiax_do_tcp_cli_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -317,11 +345,7 @@ if (rt > 0) { if ((SAMPLERATE_SKYPIAX - 8000) == 0) { got = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); -#else /* WIN32 */ - got = read(tech_pvt->audioskypepipe[0], cli_in, got); -#endif /* WIN32 */ + got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got); if (got > 0) { a = 0; @@ -347,11 +371,7 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { got = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); -#else /* WIN32 */ - got = read(tech_pvt->audioskypepipe[0], cli_in, got); -#endif /* WIN32 */ + got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got); if (got > 0) { if (got != SAMPLES_PER_FRAME * sizeof(short)) @@ -450,11 +470,7 @@ #endif /* WIN32 */ if (rt > 0) { samples = SAMPLES_PER_FRAME * sizeof(short); -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples); -#else /* WIN32 */ - samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); -#endif /* WIN32 */ + samples = skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); @@ -554,7 +570,7 @@ howmany = strlen(msg_from_skype) + 1; //#if defined(WIN32) && !defined(__CYGWIN__) howmany = - skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype, + skypiax_pipe_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype, howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); //#else @@ -1115,12 +1131,7 @@ if (rt > 0) { if (tech_pvt->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); -#if defined(WIN32) && !defined(__CYGWIN__) - skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); -#else /* WIN32 */ - howmany = - read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); -#endif /* WIN32 */ + howmany = skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *)read_from_pipe, howmany); a = 0; for (i = 0; i < howmany; i++) { From gmaruzz at freeswitch.org Sun Feb 8 10:51:05 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 12:51:05 -0600 Subject: [Freeswitch-svn] [commit] r11695 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 12:51:05 2009 New Revision: 11695 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 12:51:05 2009 @@ -213,7 +213,7 @@ } } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); skypiax_sleep(1000); } else { ERRORA("len=%d\n", SKYPIAX_P_LOG, len); @@ -246,7 +246,7 @@ break; } - DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("incoming audio server (I am it) GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(s); if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -262,22 +262,16 @@ struct sockaddr_in my_addr; struct sockaddr_in remote_addr; unsigned int got; -#ifdef WIN32 unsigned int len; unsigned int i; unsigned int a; - int sin_size; unsigned int fd; short cli_out[SAMPLES_PER_FRAME * 2]; short cli_in[SAMPLES_PER_FRAME]; +#ifdef WIN32 + int sin_size; #else - int len; - int i; - int a; unsigned int sin_size; - int fd; - short cli_out[SAMPLES_PER_FRAME * 2]; - short cli_in[SAMPLES_PER_FRAME]; #endif /* WIN32 */ if (option_debug > 100) { @@ -286,7 +280,7 @@ memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(tech_pvt->tcp_cli_port); //FIXME configurable! + my_addr.sin_port = htons(tech_pvt->tcp_cli_port); if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); @@ -343,11 +337,18 @@ rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ if (rt > 0) { - if ((SAMPLERATE_SKYPIAX - 8000) == 0) { - got = SAMPLES_PER_FRAME * sizeof(short); - got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got); - if (got > 0) { + /* read from the pipe the audio frame we are supposed to send out */ + got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, SAMPLES_PER_FRAME * sizeof(short)); + if (got != SAMPLES_PER_FRAME * sizeof(short)) { + ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + SAMPLES_PER_FRAME * sizeof(short)); + } + + if (got == SAMPLES_PER_FRAME * sizeof(short)) { + if (SAMPLERATE_SKYPIAX == 8000) { + + /* we're upsampling from 8khz to 16khz, cli_out will contain two times each sample from cli_in */ a = 0; for (i = 0; i < got / sizeof(short); i++) { cli_out[a] = cli_in[i]; @@ -355,60 +356,50 @@ cli_out[a] = cli_in[i]; a++; } - -#ifdef WIN32 - len = send(fd, (char *) cli_out, got * 2, 0); -#else /* WIN32 */ - len = send(fd, cli_out, got * 2, 0); -#endif /* WIN32 */ - if (len == 0) { - ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); - break; + got = got * 2; + } else if (SAMPLERATE_SKYPIAX == 16000) { + /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */ + for (i = 0; i < got / sizeof(short); i++) { + cli_out[i] = cli_in[i]; } } else { - skypiax_sleep(1000); - ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); } - } else if (SAMPLERATE_SKYPIAX == 16000) { - got = SAMPLES_PER_FRAME * sizeof(short); - got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got); - - if (got > 0) { - if (got != SAMPLES_PER_FRAME * sizeof(short)) - ERRORA("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); + /* send the 16khz frame to the Skype client waiting for incoming audio */ #ifdef WIN32 - len = send(fd, (char *) cli_in, got, 0); + len = send(fd, (char *) cli_out, got, 0); #else /* WIN32 */ - len = send(fd, cli_in, got, 0); -#endif /* WIN32 */ - - if (len != got && len != -1) - DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); - - if (len == 0) { - ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); + len = send(fd, cli_out, got, 0); +#endif /* WIN32 */ + + if (len == -1) { break; - } - } else { - skypiax_sleep(1000); - ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); - } + } else if (len != got){ + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + skypiax_sleep(1000); + break; } + } else { + + ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, SAMPLES_PER_FRAME * sizeof(short)); + skypiax_sleep(10000); + + } } else { - skypiax_sleep(1000); if (rt) - ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt); + ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); + skypiax_sleep(10000); } - } - DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG); - skypiax_close_socket(s); + } + DEBUGA_SKYPE("Skype outbound audio GONE\n", SKYPIAX_P_LOG); + skypiax_close_socket(fd); break; } - DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("outbound audio server (I am it) GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(s); if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -441,9 +432,6 @@ /* the pipe is the audio fd for asterisk to poll on during a call */ tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } From gmaruzz at freeswitch.org Sun Feb 8 11:01:28 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 13:01:28 -0600 Subject: [Freeswitch-svn] [commit] r11696 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Feb 8 13:01:28 2009 New Revision: 11696 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Sun Feb 8 13:01:28 2009 @@ -23,7 +23,6 @@ #endif /* WIN32 */ /*************************************/ - #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany) { @@ -45,7 +44,6 @@ } #endif /* WIN32 */ - #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany) { @@ -67,7 +65,6 @@ } #endif /* WIN32 */ - #if defined(WIN32) && !defined(__CYGWIN__) int skypiax_close_socket(unsigned int fd) { @@ -254,7 +251,6 @@ return NULL; } - void *skypiax_do_tcp_cli_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -338,12 +334,14 @@ #endif /* WIN32 */ if (rt > 0) { - /* read from the pipe the audio frame we are supposed to send out */ - got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, SAMPLES_PER_FRAME * sizeof(short)); - if (got != SAMPLES_PER_FRAME * sizeof(short)) { - ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); - } + /* read from the pipe the audio frame we are supposed to send out */ + got = + skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, + SAMPLES_PER_FRAME * sizeof(short)); + if (got != SAMPLES_PER_FRAME * sizeof(short)) { + ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + SAMPLES_PER_FRAME * sizeof(short)); + } if (got == SAMPLES_PER_FRAME * sizeof(short)) { if (SAMPLERATE_SKYPIAX == 8000) { @@ -356,7 +354,7 @@ cli_out[a] = cli_in[i]; a++; } - got = got * 2; + got = got * 2; } else if (SAMPLERATE_SKYPIAX == 16000) { /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */ for (i = 0; i < got / sizeof(short); i++) { @@ -366,34 +364,35 @@ ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); } - /* send the 16khz frame to the Skype client waiting for incoming audio */ + /* send the 16khz frame to the Skype client waiting for incoming audio */ #ifdef WIN32 - len = send(fd, (char *) cli_out, got, 0); + len = send(fd, (char *) cli_out, got, 0); #else /* WIN32 */ - len = send(fd, cli_out, got, 0); -#endif /* WIN32 */ - - if (len == -1) { - break; - } else if (len != got){ - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - skypiax_sleep(1000); - break; - } + len = send(fd, cli_out, got, 0); +#endif /* WIN32 */ - } else { + if (len == -1) { + break; + } else if (len != got) { + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + skypiax_sleep(1000); + break; + } - ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, SAMPLES_PER_FRAME * sizeof(short)); - skypiax_sleep(10000); + } else { - } + ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + SAMPLES_PER_FRAME * sizeof(short)); + skypiax_sleep(10000); + + } } else { if (rt) ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); skypiax_sleep(10000); } - } + } DEBUGA_SKYPE("Skype outbound audio GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(fd); break; @@ -429,7 +428,7 @@ } #endif /* WIN32 */ -/* the pipe is the audio fd for asterisk to poll on during a call */ +/* this pipe is the audio fd for asterisk to poll on during a call. FS do not use it */ tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; return 0; @@ -437,7 +436,6 @@ int skypiax_skypeaudio_read(private_t * tech_pvt) { - //private_t *p; unsigned int samples; int rt; #ifndef WIN32 @@ -458,7 +456,8 @@ #endif /* WIN32 */ if (rt > 0) { samples = SAMPLES_PER_FRAME * sizeof(short); - samples = skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); + samples = + skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); @@ -1119,7 +1118,9 @@ if (rt > 0) { if (tech_pvt->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); - howmany = skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *)read_from_pipe, howmany); + howmany = + skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, + howmany); a = 0; for (i = 0; i < howmany; i++) { From anthm at freeswitch.org Sun Feb 8 16:30:33 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 18:30:33 -0600 Subject: [Freeswitch-svn] [commit] r11697 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: anthm Date: Sun Feb 8 18:30:32 2009 New Revision: 11697 Log: MODENDP-184 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Sun Feb 8 18:30:32 2009 @@ -1561,6 +1561,7 @@ stream->write_function(stream, "TLS-BIND-URL \t%s\n", switch_str_nil(profile->tls_bindurl)); } stream->write_function(stream, "HOLD-MUSIC \t%s\n", switch_strlen_zero(profile->hold_music) ? "N/A" : profile->hold_music); + stream->write_function(stream, "OUTBOUND-PROXY \t%s\n", switch_strlen_zero(profile->outbound_proxy) ? "N/A" : profile->outbound_proxy); stream->write_function(stream, "CODECS \t%s\n", switch_str_nil(profile->codec_string)); stream->write_function(stream, "TEL-EVENT \t%d\n", profile->te); if (profile->dtmf_type == DTMF_2833) { @@ -1751,6 +1752,7 @@ stream->write_function(stream, "%s\n", switch_str_nil(profile->tls_bindurl)); } stream->write_function(stream, "%s\n", switch_strlen_zero(profile->hold_music) ? "N/A" : profile->hold_music); + stream->write_function(stream, "%s\n", switch_strlen_zero(profile->outbound_proxy) ? "N/A" : profile->outbound_proxy); stream->write_function(stream, "%s\n", switch_str_nil(profile->codec_string)); stream->write_function(stream, "%d\n", profile->te); if (profile->dtmf_type == DTMF_2833) { Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Sun Feb 8 18:30:32 2009 @@ -379,6 +379,7 @@ char *sipdomain; char *timer_name; char *hold_music; + char *outbound_proxy; char *bind_params; char *tls_bind_params; char *tls_cert_dir; Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Sun Feb 8 18:30:32 2009 @@ -730,6 +730,7 @@ TAG_IF(!strchr(profile->sipip, ':'), NTATAG_UDP_MTU(65535)), TAG_IF(profile->disable_srv, NTATAG_USE_SRV(0)), TAG_IF(profile->disable_naptr, NTATAG_USE_NAPTR(0)), + NTATAG_DEFAULT_PROXY(profile->outbound_proxy), NTATAG_SERVER_RPORT(profile->rport_level), TAG_IF(tportlog, TPTAG_LOG(1)), TAG_END()); /* Last tag should always finish the sequence */ @@ -1587,6 +1588,8 @@ profile->reg_db_domain = switch_core_strdup(profile->pool, val); } else if (!strcasecmp(var, "hold-music")) { profile->hold_music = switch_core_strdup(profile->pool, val); + } else if (!strcasecmp(var, "outbound-proxy")) { + profile->outbound_proxy = switch_core_strdup(profile->pool, val); } else if (!strcasecmp(var, "session-timeout")) { int v_session_timeout = atoi(val); if (v_session_timeout >= 0) { @@ -1979,6 +1982,8 @@ profile->timer_name = switch_core_strdup(profile->pool, val); } else if (!strcasecmp(var, "hold-music")) { profile->hold_music = switch_core_strdup(profile->pool, val); + } else if (!strcasecmp(var, "outbound-proxy")) { + profile->outbound_proxy = switch_core_strdup(profile->pool, val); } else if (!strcasecmp(var, "session-timeout")) { int v_session_timeout = atoi(val); if (v_session_timeout >= 0) { From anthm at freeswitch.org Sun Feb 8 16:51:42 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Sun, 08 Feb 2009 18:51:42 -0600 Subject: [Freeswitch-svn] [commit] r11698 - freeswitch/trunk/src/mod/formats/mod_sndfile Message-ID: Author: anthm Date: Sun Feb 8 18:51:42 2009 New Revision: 11698 Log: MODFORM-23 Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Sun Feb 8 18:51:42 2009 @@ -66,7 +66,11 @@ size_t alt_len = 0; int rates[4] = {8000, 16000, 32000, 48000}; int i; +#ifdef WIN32 + char ps[2] = {'\\', '/'}; +#else char ps[2] = {'/', '\\'}; +#endif int x; if ((ext = strrchr(path, '.')) == 0) { @@ -175,9 +179,6 @@ } } } -#ifndef WIN32 - break; -#endif } if (!context->handle) { From brian at freeswitch.org Mon Feb 9 01:03:32 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 03:03:32 -0600 Subject: [Freeswitch-svn] [commit] r11699 - freeswitch/trunk/src/mod/applications/mod_fifo Message-ID: Author: brian Date: Mon Feb 9 03:03:32 2009 New Revision: 11699 Log: MODAPP-210 Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Mon Feb 9 03:03:32 2009 @@ -1929,6 +1929,11 @@ int argc; time_t expires = 0; + if (switch_strlen_zero(cmd)){ + stream->write_function(stream, "-USAGE: %s\n", FIFO_MEMBER_API_SYNTAX); + return SWITCH_STATUS_SUCCESS; + } + mydata = strdup(cmd); switch_assert(mydata); From gmaruzz at freeswitch.org Mon Feb 9 04:55:18 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 06:55:18 -0600 Subject: [Freeswitch-svn] [commit] r11700 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 06:55:17 2009 New Revision: 11700 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 06:55:17 2009 @@ -1495,35 +1495,22 @@ tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_UP; - if (option_debug > 1) DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - - if (option_debug > 1) - DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n", - SKYPIAX_P_LOG, id); - + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); start_audio_threads(tech_pvt); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, tech_pvt->tcp_srv_port); skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(100000); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(100000); tech_pvt->skype_callflow = SKYPIAX_STATE_UP; if (!strlen(tech_pvt->session_uuid_str)) { - DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); } else { - DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); } From gmaruzz at freeswitch.org Mon Feb 9 07:49:57 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 09:49:57 -0600 Subject: [Freeswitch-svn] [commit] r11701 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 09:49:56 2009 New Revision: 11701 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 09:49:56 2009 @@ -306,32 +306,21 @@ while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { -#ifdef WIN32 unsigned int fdselect; -#else - int fdselect; -#endif /* WIN32 */ int rt; fd_set fs; struct timeval to; if (!running) break; -#ifdef WIN32 - fdselect = fd; //cannot select on audioskypepipe, let's select on socket write -#else /* WIN32 */ - fdselect = tech_pvt->audioskypepipe[0]; -#endif /* WIN32 */ + fdselect = fd; FD_ZERO(&fs); FD_SET(fdselect, &fs); to.tv_usec = 2000000; //2000 msec to.tv_sec = 0; -#ifdef WIN32 - rt = select(fdselect + 1, NULL, &fs, NULL, &to); //cannot select on audioskypepipe, let's select on socket write -#else /* WIN32 */ - rt = select(fdselect + 1, &fs, NULL, NULL, &to); -#endif /* WIN32 */ + rt = select(fdselect + 1, NULL, &fs, NULL, &to); + if (rt > 0) { /* read from the pipe the audio frame we are supposed to send out */ @@ -339,7 +328,7 @@ skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, SAMPLES_PER_FRAME * sizeof(short)); if (got != SAMPLES_PER_FRAME * sizeof(short)) { - ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, SAMPLES_PER_FRAME * sizeof(short)); } @@ -365,11 +354,7 @@ } /* send the 16khz frame to the Skype client waiting for incoming audio */ -#ifdef WIN32 len = send(fd, (char *) cli_out, got, 0); -#else /* WIN32 */ - len = send(fd, cli_out, got, 0); -#endif /* WIN32 */ if (len == -1) { break; @@ -381,10 +366,8 @@ } else { - ERRORA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, SAMPLES_PER_FRAME * sizeof(short)); - skypiax_sleep(10000); - } } else { if (rt) @@ -437,44 +420,19 @@ int skypiax_skypeaudio_read(private_t * tech_pvt) { unsigned int samples; - int rt; -#ifndef WIN32 - int fdselect; - fd_set fs; - struct timeval to; -#endif /* WIN32 */ -#ifdef WIN32 - rt = 1; -#else /* WIN32 */ - fdselect = tech_pvt->audiopipe[0]; - FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //2000 msec - to.tv_sec = 0; - rt = select(fdselect + 1, &fs, NULL, NULL, &to); -#endif /* WIN32 */ - if (rt > 0) { - samples = SAMPLES_PER_FRAME * sizeof(short); + //samples = SAMPLES_PER_FRAME * sizeof(short); samples = - skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); + skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, SAMPLES_PER_FRAME * sizeof(short)); - //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (samples != SAMPLES_PER_FRAME * sizeof(short)) { - //if (samples) - //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); - //assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please + if (samples) + WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); return 0; } else { /* A real frame */ tech_pvt->read_frame.datalen = samples; } - } else { - if (rt) - DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt); - //do nothing - } return 1; } From brian at freeswitch.org Mon Feb 9 08:02:50 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:02:50 -0600 Subject: [Freeswitch-svn] [commit] r11702 - freeswitch/trunk/src/mod/applications/mod_fifo Message-ID: Author: brian Date: Mon Feb 9 10:02:50 2009 New Revision: 11702 Log: never hurts to be extra careful Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Mon Feb 9 10:02:50 2009 @@ -1929,6 +1929,10 @@ int argc; time_t expires = 0; + if (!globals.running) { + return SWITCH_STATUS_FALSE; + } + if (switch_strlen_zero(cmd)){ stream->write_function(stream, "-USAGE: %s\n", FIFO_MEMBER_API_SYNTAX); return SWITCH_STATUS_SUCCESS; From gmaruzz at freeswitch.org Mon Feb 9 08:10:52 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:10:52 -0600 Subject: [Freeswitch-svn] [commit] r11703 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Mon Feb 9 10:10:52 2009 New Revision: 11703 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h Mon Feb 9 10:10:52 2009 @@ -404,6 +404,7 @@ int new_inbound_channel(private_t *tech_pvt); int outbound_channel_answered(private_t *tech_pvt); int skypiax_skype_senddigit(struct skypiax_pvt *p, char digit); +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); #define SKYPIAX_STATE_DOWN AST_STATE_DOWN #define SKYPIAX_STATE_RING AST_STATE_RING #define SKYPIAX_STATE_DIALING AST_STATE_DIALING Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Mon Feb 9 10:10:52 2009 @@ -258,3 +258,4 @@ int start_audio_threads(private_t *tech_pvt); int new_inbound_channel(private_t *tech_pvt); int outbound_channel_answered(private_t *tech_pvt); +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 10:10:52 2009 @@ -20,6 +20,8 @@ #ifndef WIN32 XErrorHandler old_handler = 0; int xerror = 0; +#else +DWORD win32_dwThreadId; #endif /* WIN32 */ /*************************************/ @@ -421,7 +423,6 @@ { unsigned int samples; - //samples = SAMPLES_PER_FRAME * sizeof(short); samples = skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, SAMPLES_PER_FRAME * sizeof(short)); @@ -436,557 +437,564 @@ return 1; } -#ifdef WIN32 - -enum { - SKYPECONTROLAPI_ATTACH_SUCCESS = 0, /* Client is successfully - attached and API window handle can be found - in wParam parameter */ - SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION = 1, /* Skype has acknowledged - connection request and is waiting - for confirmation from the user. */ - /* The client is not yet attached - * and should wait for SKYPECONTROLAPI_ATTACH_SUCCESS message */ - SKYPECONTROLAPI_ATTACH_REFUSED = 2, /* User has explicitly - denied access to client */ - SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE = 3, /* API is not available - at the moment. - For example, this happens when no user - is currently logged in. */ - /* Client should wait for - * SKYPECONTROLAPI_ATTACH_API_AVAILABLE - * broadcast before making any further */ - /* connection attempts. */ - SKYPECONTROLAPI_ATTACH_API_AVAILABLE = 0x8001 -}; - -char - *strsep(char **stringp, const char *delim) +int skypiax_skype_read(private_t * tech_pvt) { - char *res; - - if (!stringp || !*stringp || !**stringp) - return (char *) 0; - res = *stringp; - while (**stringp && !strchr(delim, **stringp)) - ++(*stringp); + char read_from_pipe[4096]; + char messaggio[4096]; + char messaggio_2[4096]; + char *buf, obj[512] = "", id[512] = "", prop[512] = "", value[512] = "", *where; + char **stringp = NULL; + int rt; + int a; + unsigned int howmany; + unsigned int i; +#ifndef WIN32 + int fdselect; + fd_set fs; + struct timeval to; +#endif /* WIN32 */ - if (**stringp) { - **stringp = '\0'; - ++(*stringp); + if (option_debug > 100) { + DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } - return res; -} - -LRESULT APIENTRY skypiax_skype_present(HWND hWindow, UINT uiMessage, WPARAM uiParam, - LPARAM ulParam) -{ - LRESULT lReturnCode; - int fIssueDefProc; - private_t *tech_pvt = NULL; - - lReturnCode = 0; - fIssueDefProc = 0; - tech_pvt = (private_t *) GetWindowLong(hWindow, GWL_USERDATA); - switch (uiMessage) { - case WM_CREATE: - tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; - SetWindowLong(hWindow, GWL_USERDATA, (LONG) tech_pvt); - DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG); - break; - case WM_DESTROY: - NOTICA("got DESTROY\n", SKYPIAX_P_LOG); - tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; - PostQuitMessage(0); - break; - case WM_COPYDATA: - if (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { - unsigned int howmany; - char msg_from_skype[2048]; - - PCOPYDATASTRUCT poCopyData = (PCOPYDATASTRUCT) ulParam; + memset(read_from_pipe, 0, 4096); + memset(messaggio, 0, 4096); + memset(messaggio_2, 0, 4096); - memset(msg_from_skype, '\0', sizeof(msg_from_skype)); - strncpy(msg_from_skype, (const char *) poCopyData->lpData, - sizeof(msg_from_skype) - 2); +#ifdef WIN32 + rt = 1; +#else /* WIN32 */ + fdselect = tech_pvt->SkypiaxHandles.fdesc[0]; + FD_ZERO(&fs); + FD_SET(fdselect, &fs); + to.tv_usec = 2000000; //500 msec + to.tv_sec = 0; + rt = select(fdselect + 1, &fs, NULL, NULL, &to); +#endif /* WIN32 */ - howmany = strlen(msg_from_skype) + 1; -//#if defined(WIN32) && !defined(__CYGWIN__) + if (rt > 0) { + if (tech_pvt->SkypiaxHandles.fdesc[0]) { + howmany = sizeof(read_from_pipe); howmany = - skypiax_pipe_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype, - howmany); - //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); -//#else - //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany); - //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); -//#endif - lReturnCode = 1; - } - break; - default: - if (tech_pvt && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - if (uiMessage == - tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - switch (ulParam) { - case SKYPECONTROLAPI_ATTACH_SUCCESS: - if (!tech_pvt->SkypiaxHandles.api_connected) { - DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); - tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; - tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = - tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; - } - break; - case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: - DEBUGA_SKYPE - ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", - SKYPIAX_P_LOG); - skypiax_sleep(5000); - if (!tech_pvt->SkypiaxHandles.api_connected) { - SendMessage(HWND_BROADCAST, - tech_pvt->SkypiaxHandles. - win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, - 0); - } - break; - case SKYPECONTROLAPI_ATTACH_REFUSED: - ERRORA("Skype client refused to be connected by Skypiax!\n", SKYPIAX_P_LOG); - break; - case SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE: - ERRORA("Skype API not (yet?) available\n", SKYPIAX_P_LOG); - break; - case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: - DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); - skypiax_sleep(5000); - if (!tech_pvt->SkypiaxHandles.api_connected) { - SendMessage(HWND_BROADCAST, - tech_pvt->SkypiaxHandles. - win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, - 0); - } - break; - default: - WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG); - } - lReturnCode = 1; - break; - } - } - fIssueDefProc = 1; - break; - } - if (fIssueDefProc) - lReturnCode = DefWindowProc(hWindow, uiMessage, uiParam, ulParam); - return (lReturnCode); -} + skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, + howmany); -int win32_Initialize_CreateWindowClass(private_t * tech_pvt) -{ - unsigned char *paucUUIDString; - RPC_STATUS lUUIDResult; - int fReturnStatus; - UUID oUUID; + a = 0; + for (i = 0; i < howmany; i++) { + messaggio[a] = read_from_pipe[i]; + a++; - fReturnStatus = 0; - lUUIDResult = UuidCreate(&oUUID); - tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = - (HINSTANCE) OpenProcess(PROCESS_DUP_HANDLE, FALSE, GetCurrentProcessId()); - if (tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle != NULL - && (lUUIDResult == RPC_S_OK || lUUIDResult == RPC_S_UUID_LOCAL_ONLY)) { - if (UuidToString(&oUUID, &paucUUIDString) == RPC_S_OK) { - WNDCLASS oWindowClass; + if (read_from_pipe[i] == '\0') { - strcpy(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); - strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, - (char *) paucUUIDString); + //DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); + DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, messaggio); - oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; - oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present; - oWindowClass.cbClsExtra = 0; - oWindowClass.cbWndExtra = 0; - oWindowClass.hInstance = tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle; - oWindowClass.hIcon = NULL; - oWindowClass.hCursor = NULL; - oWindowClass.hbrBackground = NULL; - oWindowClass.lpszMenuName = NULL; - oWindowClass.lpszClassName = tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName; + if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, + just authorized */ + DEBUGA_SKYPE + ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", + SKYPIAX_P_LOG); + skypiax_sleep(1000000); + skypiax_skype_write(tech_pvt, "PROTOCOL 6"); + skypiax_sleep(10000); + return 0; + } - if (RegisterClass(&oWindowClass) != 0) - fReturnStatus = 1; + if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { + ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", + SKYPIAX_P_LOG, messaggio); + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + tech_pvt->skype_call_id[0] = '\0'; - RpcStringFree(&paucUUIDString); - } - } - if (fReturnStatus == 0) - CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), - tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; - return (fReturnStatus); -} + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } -void win32_DeInitialize_DestroyWindowClass(private_t * tech_pvt) -{ - UnregisterClass(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, - tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle); - CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), - tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; -} + strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1); -int win32_Initialize_CreateMainWindow(private_t * tech_pvt) -{ - tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = - CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, - tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "", - WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, - 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, - tech_pvt); - return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); -} + buf = messaggio; + stringp = &buf; + where = strsep(stringp, " "); + if (!where) { + WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio); + } -void win32_DeInitialize_DestroyMainWindow(private_t * tech_pvt) -{ - if (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) - DestroyWindow(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle), - tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; -} + if (!strcasecmp(messaggio, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[11]); */ + memset(tech_pvt->skype_friends, 0, 4096); + strncpy(tech_pvt->skype_friends, &messaggio_2[11], 4095); + } + if (!strcasecmp(messaggio, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[10]); */ + memset(tech_pvt->skype_fullname, 0, 512); + strncpy(tech_pvt->skype_fullname, &messaggio_2[10], 511); + } + if (!strcasecmp(messaggio, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[10]); */ + memset(tech_pvt->skype_displayname, 0, 512); + strncpy(tech_pvt->skype_displayname, &messaggio_2[10], 511); + } + if (!strcasecmp(messaggio, "ERROR")) { + ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + tech_pvt->skype_call_id[0] = '\0'; -DWORD win32_dwThreadId; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } + if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) { + strncpy(obj, where, sizeof(obj) - 1); -void *skypiax_do_skypeapi_thread_func(void *obj) -{ - /* create window class */ - /* create dummy/hidden window for processing messages */ - /* run message loop thread */ - /* do application control until exit */ - /* exit: send QUIT message to our own window */ - /* wait until thred terminates */ - /* destroy main window */ - /* destroy window class */ + where = strsep(stringp, " "); - private_t *tech_pvt = obj; -#if defined(WIN32) && !defined(__CYGWIN__) - switch_status_t rv; + strncpy(id, where, sizeof(id) - 1); - switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], - &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); - rv = - switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], - &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); -#else /* WIN32 */ - if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { - fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); - fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); - } -#endif /* WIN32 */ + if (!strcasecmp(id, tech_pvt->skype_user)) { + tech_pvt->SkypiaxHandles.api_connected = 1; + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); + } + } - tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = - RegisterWindowMessage("SkypeControlAPIAttach"); - tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = - RegisterWindowMessage("SkypeControlAPIDiscover"); + if (!strcasecmp(messaggio, "USER")) { + strncpy(obj, where, sizeof(obj) - 1); - skypiax_sleep(2000000); + where = strsep(stringp, " "); - if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 - && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { - if (win32_Initialize_CreateWindowClass(tech_pvt)) { - if (win32_Initialize_CreateMainWindow(tech_pvt)) { - if (SendMessage - (HWND_BROADCAST, - tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { - tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = - tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle; - while (1) { - MSG oMessage; - if (!running) - break; - while (GetMessage(&oMessage, 0, 0, 0)) { - TranslateMessage(&oMessage); - DispatchMessage(&oMessage); - } - } - } - win32_DeInitialize_DestroyMainWindow(tech_pvt); - } - win32_DeInitialize_DestroyWindowClass(tech_pvt); - } - } + strncpy(id, where, sizeof(id) - 1); - return NULL; -} + where = strsep(stringp, " "); -#else /* NOT WIN32 */ + strncpy(prop, where, sizeof(prop) - 1); -int X11_errors_handler(Display * dpy, XErrorEvent * err) -{ - (void) dpy; - private_t *tech_pvt = NULL; + if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop); - xerror = err->error_code; - ERRORA("Received error code %d from X Server\n\n", SKYPIAX_P_LOG, xerror); - return 0; /* ignore the error */ -} + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } -static void X11_errors_trap(void) -{ - xerror = 0; - old_handler = XSetErrorHandler(X11_errors_handler); -} + if (!strcasecmp(messaggio, "MESSAGE")) { + strncpy(obj, where, sizeof(obj) - 1); -static int X11_errors_untrap(void) -{ - XSetErrorHandler(old_handler); - return (xerror != BadValue) && (xerror != BadWindow); -} + where = strsep(stringp, " "); -int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, - const char *message_P) -{ + strncpy(id, where, sizeof(id) - 1); - Window w_P; - Display *disp; - Window handle_P; - int ok; - private_t *tech_pvt = NULL; + where = strsep(stringp, " "); - w_P = SkypiaxHandles->skype_win; - disp = SkypiaxHandles->disp; - handle_P = SkypiaxHandles->win; + strncpy(prop, where, sizeof(prop) - 1); - Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); - Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); - unsigned int pos = 0; - unsigned int len = strlen(message_P); - XEvent e; + if (!strcasecmp(prop, "STATUS")) { - memset(&e, 0, sizeof(e)); - e.xclient.type = ClientMessage; - e.xclient.message_type = atom1; /* leading message */ - e.xclient.display = disp; - e.xclient.window = handle_P; - e.xclient.format = 8; + where = strsep(stringp, " "); - X11_errors_trap(); - //XLockDisplay(disp); - do { - unsigned int i; - for (i = 0; i < 20 && i + pos <= len; ++i) - e.xclient.data.b[i] = message_P[i + pos]; - XSendEvent(disp, w_P, False, 0, &e); + strncpy(value, where, sizeof(value) - 1); - e.xclient.message_type = atom2; /* following messages */ - pos += i; - } while (pos <= len); + if (!strcasecmp(value, "RECEIVED")) { + char msg_to_skype[256]; + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop, value); - XSync(disp, False); - ok = X11_errors_untrap(); + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } else if (!strcasecmp(prop, "BODY")) { + char msg_to_skype[256]; - if (!ok) - ERRORA("Sending message failed with status %d\n", SKYPIAX_P_LOG, xerror); - //XUnlockDisplay(disp); + DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop); - return 1; -} + //FIXME: TODO: on config param ??? + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } -int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles) -{ - Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True); + } - Atom type_ret; - int format_ret; - unsigned long nitems_ret; - unsigned long bytes_after_ret; - unsigned char *prop; - int status; - private_t *tech_pvt = NULL; + if (!strcasecmp(messaggio, "CALL")) { - X11_errors_trap(); - //XLockDisplay(disp); - status = - XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), - skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, - &nitems_ret, &bytes_after_ret, &prop); - //XUnlockDisplay(disp); - X11_errors_untrap(); + strncpy(obj, where, sizeof(obj) - 1); - /* sanity check */ - if (status != Success || format_ret != 32 || nitems_ret != 1) { - SkypiaxHandles->skype_win = (Window) - 1; - DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG); - return 0; - } + where = strsep(stringp, " "); - SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; - DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, - (unsigned int) SkypiaxHandles->skype_win); - return 1; -} + strncpy(id, where, sizeof(id) - 1); -void skypiax_skype_clean_disp(void *data) -{ + where = strsep(stringp, " "); - int *dispptr; - int disp; - private_t *tech_pvt = NULL; + strncpy(prop, where, sizeof(prop) - 1); - dispptr = data; - disp = *dispptr; + where = strsep(stringp, " "); - if (disp) { - DEBUGA_SKYPE("to be destroyed disp %d\n", SKYPIAX_P_LOG, disp); - close(disp); - DEBUGA_SKYPE("destroyed disp\n", SKYPIAX_P_LOG); - } else { - DEBUGA_SKYPE("NOT destroyed disp\n", SKYPIAX_P_LOG); - } - DEBUGA_SKYPE("OUT destroyed disp\n", SKYPIAX_P_LOG); - skypiax_sleep(1000); -} - -void *skypiax_do_skypeapi_thread_func(void *obj) -{ - - private_t *tech_pvt = obj; - struct SkypiaxHandles *SkypiaxHandles; - char buf[512]; - Display *disp = NULL; - Window root = -1; - Window win = -1; - - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - - if (!strlen(tech_pvt->X11_display)) - strcpy(tech_pvt->X11_display, getenv("DISPLAY")); - - if (!tech_pvt->tcp_srv_port) - tech_pvt->tcp_srv_port = 10160; - - if (!tech_pvt->tcp_cli_port) - tech_pvt->tcp_cli_port = 10161; + strncpy(value, where, sizeof(value) - 1); - if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { - fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); - fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); - } - SkypiaxHandles = &tech_pvt->SkypiaxHandles; - disp = XOpenDisplay(tech_pvt->X11_display); - if (!disp) { - ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, - tech_pvt->X11_display); - running = 0; - return NULL; - } else { - DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display); - } + where = strsep(stringp, " "); - int xfd; - xfd = XConnectionNumber(disp); - fcntl(xfd, F_SETFD, FD_CLOEXEC); + if (option_debug > 101) + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); - //FIXME pthread_cleanup_push(skypiax_skype_clean_disp, &xfd); + if (!strcasecmp(prop, "PARTNER_HANDLE")) { + strncpy(tech_pvt->callid_number, value, + sizeof(tech_pvt->callid_number) - 1); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_number); + return CALLFLOW_INCOMING_RING; + } + if (!strcasecmp(prop, "PARTNER_DISPNAME")) { + snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", + value, where ? " " : "", where ? where : ""); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_name); + } + if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, + id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } + if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } - SkypiaxHandles->disp = disp; + if (!strcasecmp(prop, "DTMF")) { - if (skypiax_skype_present(SkypiaxHandles)) { - root = DefaultRootWindow(disp); - win = - XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, - BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp, - DefaultScreen - (disp))); + DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - SkypiaxHandles->win = win; + dtmf_received(tech_pvt, value); + } - snprintf(buf, 512, "NAME skypiax"); + if (!strcasecmp(prop, "FAILUREREASON")) { + DEBUGA_SKYPE + ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", + SKYPIAX_P_LOG, id); + } + if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { + if (strcasecmp(id, tech_pvt->skype_call_id)) { + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + if (option_debug > 1) + DEBUGA_SKYPE + ("We called a Skype contact and he answered us on skype_call: %s.\n", + SKYPIAX_P_LOG, id); + } + } - if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { - ERRORA - ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", - SKYPIAX_P_LOG); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running = 0; - return NULL; - } + if (!strcasecmp(prop, "STATUS")) { - snprintf(buf, 512, "PROTOCOL 6"); - if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { - ERRORA - ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", - SKYPIAX_P_LOG); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running = 0; - return NULL; - } + if (!strcasecmp(value, "RINGING")) { + char msg_to_skype[1024]; + if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { + /* we are not calling out */ - /* perform an events loop */ - XEvent an_event; - char buf[21]; /* can't be longer */ - char buffer[17000]; - char *b; - int i; + if (!strlen(tech_pvt->skype_call_id)) { //FIXME + /* we are not inside an active call */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RING; + /* no owner, no active call, let's answer */ + skypiax_skype_write(tech_pvt, "SET AGC OFF"); + skypiax_sleep(10000); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + if (option_debug) + DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", + SKYPIAX_P_LOG, id); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); + } else { + /* we're owned, we're in a call, let's refuse */ + sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + DEBUGA_SKYPE + ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", + SKYPIAX_P_LOG, id); - b = buffer; + } + } else { + /* we are calling out */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RINGING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", + SKYPIAX_P_LOG, id); + } + } else if (!strcasecmp(value, "EARLYMEDIA")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); + DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", + SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "MISSED")) { + DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); - while (1) { - XNextEvent(disp, &an_event); - if (!running) - break; - switch (an_event.type) { - case ClientMessage: + } else if (!strcasecmp(value, "FINISHED")) { + //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; - if (an_event.xclient.format != 8) - break; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } - for (i = 0; i < 20 && an_event.xclient.data.b[i] != '\0'; ++i) - buf[i] = an_event.xclient.data.b[i]; + } else if (!strcasecmp(value, "CANCELLED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; + if (option_debug) + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; - buf[i] = '\0'; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } else if (!strcasecmp(value, "FAILED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; + if (option_debug) + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + return CALLFLOW_INCOMING_HANGUP; + } else if (!strcasecmp(value, "REFUSED")) { + if (!strcasecmp(id, tech_pvt->skype_call_id)) { + /* this is the id of the call we are in, probably we generated it */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; + if (option_debug) + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + SKYPIAX_P_LOG, id); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->skype_call_id[0] = '\0'; + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + return CALLFLOW_INCOMING_HANGUP; + } else { + /* we're here because were us that refused an incoming call */ + DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); - strcat(buffer, buf); + } + } else if (!strcasecmp(value, "ROUTING")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "UNPLACED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "INPROGRESS")) { + char msg_to_skype[1024]; + tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_UP; + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + start_audio_threads(tech_pvt); + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); - if (i < 20) { /* last fragment */ - unsigned int howmany; + tech_pvt->skype_callflow = SKYPIAX_STATE_UP; - howmany = strlen(b) + 1; + if (!strlen(tech_pvt->session_uuid_str)) { + DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); + new_inbound_channel(tech_pvt); + } else { + DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); + outbound_channel_answered(tech_pvt); + } - howmany = write(SkypiaxHandles->fdesc[1], b, howmany); - memset(buffer, '\0', 17000); - } + } else { + WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, + id, value); + + } + } //STATUS + + } //CALL + + a = 0; + } //message end + } //read_from_pipe - break; - default: - break; - } } - } else { - ERRORA - ("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n", - SKYPIAX_P_LOG); - running = 0; - return NULL; } - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - running = 0; - return NULL; + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + //DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + return 0; } -#endif // WIN32 -int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype) +int skypiax_skype_senddigit(private_t * tech_pvt, char digit) +{ + char msg_to_skype[1024]; + if (option_debug > 10) { + DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + } + + DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); + + sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit); + + skypiax_skype_write(tech_pvt, msg_to_skype); + + if (option_debug > 10) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + return 0; +} + +int skypiax_skype_call(private_t * tech_pvt, char *rdest, int timeout) { + char msg_to_skype[1024]; + + if (option_debug > 10) { + DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + } + skypiax_sleep(5000); + DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); + skypiax_skype_write(tech_pvt, "SET AGC OFF"); + skypiax_sleep(10000); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); + skypiax_sleep(10000); + + sprintf(msg_to_skype, "CALL %s", rdest); + if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) { + + ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG); + if (option_debug > 10) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + return -1; + } + return 0; +} + + + #ifdef WIN32 + +enum { + SKYPECONTROLAPI_ATTACH_SUCCESS = 0, /* Client is successfully + attached and API window handle can be found + in wParam parameter */ + SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION = 1, /* Skype has acknowledged + connection request and is waiting + for confirmation from the user. */ + /* The client is not yet attached + * and should wait for SKYPECONTROLAPI_ATTACH_SUCCESS message */ + SKYPECONTROLAPI_ATTACH_REFUSED = 2, /* User has explicitly + denied access to client */ + SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE = 3, /* API is not available + at the moment. + For example, this happens when no user + is currently logged in. */ + /* Client should wait for + * SKYPECONTROLAPI_ATTACH_API_AVAILABLE + * broadcast before making any further */ + /* connection attempts. */ + SKYPECONTROLAPI_ATTACH_API_AVAILABLE = 0x8001 +}; + +/* Visual C do not have strsep? */ +char + *strsep(char **stringp, const char *delim) +{ + char *res; + + if (!stringp || !*stringp || !**stringp) + return (char *) 0; + + res = *stringp; + while (**stringp && !strchr(delim, **stringp)) + ++(*stringp); + + if (**stringp) { + **stringp = '\0'; + ++(*stringp); + } + + return res; +} + +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype) +{ static char acInputRow[1024]; COPYDATASTRUCT oCopyData; -#else /* WIN32 */ - struct SkypiaxHandles *SkypiaxHandles; -#endif /* WIN32 */ DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); -#ifdef WIN32 - if (option_debug > 100) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } @@ -1003,7 +1011,7 @@ (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, (LPARAM) & oCopyData) == FALSE) { ERRORA - ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", + ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -1011,23 +1019,6 @@ return -1; } } -#else /* WIN32 */ - - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } - SkypiaxHandles = &tech_pvt->SkypiaxHandles; - - if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) { - ERRORA - ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", - SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - return -1; - } -#endif /* WIN32 */ if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -1036,507 +1027,508 @@ } -int skypiax_skype_read(private_t * tech_pvt) +LRESULT APIENTRY skypiax_skype_present(HWND hWindow, UINT uiMessage, WPARAM uiParam, + LPARAM ulParam) { + LRESULT lReturnCode; + int fIssueDefProc; + private_t *tech_pvt = NULL; - char read_from_pipe[4096]; - char messaggio[4096]; - char messaggio_2[4096]; - char *buf, obj[512] = "", id[512] = "", prop[512] = "", value[512] = "", *where; - char **stringp = NULL; - int rt; - int a; - unsigned int howmany; - unsigned int i; -#ifndef WIN32 - int fdselect; - fd_set fs; - struct timeval to; -#endif /* WIN32 */ - - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } + lReturnCode = 0; + fIssueDefProc = 0; + tech_pvt = (private_t *) GetWindowLong(hWindow, GWL_USERDATA); + switch (uiMessage) { + case WM_CREATE: + tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; + SetWindowLong(hWindow, GWL_USERDATA, (LONG) tech_pvt); + DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG); + break; + case WM_DESTROY: + NOTICA("got DESTROY\n", SKYPIAX_P_LOG); + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; + PostQuitMessage(0); + break; + case WM_COPYDATA: + if (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { + unsigned int howmany; + char msg_from_skype[2048]; - memset(read_from_pipe, 0, 4096); - memset(messaggio, 0, 4096); - memset(messaggio_2, 0, 4096); + PCOPYDATASTRUCT poCopyData = (PCOPYDATASTRUCT) ulParam; -#ifdef WIN32 - rt = 1; -#else /* WIN32 */ - fdselect = tech_pvt->SkypiaxHandles.fdesc[0]; - FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //500 msec - to.tv_sec = 0; - rt = select(fdselect + 1, &fs, NULL, NULL, &to); -#endif /* WIN32 */ + memset(msg_from_skype, '\0', sizeof(msg_from_skype)); + strncpy(msg_from_skype, (const char *) poCopyData->lpData, + sizeof(msg_from_skype) - 2); - if (rt > 0) { - if (tech_pvt->SkypiaxHandles.fdesc[0]) { - howmany = sizeof(read_from_pipe); + howmany = strlen(msg_from_skype) + 1; howmany = - skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, - howmany); - - a = 0; - for (i = 0; i < howmany; i++) { - messaggio[a] = read_from_pipe[i]; - a++; - - if (read_from_pipe[i] == '\0') { - - //DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); - DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, messaggio); - - if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, - just authorized */ - DEBUGA_SKYPE - ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", - SKYPIAX_P_LOG); - skypiax_sleep(1000000); - skypiax_skype_write(tech_pvt, "PROTOCOL 6"); - skypiax_sleep(10000); - return 0; - } - - if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { - ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", - SKYPIAX_P_LOG, messaggio); - tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - tech_pvt->skype_call_id[0] = '\0'; - - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } - - strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1); - - buf = messaggio; - stringp = &buf; - where = strsep(stringp, " "); - if (!where) { - WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio); - } - - if (!strcasecmp(messaggio, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[11]); */ - memset(tech_pvt->skype_friends, 0, 4096); - strncpy(tech_pvt->skype_friends, &messaggio_2[11], 4095); - } - if (!strcasecmp(messaggio, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ - memset(tech_pvt->skype_fullname, 0, 512); - strncpy(tech_pvt->skype_fullname, &messaggio_2[10], 511); - } - if (!strcasecmp(messaggio, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ - memset(tech_pvt->skype_displayname, 0, 512); - strncpy(tech_pvt->skype_displayname, &messaggio_2[10], 511); + skypiax_pipe_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype, + howmany); + //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype); + lReturnCode = 1; + } + break; + default: + if (tech_pvt && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (uiMessage == + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + switch (ulParam) { + case SKYPECONTROLAPI_ATTACH_SUCCESS: + if (!tech_pvt->SkypiaxHandles.api_connected) { + DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; } - if (!strcasecmp(messaggio, "ERROR")) { - ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); - tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - tech_pvt->skype_call_id[0] = '\0'; - - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } + break; + case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: + DEBUGA_SKYPE + ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", + SKYPIAX_P_LOG); + skypiax_sleep(5000); + if (!tech_pvt->SkypiaxHandles.api_connected) { + SendMessage(HWND_BROADCAST, + tech_pvt->SkypiaxHandles. + win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, + 0); } - if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) { - strncpy(obj, where, sizeof(obj) - 1); - - where = strsep(stringp, " "); - - strncpy(id, where, sizeof(id) - 1); - - if (!strcasecmp(id, tech_pvt->skype_user)) { - tech_pvt->SkypiaxHandles.api_connected = 1; - DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); - } + break; + case SKYPECONTROLAPI_ATTACH_REFUSED: + ERRORA("Skype client refused to be connected by Skypiax!\n", SKYPIAX_P_LOG); + break; + case SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE: + ERRORA("Skype API not (yet?) available\n", SKYPIAX_P_LOG); + break; + case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: + DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); + skypiax_sleep(5000); + if (!tech_pvt->SkypiaxHandles.api_connected) { + SendMessage(HWND_BROADCAST, + tech_pvt->SkypiaxHandles. + win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, + 0); } + break; + default: + WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG); + } + lReturnCode = 1; + break; + } + } + fIssueDefProc = 1; + break; + } + if (fIssueDefProc) + lReturnCode = DefWindowProc(hWindow, uiMessage, uiParam, ulParam); + return (lReturnCode); +} - if (!strcasecmp(messaggio, "USER")) { - strncpy(obj, where, sizeof(obj) - 1); - - where = strsep(stringp, " "); +int win32_Initialize_CreateWindowClass(private_t * tech_pvt) +{ + unsigned char *paucUUIDString; + RPC_STATUS lUUIDResult; + int fReturnStatus; + UUID oUUID; - strncpy(id, where, sizeof(id) - 1); + fReturnStatus = 0; + lUUIDResult = UuidCreate(&oUUID); + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = + (HINSTANCE) OpenProcess(PROCESS_DUP_HANDLE, FALSE, GetCurrentProcessId()); + if (tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle != NULL + && (lUUIDResult == RPC_S_OK || lUUIDResult == RPC_S_UUID_LOCAL_ONLY)) { + if (UuidToString(&oUUID, &paucUUIDString) == RPC_S_OK) { + WNDCLASS oWindowClass; - where = strsep(stringp, " "); + strcpy(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); + strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, + (char *) paucUUIDString); - strncpy(prop, where, sizeof(prop) - 1); + oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; + oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present; + oWindowClass.cbClsExtra = 0; + oWindowClass.cbWndExtra = 0; + oWindowClass.hInstance = tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle; + oWindowClass.hIcon = NULL; + oWindowClass.hCursor = NULL; + oWindowClass.hbrBackground = NULL; + oWindowClass.lpszMenuName = NULL; + oWindowClass.lpszClassName = tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName; - if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { - char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop); + if (RegisterClass(&oWindowClass) != 0) + fReturnStatus = 1; - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } - } + RpcStringFree(&paucUUIDString); + } + } + if (fReturnStatus == 0) + CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; + return (fReturnStatus); +} - if (!strcasecmp(messaggio, "MESSAGE")) { - strncpy(obj, where, sizeof(obj) - 1); +void win32_DeInitialize_DestroyWindowClass(private_t * tech_pvt) +{ + UnregisterClass(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle); + CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; +} - where = strsep(stringp, " "); +int win32_Initialize_CreateMainWindow(private_t * tech_pvt) +{ + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = + CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, + tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "", + WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, + 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, + tech_pvt); + return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); +} - strncpy(id, where, sizeof(id) - 1); +void win32_DeInitialize_DestroyMainWindow(private_t * tech_pvt) +{ + if (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) + DestroyWindow(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle), + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; +} - where = strsep(stringp, " "); - strncpy(prop, where, sizeof(prop) - 1); +void *skypiax_do_skypeapi_thread_func(void *obj) +{ + private_t *tech_pvt = obj; +#if defined(WIN32) && !defined(__CYGWIN__) + switch_status_t rv; - if (!strcasecmp(prop, "STATUS")) { + switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], + &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); + rv = + switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], + &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); +#else /* WIN32 */ + if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { + fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); + } +#endif /* WIN32 */ - where = strsep(stringp, " "); + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = + RegisterWindowMessage("SkypeControlAPIAttach"); + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = + RegisterWindowMessage("SkypeControlAPIDiscover"); - strncpy(value, where, sizeof(value) - 1); + skypiax_sleep(2000000); - if (!strcasecmp(value, "RECEIVED")) { - char msg_to_skype[256]; - DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value); - - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } - } else if (!strcasecmp(prop, "BODY")) { - char msg_to_skype[256]; - - DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop); - - //FIXME: TODO: on config param ??? - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); + if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 + && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { + if (win32_Initialize_CreateWindowClass(tech_pvt)) { + if (win32_Initialize_CreateMainWindow(tech_pvt)) { + if (SendMessage + (HWND_BROADCAST, + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle; + while (1) { + MSG oMessage; + if (!running) + break; + while (GetMessage(&oMessage, 0, 0, 0)) { + TranslateMessage(&oMessage); + DispatchMessage(&oMessage); } - } + } + win32_DeInitialize_DestroyMainWindow(tech_pvt); + } + win32_DeInitialize_DestroyWindowClass(tech_pvt); + } + } - if (!strcasecmp(messaggio, "CALL")) { - - strncpy(obj, where, sizeof(obj) - 1); - - where = strsep(stringp, " "); - - strncpy(id, where, sizeof(id) - 1); - - where = strsep(stringp, " "); - - strncpy(prop, where, sizeof(prop) - 1); - - where = strsep(stringp, " "); - - strncpy(value, where, sizeof(value) - 1); - - where = strsep(stringp, " "); - - if (option_debug > 101) - DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); - - if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(tech_pvt->callid_number, value, - sizeof(tech_pvt->callid_number) - 1); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_number); - return CALLFLOW_INCOMING_RING; - } - if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", - value, where ? " " : "", where ? where : ""); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_name); - } - if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, - id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } - if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } - - if (!strcasecmp(prop, "DTMF")) { - - DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - - dtmf_received(tech_pvt, value); - } - - if (!strcasecmp(prop, "FAILUREREASON")) { - DEBUGA_SKYPE - ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", - SKYPIAX_P_LOG, id); - } - if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { - if (strcasecmp(id, tech_pvt->skype_call_id)) { - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - if (option_debug > 1) - DEBUGA_SKYPE - ("We called a Skype contact and he answered us on skype_call: %s.\n", - SKYPIAX_P_LOG, id); - } - } - - if (!strcasecmp(prop, "STATUS")) { - - if (!strcasecmp(value, "RINGING")) { - char msg_to_skype[1024]; - if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { - /* we are not calling out */ + return NULL; +} - if (!strlen(tech_pvt->skype_call_id)) { //FIXME - /* we are not inside an active call */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RING; - /* no owner, no active call, let's answer */ - skypiax_skype_write(tech_pvt, "SET AGC OFF"); - skypiax_sleep(10000); - skypiax_skype_write(tech_pvt, "SET AEC OFF"); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - if (option_debug) - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", - SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - } else { - /* we're owned, we're in a call, let's refuse */ - sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - DEBUGA_SKYPE - ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", - SKYPIAX_P_LOG, id); +#else /* NOT WIN32 */ +int X11_errors_handler(Display * dpy, XErrorEvent * err) +{ + (void) dpy; + private_t *tech_pvt = NULL; - } - } else { - /* we are calling out */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RINGING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", - SKYPIAX_P_LOG, id); - } - } else if (!strcasecmp(value, "EARLYMEDIA")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", - SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "MISSED")) { - DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); + xerror = err->error_code; + ERRORA("Received error code %d from X Server\n\n", SKYPIAX_P_LOG, xerror); + return 0; /* ignore the error */ +} - } else if (!strcasecmp(value, "FINISHED")) { - //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; +static void X11_errors_trap(void) +{ + xerror = 0; + old_handler = XSetErrorHandler(X11_errors_handler); +} - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } +static int X11_errors_untrap(void) +{ + XSetErrorHandler(old_handler); + return (xerror != BadValue) && (xerror != BadWindow); +} - } else if (!strcasecmp(value, "CANCELLED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; - if (option_debug) - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; +int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, + const char *message_P) +{ - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "FAILED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; - if (option_debug) - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - return CALLFLOW_INCOMING_HANGUP; - } else if (!strcasecmp(value, "REFUSED")) { - if (!strcasecmp(id, tech_pvt->skype_call_id)) { - /* this is the id of the call we are in, probably we generated it */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; - if (option_debug) - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", - SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - tech_pvt->skype_call_id[0] = '\0'; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - return CALLFLOW_INCOMING_HANGUP; - } else { - /* we're here because were us that refused an incoming call */ - DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); + Window w_P; + Display *disp; + Window handle_P; + int ok; + private_t *tech_pvt = NULL; - } - } else if (!strcasecmp(value, "ROUTING")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "UNPLACED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "INPROGRESS")) { - char msg_to_skype[1024]; - tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_UP; - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - start_audio_threads(tech_pvt); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - tech_pvt->tcp_srv_port); - skypiax_skype_write(tech_pvt, msg_to_skype); + w_P = SkypiaxHandles->skype_win; + disp = SkypiaxHandles->disp; + handle_P = SkypiaxHandles->win; - tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); + unsigned int pos = 0; + unsigned int len = strlen(message_P); + XEvent e; - if (!strlen(tech_pvt->session_uuid_str)) { - DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); - } else { - DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); - } + memset(&e, 0, sizeof(e)); + e.xclient.type = ClientMessage; + e.xclient.message_type = atom1; /* leading message */ + e.xclient.display = disp; + e.xclient.window = handle_P; + e.xclient.format = 8; - } else { - WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, - id, value); + X11_errors_trap(); + //XLockDisplay(disp); + do { + unsigned int i; + for (i = 0; i < 20 && i + pos <= len; ++i) + e.xclient.data.b[i] = message_P[i + pos]; + XSendEvent(disp, w_P, False, 0, &e); - } - } //STATUS + e.xclient.message_type = atom2; /* following messages */ + pos += i; + } while (pos <= len); - } //CALL + XSync(disp, False); + ok = X11_errors_untrap(); - a = 0; - } //message end - } //read_from_pipe + if (!ok) + ERRORA("Sending message failed with status %d\n", SKYPIAX_P_LOG, xerror); + //XUnlockDisplay(disp); + + return 1; +} +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype) +{ + struct SkypiaxHandles *SkypiaxHandles; + + DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); + + if (option_debug > 100) { + DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + } + SkypiaxHandles = &tech_pvt->SkypiaxHandles; + if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) { + ERRORA + ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax, then restart Skype, then launch Skypiax and try again.\n", + SKYPIAX_P_LOG); + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } + return -1; } if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } - //DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); return 0; + } -int skypiax_skype_senddigit(private_t * tech_pvt, char digit) + +int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles) { - char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True); + + Atom type_ret; + int format_ret; + unsigned long nitems_ret; + unsigned long bytes_after_ret; + unsigned char *prop; + int status; + private_t *tech_pvt = NULL; + + X11_errors_trap(); + //XLockDisplay(disp); + status = + XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), + skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, + &nitems_ret, &bytes_after_ret, &prop); + //XUnlockDisplay(disp); + X11_errors_untrap(); + + /* sanity check */ + if (status != Success || format_ret != 32 || nitems_ret != 1) { + SkypiaxHandles->skype_win = (Window) - 1; + DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG); + return 0; } - DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); + SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; + DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, + (unsigned int) SkypiaxHandles->skype_win); + return 1; +} - sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit); +void skypiax_skype_clean_disp(void *data) +{ - skypiax_skype_write(tech_pvt, msg_to_skype); + int *dispptr; + int disp; + private_t *tech_pvt = NULL; - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + dispptr = data; + disp = *dispptr; + + if (disp) { + DEBUGA_SKYPE("to be destroyed disp %d\n", SKYPIAX_P_LOG, disp); + close(disp); + DEBUGA_SKYPE("destroyed disp\n", SKYPIAX_P_LOG); + } else { + DEBUGA_SKYPE("NOT destroyed disp\n", SKYPIAX_P_LOG); } - return 0; + DEBUGA_SKYPE("OUT destroyed disp\n", SKYPIAX_P_LOG); + skypiax_sleep(1000); } -int skypiax_skype_call(private_t * tech_pvt, char *rdest, int timeout) +void *skypiax_do_skypeapi_thread_func(void *obj) { - char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + private_t *tech_pvt = obj; + struct SkypiaxHandles *SkypiaxHandles; + char buf[512]; + Display *disp = NULL; + Window root = -1; + Window win = -1; + + DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); + + if (!strlen(tech_pvt->X11_display)) + strcpy(tech_pvt->X11_display, getenv("DISPLAY")); + + if (!tech_pvt->tcp_srv_port) + tech_pvt->tcp_srv_port = 10160; + + if (!tech_pvt->tcp_cli_port) + tech_pvt->tcp_cli_port = 10161; + + if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { + fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); + } + SkypiaxHandles = &tech_pvt->SkypiaxHandles; + disp = XOpenDisplay(tech_pvt->X11_display); + if (!disp) { + ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, + tech_pvt->X11_display); + running = 0; + return NULL; + } else { + DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display); } - skypiax_sleep(5000); - DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); - skypiax_skype_write(tech_pvt, "SET AGC OFF"); - skypiax_sleep(10000); - skypiax_skype_write(tech_pvt, "SET AEC OFF"); - skypiax_sleep(10000); - sprintf(msg_to_skype, "CALL %s", rdest); - if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) { + int xfd; + xfd = XConnectionNumber(disp); + fcntl(xfd, F_SETFD, FD_CLOEXEC); - ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG); - if (option_debug > 10) { + SkypiaxHandles->disp = disp; + + if (skypiax_skype_present(SkypiaxHandles)) { + root = DefaultRootWindow(disp); + win = + XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, + BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp, + DefaultScreen + (disp))); + + SkypiaxHandles->win = win; + + snprintf(buf, 512, "NAME skypiax"); + + if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { + ERRORA + ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", + SKYPIAX_P_LOG); DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + running = 0; + return NULL; } - return -1; + + snprintf(buf, 512, "PROTOCOL 6"); + if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { + ERRORA + ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", + SKYPIAX_P_LOG); + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + running = 0; + return NULL; + } + + /* perform an events loop */ + XEvent an_event; + char buf[21]; /* can't be longer */ + char buffer[17000]; + char *b; + int i; + + b = buffer; + + while (1) { + XNextEvent(disp, &an_event); + if (!running) + break; + switch (an_event.type) { + case ClientMessage: + + if (an_event.xclient.format != 8) + break; + + for (i = 0; i < 20 && an_event.xclient.data.b[i] != '\0'; ++i) + buf[i] = an_event.xclient.data.b[i]; + + buf[i] = '\0'; + + strcat(buffer, buf); + + if (i < 20) { /* last fragment */ + unsigned int howmany; + + howmany = strlen(b) + 1; + + howmany = write(SkypiaxHandles->fdesc[1], b, howmany); + memset(buffer, '\0', 17000); + } + + break; + default: + break; + } + } + } else { + ERRORA + ("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n", + SKYPIAX_P_LOG); + running = 0; + return NULL; } - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - return 0; + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + running = 0; + return NULL; + } +#endif // WIN32 + + From brian at freeswitch.org Mon Feb 9 08:18:21 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:18:21 -0600 Subject: [Freeswitch-svn] [commit] r11704 - freeswitch/trunk/src/mod/applications/mod_commands Message-ID: Author: brian Date: Mon Feb 9 10:18:21 2009 New Revision: 11704 Log: xml_free in the proper location if invalid data is given to group_call Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Mon Feb 9 10:18:21 2009 @@ -248,8 +248,8 @@ } } - switch_xml_free(xml); } + switch_xml_free(xml); switch_event_destroy(¶ms); } From gmaruzz at freeswitch.org Mon Feb 9 08:34:50 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:34:50 -0600 Subject: [Freeswitch-svn] [commit] r11705 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 10:34:49 2009 New Revision: 11705 Log: skypiax: cleaning added strsep() to skypiax.h, Visual C lack it Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Mon Feb 9 10:34:49 2009 @@ -259,3 +259,5 @@ int new_inbound_channel(private_t *tech_pvt); int outbound_channel_answered(private_t *tech_pvt); int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); +/* Visual C do not have strsep ? */ +char *strsep(char **stringp, const char *delim); From brian at freeswitch.org Mon Feb 9 08:40:37 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:40:37 -0600 Subject: [Freeswitch-svn] [commit] r11706 - freeswitch/trunk/src/mod/applications/mod_commands Message-ID: Author: brian Date: Mon Feb 9 10:40:37 2009 New Revision: 11706 Log: tweak time_Test to not take insane values Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Mon Feb 9 10:40:37 2009 @@ -55,12 +55,19 @@ stream->write_function(stream, "parameter missing\n"); return SWITCH_STATUS_SUCCESS; } + mss = atol(cmd); + if (mss > 10000) { + mss = 10000; + } + if ((p = strchr(cmd, ' '))) { max = atoi(p+1); if (max < 0) { - max = 10; + max = 1; + } else if (max > 100) { + max = 100; } } From gmaruzz at freeswitch.org Mon Feb 9 08:56:44 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 10:56:44 -0600 Subject: [Freeswitch-svn] [commit] r11707 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Mon Feb 9 10:56:44 2009 New Revision: 11707 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h Mon Feb 9 10:56:44 2009 @@ -405,6 +405,16 @@ int outbound_channel_answered(private_t *tech_pvt); int skypiax_skype_senddigit(struct skypiax_pvt *p, char digit); int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany); +int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany); +/* Visual C do not have strsep ? */ +char *strsep(char **stringp, const char *delim); +#else +int skypiax_pipe_read(int pipe, short *buf, int howmany); +int skypiax_pipe_write(int pipe, short *buf, int howmany); +#endif /* WIN32 */ +int skypiax_close_socket(unsigned int fd); #define SKYPIAX_STATE_DOWN AST_STATE_DOWN #define SKYPIAX_STATE_RING AST_STATE_RING #define SKYPIAX_STATE_DIALING AST_STATE_DIALING Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Mon Feb 9 10:56:44 2009 @@ -259,5 +259,13 @@ int new_inbound_channel(private_t *tech_pvt); int outbound_channel_answered(private_t *tech_pvt); int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany); +int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany); /* Visual C do not have strsep ? */ char *strsep(char **stringp, const char *delim); +#else +int skypiax_pipe_read(int pipe, short *buf, int howmany); +int skypiax_pipe_write(int pipe, short *buf, int howmany); +#endif /* WIN32 */ +int skypiax_close_socket(unsigned int fd); Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 10:56:44 2009 @@ -7,8 +7,6 @@ extern char *skypiax_console_active; #else /* FREESWITCH */ #define skypiax_sleep switch_sleep -//#define skypiax_pipe_write switch_file_write -//#define skypiax_pipe_read switch_file_read extern switch_memory_pool_t *skypiax_module_pool; extern switch_endpoint_interface_t *skypiax_endpoint_interface; #endif /* ASTERISK */ @@ -17,76 +15,14 @@ extern int running; /*************************************/ -#ifndef WIN32 +#ifdef WIN32 +DWORD win32_dwThreadId; +#else XErrorHandler old_handler = 0; int xerror = 0; -#else -DWORD win32_dwThreadId; #endif /* WIN32 */ /*************************************/ -#if defined(WIN32) && !defined(__CYGWIN__) -int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany) -{ - switch_size_t quantity; - - quantity = howmany; - - switch_file_read(pipe, buf, &quantity); - - howmany = quantity; - - return howmany; -} -#else /* WIN32 */ -int skypiax_pipe_read(int pipe, short *buf, int howmany) -{ - howmany = read(pipe, buf, howmany); - return howmany; -} -#endif /* WIN32 */ - -#if defined(WIN32) && !defined(__CYGWIN__) -int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany) -{ - switch_size_t quantity; - - quantity = howmany; - - switch_file_write(pipe, buf, &quantity); - - howmany = quantity; - - return howmany; -} -#else /* WIN32 */ -int skypiax_pipe_write(int pipe, short *buf, int howmany) -{ - howmany = write(pipe, buf, howmany); - return howmany; -} -#endif /* WIN32 */ - -#if defined(WIN32) && !defined(__CYGWIN__) -int skypiax_close_socket(unsigned int fd) -{ - int res; - - res = closesocket(fd); - - return res; -} -#else /* WIN32 */ -int skypiax_close_socket(unsigned int fd) -{ - int res; - - res = close(fd); - - return res; -} -#endif /* WIN32 */ - void *skypiax_do_tcp_srv_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -941,6 +877,63 @@ return 0; } +/***************************/ +/* PLATFORM SPECIFIC */ +/***************************/ +#if defined(WIN32) && !defined(__CYGWIN__) +int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany) +{ + switch_size_t quantity; + + quantity = howmany; + + switch_file_read(pipe, buf, &quantity); + + howmany = quantity; + + return howmany; +} +int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany) +{ + switch_size_t quantity; + + quantity = howmany; + + switch_file_write(pipe, buf, &quantity); + + howmany = quantity; + + return howmany; +} +int skypiax_close_socket(unsigned int fd) +{ + int res; + + res = closesocket(fd); + + return res; +} + +#else /* WIN32 */ +int skypiax_pipe_read(int pipe, short *buf, int howmany) +{ + howmany = read(pipe, buf, howmany); + return howmany; +} +int skypiax_pipe_write(int pipe, short *buf, int howmany) +{ + howmany = write(pipe, buf, howmany); + return howmany; +} +int skypiax_close_socket(unsigned int fd) +{ + int res; + + res = close(fd); + + return res; +} +#endif /* WIN32 */ #ifdef WIN32 From gmaruzz at freeswitch.org Mon Feb 9 09:22:53 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:22:53 -0600 Subject: [Freeswitch-svn] [commit] r11708 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Mon Feb 9 11:22:53 2009 New Revision: 11708 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Mon Feb 9 11:22:53 2009 @@ -180,16 +180,10 @@ { struct skypiax_pvt *p = c->tech_pvt; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* queue the frame */ if (p) p->control_to_send = control; else { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } DEBUGA_PBX("Queued CONTROL FRAME %d\n", SKYPIAX_P_LOG, control); @@ -198,9 +192,6 @@ while (p->control_to_send) usleep(1); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -210,14 +201,8 @@ char *name = data; int res = AST_DEVICE_INVALID; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (!data) { ERRORA("Devicestate requested with no data\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return res; } @@ -253,9 +238,6 @@ ERRORA("Checking device state for interface [%s] returning AST_DEVICE_INVALID\n", SKYPIAX_P_LOG, name); } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return res; } @@ -268,9 +250,6 @@ struct skypiax_pvt *p = c->tech_pvt; int res = 0; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } NOTICA("Let's INDICATE %d\n", SKYPIAX_P_LOG, cond); switch (cond) { @@ -296,9 +275,6 @@ res = -1; } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return res; } @@ -310,18 +286,12 @@ struct ast_channel *tmp = NULL; char *name = data; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } DEBUGA_PBX("Try to request type: %s, name: %s, cause: %d," " format: %d\n", SKYPIAX_P_LOG, type, name, *cause, format); if (!data) { ERRORA("Channel requested with no data\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -372,9 +342,6 @@ WARNINGA("Unable to create new Skypiax channel %s\n", SKYPIAX_P_LOG, name); } /* return the newly created channel */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return tmp; } @@ -390,15 +357,9 @@ /* if there is not skypiax pvt why we are here ? */ if (!p) { ERRORA("Asked to hangup channel not connected\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (p->skype && p->interface_state != SKYPIAX_STATE_DOWN) { char msg_to_skype[1024]; p->interface_state = SKYPIAX_STATE_HANGUP_REQUESTED; @@ -457,26 +418,15 @@ /* set the channel state to DOWN, eg. available, not in active use */ if (ast_setstate(c, SKYPIAX_STATE_DOWN)) { ERRORA("ast_setstate failed, BAD\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug) - DEBUGA_PBX("Hanged Up\n", SKYPIAX_P_LOG); /* restart the monitor thread, so it can recheck which interfaces it have to watch during its loop (the interfaces that are not owned by channels) */ if (skypiax_restart_monitor()) { ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -487,9 +437,6 @@ struct skypiax_pvt *p = c->tech_pvt; int res; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* whle ringing, we just wait, the skype thread will answer */ while (p->interface_state == SKYPIAX_STATE_RING) { usleep(10000); //10msec @@ -498,13 +445,9 @@ ERRORA("call answering failed, we want it to be into interface_state=%d, got %d\n", SKYPIAX_P_LOG, SKYPIAX_STATE_UP, p->interface_state); res = -1; } else { - if (option_debug) DEBUGA_PBX("call answered\n", SKYPIAX_P_LOG); res = 0; } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return res; } @@ -512,15 +455,9 @@ int skypiax_senddigit_begin(struct ast_channel *c, char digit) { struct skypiax_pvt *p = c->tech_pvt; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } DEBUGA_PBX("DIGIT BEGIN received: %c\n", SKYPIAX_P_LOG, digit); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -528,9 +465,6 @@ { struct skypiax_pvt *p = c->tech_pvt; char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } NOTICA("DIGIT END received: %c %d\n", SKYPIAX_P_LOG, digit, duration); @@ -538,9 +472,6 @@ skypiax_skype_write(p, msg_to_skype); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } #else /* ASTERISK_VERSION_1_4 */ @@ -549,18 +480,12 @@ struct skypiax_pvt *p = c->tech_pvt; char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } NOTICA("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); sprintf(msg_to_skype, "SET CALL %s DTMF %c", p->skype_call_id, digit); skypiax_skype_write(p, msg_to_skype); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -576,9 +501,6 @@ short *buf; int samples; - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* if there are control frames queued to be sent by skypiax_queue_control, send it the first */ //TODO maybe better a real queue? @@ -605,9 +527,6 @@ /* if the call is not active (ie: answered), do not send audio frames, they would pile up in a lag queue */ if (p->owner && p->owner->_state != SKYPIAX_STATE_UP) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return &f; } @@ -632,10 +551,6 @@ skypiax_sound_boost(&f, p->capture_boost); } - if (option_debug > 100) { - DEBUGA_SOUND("samples=%d\n", SKYPIAX_P_LOG, samples); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return &f; } @@ -650,20 +565,13 @@ char *stringp = NULL; int status; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if ((c->_state != SKYPIAX_STATE_DOWN) && (c->_state != SKYPIAX_STATE_RESERVED)) { ERRORA("skypiax_call called on %s, neither down nor reserved\n", SKYPIAX_P_LOG, c->name); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug > 1) DEBUGA_PBX("skypiax_call to call idest: %s, timeout: %d!\n", SKYPIAX_P_LOG, idest, timeout); @@ -674,14 +582,10 @@ if (!where) { ERRORA("Destination %s requires an actual destination (Skypiax/device/destination)\n", SKYPIAX_P_LOG, idest); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } strncpy(dstr, where + p->stripmsd, sizeof(dstr) - 1); - if (option_debug > 1) DEBUGA_PBX("skypiax_call dialing idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG, idest, timeout, dstr); @@ -689,20 +593,13 @@ status = skypiax_skype_call(p, dstr, timeout); if (status) { WARNINGA("skypiax_call dialing failed: %d!\n", SKYPIAX_P_LOG, status); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug > 1) DEBUGA_PBX("skypiax_call dialed idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG, idest, timeout, dstr); ast_setstate(p->owner, SKYPIAX_STATE_DIALING); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -731,13 +628,7 @@ struct skypiax_pvt *p = c->tech_pvt; int sent; - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (p->owner && p->owner->_state != SKYPIAX_STATE_UP) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } if (p->playback_boost) @@ -746,10 +637,6 @@ sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen); //skypiax_sound_write(p, f); - if (option_debug > 100) { - DEBUGA_SOUND("sent=%d\n", SKYPIAX_P_LOG, sent); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -759,29 +646,17 @@ { struct skypiax_pvt *p = newchan->tech_pvt; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (!p) { ERRORA("No pvt after masquerade. Strange things may happen\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } if (p->owner != oldchan) { ERRORA("old channel wasn't %p but was %p\n", SKYPIAX_P_LOG, oldchan, p->owner); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } p->owner = newchan; - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -789,9 +664,6 @@ { struct ast_channel *tmp; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* alloc a generic channel struct */ #ifndef ASTERISK_VERSION_1_4 tmp = ast_channel_alloc(1); @@ -858,9 +730,6 @@ ERRORA("ast_setstate failed, BAD\n", SKYPIAX_P_LOG); //ast_dsp_free(p->dsp); ast_channel_free(tmp); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } /* if the requested state is different from DOWN, let the pbx manage this interface (now part of the newly created channel) */ @@ -869,9 +738,6 @@ if (ast_pbx_start(tmp)) { ERRORA("Unable to start PBX on %s\n", SKYPIAX_P_LOG, tmp->name); ast_channel_free(tmp); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } } @@ -893,15 +759,9 @@ ast_update_use_count(); /* return the newly created channel */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return tmp; } ERRORA("failed memory allocation for Skypiax channel\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -927,10 +787,6 @@ struct ast_flags config_flags = { 0 }; #endif /* ASTERISK_VERSION_1_6 */ - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - ast_log(LOG_DEBUG, "ENTERING FUNC\n"); - } #if defined(WANT_SKYPE_X11) || defined(__CYGWIN__) #ifndef __CYGWIN__ if (!XInitThreads()) @@ -949,9 +805,6 @@ i = ast_channel_register(&skypiax_tech); if (i < 0) { ERRORA("Unable to register channel type '%s'\n", SKYPIAX_P_LOG, skypiax_type); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } /* load skypiax.conf config file */ @@ -984,9 +837,6 @@ /* if error, unload config from memory and return */ ast_config_destroy(cfg); ast_channel_unregister(&skypiax_tech); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } /* do it for each category described in config */ @@ -997,9 +847,6 @@ } else { ERRORA("Unable to load skypiax_config skypiax.conf\n", SKYPIAX_P_LOG); ast_channel_unregister(&skypiax_tech); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } #ifndef ASTERISK_VERSION_1_6 @@ -1008,14 +855,8 @@ /* start to monitor the interfaces (skypiax_iflist) for the first time */ if (skypiax_restart_monitor()) { ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -1034,9 +875,6 @@ struct skypiax_pvt *p = NULL, *p2 = NULL; int res; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* unregister our channel type with Asterisk */ ast_channel_unregister(&skypiax_tech); @@ -1060,9 +898,6 @@ && (skypiax_monitor_thread != AST_PTHREADT_STOP)) { if (pthread_cancel(skypiax_monitor_thread)) { ERRORA("pthread_cancel failed, BAD\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } if (pthread_kill(skypiax_monitor_thread, SIGURG)) { @@ -1071,9 +906,6 @@ #ifndef __CYGWIN__ /* under cygwin, this seems to be not reliable, get stuck at times */ if (pthread_join(skypiax_monitor_thread, NULL)) { ERRORA("pthread_join failed, BAD\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } #endif /* __CYGWIN__ */ @@ -1128,9 +960,6 @@ sleep(5); /* without this pause, for some unknown (to me) reason it crashes on cygwin */ #endif /* __CYGWIN__ */ NOTICA("Unloaded Skypiax Module\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -1143,9 +972,6 @@ { int res; static struct skypiax_pvt *p = &skypiax_log_struct; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* lock the skypiax_usecnt lock */ LOKKA(&skypiax_usecnt_lock); /* retrieve the skypiax_usecnt */ @@ -1153,9 +979,6 @@ /* unlock the skypiax_usecnt lock */ UNLOCKA(&skypiax_usecnt_lock); /* return the skypiax_usecnt */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return res; } @@ -1166,13 +989,6 @@ */ char *description() { - static struct skypiax_pvt *p = &skypiax_log_struct; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return (char *) skypiax_desc; } @@ -1184,16 +1000,9 @@ char *key() { struct skypiax_pvt *p = NULL; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } - if (option_debug) NOTICA("Returning Key\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return ASTERISK_GPL_KEY; } @@ -1228,10 +1037,6 @@ /* alloc memory for PVT */ tmp = malloc(sizeof(struct skypiax_pvt)); if (tmp == NULL) { /* fail */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - ast_log(LOG_DEBUG, "EXITING FUNC\n"); - } return NULL; } /* clear memory for PVT */ @@ -1399,9 +1204,6 @@ if (res == -1) { ERRORA("Failed initializing sound device\n", SKYPIAX_TMP_LOG); /* we failed, free the PVT */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - } free(tmp); return NULL; } @@ -1421,7 +1223,6 @@ tmp->skype_thread = AST_PTHREADT_NULL; if (tmp->skype) { - if (option_debug > 1) ast_log(LOG_DEBUG, "TO BE started skype_thread=%lu STOP=%lu NULL=%lu\n", (unsigned long) tmp->skype_thread, (unsigned long) AST_PTHREADT_STOP, (unsigned long) AST_PTHREADT_NULL); @@ -1429,21 +1230,14 @@ if (ast_pthread_create (&tmp->skype_thread, NULL, do_skypeapi_thread, tmp) < 0) { ast_log(LOG_ERROR, "Unable to start skype_main thread.\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - } free(tmp); return NULL; } #else /* __CYGWIN__ */ #ifdef WANT_SKYPE_X11 - if (option_debug > 1) ast_log(LOG_DEBUG, "AsteriskHandlesfd: %d\n", tmp->SkypiaxHandles.fdesc[1]); if (ast_pthread_create(&tmp->skype_thread, NULL, do_skypeapi_thread, tmp) < 0) { ast_log(LOG_ERROR, "Unable to start skype_main thread.\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - } free(tmp); return NULL; } @@ -1452,13 +1246,9 @@ usleep(100000); //0.1 sec if( tmp->skype_thread == AST_PTHREADT_NULL){ ast_log(LOG_ERROR, "Unable to start skype_main thread.\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - } free(tmp); return NULL; } - if (option_debug > 1) ast_log(LOG_DEBUG, "STARTED skype_thread=%lu STOP=%lu NULL=%lu\n", (unsigned long) tmp->skype_thread, (unsigned long) AST_PTHREADT_STOP, (unsigned long) AST_PTHREADT_NULL); @@ -1516,9 +1306,6 @@ /* return the newly created skypiax_pvt */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG); - } return tmp; } @@ -1527,14 +1314,8 @@ { static struct skypiax_pvt *p = &skypiax_log_struct; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } /* If we're supposed to be stopped -- stay stopped */ if (skypiax_monitor_thread == AST_PTHREADT_STOP) { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } LOKKA(&skypiax_monlock); @@ -1542,9 +1323,6 @@ if (skypiax_monitor_thread == pthread_self()) { UNLOCKA(&skypiax_monlock); ERRORA("Cannot kill myself\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } /* if the monitor thread exists */ @@ -1556,16 +1334,10 @@ if (ast_pthread_create(&skypiax_monitor_thread, NULL, skypiax_do_monitor, NULL) < 0) { UNLOCKA(&skypiax_monlock); ERRORA("Unable to start monitor thread.\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } } UNLOCKA(&skypiax_monlock); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -1582,14 +1354,8 @@ struct timeval to; time_t now_timestamp; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL)) { ERRORA("Unable to set cancel type to deferred\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -1657,9 +1423,6 @@ continue; else { ERRORA("select returned %d: %s\n", SKYPIAX_P_LOG, res, strerror(errno)); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } } @@ -1694,9 +1457,6 @@ pthread_testcancel(); } /* Never reached */ - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -1712,12 +1472,6 @@ int skypiax_sound_init(struct skypiax_pvt *p) { - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return skypiax_skypeaudio_init(p); } @@ -1733,14 +1487,8 @@ int skypiax_sound_shutdown(struct skypiax_pvt *p) { - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } //return skypiax_portaudio_shutdown(p); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } @@ -1750,14 +1498,8 @@ struct ast_frame *f = NULL; int res; - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } res = skypiax_skypeaudio_read(p); f = &p->read_frame; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return f; } @@ -1766,13 +1508,7 @@ { int ret = -1; - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } ret = skypiax_skypeaudio_write(p, f); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return ret; } @@ -1785,16 +1521,10 @@ struct skypiax_pvt *p = data; int res; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } DEBUGA_SERIAL("In skypiax_do_controldev_thread: started, p=%p\n", SKYPIAX_P_LOG, p); if (pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL)) { ERRORA("Unable to set cancel type to deferred\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -1804,7 +1534,6 @@ if (p->skype) { res = skypiax_skype_read(p); if (res == CALLFLOW_INCOMING_HANGUP) { - if (option_debug) DEBUGA_SKYPE("skype call ended\n", SKYPIAX_P_LOG); if (p->owner) { pthread_testcancel(); @@ -1814,9 +1543,6 @@ } } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -1835,14 +1561,8 @@ { struct skypiax_pvt *p = NULL; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (sscanf(s, "%lf", boost) != 1) { ERRORA("invalid boost <%s>\n", SKYPIAX_P_LOG, s); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return; } if (*boost < -BOOST_MAX) { @@ -1853,7 +1573,6 @@ *boost = BOOST_MAX; } *boost = exp(log(10) * *boost / 20) * BOOST_SCALE; - if (option_debug > 1) DEBUGA_SOUND("setting boost %s to %f\n", SKYPIAX_P_LOG, s, *boost); } @@ -1863,38 +1582,23 @@ struct skypiax_pvt *skypiax_console_find_desc(char *dev) { struct skypiax_pvt *p = NULL; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } for (p = skypiax_iflist; p && strcmp(p->name, dev) != 0; p = p->next); if (p == NULL) WARNINGA("could not find <%s>\n", SKYPIAX_P_LOG, dev); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return p; } int skypiax_console_playback_boost(int fd, int argc, char *argv[]) { struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (argc > 2) { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SHOWUSAGE; } if (!p) { ast_cli(fd, "No \"current\" skypiax_console for playback_boost, please enter 'help skypiax_console'\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -1911,30 +1615,18 @@ 20 * log10(((double) p->playback_boost / (double) BOOST_SCALE))); } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } int skypiax_console_capture_boost(int fd, int argc, char *argv[]) { struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (argc > 2) { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SHOWUSAGE; } if (!p) { ast_cli(fd, "No \"current\" skypiax_console for capture_boost, please enter 'help skypiax_console'\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -1951,9 +1643,6 @@ 20 * log10(((double) p->capture_boost / (double) BOOST_SCALE))); } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -1961,36 +1650,21 @@ { struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (argc != 1) { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SHOWUSAGE; } if (!p) { ast_cli(fd, "No \"current\" skypiax_console for hanging up, please enter 'help skypiax_console'\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } if (!p->owner) { ast_cli(fd, "No call to hangup on the active skypiax_console, that is [%s]\n", skypiax_console_active); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_FAILURE; } if (p->owner) ast_queue_hangup(p->owner); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -1999,21 +1673,12 @@ char *s = NULL; struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active); - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (argc != 2) { - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SHOWUSAGE; } if (!p) { ast_cli(fd, "No \"current\" skypiax_console for dialing, please enter 'help skypiax_console'\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -2027,9 +1692,6 @@ f.subclass = s[i]; ast_queue_frame(p->owner, &f); } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } else ast_cli(fd, @@ -2037,9 +1699,6 @@ skypiax_console_active); if (s) free(s); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } int skypiax_console_set_active(int fd, int argc, char *argv[]) @@ -2093,9 +1752,6 @@ if (ast_pthread_create (&p->tcp_srv_thread, NULL, skypiax_do_tcp_srv_thread, p) < 0) { ERRORA("Unable to start tcp_srv_thread thread.\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } else { DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); @@ -2105,9 +1761,6 @@ if (ast_pthread_create (&p->tcp_cli_thread, NULL, skypiax_do_tcp_cli_thread, p) < 0) { ERRORA("Unable to start tcp_cli_thread thread.\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } else { DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); @@ -2230,14 +1883,8 @@ { int sent; - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } int skypiax_console_skype(int fd, int argc, char *argv[]) @@ -2254,17 +1901,8 @@ "No \"current\" console for skypiax_skype, please enter 'help console'\n"); return RESULT_SUCCESS; } - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } if (!p->skype) { ast_cli(fd, "The \"current\" console is not connected to a Skype client'\n"); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -2285,9 +1923,6 @@ break; } skypiax_skype_write(p, skype_msg); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return RESULT_SUCCESS; } @@ -2370,7 +2005,6 @@ } else { snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile); } - if (option_debug) NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn); time(&t); ast_copy_string(date, ctime(&t), sizeof(date)); @@ -2382,14 +2016,12 @@ if (p->phonebook_writing_fp) { if (add_to_skypiax_dir_conf) { - if (option_debug) NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn); fprintf(p->phonebook_writing_fp, ";!\n"); fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date); fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__); fprintf(p->phonebook_writing_fp, ";!\n"); } else { - if (option_debug) NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn); fprintf(p->phonebook_writing_fp, ";!\n"); fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n"); From gmaruzz at freeswitch.org Mon Feb 9 09:23:01 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:23:01 -0600 Subject: [Freeswitch-svn] [commit] r11709 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 11:23:01 2009 New Revision: 11709 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Mon Feb 9 11:23:01 2009 @@ -25,7 +25,6 @@ switch_mutex_t *mutex; } globals; -int option_debug = 100; switch_endpoint_interface_t *skypiax_endpoint_interface; switch_memory_pool_t *skypiax_module_pool = NULL; int running = 0; @@ -95,7 +94,6 @@ void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); tech_pvt->read_frame.data = tech_pvt->databuf; tech_pvt->read_frame.buflen = sizeof(tech_pvt->databuf); switch_mutex_init(&tech_pvt->mutex, SWITCH_MUTEX_NESTED, @@ -111,7 +109,6 @@ DEBUGA_SKYPE("skypiax_codec SUCCESS\n", SKYPIAX_P_LOG); } - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } /* @@ -585,7 +582,6 @@ int res; int forever = 1; - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); DEBUGA_SKYPE("In skypiax_signaling_thread_func: started, p=%p\n", SKYPIAX_P_LOG, (void *) tech_pvt); @@ -623,7 +619,6 @@ memset(tech_pvt->session_uuid_str, '\0', sizeof(tech_pvt->session_uuid_str)); } } - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); return NULL; } @@ -971,7 +966,6 @@ skypiax_endpoint_interface->io_routines = &skypiax_io_routines; skypiax_endpoint_interface->state_handler = &skypiax_state_handlers; - DEBUGA_SKYPE("EXITING FUNC!\n", SKYPIAX_P_LOG); if(running) /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 11:23:01 2009 @@ -11,10 +11,10 @@ extern switch_endpoint_interface_t *skypiax_endpoint_interface; #endif /* ASTERISK */ -extern int option_debug; extern int running; /*************************************/ +/* suspicious globals FIXME */ #ifdef WIN32 DWORD win32_dwThreadId; #else @@ -45,9 +45,6 @@ short kill_cli_buff[SAMPLES_PER_FRAME]; short totalbuf[SAMPLES_PER_FRAME]; - if (option_debug > 100) { - DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); - } memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ @@ -55,17 +52,11 @@ if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); @@ -183,9 +174,6 @@ DEBUGA_SKYPE("incoming audio server (I am it) GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(s); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -208,9 +196,6 @@ unsigned int sin_size; #endif /* WIN32 */ - if (option_debug > 100) { - DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); - } memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ @@ -218,17 +203,11 @@ if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } skypiax_close_socket(s); return NULL; } @@ -321,9 +300,6 @@ DEBUGA_SKYPE("outbound audio server (I am it) GONE\n", SKYPIAX_P_LOG); skypiax_close_socket(s); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return NULL; } @@ -391,9 +367,6 @@ struct timeval to; #endif /* WIN32 */ - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } memset(read_from_pipe, 0, 4096); memset(messaggio, 0, 4096); @@ -442,14 +415,10 @@ ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", SKYPIAX_P_LOG, messaggio); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { @@ -487,14 +456,10 @@ if (!strcasecmp(messaggio, "ERROR")) { ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { @@ -596,7 +561,6 @@ where = strsep(stringp, " "); - if (option_debug > 101) DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); @@ -643,7 +607,6 @@ if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { if (strcasecmp(id, tech_pvt->skype_call_id)) { strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - if (option_debug > 1) DEBUGA_SKYPE ("We called a Skype contact and he answered us on skype_call: %s.\n", SKYPIAX_P_LOG, id); @@ -674,7 +637,6 @@ skypiax_sleep(10000); sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); skypiax_skype_write(tech_pvt, msg_to_skype); - if (option_debug) DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, id); strncpy(tech_pvt->skype_call_id, id, @@ -710,14 +672,10 @@ } else if (!strcasecmp(value, "FINISHED")) { //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { @@ -726,16 +684,12 @@ } else if (!strcasecmp(value, "CANCELLED")) { tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; - if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { @@ -743,22 +697,17 @@ } } else if (!strcasecmp(value, "FAILED")) { tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; - if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return CALLFLOW_INCOMING_HANGUP; } else if (!strcasecmp(value, "REFUSED")) { if (!strcasecmp(id, tech_pvt->skype_call_id)) { /* this is the id of the call we are in, probably we generated it */ tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; - if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", SKYPIAX_P_LOG, id); @@ -766,9 +715,6 @@ sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; tech_pvt->skype_call_id[0] = '\0'; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return CALLFLOW_INCOMING_HANGUP; } else { /* we're here because were us that refused an incoming call */ @@ -825,19 +771,12 @@ } } - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - //DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); return 0; } int skypiax_skype_senddigit(private_t * tech_pvt, char digit) { char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); @@ -845,9 +784,6 @@ skypiax_skype_write(tech_pvt, msg_to_skype); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -855,9 +791,6 @@ { char msg_to_skype[1024]; - if (option_debug > 10) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } skypiax_sleep(5000); DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); skypiax_skype_write(tech_pvt, "SET AGC OFF"); @@ -869,9 +802,6 @@ if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) { ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG); - if (option_debug > 10) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } return 0; @@ -988,11 +918,7 @@ DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } sprintf(acInputRow, "%s", msg_to_skype); - if (option_debug > 100) DEBUGA_SKYPE("acInputRow: |||%s||||\n", SKYPIAX_P_LOG, acInputRow); /* send command to skype */ oCopyData.dwData = 0; @@ -1006,16 +932,10 @@ ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } } - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -1319,24 +1239,15 @@ DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); - if (option_debug > 100) { - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - } SkypiaxHandles = &tech_pvt->SkypiaxHandles; if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) { ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax, then restart Skype, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return -1; } - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } return 0; } @@ -1407,7 +1318,6 @@ Window root = -1; Window win = -1; - DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); if (!strlen(tech_pvt->X11_display)) strcpy(tech_pvt->X11_display, getenv("DISPLAY")); @@ -1455,7 +1365,6 @@ ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); running = 0; return NULL; } @@ -1465,7 +1374,6 @@ ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); running = 0; return NULL; } @@ -1517,7 +1425,6 @@ running = 0; return NULL; } - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); running = 0; return NULL; From gmaruzz at freeswitch.org Mon Feb 9 09:25:07 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:25:07 -0600 Subject: [Freeswitch-svn] [commit] r11710 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 11:25:07 2009 New Revision: 11710 Log: skypiax: cleaning on Visual C Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Mon Feb 9 11:25:07 2009 @@ -948,8 +948,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load) { - private_t *tech_pvt = NULL; //for logging - skypiax_module_pool = pool; memset(&globals, '\0', sizeof(globals)); From gmaruzz at freeswitch.org Mon Feb 9 09:34:30 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:34:30 -0600 Subject: [Freeswitch-svn] [commit] r11711 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 11:34:30 2009 New Revision: 11711 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 11:34:30 2009 @@ -303,34 +303,6 @@ return NULL; } -int skypiax_skypeaudio_init(private_t * tech_pvt) -{ - -#if defined(WIN32) && !defined(__CYGWIN__) - switch_status_t rv; - rv = - switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], - skypiax_module_pool); - rv = - switch_file_pipe_create(&tech_pvt->audioskypepipe[0], &tech_pvt->audioskypepipe[1], - skypiax_module_pool); -#else /* WIN32 */ - if (pipe(tech_pvt->audiopipe)) { - fcntl(tech_pvt->audiopipe[0], F_SETFL, O_NONBLOCK); - fcntl(tech_pvt->audiopipe[1], F_SETFL, O_NONBLOCK); - } - if (pipe(tech_pvt->audioskypepipe)) { - fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK); - fcntl(tech_pvt->audioskypepipe[1], F_SETFL, O_NONBLOCK); - } -#endif /* WIN32 */ - -/* this pipe is the audio fd for asterisk to poll on during a call. FS do not use it */ - tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; - - return 0; -} - int skypiax_skypeaudio_read(private_t * tech_pvt) { unsigned int samples; @@ -843,7 +815,17 @@ return res; } - +int skypiax_skypeaudio_init(private_t * tech_pvt) +{ + switch_status_t rv; + rv = + switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], + skypiax_module_pool); + rv = + switch_file_pipe_create(&tech_pvt->audioskypepipe[0], &tech_pvt->audioskypepipe[1], + skypiax_module_pool); + return 0; +} #else /* WIN32 */ int skypiax_pipe_read(int pipe, short *buf, int howmany) { @@ -863,6 +845,22 @@ return res; } +int skypiax_skypeaudio_init(private_t * tech_pvt) +{ + if (pipe(tech_pvt->audiopipe)) { + fcntl(tech_pvt->audiopipe[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->audiopipe[1], F_SETFL, O_NONBLOCK); + } + if (pipe(tech_pvt->audioskypepipe)) { + fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->audioskypepipe[1], F_SETFL, O_NONBLOCK); + } + +/* this pipe is the audio fd for asterisk to poll on during a call. FS do not use it */ + tech_pvt->skypiax_sound_capt_fd = tech_pvt->audiopipe[0]; + + return 0; +} #endif /* WIN32 */ From gmaruzz at freeswitch.org Mon Feb 9 09:35:00 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:35:00 -0600 Subject: [Freeswitch-svn] [commit] r11712 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 11:35:00 2009 New Revision: 11712 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 11:35:00 2009 @@ -230,13 +230,13 @@ if (!running) break; - fdselect = fd; + fdselect = fd; FD_ZERO(&fs); FD_SET(fdselect, &fs); to.tv_usec = 2000000; //2000 msec to.tv_sec = 0; - rt = select(fdselect + 1, NULL, &fs, NULL, &to); + rt = select(fdselect + 1, NULL, &fs, NULL, &to); if (rt > 0) { @@ -246,7 +246,7 @@ SAMPLES_PER_FRAME * sizeof(short)); if (got != SAMPLES_PER_FRAME * sizeof(short)) { WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); + SAMPLES_PER_FRAME * sizeof(short)); } if (got == SAMPLES_PER_FRAME * sizeof(short)) { @@ -284,7 +284,7 @@ } else { WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); + SAMPLES_PER_FRAME * sizeof(short)); } } else { if (rt) @@ -307,17 +307,19 @@ { unsigned int samples; - samples = - skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, SAMPLES_PER_FRAME * sizeof(short)); - - if (samples != SAMPLES_PER_FRAME * sizeof(short)) { - if (samples) - WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); - return 0; - } else { - /* A real frame */ - tech_pvt->read_frame.datalen = samples; - } + samples = + skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, + SAMPLES_PER_FRAME * sizeof(short)); + + if (samples != SAMPLES_PER_FRAME * sizeof(short)) { + if (samples) + WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, + SAMPLES_PER_FRAME * sizeof(short)); + return 0; + } else { + /* A real frame */ + tech_pvt->read_frame.datalen = samples; + } return 1; } @@ -339,7 +341,6 @@ struct timeval to; #endif /* WIN32 */ - memset(read_from_pipe, 0, 4096); memset(messaggio, 0, 4096); memset(messaggio_2, 0, 4096); @@ -387,7 +388,7 @@ ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", SKYPIAX_P_LOG, messaggio); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { @@ -428,7 +429,7 @@ if (!strcasecmp(messaggio, "ERROR")) { ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { @@ -533,9 +534,9 @@ where = strsep(stringp, " "); - DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); if (!strcasecmp(prop, "PARTNER_HANDLE")) { strncpy(tech_pvt->callid_number, value, @@ -579,9 +580,9 @@ if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { if (strcasecmp(id, tech_pvt->skype_call_id)) { strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE - ("We called a Skype contact and he answered us on skype_call: %s.\n", - SKYPIAX_P_LOG, id); + DEBUGA_SKYPE + ("We called a Skype contact and he answered us on skype_call: %s.\n", + SKYPIAX_P_LOG, id); } } @@ -609,8 +610,8 @@ skypiax_sleep(10000); sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); skypiax_skype_write(tech_pvt, msg_to_skype); - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", - SKYPIAX_P_LOG, id); + DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", + SKYPIAX_P_LOG, id); strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); } else { @@ -644,7 +645,7 @@ } else if (!strcasecmp(value, "FINISHED")) { //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { @@ -656,9 +657,9 @@ } else if (!strcasecmp(value, "CANCELLED")) { tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", - SKYPIAX_P_LOG, id); + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", + SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { @@ -669,9 +670,9 @@ } } else if (!strcasecmp(value, "FAILED")) { tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", - SKYPIAX_P_LOG, id); + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", + SKYPIAX_P_LOG, id); tech_pvt->skype_call_id[0] = '\0'; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; @@ -680,9 +681,9 @@ if (!strcasecmp(id, tech_pvt->skype_call_id)) { /* this is the id of the call we are in, probably we generated it */ tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", - SKYPIAX_P_LOG, id); + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + SKYPIAX_P_LOG, id); strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; @@ -708,7 +709,7 @@ tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_UP; - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, tech_pvt->tcp_cli_port); skypiax_skype_write(tech_pvt, msg_to_skype); @@ -815,6 +816,7 @@ return res; } + int skypiax_skypeaudio_init(private_t * tech_pvt) { switch_status_t rv; @@ -845,6 +847,7 @@ return res; } + int skypiax_skypeaudio_init(private_t * tech_pvt) { if (pipe(tech_pvt->audiopipe)) { @@ -863,7 +866,6 @@ } #endif /* WIN32 */ - #ifdef WIN32 enum { @@ -917,7 +919,7 @@ DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); sprintf(acInputRow, "%s", msg_to_skype); - DEBUGA_SKYPE("acInputRow: |||%s||||\n", SKYPIAX_P_LOG, acInputRow); + DEBUGA_SKYPE("acInputRow: |||%s||||\n", SKYPIAX_P_LOG, acInputRow); /* send command to skype */ oCopyData.dwData = 0; oCopyData.lpData = acInputRow; @@ -1105,7 +1107,6 @@ tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; } - void *skypiax_do_skypeapi_thread_func(void *obj) { private_t *tech_pvt = obj; @@ -1250,7 +1251,6 @@ } - int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles) { Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True); @@ -1316,7 +1316,6 @@ Window root = -1; Window win = -1; - if (!strlen(tech_pvt->X11_display)) strcpy(tech_pvt->X11_display, getenv("DISPLAY")); @@ -1428,5 +1427,3 @@ } #endif // WIN32 - - From mikej at freeswitch.org Mon Feb 9 09:56:38 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 11:56:38 -0600 Subject: [Freeswitch-svn] [commit] r11713 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Mon Feb 9 11:56:38 2009 New Revision: 11713 Log: use sofia specific flag macros Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Mon Feb 9 11:56:38 2009 @@ -85,15 +85,15 @@ sofia_glue_tech_absorb_sdp(tech_pvt); } - if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { + if (sofia_test_flag(tech_pvt, TFLAG_OUTBOUND)) { const char *var; if ((var = switch_channel_get_variable(channel, SOFIA_SECURE_MEDIA_VARIABLE)) && !switch_strlen_zero(var)) { if (switch_true(var) || !strcasecmp(var, SWITCH_RTP_CRYPTO_KEY_32)) { - switch_set_flag_locked(tech_pvt, TFLAG_SECURE); + sofia_set_flag_locked(tech_pvt, TFLAG_SECURE); sofia_glue_build_crypto(tech_pvt, 1, AES_CM_128_HMAC_SHA1_32, SWITCH_RTP_CRYPTO_SEND); } else if (!strcasecmp(var, SWITCH_RTP_CRYPTO_KEY_80)) { - switch_set_flag_locked(tech_pvt, TFLAG_SECURE); + sofia_set_flag_locked(tech_pvt, TFLAG_SECURE); sofia_glue_build_crypto(tech_pvt, 1, AES_CM_128_HMAC_SHA1_80, SWITCH_RTP_CRYPTO_SEND); } } @@ -123,8 +123,8 @@ private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + if (!sofia_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA ROUTING\n", switch_channel_get_name(switch_core_session_get_channel(session))); @@ -138,8 +138,8 @@ private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + if (!sofia_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA RESET\n", switch_channel_get_name(switch_core_session_get_channel(session))); @@ -153,8 +153,8 @@ private_object_t *tech_pvt = switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + if (!sofia_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA HIBERNATE\n", switch_channel_get_name(switch_core_session_get_channel(session))); @@ -167,8 +167,8 @@ private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + if (!sofia_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA EXECUTE\n", switch_channel_get_name(switch_core_session_get_channel(session))); @@ -256,7 +256,7 @@ } } - if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) && cause != SWITCH_CAUSE_ATTENDED_TRANSFER) { + if (sofia_test_flag(tech_pvt, TFLAG_SIP_HOLD) && cause != SWITCH_CAUSE_ATTENDED_TRANSFER) { const char *buuid; switch_core_session_t *bsession; switch_channel_t *bchannel; @@ -279,7 +279,7 @@ switch_core_session_rwunlock(bsession); } } - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } sofia_glue_deactivate_rtp(tech_pvt); @@ -305,7 +305,7 @@ - if (tech_pvt->nh && !switch_test_flag(tech_pvt, TFLAG_BYE)) { + if (tech_pvt->nh && !sofia_test_flag(tech_pvt, TFLAG_BYE)) { char reason[128] = ""; switch_stream_handle_t stream = { 0 }; switch_event_header_t *hi; @@ -337,7 +337,7 @@ switch_snprintf(reason, sizeof(reason), "FreeSWITCH;cause=%d;text=\"%s\"", cause, switch_channel_cause2str(cause)); } - if (switch_test_flag(tech_pvt, TFLAG_ANS)) { + if (sofia_test_flag(tech_pvt, TFLAG_ANS)) { if (!tech_pvt->got_bye) { switch_channel_set_variable(channel, "sip_hangup_disposition", "send_bye"); } @@ -347,7 +347,7 @@ TAG_IF(!switch_strlen_zero(bye_headers), SIPTAG_HEADER_STR(bye_headers)), TAG_END()); } else { - if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { + if (sofia_test_flag(tech_pvt, TFLAG_OUTBOUND)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending CANCEL to %s\n", switch_channel_get_name(channel)); if (!tech_pvt->got_bye) { switch_channel_set_variable(channel, "sip_hangup_disposition", "send_cancel"); @@ -369,7 +369,7 @@ } } - switch_set_flag(tech_pvt, TFLAG_BYE); + sofia_set_flag(tech_pvt, TFLAG_BYE); switch_safe_free(stream.data); } @@ -422,7 +422,7 @@ int is_proxy = 0; char *sticky = NULL; - if (switch_test_flag(tech_pvt, TFLAG_ANS) || switch_channel_test_flag(channel, CF_OUTBOUND)) { + if (sofia_test_flag(tech_pvt, TFLAG_ANS) || switch_channel_test_flag(channel, CF_OUTBOUND)) { return SWITCH_STATUS_SUCCESS; } @@ -441,7 +441,7 @@ } } else { /* This if statement check and handles the 3pcc proxy mode */ - if ((tech_pvt->profile->pflags & PFLAG_3PCC_PROXY) && switch_test_flag(tech_pvt, TFLAG_3PCC)) { + if ((tech_pvt->profile->pflags & PFLAG_3PCC_PROXY) && sofia_test_flag(tech_pvt, TFLAG_3PCC)) { /* Send the 200 OK */ nua_respond(tech_pvt->nh, SIP_200_OK, SIPTAG_CONTACT_STR(tech_pvt->profile->url), @@ -454,7 +454,7 @@ // Maybe we should timeout? switch_mutex_unlock(tech_pvt->sofia_mutex); - while(switch_channel_ready(channel) && !switch_test_flag(tech_pvt, TFLAG_3PCC_HAS_ACK)) { + while(switch_channel_ready(channel) && !sofia_test_flag(tech_pvt, TFLAG_3PCC_HAS_ACK)) { switch_cond_next(); } @@ -464,8 +464,8 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "3PCC-PROXY, Done waiting for ACK\n"); } - if ((is_proxy && !b_sdp) || switch_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || !tech_pvt->iananame) { - switch_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); + if ((is_proxy && !b_sdp) || sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || !tech_pvt->iananame) { + sofia_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); if (is_proxy) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Disabling proxy mode due to call answer with no bridge\n"); @@ -512,7 +512,7 @@ } } - if (switch_test_flag(tech_pvt, TFLAG_NAT) || + if (sofia_test_flag(tech_pvt, TFLAG_NAT) || (val = switch_channel_get_variable(channel, "sip-force-contact")) || ((val = switch_channel_get_variable(channel, "sip_sticky_contact")) && switch_true(val))) { sticky = tech_pvt->record_route; @@ -528,7 +528,7 @@ SIPTAG_CONTACT_STR(tech_pvt->reply_contact), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); - switch_set_flag_locked(tech_pvt, TFLAG_ANS); + sofia_set_flag_locked(tech_pvt, TFLAG_ANS); return SWITCH_STATUS_SUCCESS; } @@ -541,7 +541,7 @@ switch_assert(tech_pvt != NULL); - if (switch_test_flag(tech_pvt, TFLAG_HUP)) { + if (sofia_test_flag(tech_pvt, TFLAG_HUP)) { return SWITCH_STATUS_FALSE; } @@ -555,17 +555,17 @@ tech_pvt->video_read_frame.datalen = 0; - if (switch_test_flag(tech_pvt, TFLAG_IO)) { + if (sofia_test_flag(tech_pvt, TFLAG_IO)) { switch_status_t status; - if (!switch_test_flag(tech_pvt, TFLAG_RTP)) { + if (!sofia_test_flag(tech_pvt, TFLAG_RTP)) { return SWITCH_STATUS_GENERR; } switch_assert(tech_pvt->rtp_session != NULL); tech_pvt->video_read_frame.datalen = 0; - while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->video_read_frame.datalen == 0) { + while (sofia_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->video_read_frame.datalen == 0) { tech_pvt->video_read_frame.flags = SFF_NONE; status = switch_rtp_zerocopy_read_frame(tech_pvt->video_rtp_session, &tech_pvt->video_read_frame, flags); @@ -610,19 +610,19 @@ } } - if (switch_test_flag(tech_pvt, TFLAG_HUP)) { + if (sofia_test_flag(tech_pvt, TFLAG_HUP)) { return SWITCH_STATUS_FALSE; } - if (!switch_test_flag(tech_pvt, TFLAG_RTP)) { + if (!sofia_test_flag(tech_pvt, TFLAG_RTP)) { return SWITCH_STATUS_GENERR; } - if (!switch_test_flag(tech_pvt, TFLAG_IO)) { + if (!sofia_test_flag(tech_pvt, TFLAG_IO)) { return SWITCH_STATUS_SUCCESS; } - if (!switch_test_flag(frame, SFF_CNG)) { + if (!sofia_test_flag(frame, SFF_CNG)) { switch_rtp_write_frame(tech_pvt->video_rtp_session, frame); } @@ -637,12 +637,12 @@ switch_assert(tech_pvt != NULL); - if (!(tech_pvt->profile->pflags & PFLAG_RUNNING)) { + if (!sofia_test_pflag(tech_pvt->profile, PFLAG_RUNNING)) { switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_NORMAL_CLEARING); return SWITCH_STATUS_FALSE; } - if (switch_test_flag(tech_pvt, TFLAG_HUP)) { + if (sofia_test_flag(tech_pvt, TFLAG_HUP)) { return SWITCH_STATUS_FALSE; } @@ -655,23 +655,23 @@ } tech_pvt->read_frame.datalen = 0; - switch_set_flag_locked(tech_pvt, TFLAG_READING); + sofia_set_flag_locked(tech_pvt, TFLAG_READING); - if (switch_test_flag(tech_pvt, TFLAG_HUP) || switch_test_flag(tech_pvt, TFLAG_BYE) || !tech_pvt->read_codec.implementation) { + if (sofia_test_flag(tech_pvt, TFLAG_HUP) || sofia_test_flag(tech_pvt, TFLAG_BYE) || !tech_pvt->read_codec.implementation) { return SWITCH_STATUS_FALSE; } - if (switch_test_flag(tech_pvt, TFLAG_IO)) { + if (sofia_test_flag(tech_pvt, TFLAG_IO)) { switch_status_t status; - if (!switch_test_flag(tech_pvt, TFLAG_RTP)) { + if (!sofia_test_flag(tech_pvt, TFLAG_RTP)) { return SWITCH_STATUS_GENERR; } switch_assert(tech_pvt->rtp_session != NULL); tech_pvt->read_frame.datalen = 0; - while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) { + while (sofia_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) { tech_pvt->read_frame.flags = SFF_NONE; status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame, flags); @@ -684,8 +684,8 @@ } /* Fast PASS! */ - if (switch_test_flag((&tech_pvt->read_frame), SFF_PROXY_PACKET)) { - switch_clear_flag_locked(tech_pvt, TFLAG_READING); + if (sofia_test_flag((&tech_pvt->read_frame), SFF_PROXY_PACKET)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_READING); *frame = &tech_pvt->read_frame; return SWITCH_STATUS_SUCCESS; } @@ -702,7 +702,7 @@ size_t bytes = 0; int frames = 1; - if (!switch_test_flag((&tech_pvt->read_frame), SFF_CNG)) { + if (!sofia_test_flag((&tech_pvt->read_frame), SFF_CNG)) { if (!tech_pvt->read_codec.implementation) { *frame = NULL; return SWITCH_STATUS_GENERR; @@ -820,7 +820,7 @@ } } - switch_clear_flag_locked(tech_pvt, TFLAG_READING); + sofia_clear_flag_locked(tech_pvt, TFLAG_READING); if (tech_pvt->read_frame.datalen == 0) { *frame = NULL; @@ -853,25 +853,25 @@ return SWITCH_STATUS_GENERR; } - if (switch_test_flag(tech_pvt, TFLAG_HUP)) { + if (sofia_test_flag(tech_pvt, TFLAG_HUP)) { return SWITCH_STATUS_FALSE; } - if (!switch_test_flag(tech_pvt, TFLAG_RTP)) { + if (!sofia_test_flag(tech_pvt, TFLAG_RTP)) { return SWITCH_STATUS_GENERR; } - if (!switch_test_flag(tech_pvt, TFLAG_IO)) { + if (!sofia_test_flag(tech_pvt, TFLAG_IO)) { return SWITCH_STATUS_SUCCESS; } - if (switch_test_flag(tech_pvt, TFLAG_BYE) || !tech_pvt->read_codec.implementation) { + if (sofia_test_flag(tech_pvt, TFLAG_BYE) || !tech_pvt->read_codec.implementation) { return SWITCH_STATUS_FALSE; } - switch_set_flag_locked(tech_pvt, TFLAG_WRITING); + sofia_set_flag_locked(tech_pvt, TFLAG_WRITING); - if (!switch_test_flag(frame, SFF_CNG) && !switch_test_flag(frame, SFF_PROXY_PACKET)) { + if (!sofia_test_flag(frame, SFF_CNG) && !sofia_test_flag(frame, SFF_PROXY_PACKET)) { if (tech_pvt->read_impl.encoded_bytes_per_packet) { bytes = tech_pvt->read_impl.encoded_bytes_per_packet; frames = ((int) frame->datalen / bytes); @@ -884,7 +884,7 @@ tech_pvt->timestamp_send += samples; switch_rtp_write_frame(tech_pvt->rtp_session, frame); - switch_clear_flag_locked(tech_pvt, TFLAG_WRITING); + sofia_clear_flag_locked(tech_pvt, TFLAG_WRITING); return status; } @@ -907,8 +907,8 @@ break; case SWITCH_SIG_KILL: default: - switch_clear_flag_locked(tech_pvt, TFLAG_IO); - switch_set_flag_locked(tech_pvt, TFLAG_HUP); + sofia_clear_flag_locked(tech_pvt, TFLAG_IO); + sofia_set_flag_locked(tech_pvt, TFLAG_HUP); if (switch_rtp_ready(tech_pvt->rtp_session)) { switch_rtp_kill_socket(tech_pvt->rtp_session); @@ -979,7 +979,7 @@ { const char *var; if ((var = switch_channel_get_variable(channel, SOFIA_SECURE_MEDIA_VARIABLE)) && switch_true(var)) { - switch_set_flag_locked(tech_pvt, TFLAG_SECURE); + sofia_set_flag_locked(tech_pvt, TFLAG_SECURE); } } break; @@ -1062,7 +1062,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Sending media re-direct:\n%s\n", switch_channel_get_name(channel), msg->string_arg); tech_pvt->local_sdp_str = switch_core_session_strdup(session, msg->string_arg); - switch_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); + sofia_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); sofia_glue_do_invite(session); } break; @@ -1078,7 +1078,7 @@ switch_channel_get_name(channel), tech_pvt->local_sdp_str); - switch_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); + sofia_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); sofia_glue_do_invite(session); } break; @@ -1133,7 +1133,7 @@ case SWITCH_MESSAGE_INDICATE_HOLD: { - switch_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); sofia_glue_do_invite(session); if (!switch_strlen_zero(msg->string_arg)) { char message[256] = ""; @@ -1145,7 +1145,7 @@ case SWITCH_MESSAGE_INDICATE_UNHOLD: { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); sofia_glue_do_invite(session); } break; @@ -1154,7 +1154,7 @@ if (!switch_channel_test_flag(channel, CF_ANSWERED)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting to %s\n", msg->string_arg); nua_respond(tech_pvt->nh, SIP_302_MOVED_TEMPORARILY, SIPTAG_CONTACT_STR(msg->string_arg), TAG_END()); - switch_set_flag_locked(tech_pvt, TFLAG_BYE); + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Too late for redirecting to %s, already answered\n", msg->string_arg); } @@ -1241,7 +1241,7 @@ SIPTAG_SUPPORTED_STR(NULL), SIPTAG_ACCEPT_STR(NULL), TAG_IF(!switch_strlen_zero(max_forwards), SIPTAG_MAX_FORWARDS_STR(max_forwards)), TAG_END()); if (!switch_channel_test_flag(channel, CF_ANSWERED)) { - switch_set_flag_locked(tech_pvt, TFLAG_BYE); + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); } } else if (code == 302 && !switch_strlen_zero(msg->string_arg)) { char * p = strchr(msg->string_arg, ' '); @@ -1267,7 +1267,7 @@ nua_respond(tech_pvt->nh, code, su_strdup(tech_pvt->nh->nh_home, reason), SIPTAG_CONTACT_STR(tech_pvt->reply_contact), TAG_END()); } if (!switch_channel_test_flag(channel, CF_ANSWERED) && code >= 300) { - switch_set_flag_locked(tech_pvt, TFLAG_BYE); + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); } } @@ -1288,9 +1288,9 @@ char *sticky = NULL; const char *val = NULL; - if (!switch_test_flag(tech_pvt, TFLAG_ANS) && !switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { + if (!sofia_test_flag(tech_pvt, TFLAG_ANS) && !sofia_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { - switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); + sofia_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Asked to send early media by %s\n", msg->from); /* Transmit 183 Progress with SDP */ @@ -1307,8 +1307,8 @@ } } } else { - if (switch_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || !tech_pvt->iananame) { - switch_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); + if (sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || !tech_pvt->iananame) { + sofia_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); if (!switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) { const char *r_sdp = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE); @@ -1338,7 +1338,7 @@ switch_channel_mark_pre_answered(channel); - if (switch_test_flag(tech_pvt, TFLAG_NAT) || + if (sofia_test_flag(tech_pvt, TFLAG_NAT) || (val = switch_channel_get_variable(channel, "sip-force-contact")) || ((val = switch_channel_get_variable(channel, "sip_sticky_contact")) && switch_true(val))) { sticky = tech_pvt->record_route; @@ -1574,9 +1574,9 @@ stream->write_function(stream, "CNG \t%d\n", profile->cng_pt); stream->write_function(stream, "SESSION-TO \t%d\n", profile->session_timeout); stream->write_function(stream, "MAX-DIALOG \t%d\n", profile->max_proceeding); - stream->write_function(stream, "NOMEDIA \t%s\n", switch_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false"); - stream->write_function(stream, "LATE-NEG \t%s\n", switch_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false"); - stream->write_function(stream, "PROXY-MEDIA \t%s\n", switch_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false"); + stream->write_function(stream, "NOMEDIA \t%s\n", sofia_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false"); + stream->write_function(stream, "LATE-NEG \t%s\n", sofia_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false"); + stream->write_function(stream, "PROXY-MEDIA \t%s\n", sofia_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false"); stream->write_function(stream, "AGGRESSIVENAT \t%s\n", sofia_test_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION) ? "true" : "false"); stream->write_function(stream, "STUN_ENABLED \t%s\n", sofia_test_pflag(profile, PFLAG_STUN_ENABLED) ? "true" : "false"); stream->write_function(stream, "STUN_AUTO_DISABLE\t%s\n", sofia_test_pflag(profile, PFLAG_STUN_AUTO_DISABLE) ? "true" : "false"); @@ -1765,9 +1765,9 @@ stream->write_function(stream, "%d\n", profile->cng_pt); stream->write_function(stream, "%d\n", profile->session_timeout); stream->write_function(stream, "%d\n", profile->max_proceeding); - stream->write_function(stream, "%s\n", switch_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false"); - stream->write_function(stream, "%s\n", switch_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false"); - stream->write_function(stream, "%s\n", switch_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false"); + stream->write_function(stream, "%s\n", sofia_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false"); + stream->write_function(stream, "%s\n", sofia_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false"); + stream->write_function(stream, "%s\n", sofia_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false"); stream->write_function(stream, "%s\n", sofia_test_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION) ? "true" : "false"); stream->write_function(stream, "%s\n", sofia_test_pflag(profile, PFLAG_STUN_ENABLED) ? "true" : "false"); stream->write_function(stream, "%s\n", sofia_test_pflag(profile, PFLAG_STUN_AUTO_DISABLE) ? "true" : "false"); @@ -1920,9 +1920,9 @@ if (argv[2]) { int is_true = switch_true(argv[2]); if (is_true) { - profile->pflags |= PFLAG_STUN_AUTO_DISABLE; + sofia_set_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } else { - profile->pflags &= ~PFLAG_STUN_AUTO_DISABLE; + sofia_clear_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } } @@ -1935,9 +1935,9 @@ if (argv[2]) { int is_true = switch_true(argv[2]); if (is_true) { - profile->pflags |= PFLAG_STUN_ENABLED; + sofia_set_pflag(profile, PFLAG_STUN_ENABLED); } else { - profile->pflags &= ~PFLAG_STUN_ENABLED; + sofia_clear_pflag(profile, PFLAG_STUN_ENABLED); } } @@ -2417,7 +2417,7 @@ tech_pvt->gateway_name = switch_core_session_strdup(nsession, gateway_ptr->name); switch_channel_set_variable(nchannel, "sip_gateway_name", gateway_ptr->name); - if (!switch_test_flag(gateway_ptr, REG_FLAG_CALLERID)) { + if (!sofia_test_flag(gateway_ptr, REG_FLAG_CALLERID)) { tech_pvt->gateway_from_str = switch_core_session_strdup(nsession, gateway_ptr->register_from); } @@ -2522,8 +2522,8 @@ caller_profile->destination_number = switch_core_strdup(caller_profile->pool, dest); switch_channel_set_caller_profile(nchannel, caller_profile); switch_channel_set_flag(nchannel, CF_OUTBOUND); - switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); - switch_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); + sofia_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); + sofia_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); if (switch_channel_get_state(nchannel) == CS_NEW) { switch_channel_set_state(nchannel, CS_INIT); } @@ -2572,7 +2572,7 @@ tech_pvt->video_rm_rate = 90000; tech_pvt->video_codec_ms = 0; switch_channel_set_flag(tech_pvt->channel, CF_VIDEO); - switch_set_flag(tech_pvt, TFLAG_VIDEO); + sofia_set_flag(tech_pvt, TFLAG_VIDEO); } } } Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Mon Feb 9 11:56:38 2009 @@ -595,6 +595,11 @@ #define sofia_clear_pflag(obj, flag) (obj)->pflags &= ~(flag) #define sofia_copy_pflags(dest, src, flags) (dest)->pflags &= ~(flags); (dest)->pflags |= ((src)->pflags & (flags)) +#define sofia_set_flag_locked(obj, flag) switch_set_flag_locked(obj, flag) +#define sofia_set_flag(obj, flag) switch_set_flag(obj, flag) +#define sofia_clear_flag_locked(obj, flag) switch_clear_flag_locked(obj, flag) +#define sofia_test_flag(obj, flag) switch_test_flag(obj, flag) + /* Function Prototypes */ /*************************************************************************************************************************************************************/ @@ -785,4 +790,3 @@ void sofia_sla_handle_sip_i_subscribe(nua_t *nua, const char *contact_str, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, tagi_t tags[]); void sofia_sla_handle_sip_r_subscribe(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, tagi_t tags[]); void sofia_sla_handle_sip_i_notify(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, tagi_t tags[]); - Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Feb 9 11:56:38 2009 @@ -377,7 +377,7 @@ sofia_private->destroy_me = 22; } - if ((profile->pflags & PFLAG_AUTH_ALL) && tech_pvt && tech_pvt->key && sip) { + if (sofia_test_pflag(profile, PFLAG_AUTH_ALL) && tech_pvt && tech_pvt->key && sip) { sip_authorization_t const *authorization = NULL; if (sip->sip_authorization) { @@ -709,7 +709,7 @@ goto end; } - if (switch_test_flag(profile, TFLAG_TPORT_LOG)) { + if (sofia_test_flag(profile, TFLAG_TPORT_LOG)) { tportlog = 1; } @@ -1226,7 +1226,7 @@ gateway->auth_username = switch_core_strdup(gateway->pool, auth_username); gateway->register_password = switch_core_strdup(gateway->pool, password); if (switch_true(caller_id_in_from)) { - switch_set_flag(gateway, REG_FLAG_CALLERID); + sofia_set_flag(gateway, REG_FLAG_CALLERID); } register_transport = (char *) sofia_glue_transport2str(gateway->register_transport); if (contact_params) { @@ -1365,7 +1365,7 @@ /* you could change profile->foo here if it was a minor change like context or dialplan ... */ profile->rport_level = 1; /* default setting */ profile->acl_count = 0; - profile->pflags |= PFLAG_STUN_ENABLED; + sofia_set_pflag(profile, PFLAG_STUN_ENABLED); if (xprofiledomain) { profile->domain_name = switch_core_strdup(profile->pool, xprofiledomain); @@ -1399,7 +1399,7 @@ profile->record_template = switch_core_strdup(profile->pool, val);; } else if ((!strcasecmp(var, "inbound-no-media") || !strcasecmp(var, "inbound-bypass-media"))) { if (switch_true(val)) { - switch_set_flag(profile, TFLAG_INB_NOMEDIA); + sofia_set_flag(profile, TFLAG_INB_NOMEDIA); } else { switch_clear_flag(profile, TFLAG_INB_NOMEDIA); } @@ -1410,69 +1410,69 @@ } } else if (!strcasecmp(var, "inbound-late-negotiation")) { if (switch_true(val)) { - switch_set_flag(profile, TFLAG_LATE_NEGOTIATION); + sofia_set_flag(profile, TFLAG_LATE_NEGOTIATION); } else { switch_clear_flag(profile, TFLAG_LATE_NEGOTIATION); } } else if (!strcasecmp(var, "inbound-proxy-media")) { if (switch_true(val)) { - switch_set_flag(profile, TFLAG_PROXY_MEDIA); + sofia_set_flag(profile, TFLAG_PROXY_MEDIA); } else { switch_clear_flag(profile, TFLAG_PROXY_MEDIA); } } else if (!strcasecmp(var, "inbound-use-callid-as-uuid")) { if (switch_true(val)) { - profile->pflags |= PFLAG_CALLID_AS_UUID; + sofia_set_pflag(profile, PFLAG_CALLID_AS_UUID); } else { - profile->pflags &= ~PFLAG_CALLID_AS_UUID; + sofia_clear_pflag(profile, PFLAG_CALLID_AS_UUID); } } else if (!strcasecmp(var, "outbound-use-uuid-as-callid")) { if (switch_true(val)) { - profile->pflags |= PFLAG_UUID_AS_CALLID; + sofia_set_pflag(profile, PFLAG_UUID_AS_CALLID); } else { - profile->pflags &= ~PFLAG_UUID_AS_CALLID; + sofia_clear_pflag(profile, PFLAG_UUID_AS_CALLID); } } else if (!strcasecmp(var, "NDLB-received-in-nat-reg-contact")) { if (switch_true(val)) { - profile->pflags |= PFLAG_RECIEVED_IN_NAT_REG_CONTACT; + sofia_set_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT); } else { - profile->pflags &= ~PFLAG_RECIEVED_IN_NAT_REG_CONTACT; + sofia_clear_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT); } } else if (!strcasecmp(var, "aggressive-nat-detection")) { if (switch_true(val)) { - profile->pflags |= PFLAG_AGGRESSIVE_NAT_DETECTION; + sofia_set_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION); } else { - profile->pflags &= ~PFLAG_AGGRESSIVE_NAT_DETECTION; + sofia_clear_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION); } } else if (!strcasecmp(var, "disable-rtp-auto-adjust")) { if (switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_RTP_AUTOADJ; + sofia_set_pflag(profile, PFLAG_DISABLE_RTP_AUTOADJ); } else { - profile->pflags &= ~PFLAG_DISABLE_RTP_AUTOADJ; + sofia_clear_pflag(profile, PFLAG_DISABLE_RTP_AUTOADJ); } } else if (!strcasecmp(var, "NDLB-support-asterisk-missing-srtp-auth")) { if (switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_SRTP_AUTH; + sofia_set_pflag(profile, PFLAG_DISABLE_SRTP_AUTH); } else { - profile->pflags &= ~PFLAG_DISABLE_SRTP_AUTH; + sofia_clear_pflag(profile, PFLAG_DISABLE_SRTP_AUTH); } } else if (!strcasecmp(var, "NDLB-funny-stun")) { if (switch_true(val)) { - profile->pflags |= PFLAG_FUNNY_STUN; + sofia_set_pflag(profile, PFLAG_FUNNY_STUN); } else { - profile->pflags &= ~PFLAG_FUNNY_STUN; + sofia_clear_pflag(profile, PFLAG_FUNNY_STUN); } } else if (!strcasecmp(var, "stun-enabled")) { if (switch_true(val)) { - profile->pflags |= PFLAG_STUN_ENABLED; + sofia_set_pflag(profile, PFLAG_STUN_ENABLED); } else { - profile->pflags &= ~PFLAG_STUN_ENABLED; + sofia_clear_pflag(profile, PFLAG_STUN_ENABLED); } } else if (!strcasecmp(var, "stun-auto-disable")) { if (switch_true(val)) { - profile->pflags |= PFLAG_STUN_AUTO_DISABLE; + sofia_set_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } else { - profile->pflags &= ~PFLAG_STUN_AUTO_DISABLE; + sofia_clear_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } } else if (!strcasecmp(var, "apply-nat-acl")) { if (profile->acl_count < SOFIA_MAX_ACL) { @@ -1498,47 +1498,47 @@ } } else if (!strcasecmp(var, "rfc2833-pt")) { profile->te = (switch_payload_t) atoi(val); - } else if (!strcasecmp(var, "cng-pt") && !(profile->pflags & PFLAG_SUPPRESS_CNG)) { + } else if (!strcasecmp(var, "cng-pt") && !(sofia_test_pflag(profile, PFLAG_SUPPRESS_CNG))) { profile->cng_pt = (switch_payload_t) atoi(val); } else if (!strcasecmp(var, "vad")) { if (!strcasecmp(val, "in")) { - switch_set_flag(profile, TFLAG_VAD_IN); + sofia_set_flag(profile, TFLAG_VAD_IN); } else if (!strcasecmp(val, "out")) { - switch_set_flag(profile, TFLAG_VAD_OUT); + sofia_set_flag(profile, TFLAG_VAD_OUT); } else if (!strcasecmp(val, "both")) { - switch_set_flag(profile, TFLAG_VAD_IN); - switch_set_flag(profile, TFLAG_VAD_OUT); + sofia_set_flag(profile, TFLAG_VAD_IN); + sofia_set_flag(profile, TFLAG_VAD_OUT); } else if (strcasecmp(val, "none")) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid option %s for VAD\n", val); } } else if (!strcasecmp(var, "unregister-on-options-fail")) { if (switch_true(val)) { - profile->pflags |= PFLAG_UNREG_OPTIONS_FAIL; + sofia_set_pflag(profile, PFLAG_UNREG_OPTIONS_FAIL); } else { - profile->pflags &= ~PFLAG_UNREG_OPTIONS_FAIL; + sofia_clear_pflag(profile, PFLAG_UNREG_OPTIONS_FAIL); } } else if (!strcasecmp(var, "require-secure-rtp")) { if (switch_true(val)) { - profile->pflags |= PFLAG_SECURE; + sofia_set_pflag(profile, PFLAG_SECURE); } else { - profile->pflags &= ~PFLAG_SECURE; + sofia_clear_pflag(profile, PFLAG_SECURE); } } else if (!strcasecmp(var, "multiple-registrations")) { if (!strcasecmp(val, "call-id")) { - profile->pflags |= PFLAG_MULTIREG; + sofia_set_pflag(profile, PFLAG_MULTIREG); } else if (!strcasecmp(val, "contact") || switch_true(val)) { - profile->pflags |= PFLAG_MULTIREG; - profile->pflags |= PFLAG_MULTIREG_CONTACT; + sofia_set_pflag(profile, PFLAG_MULTIREG); + sofia_set_pflag(profile, PFLAG_MULTIREG_CONTACT); } else if (switch_true(val)) { - profile->pflags &= ~PFLAG_MULTIREG; - //profile->pflags &= ~PFLAG_MULTIREG_CONTACT; + sofia_clear_pflag(profile, PFLAG_MULTIREG); + //sofia_clear_pflag(profile, PFLAG_MULTIREG_CONTACT); } } else if (!strcasecmp(var, "supress-cng") || !strcasecmp(var, "suppress-cng")) { if (switch_true(val)) { - profile->pflags |= PFLAG_SUPPRESS_CNG; + sofia_set_pflag(profile, PFLAG_SUPPRESS_CNG); profile->cng_pt = 0; } else { - profile->pflags &= ~PFLAG_SUPPRESS_CNG; + sofia_clear_pflag(profile, PFLAG_SUPPRESS_CNG); } } else if (!strcasecmp(var, "NDLB-to-in-200-contact")) { if (switch_true(val)) { @@ -1554,33 +1554,33 @@ } } else if (!strcasecmp(var, "pass-rfc2833")) { if (switch_true(val)) { - profile->pflags |= PFLAG_PASS_RFC2833; + sofia_set_pflag(profile, PFLAG_PASS_RFC2833); } else { - profile->pflags &= ~PFLAG_PASS_RFC2833; + sofia_clear_pflag(profile, PFLAG_PASS_RFC2833); } } else if (!strcasecmp(var, "inbound-codec-negotiation")) { if (!strcasecmp(val, "greedy")) { - profile->pflags |= PFLAG_GREEDY; + sofia_set_pflag(profile, PFLAG_GREEDY); } else { - profile->pflags &= ~PFLAG_GREEDY; + sofia_clear_pflag(profile, PFLAG_GREEDY); } } else if (!strcasecmp(var, "disable-transcoding")) { if (switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_TRANSCODING; + sofia_set_pflag(profile, PFLAG_DISABLE_TRANSCODING); } else { - profile->pflags &= ~PFLAG_DISABLE_TRANSCODING; + sofia_clear_pflag(profile, PFLAG_DISABLE_TRANSCODING); } } else if (!strcasecmp(var, "rtp-rewrite-timestamps")) { if (switch_true(val)) { - profile->pflags |= PFLAG_REWRITE_TIMESTAMPS; + sofia_set_pflag(profile, PFLAG_REWRITE_TIMESTAMPS); } else { - profile->pflags &= ~PFLAG_REWRITE_TIMESTAMPS; + sofia_clear_pflag(profile, PFLAG_REWRITE_TIMESTAMPS); } } else if (!strcasecmp(var, "auth-calls")) { if (switch_true(val)) { - profile->pflags |= PFLAG_AUTH_CALLS; + sofia_set_pflag(profile, PFLAG_AUTH_CALLS); } else { - profile->pflags &= ~PFLAG_AUTH_CALLS; + sofia_clear_pflag(profile, PFLAG_AUTH_CALLS); } } else if (!strcasecmp(var, "force-register-domain")) { profile->reg_domain = switch_core_strdup(profile->pool, val); @@ -1800,8 +1800,8 @@ profile->tls_version = 0; profile->mflags = MFLAG_REFER | MFLAG_REGISTER; profile->rport_level = 1; - profile->pflags |= PFLAG_STUN_ENABLED; - profile->pflags |= PFLAG_DISABLE_100REL; + sofia_set_pflag(profile, PFLAG_STUN_ENABLED); + sofia_set_pflag(profile, PFLAG_DISABLE_100REL); profile->auto_restart = 1; profile->manage_shared_appearance = 0; /* Initialize default */ profile->disable_srv = 0; @@ -1814,7 +1814,7 @@ if (!strcasecmp(var, "debug")) { profile->debug = atoi(val); } else if (!strcasecmp(var, "sip-trace") && switch_true(val)) { - switch_set_flag(profile, TFLAG_TPORT_LOG); + sofia_set_flag(profile, TFLAG_TPORT_LOG); } else if (!strcasecmp(var, "odbc-dsn") && !switch_strlen_zero(val)) { #ifdef SWITCH_HAVE_ODBC profile->odbc_dsn = switch_core_strdup(profile->pool, val); @@ -1852,11 +1852,11 @@ } else if (!strcasecmp(var, "record-template")) { profile->record_template = switch_core_strdup(profile->pool, val); } else if ((!strcasecmp(var, "inbound-no-media") || !strcasecmp(var, "inbound-bypass-media")) && switch_true(val)) { - switch_set_flag(profile, TFLAG_INB_NOMEDIA); + sofia_set_flag(profile, TFLAG_INB_NOMEDIA); } else if (!strcasecmp(var, "inbound-late-negotiation") && switch_true(val)) { - switch_set_flag(profile, TFLAG_LATE_NEGOTIATION); + sofia_set_flag(profile, TFLAG_LATE_NEGOTIATION); } else if (!strcasecmp(var, "inbound-proxy-media") && switch_true(val)) { - switch_set_flag(profile, TFLAG_PROXY_MEDIA); + sofia_set_flag(profile, TFLAG_PROXY_MEDIA); } else if (!strcasecmp(var, "force-subscription-expires")) { int tmp = atoi(val); if (tmp > 0) { @@ -1864,56 +1864,56 @@ } } else if (!strcasecmp(var, "inbound-use-callid-as-uuid")) { if (switch_true(val)) { - profile->pflags |= PFLAG_CALLID_AS_UUID; + sofia_set_pflag(profile, PFLAG_CALLID_AS_UUID); } else { - profile->pflags &= ~PFLAG_CALLID_AS_UUID; + sofia_clear_pflag(profile, PFLAG_CALLID_AS_UUID); } } else if (!strcasecmp(var, "outbound-use-uuid-as-callid")) { if (switch_true(val)) { - profile->pflags |= PFLAG_UUID_AS_CALLID; + sofia_set_pflag(profile, PFLAG_UUID_AS_CALLID); } else { - profile->pflags &= ~PFLAG_UUID_AS_CALLID; + sofia_clear_pflag(profile, PFLAG_UUID_AS_CALLID); } } else if (!strcasecmp(var, "NDLB-received-in-nat-reg-contact") && switch_true(val)) { - profile->pflags |= PFLAG_RECIEVED_IN_NAT_REG_CONTACT; + sofia_set_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT); } else if (!strcasecmp(var, "aggressive-nat-detection") && switch_true(val)) { - profile->pflags |= PFLAG_AGGRESSIVE_NAT_DETECTION; + sofia_set_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION); } else if (!strcasecmp(var, "disable-rtp-auto-adjust") && switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_RTP_AUTOADJ; + sofia_set_pflag(profile, PFLAG_DISABLE_RTP_AUTOADJ); } else if (!strcasecmp(var, "NDLB-support-asterisk-missing-srtp-auth") && switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_SRTP_AUTH; + sofia_set_pflag(profile, PFLAG_DISABLE_SRTP_AUTH); } else if (!strcasecmp(var, "NDLB-funny-stun")) { if (switch_true(val)) { - profile->pflags |= PFLAG_FUNNY_STUN; + sofia_set_pflag(profile, PFLAG_FUNNY_STUN); } else { - profile->pflags &= ~PFLAG_FUNNY_STUN; + sofia_clear_pflag(profile, PFLAG_FUNNY_STUN); } } else if (!strcasecmp(var, "stun-enabled")) { if (switch_true(val)) { - profile->pflags |= PFLAG_STUN_ENABLED; + sofia_set_pflag(profile, PFLAG_STUN_ENABLED); } else { - profile->pflags &= ~PFLAG_STUN_ENABLED; + sofia_clear_pflag(profile, PFLAG_STUN_ENABLED); } } else if (!strcasecmp(var, "stun-auto-disable")) { if (switch_true(val)) { - profile->pflags |= PFLAG_STUN_AUTO_DISABLE; + sofia_set_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } else { - profile->pflags &= ~PFLAG_STUN_AUTO_DISABLE; + sofia_clear_pflag(profile, PFLAG_STUN_AUTO_DISABLE); } } else if (!strcasecmp(var, "rfc2833-pt")) { profile->te = (switch_payload_t) atoi(val); - } else if (!strcasecmp(var, "cng-pt") && !(profile->pflags & PFLAG_SUPPRESS_CNG)) { + } else if (!strcasecmp(var, "cng-pt") && !sofia_test_pflag(profile, PFLAG_SUPPRESS_CNG)) { profile->cng_pt = (switch_payload_t) atoi(val); } else if (!strcasecmp(var, "sip-port")) { profile->sip_port = atoi(val); } else if (!strcasecmp(var, "vad")) { if (!strcasecmp(val, "in")) { - switch_set_flag(profile, TFLAG_VAD_IN); + sofia_set_flag(profile, TFLAG_VAD_IN); } else if (!strcasecmp(val, "out")) { - switch_set_flag(profile, TFLAG_VAD_OUT); + sofia_set_flag(profile, TFLAG_VAD_OUT); } else if (!strcasecmp(val, "both")) { - switch_set_flag(profile, TFLAG_VAD_IN); - switch_set_flag(profile, TFLAG_VAD_OUT); + sofia_set_flag(profile, TFLAG_VAD_IN); + sofia_set_flag(profile, TFLAG_VAD_OUT); } else if (strcasecmp(val, "none")) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid option %s for VAD\n", val); } @@ -2036,25 +2036,25 @@ } } else if (!strcasecmp(var, "unregister-on-options-fail")) { if (switch_true(val)) { - profile->pflags |= PFLAG_UNREG_OPTIONS_FAIL; + sofia_set_pflag(profile, PFLAG_UNREG_OPTIONS_FAIL); } } else if (!strcasecmp(var, "require-secure-rtp")) { if (switch_true(val)) { - profile->pflags |= PFLAG_SECURE; + sofia_set_pflag(profile, PFLAG_SECURE); } } else if (!strcasecmp(var, "multiple-registrations")) { if (!strcasecmp(val, "call-id")) { - profile->pflags |= PFLAG_MULTIREG; + sofia_set_pflag(profile, PFLAG_MULTIREG); } else if (!strcasecmp(val, "contact") || switch_true(val)) { - profile->pflags |= PFLAG_MULTIREG; - profile->pflags |= PFLAG_MULTIREG_CONTACT; + sofia_set_pflag(profile, PFLAG_MULTIREG); + sofia_set_pflag(profile, PFLAG_MULTIREG_CONTACT); } else if (switch_true(val)) { - profile->pflags &= ~PFLAG_MULTIREG; - //profile->pflags &= ~PFLAG_MULTIREG_CONTACT; + sofia_clear_pflag(profile, PFLAG_MULTIREG); + //sofia_clear_pflag(profile, PFLAG_MULTIREG_CONTACT); } } else if (!strcasecmp(var, "supress-cng") || !strcasecmp(var, "suppress-cng")) { if (switch_true(val)) { - profile->pflags |= PFLAG_SUPPRESS_CNG; + sofia_set_pflag(profile, PFLAG_SUPPRESS_CNG); profile->cng_pt = 0; } } else if (!strcasecmp(var, "NDLB-to-in-200-contact")) { @@ -2067,56 +2067,56 @@ } } else if (!strcasecmp(var, "pass-rfc2833")) { if (switch_true(val)) { - profile->pflags |= PFLAG_PASS_RFC2833; + sofia_set_pflag(profile, PFLAG_PASS_RFC2833); } } else if (!strcasecmp(var, "inbound-codec-negotiation")) { if (!strcasecmp(val, "greedy")) { - profile->pflags |= PFLAG_GREEDY; + sofia_set_pflag(profile, PFLAG_GREEDY); } } else if (!strcasecmp(var, "disable-transcoding")) { if (switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_TRANSCODING; + sofia_set_pflag(profile, PFLAG_DISABLE_TRANSCODING); } } else if (!strcasecmp(var, "rtp-rewrite-timestamps")) { if (switch_true(val)) { - profile->pflags |= PFLAG_REWRITE_TIMESTAMPS; + sofia_set_pflag(profile, PFLAG_REWRITE_TIMESTAMPS); } } else if (!strcasecmp(var, "auth-calls")) { if (switch_true(val)) { - profile->pflags |= PFLAG_AUTH_CALLS; + sofia_set_pflag(profile, PFLAG_AUTH_CALLS); } } else if (!strcasecmp(var, "nonce-ttl")) { profile->nonce_ttl = atoi(val); } else if (!strcasecmp(var, "accept-blind-reg")) { if (switch_true(val)) { - profile->pflags |= PFLAG_BLIND_REG; + sofia_set_pflag(profile, PFLAG_BLIND_REG); } } else if (!strcasecmp(var, "enable-3pcc")) { if (switch_true(val)) { - profile->pflags |= PFLAG_3PCC; + sofia_set_pflag(profile, PFLAG_3PCC); } else if(!strcasecmp(val, "proxy")){ - profile->pflags |= PFLAG_3PCC_PROXY; + sofia_set_pflag(profile, PFLAG_3PCC_PROXY); } } else if (!strcasecmp(var, "accept-blind-auth")) { if (switch_true(val)) { - profile->pflags |= PFLAG_BLIND_AUTH; + sofia_set_pflag(profile, PFLAG_BLIND_AUTH); } } else if (!strcasecmp(var, "auth-all-packets")) { if (switch_true(val)) { - profile->pflags |= PFLAG_AUTH_ALL; + sofia_set_pflag(profile, PFLAG_AUTH_ALL); } } else if (!strcasecmp(var, "full-id-in-dialplan")) { if (switch_true(val)) { - profile->pflags |= PFLAG_FULL_ID; + sofia_set_pflag(profile, PFLAG_FULL_ID); } } else if (!strcasecmp(var, "inbound-reg-force-matching-username")) { if (switch_true(val)) { - profile->pflags |= PFLAG_CHECKUSER; + sofia_set_pflag(profile, PFLAG_CHECKUSER); } } else if (!strcasecmp(var, "enable-timer")) { if (!switch_true(val)) { - profile->pflags |= PFLAG_DISABLE_TIMER; + sofia_set_pflag(profile, PFLAG_DISABLE_TIMER); } } else if (!strcasecmp(var, "minimum-session-expires")) { profile->minimum_session_expires = atoi(val); @@ -2126,7 +2126,7 @@ } } else if (!strcasecmp(var, "enable-100rel")) { if (switch_true(val)) { - profile->pflags &= ~PFLAG_DISABLE_100REL; + sofia_clear_pflag(profile, PFLAG_DISABLE_100REL); } } else if (!strcasecmp(var, "bitpacking")) { if (!strcasecmp(val, "aal2")) { @@ -2441,7 +2441,7 @@ gateway->ping = switch_epoch_time_now(NULL) + gateway->ping_freq; sofia_reg_release_gateway(gateway); gateway->pinging = 0; - } else if ((profile->pflags & PFLAG_UNREG_OPTIONS_FAIL) && status != 200 && sip && sip->sip_to) { + } else if (sofia_test_pflag(profile, PFLAG_UNREG_OPTIONS_FAIL) && status != 200 && sip && sip->sip_to) { char *sql; time_t now = switch_epoch_time_now(NULL); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Expire registration '%s@%s' due to options failure\n", @@ -2495,11 +2495,11 @@ if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { - if (!switch_test_flag(tech_pvt, TFLAG_SENT_UPDATE)) { + if (!sofia_test_flag(tech_pvt, TFLAG_SENT_UPDATE)) { return; } - switch_clear_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); + sofia_clear_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { const char *r_sdp = NULL; @@ -2645,7 +2645,7 @@ if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { if (switch_core_session_compare(session, other_session)) { - switch_set_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); + sofia_set_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); switch_ivr_media(switch_core_session_get_uuid(other_session), SMF_REBRIDGE); if (tech_pvt->rtp_session) { @@ -2787,9 +2787,9 @@ if (r_sdp) { if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { - switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); + sofia_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); switch_channel_mark_pre_answered(channel); - switch_set_flag(tech_pvt, TFLAG_SDP); + sofia_set_flag(tech_pvt, TFLAG_SDP); if (switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { goto done; @@ -2809,7 +2809,7 @@ } else { if (switch_channel_test_flag(channel, CF_PROXY_MEDIA) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "PROXY MEDIA"); - } else if (switch_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) { + } else if (sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "DELAYED NEGOTIATION"); } else { if (sofia_glue_tech_media(tech_pvt, (char *) r_sdp) != SWITCH_STATUS_SUCCESS) { @@ -2826,25 +2826,25 @@ nua_ack(nh, TAG_END()); break; case nua_callstate_received: - if (!switch_test_flag(tech_pvt, TFLAG_SDP)) { - if (r_sdp && !switch_test_flag(tech_pvt, TFLAG_SDP)) { + if (!sofia_test_flag(tech_pvt, TFLAG_SDP)) { + if (r_sdp && !sofia_test_flag(tech_pvt, TFLAG_SDP)) { if (switch_channel_test_flag(channel, CF_PROXY_MODE)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED_NOMEDIA"); - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (switch_channel_get_state(channel) == CS_NEW) { switch_channel_set_state(channel, CS_INIT); } - switch_set_flag(tech_pvt, TFLAG_SDP); + sofia_set_flag(tech_pvt, TFLAG_SDP); goto done; } else if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MEDIA)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "PROXY MEDIA"); - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (switch_channel_get_state(channel) == CS_NEW) { switch_channel_set_state(channel, CS_INIT); } - } else if (switch_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION)) { + } else if (sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "DELAYED NEGOTIATION"); - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (switch_channel_get_state(channel) == CS_NEW) { switch_channel_set_state(channel, CS_INIT); } @@ -2867,11 +2867,11 @@ sip_replaces_t *replaces; su_home_t *home = NULL; switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED"); - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (switch_channel_get_state(channel) == CS_NEW) { switch_channel_set_state(channel, CS_INIT); } - switch_set_flag(tech_pvt, TFLAG_SDP); + sofia_set_flag(tech_pvt, TFLAG_SDP); if (replaces_str) { home = su_home_new(sizeof(*home)); switch_assert(home != NULL); @@ -2891,8 +2891,8 @@ if (br_b) { switch_ivr_uuid_bridge(br_a, br_b); switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER"); - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); - switch_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); switch_channel_hangup(channel, SWITCH_CAUSE_ATTENDED_TRANSFER); } else { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER_ERROR"); @@ -2918,22 +2918,22 @@ if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { goto done; } else { - if (profile->pflags & PFLAG_3PCC) { + if (sofia_test_pflag(profile, PFLAG_3PCC)) { switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED_NOSDP"); sofia_glue_tech_choose_port(tech_pvt, 0); sofia_glue_set_local_sdp(tech_pvt, NULL, 0, NULL, 0); - switch_set_flag_locked(tech_pvt, TFLAG_3PCC); + sofia_set_flag_locked(tech_pvt, TFLAG_3PCC); switch_channel_set_state(channel, CS_HIBERNATE); nua_respond(tech_pvt->nh, SIP_200_OK, SIPTAG_CONTACT_STR(tech_pvt->profile->url), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), - TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); - } else if(profile->pflags & PFLAG_3PCC_PROXY){ + TAG_IF(sofia_test_pflag(profile, PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); + } else if (sofia_test_pflag(profile, PFLAG_3PCC_PROXY)) { //3PCC proxy mode delays the 200 OK until the call is answered switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED_NOSDP"); - switch_set_flag_locked(tech_pvt, TFLAG_3PCC); + sofia_set_flag_locked(tech_pvt, TFLAG_3PCC); sofia_glue_tech_choose_port(tech_pvt, 0); sofia_glue_set_local_sdp(tech_pvt, NULL, 0, NULL, 0); switch_channel_set_flag(channel, TFLAG_LATE_NEGOTIATION); @@ -2947,9 +2947,9 @@ } } - } else if (tech_pvt && switch_test_flag(tech_pvt, TFLAG_SDP) && !r_sdp) { + } else if (tech_pvt && sofia_test_flag(tech_pvt, TFLAG_SDP) && !r_sdp) { nua_respond(tech_pvt->nh, SIP_200_OK, TAG_END()); - switch_set_flag_locked(tech_pvt, TFLAG_NOSDP_REINVITE); + sofia_set_flag_locked(tech_pvt, TFLAG_NOSDP_REINVITE); goto done; } else { ss_state = nua_callstate_completed; @@ -3015,7 +3015,7 @@ SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), - TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); + TAG_IF(sofia_test_pflag(profile, PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); launch_media_on_hold(session); switch_core_session_rwunlock(other_session); @@ -3027,13 +3027,13 @@ msg.string_arg = (char *) r_sdp; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Passing SDP to other leg.\n%s\n", r_sdp); - if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { + if (sofia_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { if (!switch_stristr("sendonly", r_sdp)) { - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); switch_channel_presence(tech_pvt->channel, "unknown", "unhold", NULL); } } else if (switch_stristr("sendonly", r_sdp)) { - switch_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); switch_channel_presence(tech_pvt->channel, "unknown", "hold", NULL); } @@ -3063,7 +3063,7 @@ goto done; } sofia_glue_set_local_sdp(tech_pvt, NULL, 0, NULL, 0); - switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); + sofia_set_flag_locked(tech_pvt, TFLAG_REINVITE); if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Reinvite RTP Error!\n"); is_ok = 0; @@ -3082,7 +3082,7 @@ SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), - TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); + TAG_IF(sofia_test_pflag(profile, PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); } else { nua_respond(tech_pvt->nh, SIP_488_NOT_ACCEPTABLE, TAG_END()); } @@ -3091,13 +3091,13 @@ break; case nua_callstate_ready: - if (r_sdp && switch_test_flag(tech_pvt, TFLAG_NOSDP_REINVITE)) { + if (r_sdp && sofia_test_flag(tech_pvt, TFLAG_NOSDP_REINVITE)) { sdp_parser_t *parser; sdp_session_t *sdp; uint8_t match = 0; int is_ok = 1; - switch_clear_flag_locked(tech_pvt, TFLAG_NOSDP_REINVITE); + sofia_clear_flag_locked(tech_pvt, TFLAG_NOSDP_REINVITE); if (tech_pvt->num_codecs) { if ((parser = sdp_parse(NULL, r_sdp, (int) strlen(r_sdp), 0))) { @@ -3109,13 +3109,13 @@ } if (match) { - switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); + sofia_set_flag_locked(tech_pvt, TFLAG_REINVITE); if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "RTP Error!\n"); switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RTP ERROR"); is_ok = 0; } - switch_clear_flag_locked(tech_pvt, TFLAG_REINVITE); + sofia_clear_flag_locked(tech_pvt, TFLAG_REINVITE); } else { switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR"); is_ok = 0; @@ -3134,7 +3134,7 @@ } if (tech_pvt && nh == tech_pvt->nh2) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Cheater Reinvite!\n"); - switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); + sofia_set_flag_locked(tech_pvt, TFLAG_REINVITE); tech_pvt->nh = tech_pvt->nh2; tech_pvt->nh2 = NULL; if (sofia_glue_tech_choose_port(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) { @@ -3147,9 +3147,9 @@ } if (channel) { - if (switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { - switch_set_flag_locked(tech_pvt, TFLAG_ANS); - switch_set_flag(tech_pvt, TFLAG_SDP); + if (sofia_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { + sofia_set_flag_locked(tech_pvt, TFLAG_ANS); + sofia_set_flag(tech_pvt, TFLAG_SDP); switch_channel_mark_answered(channel); if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) @@ -3162,14 +3162,14 @@ goto done; } - if (!r_sdp && !switch_test_flag(tech_pvt, TFLAG_SDP)) { + if (!r_sdp && !sofia_test_flag(tech_pvt, TFLAG_SDP)) { r_sdp = (const char *) switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE); } - if (r_sdp && !switch_test_flag(tech_pvt, TFLAG_SDP)) { + if (r_sdp && !sofia_test_flag(tech_pvt, TFLAG_SDP)) { if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { - switch_set_flag_locked(tech_pvt, TFLAG_ANS); - switch_set_flag_locked(tech_pvt, TFLAG_SDP); + sofia_set_flag_locked(tech_pvt, TFLAG_ANS); + sofia_set_flag_locked(tech_pvt, TFLAG_SDP); switch_channel_mark_answered(channel); if (switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { @@ -3202,7 +3202,7 @@ } if (match) { - switch_set_flag_locked(tech_pvt, TFLAG_ANS); + sofia_set_flag_locked(tech_pvt, TFLAG_ANS); if (sofia_glue_tech_choose_port(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) { if (sofia_glue_activate_rtp(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) { switch_channel_mark_answered(channel); @@ -3211,15 +3211,15 @@ switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } - if (switch_test_flag(tech_pvt, TFLAG_3PCC)) { + if (sofia_test_flag(tech_pvt, TFLAG_3PCC)) { /* Check if we are in 3PCC proxy mode, if so then set the flag to indicate we received the ack */ - if (profile->pflags & PFLAG_3PCC_PROXY ) { + if (sofia_test_pflag(profile, PFLAG_3PCC_PROXY )) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "3PCC-PROXY, Got my ACK\n"); - switch_set_flag(tech_pvt, TFLAG_3PCC_HAS_ACK); + sofia_set_flag(tech_pvt, TFLAG_3PCC_HAS_ACK); } else if (switch_channel_get_state(channel) == CS_HIBERNATE) { - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); switch_channel_set_state(channel, CS_INIT); - switch_set_flag(tech_pvt, TFLAG_SDP); + sofia_set_flag(tech_pvt, TFLAG_SDP); } } goto done; @@ -3236,15 +3236,15 @@ case nua_callstate_terminating: if (status == 488 || switch_channel_get_state(channel) == CS_HIBERNATE) { tech_pvt->q850_cause = SWITCH_CAUSE_MANDATORY_IE_MISSING; - } else if (!switch_test_flag(tech_pvt, TFLAG_BYE)) { - switch_set_flag_locked(tech_pvt, TFLAG_BYE); + } else if (!sofia_test_flag(tech_pvt, TFLAG_BYE)) { + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); } break; case nua_callstate_terminated: - if (!switch_test_flag(tech_pvt, TFLAG_BYE)) { - switch_set_flag_locked(tech_pvt, TFLAG_BYE); - if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) { - switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP); + if (!sofia_test_flag(tech_pvt, TFLAG_BYE)) { + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); + if (sofia_test_flag(tech_pvt, TFLAG_NOHUP)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_NOHUP); } else { int cause; if (tech_pvt->q850_cause) { @@ -3325,7 +3325,7 @@ tuuid_str = switch_core_session_get_uuid(tsession); switch_ivr_uuid_bridge(nhelper->bridge_to_uuid, tuuid_str); switch_channel_set_variable(channel_a, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER"); - switch_set_flag_locked(tech_pvt, TFLAG_BYE); + sofia_set_flag_locked(tech_pvt, TFLAG_BYE); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"), SIPTAG_EVENT_STR(nhelper->event), TAG_END()); switch_core_session_rwunlock(tsession); @@ -3397,7 +3397,7 @@ char *rep; full_ref_to = sip_header_as_string(home, (void *) sip->sip_refer_to); - if (profile->pflags & PFLAG_FULL_ID) { + if (sofia_test_pflag(profile, PFLAG_FULL_ID)) { exten = switch_core_session_sprintf(session, "%s@%s", (char *) refer_to->r_url->url_user, (char *) refer_to->r_url->url_host); } else { exten = (char *) refer_to->r_url->url_user; @@ -3472,8 +3472,8 @@ nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"), SIPTAG_EVENT_STR(etmp), TAG_END()); - switch_clear_flag_locked(b_tech_pvt, TFLAG_SIP_HOLD); - switch_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); + sofia_clear_flag_locked(b_tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); switch_channel_set_variable(switch_core_session_get_channel(b_session), "park_timeout", "2"); switch_channel_set_state(switch_core_session_get_channel(b_session), CS_PARK); @@ -3506,8 +3506,8 @@ private_object_t *h_tech_pvt = (private_object_t *) switch_core_session_get_private(b_session); t_session = switch_core_session_locate(br_b); hup_channel = channel_a; - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); - switch_clear_flag_locked(h_tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(h_tech_pvt, TFLAG_SIP_HOLD); switch_channel_hangup(channel_b, SWITCH_CAUSE_ATTENDED_TRANSFER); } @@ -3894,7 +3894,7 @@ char *is_nat = NULL; char *acl_token = NULL; - if (sess_count >= sess_max || !(profile->pflags & PFLAG_RUNNING)) { + if (sess_count >= sess_max || !sofia_test_pflag(profile, PFLAG_RUNNING)) { nua_respond(nh, 503, "Maximum Calls In Progress", SIPTAG_RETRY_AFTER_STR("300"), TAG_END()); return; } @@ -3914,7 +3914,7 @@ get_addr(network_ip, sizeof(network_ip), my_addrinfo->ai_addr, my_addrinfo->ai_addrlen); network_port = ntohs(((struct sockaddr_in *) msg_addrinfo(nua_current_request(nua))->ai_addr)->sin_port); - if ((profile->pflags & PFLAG_AGGRESSIVE_NAT_DETECTION)) { + if (sofia_test_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION)) { if (sip && sip->sip_via) { const char *port = sip->sip_via->v_port; const char *host = sip->sip_via->v_host; @@ -3970,13 +3970,13 @@ if (token) { acl_token = strdup(token); } - if ((profile->pflags & PFLAG_AUTH_CALLS)) { + if (sofia_test_pflag(profile, PFLAG_AUTH_CALLS)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "IP %s Approved by acl \"%s[%s]\". Access Granted.\n", network_ip, switch_str_nil(last_acl), switch_str_nil(acl_token)); is_auth = 1; } } else { - if (!(profile->pflags & PFLAG_AUTH_CALLS)) { + if (!sofia_test_pflag(profile, PFLAG_AUTH_CALLS)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "IP %s Rejected by acl \"%s\"\n", network_ip, switch_str_nil(last_acl)); nua_respond(nh, SIP_403_FORBIDDEN, TAG_END()); return; @@ -3988,7 +3988,7 @@ } if (!is_auth && - ((profile->pflags & PFLAG_AUTH_CALLS) || (!(profile->pflags & PFLAG_BLIND_AUTH) && (sip->sip_proxy_authorization || sip->sip_authorization)))) { + (sofia_test_pflag(profile, PFLAG_AUTH_CALLS) || (!sofia_test_pflag(profile, PFLAG_BLIND_AUTH) && (sip->sip_proxy_authorization || sip->sip_authorization)))) { if (!strcmp(network_ip, profile->sipip) && network_port == profile->sip_port) { calling_myself++; } else { @@ -4003,7 +4003,7 @@ } if (sofia_endpoint_interface) { - if (profile->pflags & PFLAG_CALLID_AS_UUID) { + if (sofia_test_pflag(profile, PFLAG_CALLID_AS_UUID)) { session = switch_core_session_request_uuid(sofia_endpoint_interface, NULL, sip->sip_call_id->i_id); } else { session = switch_core_session_request(sofia_endpoint_interface, NULL); @@ -4152,7 +4152,7 @@ if (sip->sip_request->rq_url) { const char *req_uri = url_set_chanvars(session, sip->sip_request->rq_url, sip_req); - if (profile->pflags & PFLAG_FULL_ID) { + if (sofia_test_pflag(profile, PFLAG_FULL_ID)) { destination_number = req_uri; } else { destination_number = sip->sip_request->rq_url->url_user; @@ -4280,11 +4280,11 @@ switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "INBOUND CALL"); - if (switch_test_flag(tech_pvt, TFLAG_INB_NOMEDIA)) { + if (sofia_test_flag(tech_pvt, TFLAG_INB_NOMEDIA)) { switch_channel_set_flag(channel, CF_PROXY_MODE); } - if (switch_test_flag(tech_pvt, TFLAG_PROXY_MEDIA)) { + if (sofia_test_flag(tech_pvt, TFLAG_PROXY_MEDIA)) { switch_channel_set_flag(channel, CF_PROXY_MEDIA); } @@ -4422,8 +4422,8 @@ if (!one_leg && - (!b_tech_pvt || !switch_test_flag(b_tech_pvt, TFLAG_SIP_HOLD)) && - (!c_tech_pvt || !switch_test_flag(c_tech_pvt, TFLAG_SIP_HOLD))) { + (!b_tech_pvt || !sofia_test_flag(b_tech_pvt, TFLAG_SIP_HOLD)) && + (!c_tech_pvt || !sofia_test_flag(c_tech_pvt, TFLAG_SIP_HOLD))) { char *ext = switch_core_session_sprintf(b_session, "conference:%s at sla+flags{mintwo}", uuid); switch_channel_set_flag(c_channel, CF_REDIRECT); @@ -4462,13 +4462,13 @@ if (rpid) { if (rpid->rpid_privacy) { if (!strcasecmp(rpid->rpid_privacy, "yes")) { - switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } else if (!strcasecmp(rpid->rpid_privacy, "full")) { - switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } else if (!strcasecmp(rpid->rpid_privacy, "name")) { - switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); + sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); } else if (!strcasecmp(rpid->rpid_privacy, "number")) { - switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); + sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); } else { switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); @@ -4482,7 +4482,7 @@ if ((privacy = sip_privacy(sip))) { if(msg_params_find(privacy->priv_values, "id")) { - switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } } @@ -4595,7 +4595,7 @@ } if (is_nat) { - switch_set_flag(tech_pvt, TFLAG_NAT); + sofia_set_flag(tech_pvt, TFLAG_NAT); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting NAT mode based on %s\n", is_nat); switch_channel_set_variable(channel, "sip_nat_detected", "true"); } Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Mon Feb 9 11:56:38 2009 @@ -163,7 +163,7 @@ "m=audio %d RTP/%sAVP", tech_pvt->owner_id, tech_pvt->session_id, family, ip, family, ip, port, (!switch_strlen_zero(tech_pvt->local_crypto_key) - && switch_test_flag(tech_pvt,TFLAG_SECURE)) ? "S" : ""); + && sofia_test_flag(tech_pvt,TFLAG_SECURE)) ? "S" : ""); if (tech_pvt->rm_encoding) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %d", tech_pvt->pt); @@ -196,7 +196,7 @@ switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %d", tech_pvt->te); } - if (!(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG) && tech_pvt->cng_pt && use_cng) { + if (!sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG) && tech_pvt->cng_pt && use_cng) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %d", tech_pvt->cng_pt); } @@ -243,7 +243,7 @@ if (tech_pvt->dtmf_type == DTMF_2833 && tech_pvt->te > 95) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=rtpmap:%d telephone-event/8000\na=fmtp:%d 0-16\n", tech_pvt->te, tech_pvt->te); } - if (!(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG) && tech_pvt->cng_pt && use_cng) { + if (!sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG) && tech_pvt->cng_pt && use_cng) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=rtpmap:%d CN/8000\n", tech_pvt->cng_pt); if (!tech_pvt->rm_encoding) { tech_pvt->cng_pt = 0; @@ -260,7 +260,7 @@ switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=%s\n", sr); } - if (!switch_strlen_zero(tech_pvt->local_crypto_key) && switch_test_flag(tech_pvt, TFLAG_SECURE)) { + if (!switch_strlen_zero(tech_pvt->local_crypto_key) && sofia_test_flag(tech_pvt, TFLAG_SECURE)) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=crypto:%s\n", tech_pvt->local_crypto_key); //switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=encryption:optional\n"); #if 0 @@ -294,7 +294,7 @@ #endif } - if (switch_test_flag(tech_pvt, TFLAG_VIDEO)) { + if (sofia_test_flag(tech_pvt, TFLAG_VIDEO)) { if (!switch_channel_test_flag(tech_pvt->channel, CF_ANSWERED) && !switch_channel_test_flag(tech_pvt->channel, CF_EARLY_MEDIA) && !tech_pvt->local_sdp_video_port) { sofia_glue_tech_choose_video_port(tech_pvt, 0); @@ -419,7 +419,7 @@ } if ((ocodec = switch_channel_get_variable(tech_pvt->channel, SWITCH_ORIGINATOR_CODEC_VARIABLE))) { - if (!codec_string || (tech_pvt->profile->pflags & PFLAG_DISABLE_TRANSCODING)) { + if (!codec_string || sofia_test_pflag(tech_pvt->profile, PFLAG_DISABLE_TRANSCODING)) { codec_string = ocodec; } else { if (!(codec_string = switch_core_session_sprintf(tech_pvt->session, "%s,%s", ocodec, codec_string))) { @@ -445,7 +445,7 @@ void sofia_glue_check_video_codecs(private_object_t *tech_pvt) { - if (tech_pvt->num_codecs && !switch_test_flag(tech_pvt, TFLAG_VIDEO)) { + if (tech_pvt->num_codecs && !sofia_test_flag(tech_pvt, TFLAG_VIDEO)) { int i; tech_pvt->video_count = 0; for (i = 0; i < tech_pvt->num_codecs; i++) { @@ -454,7 +454,7 @@ } } if (tech_pvt->video_count) { - switch_set_flag_locked(tech_pvt, TFLAG_VIDEO); + sofia_set_flag_locked(tech_pvt, TFLAG_VIDEO); } } } @@ -486,7 +486,7 @@ tech_pvt->dtmf_type = profile->dtmf_type; - if (!(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG)) { + if (!sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG)) { if (tech_pvt->bcng_pt) { tech_pvt->cng_pt = tech_pvt->bcng_pt; } else if (!tech_pvt->cng_pt) { @@ -522,7 +522,7 @@ } else if (!strncasecmp(sourceip, "stun:", 5)) { char *p; - if (!(profile->pflags & PFLAG_STUN_ENABLED)) { + if (!sofia_test_pflag(profile, PFLAG_STUN_ENABLED)) { *ip = switch_core_strdup(pool, tech_pvt->profile->rtpip); return SWITCH_STATUS_SUCCESS; } @@ -544,7 +544,7 @@ } for (x = 0; x < 5; x++) { - if ((profile->pflags & PFLAG_FUNNY_STUN) || + if (sofia_test_pflag(profile, PFLAG_FUNNY_STUN) || (tech_pvt && (var = switch_channel_get_variable(tech_pvt->channel, "funny_stun")) && switch_true(var))) { error = "funny"; funny++; @@ -568,8 +568,8 @@ if (tech_pvt) { if (myport == *port && !strcmp(*ip, tech_pvt->profile->rtpip)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "STUN Not Required ip and port match. [%s]:[%d]\n", *ip, *port); - if (profile->pflags & PFLAG_STUN_AUTO_DISABLE) { - profile->pflags &= ~PFLAG_STUN_ENABLED; + if (sofia_test_pflag(profile, PFLAG_STUN_AUTO_DISABLE)) { + sofia_clear_pflag(profile, PFLAG_STUN_ENABLED); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "STUN completely disabled.\n"); } } else { @@ -927,7 +927,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote video address:port [%s:%d] has not changed.\n", tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); } else { - switch_set_flag_locked(tech_pvt, TFLAG_VIDEO); + sofia_set_flag_locked(tech_pvt, TFLAG_VIDEO); switch_channel_set_flag(tech_pvt->channel, CF_VIDEO); if (switch_rtp_ready(tech_pvt->video_rtp_session)) { if (switch_rtp_set_remote_address(tech_pvt->video_rtp_session, tech_pvt->remote_sdp_video_ip, @@ -1108,7 +1108,7 @@ switch_assert(tech_pvt != NULL); - switch_clear_flag_locked(tech_pvt, TFLAG_SDP); + sofia_clear_flag_locked(tech_pvt, TFLAG_SDP); caller_profile = switch_channel_get_caller_profile(channel); @@ -1149,7 +1149,7 @@ sofia_glue_set_local_sdp(tech_pvt, NULL, 0, NULL, 0); - switch_set_flag_locked(tech_pvt, TFLAG_READY); + sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (!tech_pvt->nh) { char *d_url = NULL, *url = NULL; @@ -1264,7 +1264,7 @@ } if (!(call_id = switch_channel_get_variable(channel, "sip_outgoing_call_id"))) { - if (tech_pvt->profile->pflags & PFLAG_UUID_AS_CALLID) { + if (sofia_test_pflag(tech_pvt->profile, PFLAG_UUID_AS_CALLID)) { call_id = switch_core_session_get_uuid(session); } } @@ -1280,7 +1280,7 @@ if (tech_pvt->dest && (strstr(tech_pvt->dest, ";fs_nat") || strstr(tech_pvt->dest, ";received") || ((val = switch_channel_get_variable(channel, "sip_sticky_contact")) && switch_true(val)))) { - switch_set_flag(tech_pvt, TFLAG_NAT); + sofia_set_flag(tech_pvt, TFLAG_NAT); tech_pvt->record_route = switch_core_session_strdup(tech_pvt->session, url_str); route_uri = tech_pvt->record_route; session_timeout = SOFIA_NAT_SESSION_TIMEOUT; @@ -1288,16 +1288,16 @@ } /* TODO: We should use the new tags for making an rpid and add profile options to turn this on/off */ - if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME)) { + if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME)) { priv = "name"; - if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { + if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { priv = "full"; } - } else if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { + } else if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { priv = "full"; } - if (switch_test_flag(caller_profile, SWITCH_CPF_SCREEN)) { + if (sofia_test_flag(caller_profile, SWITCH_CPF_SCREEN)) { screen = "yes"; } @@ -1343,7 +1343,7 @@ free(e_dest); } - holdstr = switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) ? "*" : ""; + holdstr = sofia_test_flag(tech_pvt, TFLAG_SIP_HOLD) ? "*" : ""; if (!switch_channel_get_variable(channel, "sofia_profile_name")) { switch_channel_set_variable(channel, "sofia_profile_name", tech_pvt->profile->name); @@ -1513,7 +1513,7 @@ { int loops = 0; if (switch_rtp_ready(tech_pvt->rtp_session)) { - while (loops < 10 && (switch_test_flag(tech_pvt, TFLAG_READING) || switch_test_flag(tech_pvt, TFLAG_WRITING))) { + while (loops < 10 && (sofia_test_flag(tech_pvt, TFLAG_READING) || sofia_test_flag(tech_pvt, TFLAG_WRITING))) { switch_yield(10000); loops++; } @@ -1825,7 +1825,7 @@ } if ((var = switch_channel_get_variable(tech_pvt->channel, SOFIA_SECURE_MEDIA_VARIABLE)) && switch_true(var)) { - switch_set_flag_locked(tech_pvt, TFLAG_SECURE); + sofia_set_flag_locked(tech_pvt, TFLAG_SECURE); } @@ -1834,7 +1834,7 @@ goto end; } - if (switch_rtp_ready(tech_pvt->rtp_session) && !switch_test_flag(tech_pvt, TFLAG_REINVITE)) { + if (switch_rtp_ready(tech_pvt->rtp_session) && !sofia_test_flag(tech_pvt, TFLAG_REINVITE)) { status = SWITCH_STATUS_SUCCESS; goto end; } @@ -1865,23 +1865,23 @@ } } - if ((tech_pvt->profile->pflags & PFLAG_PASS_RFC2833) + if (sofia_test_pflag(tech_pvt->profile, PFLAG_PASS_RFC2833) || ((val = switch_channel_get_variable(tech_pvt->channel, "pass_rfc2833")) && switch_true(val))) { flags |= SWITCH_RTP_FLAG_PASS_RFC2833; } - if (!((tech_pvt->profile->pflags & PFLAG_REWRITE_TIMESTAMPS) || + if (!(sofia_test_pflag(tech_pvt->profile, PFLAG_REWRITE_TIMESTAMPS) || ((val = switch_channel_get_variable(tech_pvt->channel, "rtp_rewrite_timestamps")) && !switch_true(val)))) { flags |= SWITCH_RTP_FLAG_RAW_WRITE; } - if (tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG) { + if (sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG)) { tech_pvt->cng_pt = 0; } else if (tech_pvt->cng_pt) { flags |= SWITCH_RTP_FLAG_AUTO_CNG; } - if (tech_pvt->rtp_session && switch_test_flag(tech_pvt, TFLAG_REINVITE)) { + if (tech_pvt->rtp_session && sofia_test_flag(tech_pvt, TFLAG_REINVITE)) { //const char *ip = switch_channel_get_variable(tech_pvt->channel, SWITCH_LOCAL_MEDIA_IP_VARIABLE); //const char *port = switch_channel_get_variable(tech_pvt->channel, SWITCH_LOCAL_MEDIA_PORT_VARIABLE); char *remote_host = switch_rtp_get_remote_host(tech_pvt->rtp_session); @@ -1910,8 +1910,8 @@ switch_channel_set_variable(tech_pvt->channel, SWITCH_LOCAL_MEDIA_IP_VARIABLE, tech_pvt->adv_sdp_audio_ip); switch_channel_set_variable(tech_pvt->channel, SWITCH_LOCAL_MEDIA_PORT_VARIABLE, tmp); - if (tech_pvt->rtp_session && switch_test_flag(tech_pvt, TFLAG_REINVITE)) { - switch_clear_flag_locked(tech_pvt, TFLAG_REINVITE); + if (tech_pvt->rtp_session && sofia_test_flag(tech_pvt, TFLAG_REINVITE)) { + sofia_clear_flag_locked(tech_pvt, TFLAG_REINVITE); if (switch_rtp_set_remote_address(tech_pvt->rtp_session, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) { @@ -1965,9 +1965,9 @@ (switch_rtp_flag_t) flags, timer_name, &err, switch_core_session_get_pool(tech_pvt->session)); if (switch_rtp_ready(tech_pvt->rtp_session)) { - uint8_t vad_in = switch_test_flag(tech_pvt, TFLAG_VAD_IN) ? 1 : 0; - uint8_t vad_out = switch_test_flag(tech_pvt, TFLAG_VAD_OUT) ? 1 : 0; - uint8_t inb = switch_test_flag(tech_pvt, TFLAG_OUTBOUND) ? 0 : 1; + uint8_t vad_in = sofia_test_flag(tech_pvt, TFLAG_VAD_IN) ? 1 : 0; + uint8_t vad_out = sofia_test_flag(tech_pvt, TFLAG_VAD_OUT) ? 1 : 0; + uint8_t inb = sofia_test_flag(tech_pvt, TFLAG_OUTBOUND) ? 0 : 1; uint32_t stun_ping = 0; if ((val = switch_channel_get_variable(tech_pvt->channel, "rtp_enable_vad_in")) && switch_true(val)) { @@ -1997,14 +1997,14 @@ } tech_pvt->ssrc = switch_rtp_get_ssrc(tech_pvt->rtp_session); - switch_set_flag(tech_pvt, TFLAG_RTP); - switch_set_flag(tech_pvt, TFLAG_IO); + sofia_set_flag(tech_pvt, TFLAG_RTP); + sofia_set_flag(tech_pvt, TFLAG_IO); switch_rtp_intentional_bugs(tech_pvt->rtp_session, tech_pvt->rtp_bugs); if ((vad_in && inb) || (vad_out && !inb)) { switch_rtp_enable_vad(tech_pvt->rtp_session, tech_pvt->session, &tech_pvt->read_codec, SWITCH_VAD_FLAG_TALKING); - switch_set_flag(tech_pvt, TFLAG_VAD); + sofia_set_flag(tech_pvt, TFLAG_VAD); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "AUDIO RTP Engage VAD for %s ( %s %s )\n", switch_channel_get_name(switch_core_session_get_channel(tech_pvt->session)), vad_in ? "in" : "", vad_out ? "out" : ""); } @@ -2069,12 +2069,12 @@ tech_pvt->cng_pt = 0; } - if (tech_pvt->cng_pt && !(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG)) { + if (tech_pvt->cng_pt && !sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", tech_pvt->cng_pt); switch_rtp_set_cng_pt(tech_pvt->rtp_session, tech_pvt->cng_pt); } - if (tech_pvt->remote_crypto_key && switch_test_flag(tech_pvt, TFLAG_SECURE)) { + if (tech_pvt->remote_crypto_key && sofia_test_flag(tech_pvt, TFLAG_SECURE)) { sofia_glue_add_crypto(tech_pvt, tech_pvt->remote_crypto_key, SWITCH_RTP_CRYPTO_RECV); switch_rtp_add_crypto_key(tech_pvt->rtp_session, SWITCH_RTP_CRYPTO_SEND, 1, tech_pvt->crypto_type, tech_pvt->local_raw_key, SWITCH_RTP_KEY_LEN); @@ -2087,7 +2087,7 @@ sofia_glue_check_video_codecs(tech_pvt); - if (switch_test_flag(tech_pvt, TFLAG_VIDEO) && tech_pvt->video_rm_encoding && tech_pvt->remote_sdp_video_port) { + if (sofia_test_flag(tech_pvt, TFLAG_VIDEO) && tech_pvt->video_rm_encoding && tech_pvt->remote_sdp_video_port) { if (!tech_pvt->local_sdp_video_port) { sofia_glue_tech_choose_video_port(tech_pvt, 1); } @@ -2133,12 +2133,12 @@ } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", switch_str_nil(err)); switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - switch_clear_flag_locked(tech_pvt, TFLAG_IO); + sofia_clear_flag_locked(tech_pvt, TFLAG_IO); status = SWITCH_STATUS_FALSE; goto end; } - switch_set_flag(tech_pvt, TFLAG_IO); + sofia_set_flag(tech_pvt, TFLAG_IO); status = SWITCH_STATUS_SUCCESS; end: @@ -2182,7 +2182,7 @@ return SWITCH_STATUS_FALSE; } switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "EARLY MEDIA"); - switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); + sofia_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); switch_channel_mark_pre_answered(tech_pvt->channel); return SWITCH_STATUS_SUCCESS; } @@ -2193,10 +2193,10 @@ void sofia_glue_toggle_hold(private_object_t *tech_pvt, int sendonly) { if (sendonly && switch_channel_test_flag(tech_pvt->channel, CF_ANSWERED)) { - if (!switch_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { + if (!sofia_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { const char *stream; - switch_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); switch_channel_presence(tech_pvt->channel, "unknown", "hold", NULL); if (tech_pvt->max_missed_hold_packets) { @@ -2219,13 +2219,13 @@ } } } else { - if (switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { - switch_set_flag(tech_pvt, TFLAG_SIP_HOLD); + if (sofia_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { + sofia_set_flag(tech_pvt, TFLAG_SIP_HOLD); } - switch_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); + sofia_clear_flag_locked(tech_pvt, TFLAG_HOLD_LOCK); - if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { + if (sofia_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { const char *uuid; switch_core_session_t *b_session; @@ -2249,7 +2249,7 @@ switch_core_session_rwunlock(b_session); } - switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); switch_channel_presence(tech_pvt->channel, "unknown", "unhold", NULL); } } @@ -2273,7 +2273,7 @@ switch_assert(tech_pvt != NULL); - greedy = !!(tech_pvt->profile->pflags & PFLAG_GREEDY); + greedy = !!sofia_test_pflag(tech_pvt->profile, PFLAG_GREEDY); if (!greedy) { if ((val = switch_channel_get_variable(channel, "sip_codec_negotiation")) && !strcasecmp(val, "greedy")) { @@ -2406,7 +2406,7 @@ tech_pvt->remote_crypto_key = switch_core_session_strdup(tech_pvt->session, crypto); tech_pvt->crypto_tag = crypto_tag; - if (switch_rtp_ready(tech_pvt->rtp_session) && switch_test_flag(tech_pvt, TFLAG_SECURE)) { + if (switch_rtp_ready(tech_pvt->rtp_session) && sofia_test_flag(tech_pvt, TFLAG_SECURE)) { sofia_glue_add_crypto(tech_pvt, tech_pvt->remote_crypto_key, SWITCH_RTP_CRYPTO_RECV); switch_rtp_add_crypto_key(tech_pvt->rtp_session, SWITCH_RTP_CRYPTO_RECV, tech_pvt->crypto_tag, tech_pvt->crypto_type, tech_pvt->remote_raw_key, SWITCH_RTP_KEY_LEN); @@ -2498,7 +2498,7 @@ } } - if (!(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG) && !cng_pt && !strcasecmp(rm_encoding, "CN")) { + if (!sofia_test_pflag(tech_pvt->profile, PFLAG_SUPPRESS_CNG) && !cng_pt && !strcasecmp(rm_encoding, "CN")) { cng_pt = (switch_payload_t) map->rm_pt; if (tech_pvt->rtp_session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", cng_pt); @@ -2700,7 +2700,7 @@ done: tech_pvt->cng_pt = cng_pt; - switch_set_flag_locked(tech_pvt, TFLAG_SDP); + sofia_set_flag_locked(tech_pvt, TFLAG_SDP); return match; } @@ -2779,11 +2779,11 @@ other_channel = switch_core_session_get_channel(other_session); switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, sdp); - if (!switch_test_flag(tech_pvt, TFLAG_CHANGE_MEDIA) && (switch_channel_test_flag(other_channel, CF_OUTBOUND) && + if (!sofia_test_flag(tech_pvt, TFLAG_CHANGE_MEDIA) && (switch_channel_test_flag(other_channel, CF_OUTBOUND) && switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND) && switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE))) { switch_ivr_nomedia(val, SMF_FORCE); - switch_set_flag_locked(tech_pvt, TFLAG_CHANGE_MEDIA); + sofia_set_flag_locked(tech_pvt, TFLAG_CHANGE_MEDIA); } switch_core_session_rwunlock(other_session); } @@ -2817,7 +2817,7 @@ switch_mutex_lock(mod_sofia_globals.hash_mutex); if ((profile = (sofia_profile_t *) switch_core_hash_find(mod_sofia_globals.profile_hash, key))) { - if (!(profile->pflags & PFLAG_RUNNING)) { + if (!sofia_test_pflag(profile, PFLAG_RUNNING)) { #ifdef SOFIA_DEBUG_RWLOCKS switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "Profile %s is not running\n", profile->name); #endif Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Mon Feb 9 11:56:38 2009 @@ -1447,7 +1447,7 @@ display = "\"user\""; } - if ((profile->pflags & PFLAG_AGGRESSIVE_NAT_DETECTION)) { + if (sofia_test_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION)) { if (sip && sip->sip_via) { const char *v_port = sip->sip_via->v_port; const char *v_host = sip->sip_via->v_host; Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Mon Feb 9 11:56:38 2009 @@ -765,7 +765,7 @@ switch_snprintf(new_port, sizeof(new_port), ":%s", port); } - if (is_nat && (profile->pflags & PFLAG_RECIEVED_IN_NAT_REG_CONTACT)) { + if (is_nat && sofia_test_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT)) { switch_snprintf(received_data, sizeof(received_data), ";received=%s:%d", url_ip, network_port); } @@ -793,7 +793,7 @@ authorization = sip->sip_proxy_authorization; } - if (regtype == REG_AUTO_REGISTER || (regtype == REG_REGISTER && (profile->pflags & PFLAG_BLIND_REG))) { + if (regtype == REG_AUTO_REGISTER || (regtype == REG_REGISTER && sofia_test_pflag(profile, PFLAG_BLIND_REG))) { regtype = REG_REGISTER; goto reg; } @@ -826,7 +826,7 @@ if ((v_contact_str = switch_event_get_header(*v_event, "sip-force-contact"))) { - if (*received_data && (profile->pflags & PFLAG_RECIEVED_IN_NAT_REG_CONTACT)) { + if (*received_data && sofia_test_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT)) { switch_snprintf(received_data, sizeof(received_data), ";received=%s:%d", url_ip, network_port); } @@ -1141,7 +1141,7 @@ goto end; } - if ((profile->pflags & PFLAG_AGGRESSIVE_NAT_DETECTION)) { + if (sofia_test_pflag(profile, PFLAG_AGGRESSIVE_NAT_DETECTION)) { if (sip && sip->sip_via) { const char *port = sip->sip_via->v_port; const char *host = sip->sip_via->v_host; @@ -1192,7 +1192,7 @@ } } - if (ok && !(profile->pflags & PFLAG_BLIND_REG)) { + if (ok && !sofia_test_pflag(profile, PFLAG_BLIND_REG)) { type = REG_AUTO_REGISTER; } else if (!ok) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "IP %s Rejected by acl \"%s\"\n", network_ip, profile->reg_acl[x]); @@ -1292,7 +1292,7 @@ private_object_t *tech_pvt; switch_channel_t *channel = switch_core_session_get_channel(session); - if ((tech_pvt = switch_core_session_get_private(session)) && switch_test_flag(tech_pvt, TFLAG_REFER)) { + if ((tech_pvt = switch_core_session_get_private(session)) && sofia_test_flag(tech_pvt, TFLAG_REFER)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Received reply from REFER\n"); goto end; } @@ -1462,7 +1462,7 @@ } /* Optional check that auth name == SIP username */ - if ((regtype == REG_REGISTER) && (profile->pflags & PFLAG_CHECKUSER)) { + if ((regtype == REG_REGISTER) && sofia_test_pflag(profile, PFLAG_CHECKUSER)) { if (switch_strlen_zero(username) || switch_strlen_zero(to_user) || strcasecmp(to_user, username)) { /* Names don't match, so fail */ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SIP username %s does not match auth username\n", switch_str_nil(to_user)); @@ -1837,7 +1837,7 @@ switch_mutex_lock(mod_sofia_globals.hash_mutex); if ((gateway = (sofia_gateway_t *) switch_core_hash_find(mod_sofia_globals.gateway_hash, key))) { - if (!(gateway->profile->pflags & PFLAG_RUNNING) || gateway->deleted) { + if (!sofia_test_pflag(gateway->profile, PFLAG_RUNNING) || gateway->deleted) { gateway = NULL; goto done; } From gmaruzz at freeswitch.org Mon Feb 9 10:10:52 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 12:10:52 -0600 Subject: [Freeswitch-svn] [commit] r11714 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 12:10:52 2009 New Revision: 11714 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 12:10:52 2009 @@ -327,53 +327,32 @@ { char read_from_pipe[4096]; - char messaggio[4096]; - char messaggio_2[4096]; + char message[4096]; + char message_2[4096]; char *buf, obj[512] = "", id[512] = "", prop[512] = "", value[512] = "", *where; char **stringp = NULL; - int rt; int a; unsigned int howmany; unsigned int i; -#ifndef WIN32 - int fdselect; - fd_set fs; - struct timeval to; -#endif /* WIN32 */ memset(read_from_pipe, 0, 4096); - memset(messaggio, 0, 4096); - memset(messaggio_2, 0, 4096); + memset(message, 0, 4096); + memset(message_2, 0, 4096); -#ifdef WIN32 - rt = 1; -#else /* WIN32 */ - fdselect = tech_pvt->SkypiaxHandles.fdesc[0]; - FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //500 msec - to.tv_sec = 0; - rt = select(fdselect + 1, &fs, NULL, NULL, &to); -#endif /* WIN32 */ - - if (rt > 0) { - if (tech_pvt->SkypiaxHandles.fdesc[0]) { - howmany = sizeof(read_from_pipe); howmany = skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, - howmany); + sizeof(read_from_pipe)); a = 0; for (i = 0; i < howmany; i++) { - messaggio[a] = read_from_pipe[i]; + message[a] = read_from_pipe[i]; a++; if (read_from_pipe[i] == '\0') { - //DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); - DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, messaggio); + DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, message); - if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, + if (!strcasecmp(message, "ERROR 68")) { /* not yet protocol specified, just authorized */ DEBUGA_SKYPE ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", @@ -384,9 +363,9 @@ return 0; } - if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { + if (!strncasecmp(message, "ERROR 92 CALL", 12)) { ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", - SKYPIAX_P_LOG, messaggio); + SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; @@ -399,35 +378,35 @@ } } - strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1); + strncpy(message_2, message, sizeof(message) - 1); - buf = messaggio; + buf = message; stringp = &buf; where = strsep(stringp, " "); if (!where) { - WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio); + WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); } - if (!strcasecmp(messaggio, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[11]); */ + if (!strcasecmp(message, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[11]); */ memset(tech_pvt->skype_friends, 0, 4096); - strncpy(tech_pvt->skype_friends, &messaggio_2[11], 4095); + strncpy(tech_pvt->skype_friends, &message_2[11], 4095); } - if (!strcasecmp(messaggio, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ + if (!strcasecmp(message, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ memset(tech_pvt->skype_fullname, 0, 512); - strncpy(tech_pvt->skype_fullname, &messaggio_2[10], 511); + strncpy(tech_pvt->skype_fullname, &message_2[10], 511); } - if (!strcasecmp(messaggio, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ + if (!strcasecmp(message, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ memset(tech_pvt->skype_displayname, 0, 512); - strncpy(tech_pvt->skype_displayname, &messaggio_2[10], 511); + strncpy(tech_pvt->skype_displayname, &message_2[10], 511); } - if (!strcasecmp(messaggio, "ERROR")) { - ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); + if (!strcasecmp(message, "ERROR")) { + ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; @@ -439,7 +418,7 @@ tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } - if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) { + if (!strcasecmp(message, "CURRENTUSERHANDLE")) { strncpy(obj, where, sizeof(obj) - 1); where = strsep(stringp, " "); @@ -449,12 +428,12 @@ if (!strcasecmp(id, tech_pvt->skype_user)) { tech_pvt->SkypiaxHandles.api_connected = 1; DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); + ("Skype MSG: message: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", + SKYPIAX_P_LOG, message, obj, id, tech_pvt->skype_user); } } - if (!strcasecmp(messaggio, "USER")) { + if (!strcasecmp(message, "USER")) { strncpy(obj, where, sizeof(obj) - 1); where = strsep(stringp, " "); @@ -467,8 +446,8 @@ if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop); + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); //FIXME: TODO: allow authorization based on config param sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); @@ -476,7 +455,7 @@ } } - if (!strcasecmp(messaggio, "MESSAGE")) { + if (!strcasecmp(message, "MESSAGE")) { strncpy(obj, where, sizeof(obj) - 1); where = strsep(stringp, " "); @@ -496,8 +475,8 @@ if (!strcasecmp(value, "RECEIVED")) { char msg_to_skype[256]; DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value); + ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s value: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value); //FIXME: TODO: allow authorization based on config param sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); @@ -506,8 +485,8 @@ } else if (!strcasecmp(prop, "BODY")) { char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop); + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); //FIXME: TODO: on config param ??? sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); @@ -516,7 +495,7 @@ } - if (!strcasecmp(messaggio, "CALL")) { + if (!strcasecmp(message, "CALL")) { strncpy(obj, where, sizeof(obj) - 1); @@ -535,8 +514,8 @@ where = strsep(stringp, " "); DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); + ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value, where ? where : "NULL"); if (!strcasecmp(prop, "PARTNER_HANDLE")) { strncpy(tech_pvt->callid_number, value, @@ -741,8 +720,6 @@ } //message end } //read_from_pipe - } - } return 0; } From gmaruzz at freeswitch.org Mon Feb 9 10:26:31 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 12:26:31 -0600 Subject: [Freeswitch-svn] [commit] r11715 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 12:26:31 2009 New Revision: 11715 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 12:26:31 2009 @@ -352,8 +352,7 @@ DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, message); - if (!strcasecmp(message, "ERROR 68")) { /* not yet protocol specified, - just authorized */ + if (!strcasecmp(message, "ERROR 68")) { DEBUGA_SKYPE ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", SKYPIAX_P_LOG); @@ -386,25 +385,6 @@ if (!where) { WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); } - - if (!strcasecmp(message, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[11]); */ - memset(tech_pvt->skype_friends, 0, 4096); - strncpy(tech_pvt->skype_friends, &message_2[11], 4095); - } - if (!strcasecmp(message, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_fullname, 0, 512); - strncpy(tech_pvt->skype_fullname, &message_2[10], 511); - } - if (!strcasecmp(message, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_displayname, 0, 512); - strncpy(tech_pvt->skype_displayname, &message_2[10], 511); - } if (!strcasecmp(message, "ERROR")) { ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; @@ -716,6 +696,26 @@ } //CALL + /* the "numbered" messages that follows are used by the directory application, not yet ported */ + if (!strcasecmp(message, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[11]); */ + memset(tech_pvt->skype_friends, 0, 4096); + strncpy(tech_pvt->skype_friends, &message_2[11], 4095); + } + if (!strcasecmp(message, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_fullname, 0, 512); + strncpy(tech_pvt->skype_fullname, &message_2[10], 511); + } + if (!strcasecmp(message, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_displayname, 0, 512); + strncpy(tech_pvt->skype_displayname, &message_2[10], 511); + } + a = 0; } //message end } //read_from_pipe From gmaruzz at freeswitch.org Mon Feb 9 10:26:49 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 12:26:49 -0600 Subject: [Freeswitch-svn] [commit] r11716 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 12:26:48 2009 New Revision: 11716 Log: skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 12:26:48 2009 @@ -339,387 +339,380 @@ memset(message, 0, 4096); memset(message_2, 0, 4096); - howmany = - skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, - sizeof(read_from_pipe)); - - a = 0; - for (i = 0; i < howmany; i++) { - message[a] = read_from_pipe[i]; - a++; - - if (read_from_pipe[i] == '\0') { + howmany = + skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *) read_from_pipe, + sizeof(read_from_pipe)); + + a = 0; + for (i = 0; i < howmany; i++) { + message[a] = read_from_pipe[i]; + a++; + + if (read_from_pipe[i] == '\0') { + + DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, message); + + if (!strcasecmp(message, "ERROR 68")) { + DEBUGA_SKYPE + ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", + SKYPIAX_P_LOG); + skypiax_sleep(1000000); + skypiax_skype_write(tech_pvt, "PROTOCOL 6"); + skypiax_sleep(10000); + return 0; + } - DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, message); + if (!strncasecmp(message, "ERROR 92 CALL", 12)) { + ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", + SKYPIAX_P_LOG, message); + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + tech_pvt->skype_call_id[0] = '\0'; + + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } - if (!strcasecmp(message, "ERROR 68")) { - DEBUGA_SKYPE - ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", - SKYPIAX_P_LOG); - skypiax_sleep(1000000); - skypiax_skype_write(tech_pvt, "PROTOCOL 6"); - skypiax_sleep(10000); - return 0; - } + strncpy(message_2, message, sizeof(message) - 1); - if (!strncasecmp(message, "ERROR 92 CALL", 12)) { - ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", - SKYPIAX_P_LOG, message); - tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - tech_pvt->skype_call_id[0] = '\0'; + buf = message; + stringp = &buf; + where = strsep(stringp, " "); + if (!where) { + WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); + } + if (!strcasecmp(message, "ERROR")) { + ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + tech_pvt->skype_call_id[0] = '\0'; + + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } + if (!strcasecmp(message, "CURRENTUSERHANDLE")) { + strncpy(obj, where, sizeof(obj) - 1); - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } + where = strsep(stringp, " "); - strncpy(message_2, message, sizeof(message) - 1); + strncpy(id, where, sizeof(id) - 1); - buf = message; - stringp = &buf; - where = strsep(stringp, " "); - if (!where) { - WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); - } - if (!strcasecmp(message, "ERROR")) { - ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); - tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - tech_pvt->skype_call_id[0] = '\0'; + if (!strcasecmp(id, tech_pvt->skype_user)) { + tech_pvt->SkypiaxHandles.api_connected = 1; + DEBUGA_SKYPE + ("Skype MSG: message: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", + SKYPIAX_P_LOG, message, obj, id, tech_pvt->skype_user); + } + } - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } - if (!strcasecmp(message, "CURRENTUSERHANDLE")) { - strncpy(obj, where, sizeof(obj) - 1); + if (!strcasecmp(message, "USER")) { + strncpy(obj, where, sizeof(obj) - 1); - where = strsep(stringp, " "); + where = strsep(stringp, " "); - strncpy(id, where, sizeof(id) - 1); + strncpy(id, where, sizeof(id) - 1); - if (!strcasecmp(id, tech_pvt->skype_user)) { - tech_pvt->SkypiaxHandles.api_connected = 1; - DEBUGA_SKYPE - ("Skype MSG: message: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", - SKYPIAX_P_LOG, message, obj, id, tech_pvt->skype_user); - } - } + where = strsep(stringp, " "); - if (!strcasecmp(message, "USER")) { - strncpy(obj, where, sizeof(obj) - 1); + strncpy(prop, where, sizeof(prop) - 1); - where = strsep(stringp, " "); + if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); - strncpy(id, where, sizeof(id) - 1); + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } - where = strsep(stringp, " "); + if (!strcasecmp(message, "MESSAGE")) { + strncpy(obj, where, sizeof(obj) - 1); - strncpy(prop, where, sizeof(prop) - 1); + where = strsep(stringp, " "); - if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { - char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop); + strncpy(id, where, sizeof(id) - 1); - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } - } + where = strsep(stringp, " "); - if (!strcasecmp(message, "MESSAGE")) { - strncpy(obj, where, sizeof(obj) - 1); + strncpy(prop, where, sizeof(prop) - 1); - where = strsep(stringp, " "); + if (!strcasecmp(prop, "STATUS")) { - strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(value, where, sizeof(value) - 1); - strncpy(prop, where, sizeof(prop) - 1); + if (!strcasecmp(value, "RECEIVED")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s value: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value); + + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } else if (!strcasecmp(prop, "BODY")) { + char msg_to_skype[256]; - if (!strcasecmp(prop, "STATUS")) { + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); - where = strsep(stringp, " "); + //FIXME: TODO: on config param ??? + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } - strncpy(value, where, sizeof(value) - 1); + } - if (!strcasecmp(value, "RECEIVED")) { - char msg_to_skype[256]; - DEBUGA_SKYPE - ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s value: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop, value); + if (!strcasecmp(message, "CALL")) { - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } - } else if (!strcasecmp(prop, "BODY")) { - char msg_to_skype[256]; + strncpy(obj, where, sizeof(obj) - 1); - DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop); + where = strsep(stringp, " "); - //FIXME: TODO: on config param ??? - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } + strncpy(id, where, sizeof(id) - 1); - } + where = strsep(stringp, " "); - if (!strcasecmp(message, "CALL")) { + strncpy(prop, where, sizeof(prop) - 1); - strncpy(obj, where, sizeof(obj) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(value, where, sizeof(value) - 1); - strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + DEBUGA_SKYPE + ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value, where ? where : "NULL"); - strncpy(prop, where, sizeof(prop) - 1); + if (!strcasecmp(prop, "PARTNER_HANDLE")) { + strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_number); + return CALLFLOW_INCOMING_RING; + } + if (!strcasecmp(prop, "PARTNER_DISPNAME")) { + snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", + value, where ? " " : "", where ? where : ""); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_name); + } + if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } + if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } - where = strsep(stringp, " "); + if (!strcasecmp(prop, "DTMF")) { - strncpy(value, where, sizeof(value) - 1); + DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - where = strsep(stringp, " "); + dtmf_received(tech_pvt, value); + } + if (!strcasecmp(prop, "FAILUREREASON")) { + DEBUGA_SKYPE + ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", + SKYPIAX_P_LOG, id); + } + if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { + if (strcasecmp(id, tech_pvt->skype_call_id)) { + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE - ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop, value, where ? where : "NULL"); - - if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(tech_pvt->callid_number, value, - sizeof(tech_pvt->callid_number) - 1); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_number); - return CALLFLOW_INCOMING_RING; - } - if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", - value, where ? " " : "", where ? where : ""); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_name); - } - if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, - id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } - if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } - - if (!strcasecmp(prop, "DTMF")) { - - DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); + ("We called a Skype contact and he answered us on skype_call: %s.\n", + SKYPIAX_P_LOG, id); + } + } - dtmf_received(tech_pvt, value); - } + if (!strcasecmp(prop, "STATUS")) { - if (!strcasecmp(prop, "FAILUREREASON")) { - DEBUGA_SKYPE - ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", - SKYPIAX_P_LOG, id); - } - if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { - if (strcasecmp(id, tech_pvt->skype_call_id)) { + if (!strcasecmp(value, "RINGING")) { + char msg_to_skype[1024]; + if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { + /* we are not calling out */ + + if (!strlen(tech_pvt->skype_call_id)) { //FIXME + /* we are not inside an active call */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RING; + /* no owner, no active call, let's answer */ + skypiax_skype_write(tech_pvt, "SET AGC OFF"); + skypiax_sleep(10000); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, + id); strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + } else { + /* we're owned, we're in a call, let's refuse */ + sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); DEBUGA_SKYPE - ("We called a Skype contact and he answered us on skype_call: %s.\n", + ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", SKYPIAX_P_LOG, id); + } + } else { + /* we are calling out */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RINGING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", + SKYPIAX_P_LOG, id); } + } else if (!strcasecmp(value, "EARLYMEDIA")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); + DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", + SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "MISSED")) { + DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); + + } else if (!strcasecmp(value, "FINISHED")) { + //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; - if (!strcasecmp(prop, "STATUS")) { - - if (!strcasecmp(value, "RINGING")) { - char msg_to_skype[1024]; - if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { - /* we are not calling out */ - - if (!strlen(tech_pvt->skype_call_id)) { //FIXME - /* we are not inside an active call */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RING; - /* no owner, no active call, let's answer */ - skypiax_skype_write(tech_pvt, "SET AGC OFF"); - skypiax_sleep(10000); - skypiax_skype_write(tech_pvt, "SET AEC OFF"); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", - SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - } else { - /* we're owned, we're in a call, let's refuse */ - sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - DEBUGA_SKYPE - ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", - SKYPIAX_P_LOG, id); - - } - } else { - /* we are calling out */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RINGING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", - SKYPIAX_P_LOG, id); - } - } else if (!strcasecmp(value, "EARLYMEDIA")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", - SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "MISSED")) { - DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); - - } else if (!strcasecmp(value, "FINISHED")) { - //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - - } else if (!strcasecmp(value, "CANCELLED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "FAILED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else if (!strcasecmp(value, "REFUSED")) { - if (!strcasecmp(id, tech_pvt->skype_call_id)) { - /* this is the id of the call we are in, probably we generated it */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", - SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, - sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - tech_pvt->skype_call_id[0] = '\0'; - return CALLFLOW_INCOMING_HANGUP; - } else { - /* we're here because were us that refused an incoming call */ - DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); - - } - } else if (!strcasecmp(value, "ROUTING")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "UNPLACED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "INPROGRESS")) { - char msg_to_skype[1024]; - tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_UP; - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - start_audio_threads(tech_pvt); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - tech_pvt->tcp_srv_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - - tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } - if (!strlen(tech_pvt->session_uuid_str)) { - DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); - } else { - DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); - } + } else if (!strcasecmp(value, "CANCELLED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; - } else { - WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, - id, value); + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } else if (!strcasecmp(value, "FAILED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else if (!strcasecmp(value, "REFUSED")) { + if (!strcasecmp(id, tech_pvt->skype_call_id)) { + /* this is the id of the call we are in, probably we generated it */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + SKYPIAX_P_LOG, id); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->skype_call_id[0] = '\0'; + return CALLFLOW_INCOMING_HANGUP; + } else { + /* we're here because were us that refused an incoming call */ + DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); - } - } //STATUS + } + } else if (!strcasecmp(value, "ROUTING")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "UNPLACED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "INPROGRESS")) { + char msg_to_skype[1024]; + tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_UP; + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + start_audio_threads(tech_pvt); + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + + tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + + if (!strlen(tech_pvt->session_uuid_str)) { + DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); + new_inbound_channel(tech_pvt); + } else { + DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); + outbound_channel_answered(tech_pvt); + } - } //CALL + } else { + WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id, + value); - /* the "numbered" messages that follows are used by the directory application, not yet ported */ - if (!strcasecmp(message, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[11]); */ - memset(tech_pvt->skype_friends, 0, 4096); - strncpy(tech_pvt->skype_friends, &message_2[11], 4095); - } - if (!strcasecmp(message, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_fullname, 0, 512); - strncpy(tech_pvt->skype_fullname, &message_2[10], 511); - } - if (!strcasecmp(message, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_displayname, 0, 512); - strncpy(tech_pvt->skype_displayname, &message_2[10], 511); } + } //STATUS - a = 0; - } //message end - } //read_from_pipe + } //CALL + /* the "numbered" messages that follows are used by the directory application, not yet ported */ + if (!strcasecmp(message, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[11]); */ + memset(tech_pvt->skype_friends, 0, 4096); + strncpy(tech_pvt->skype_friends, &message_2[11], 4095); + } + if (!strcasecmp(message, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_fullname, 0, 512); + strncpy(tech_pvt->skype_fullname, &message_2[10], 511); + } + if (!strcasecmp(message, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_displayname, 0, 512); + strncpy(tech_pvt->skype_displayname, &message_2[10], 511); + } + + a = 0; + } //message end + } //read_from_pipe return 0; } From mrene at freeswitch.org Mon Feb 9 10:48:27 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 12:48:27 -0600 Subject: [Freeswitch-svn] [commit] r11717 - freeswitch/trunk/conf/sip_profiles Message-ID: Author: mrene Date: Mon Feb 9 12:48:26 2009 New Revision: 11717 Log: Add commented disable-srv and disable-naptr options to sample config Modified: freeswitch/trunk/conf/sip_profiles/internal-ipv6.xml freeswitch/trunk/conf/sip_profiles/internal.xml Modified: freeswitch/trunk/conf/sip_profiles/internal-ipv6.xml ============================================================================== --- freeswitch/trunk/conf/sip_profiles/internal-ipv6.xml (original) +++ freeswitch/trunk/conf/sip_profiles/internal-ipv6.xml Mon Feb 9 12:48:26 2009 @@ -119,6 +119,10 @@ + + + + Modified: freeswitch/trunk/conf/sip_profiles/internal.xml ============================================================================== --- freeswitch/trunk/conf/sip_profiles/internal.xml (original) +++ freeswitch/trunk/conf/sip_profiles/internal.xml Mon Feb 9 12:48:26 2009 @@ -197,6 +197,11 @@ --> + + + + + From brian at freeswitch.org Mon Feb 9 11:14:34 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 13:14:34 -0600 Subject: [Freeswitch-svn] [commit] r11718 - freeswitch/trunk/src/mod/codecs/mod_siren Message-ID: Author: brian Date: Mon Feb 9 13:14:34 2009 New Revision: 11718 Log: avoid polycom bug Modified: freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c Modified: freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c Mon Feb 9 13:14:34 2009 @@ -173,7 +173,7 @@ switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */ - 114, /* the IANA code number */ + 115, /* the IANA code number */ "G7221", /* the IANA code name */ "bitrate=48000", /* default fmtp to send (can be overridden by the init function) */ 32000, /* samples transferred per second */ From gmaruzz at freeswitch.org Mon Feb 9 11:25:19 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 13:25:19 -0600 Subject: [Freeswitch-svn] [commit] r11719 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Feb 9 13:25:18 2009 New Revision: 11719 Log: skypiax: cleaning skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Mon Feb 9 13:25:18 2009 @@ -1058,13 +1058,16 @@ if (channel) { switch_dtmf_t dtmf = { (char) value[0], switch_core_default_dtmf_duration(0) }; - DEBUGA_SKYPE("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, + NOTICA("received DTMF %c on channel %s\n", SKYPIAX_P_LOG, dtmf.digit, switch_channel_get_name(channel)); switch_mutex_lock(tech_pvt->flag_mutex); + //FIXME: why sometimes DTMFs from here do not seems to be get by FS? switch_channel_queue_dtmf(channel, &dtmf); switch_set_flag(tech_pvt, TFLAG_DTMF); switch_mutex_unlock(tech_pvt->flag_mutex); - } + } else { + WARNINGA("received %c DTMF, but no channel?\n", SKYPIAX_P_LOG, value[0]); + } switch_core_session_rwunlock(session); return 0; Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Mon Feb 9 13:25:18 2009 @@ -23,309 +23,8 @@ #endif /* WIN32 */ /*************************************/ -void *skypiax_do_tcp_srv_thread_func(void *obj) -{ - private_t *tech_pvt = obj; - int s; - unsigned int len; - unsigned int i; - unsigned int a; -#if defined(WIN32) && !defined(__CYGWIN__) - int sin_size; -#else /* WIN32 */ - unsigned int sin_size; -#endif /* WIN32 */ - unsigned int fd; - short srv_in[SAMPLES_PER_FRAME]; - short srv_out[SAMPLES_PER_FRAME / 2]; - struct sockaddr_in my_addr; - struct sockaddr_in remote_addr; - int exit = 0; - unsigned int kill_cli_size; - short kill_cli_buff[SAMPLES_PER_FRAME]; - short totalbuf[SAMPLES_PER_FRAME]; - - memset(&my_addr, 0, sizeof(my_addr)); - my_addr.sin_family = AF_INET; - my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(tech_pvt->tcp_srv_port); - - if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - ERRORA("socket Error\n", SKYPIAX_P_LOG); - return NULL; - } - - if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { - ERRORA("bind Error\n", SKYPIAX_P_LOG); - return NULL; - } - DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); - - listen(s, 6); - - sin_size = sizeof(remote_addr); - while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) { - DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); - if (!running) - break; - while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN - && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS - || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { - - unsigned int fdselect; - int rt; - fd_set fs; - struct timeval to; - - if (!running) - break; - exit = 1; - - fdselect = fd; - FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //2000 msec - to.tv_sec = 0; - - rt = select(fdselect + 1, &fs, NULL, NULL, &to); - if (rt > 0) { - - len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time - - if (len == 320) { - unsigned int howmany; - - if (SAMPLERATE_SKYPIAX == 8000) { - /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ - a = 0; - for (i = 0; i < len / sizeof(short); i++) { - srv_out[a] = srv_in[i]; - i++; - a++; - } - } else if (SAMPLERATE_SKYPIAX == 16000) { - /* we're NOT downsampling, srv_out will contain ALL samples from srv_in */ - for (i = 0; i < len / sizeof(short); i++) { - srv_out[i] = srv_in[i]; - } - } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } - /* if not yet done, let's store the half incoming frame */ - if (!tech_pvt->audiobuf_is_loaded) { - for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { - tech_pvt->audiobuf[i] = srv_out[i]; - } - tech_pvt->audiobuf_is_loaded = 1; - } else { - /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ - for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { - totalbuf[i] = tech_pvt->audiobuf[i]; - } - for (a = 0; a < SAMPLES_PER_FRAME / 2; a++) { - totalbuf[i] = srv_out[a]; - i++; - } - /* send the complete frame through the pipe to our code waiting for incoming audio */ - howmany = - skypiax_pipe_write(tech_pvt->audiopipe[1], totalbuf, - SAMPLES_PER_FRAME * sizeof(short)); - if (howmany != SAMPLES_PER_FRAME * sizeof(short)) { - ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, - SAMPLES_PER_FRAME * sizeof(short)); - } - /* done with the stored half frame */ - tech_pvt->audiobuf_is_loaded = 0; - } - - } else if (len == 0) { - DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); - skypiax_sleep(1000); - } else { - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; - } - - } else { - if (rt) - ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); - skypiax_sleep(10000); - } - - } - - /* let's send some frame in the pipes, so both tcp_cli and tcp_srv will have an occasion to die */ - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); - kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - - DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); - skypiax_close_socket(fd); - if (exit) - break; - } - - DEBUGA_SKYPE("incoming audio server (I am it) GONE\n", SKYPIAX_P_LOG); - skypiax_close_socket(s); - return NULL; -} - -void *skypiax_do_tcp_cli_thread_func(void *obj) -{ - private_t *tech_pvt = obj; - int s; - struct sockaddr_in my_addr; - struct sockaddr_in remote_addr; - unsigned int got; - unsigned int len; - unsigned int i; - unsigned int a; - unsigned int fd; - short cli_out[SAMPLES_PER_FRAME * 2]; - short cli_in[SAMPLES_PER_FRAME]; -#ifdef WIN32 - int sin_size; -#else - unsigned int sin_size; -#endif /* WIN32 */ - - memset(&my_addr, 0, sizeof(my_addr)); - my_addr.sin_family = AF_INET; - my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(tech_pvt->tcp_cli_port); - - if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - ERRORA("socket Error\n", SKYPIAX_P_LOG); - return NULL; - } - - if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { - ERRORA("bind Error\n", SKYPIAX_P_LOG); - skypiax_close_socket(s); - return NULL; - } - DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); - - listen(s, 6); - - sin_size = sizeof(remote_addr); - while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) { - DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); - if (!running) - break; - while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN - && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS - || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { - unsigned int fdselect; - int rt; - fd_set fs; - struct timeval to; - - if (!running) - break; - fdselect = fd; - FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //2000 msec - to.tv_sec = 0; - - rt = select(fdselect + 1, NULL, &fs, NULL, &to); - - if (rt > 0) { - - /* read from the pipe the audio frame we are supposed to send out */ - got = - skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, - SAMPLES_PER_FRAME * sizeof(short)); - if (got != SAMPLES_PER_FRAME * sizeof(short)) { - WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); - } - - if (got == SAMPLES_PER_FRAME * sizeof(short)) { - if (SAMPLERATE_SKYPIAX == 8000) { - - /* we're upsampling from 8khz to 16khz, cli_out will contain two times each sample from cli_in */ - a = 0; - for (i = 0; i < got / sizeof(short); i++) { - cli_out[a] = cli_in[i]; - a++; - cli_out[a] = cli_in[i]; - a++; - } - got = got * 2; - } else if (SAMPLERATE_SKYPIAX == 16000) { - /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */ - for (i = 0; i < got / sizeof(short); i++) { - cli_out[i] = cli_in[i]; - } - } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } - - /* send the 16khz frame to the Skype client waiting for incoming audio */ - len = send(fd, (char *) cli_out, got, 0); - - if (len == -1) { - break; - } else if (len != got) { - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - skypiax_sleep(1000); - break; - } - - } else { - - WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); - } - } else { - if (rt) - ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); - skypiax_sleep(10000); - } - - } - DEBUGA_SKYPE("Skype outbound audio GONE\n", SKYPIAX_P_LOG); - skypiax_close_socket(fd); - break; - } - - DEBUGA_SKYPE("outbound audio server (I am it) GONE\n", SKYPIAX_P_LOG); - skypiax_close_socket(s); - return NULL; -} - -int skypiax_skypeaudio_read(private_t * tech_pvt) -{ - unsigned int samples; - - samples = - skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, - SAMPLES_PER_FRAME * sizeof(short)); - - if (samples != SAMPLES_PER_FRAME * sizeof(short)) { - if (samples) - WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, - SAMPLES_PER_FRAME * sizeof(short)); - return 0; - } else { - /* A real frame */ - tech_pvt->read_frame.datalen = samples; - } - return 1; -} - int skypiax_skype_read(private_t * tech_pvt) { - char read_from_pipe[4096]; char message[4096]; char message_2[4096]; @@ -361,9 +60,8 @@ skypiax_sleep(10000); return 0; } - if (!strncasecmp(message, "ERROR 92 CALL", 12)) { - ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", + ERRORA("Skype got ERROR: |||%s|||, the (skypeout) number we called was not recognized as valid\n", SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); @@ -376,9 +74,7 @@ tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } - strncpy(message_2, message, sizeof(message) - 1); - buf = message; stringp = &buf; where = strsep(stringp, " "); @@ -386,7 +82,7 @@ WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); } if (!strcasecmp(message, "ERROR")) { - ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); + WARNINGA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; @@ -400,11 +96,8 @@ } if (!strcasecmp(message, "CURRENTUSERHANDLE")) { strncpy(obj, where, sizeof(obj) - 1); - where = strsep(stringp, " "); - strncpy(id, where, sizeof(id) - 1); - if (!strcasecmp(id, tech_pvt->skype_user)) { tech_pvt->SkypiaxHandles.api_connected = 1; DEBUGA_SKYPE @@ -412,309 +105,557 @@ SKYPIAX_P_LOG, message, obj, id, tech_pvt->skype_user); } } - if (!strcasecmp(message, "USER")) { strncpy(obj, where, sizeof(obj) - 1); - where = strsep(stringp, " "); - strncpy(id, where, sizeof(id) - 1); - where = strsep(stringp, " "); + strncpy(prop, where, sizeof(prop) - 1); + if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); + //TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } + if (!strcasecmp(message, "MESSAGE")) { + strncpy(obj, where, sizeof(obj) - 1); + where = strsep(stringp, " "); + strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); + strncpy(prop, where, sizeof(prop) - 1); + if (!strcasecmp(prop, "STATUS")) { + where = strsep(stringp, " "); + strncpy(value, where, sizeof(value) - 1); + if (!strcasecmp(value, "RECEIVED")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s value: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value); + //TODO: authomatically flag messages as read based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } else if (!strcasecmp(prop, "BODY")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop); + //TODO: authomatically flag messages as read based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + } + } + if (!strcasecmp(message, "CALL")) { + strncpy(obj, where, sizeof(obj) - 1); + where = strsep(stringp, " "); + strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); + strncpy(prop, where, sizeof(prop) - 1); + where = strsep(stringp, " "); + strncpy(value, where, sizeof(value) - 1); + where = strsep(stringp, " "); + + DEBUGA_SKYPE + ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, message, obj, id, prop, value, where ? where : "NULL"); + + if (!strcasecmp(prop, "PARTNER_HANDLE")) { + strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_number); + return CALLFLOW_INCOMING_RING; + } + if (!strcasecmp(prop, "PARTNER_DISPNAME")) { + snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", + value, where ? " " : "", where ? where : ""); + DEBUGA_SKYPE + ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_name); + } + if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } + if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; + } + if (!strcasecmp(prop, "DTMF")) { + NOTICA("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); + dtmf_received(tech_pvt, value); + } + if (!strcasecmp(prop, "FAILUREREASON")) { + DEBUGA_SKYPE + ("Skype FAILED on skype_call %s. Let's wait for the FAILED message.\n", + SKYPIAX_P_LOG, id); + } + if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { + if (strcasecmp(id, tech_pvt->skype_call_id)) { + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE + ("We called a Skype contact and he answered us on skype_call: %s.\n", + SKYPIAX_P_LOG, id); + } + } + if (!strcasecmp(prop, "STATUS")) { + + if (!strcasecmp(value, "RINGING")) { + char msg_to_skype[1024]; + if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { + /* we are not calling out */ + if (!strlen(tech_pvt->skype_call_id)) { + /* we are not inside an active call */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RING; + /* no owner, no active call, let's answer */ + skypiax_skype_write(tech_pvt, "SET AGC OFF"); + skypiax_sleep(10000); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, + id); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + } else { + /* we're owned, we're in a call, let's refuse */ + sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); + skypiax_skype_write(tech_pvt, msg_to_skype); + skypiax_sleep(10000); + DEBUGA_SKYPE + ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", + SKYPIAX_P_LOG, id); + } + } else { + /* we are calling out */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RINGING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", + SKYPIAX_P_LOG, id); + } + } else if (!strcasecmp(value, "EARLYMEDIA")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", + SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "MISSED")) { + DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "FINISHED")) { + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } else if (!strcasecmp(value, "CANCELLED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + } else if (!strcasecmp(value, "FAILED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", + SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else if (!strcasecmp(value, "REFUSED")) { + if (!strcasecmp(id, tech_pvt->skype_call_id)) { + /* this is the id of the call we are in, probably we generated it */ + tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + SKYPIAX_P_LOG, id); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->skype_call_id[0] = '\0'; + return CALLFLOW_INCOMING_HANGUP; + } else { + /* we're here because were us that refused an incoming call */ + DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); + } + } else if (!strcasecmp(value, "ROUTING")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "UNPLACED")) { + tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "INPROGRESS")) { + char msg_to_skype[1024]; + tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_UP; + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + start_audio_threads(tech_pvt); + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + if (!strlen(tech_pvt->session_uuid_str)) { + DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); + new_inbound_channel(tech_pvt); + } else { + DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); + outbound_channel_answered(tech_pvt); + } + } else { + WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id, + value); + } + } //STATUS + } //CALL + /* the "numbered" messages that follows are used by the directory application, not yet ported */ + if (!strcasecmp(message, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[11]); */ + memset(tech_pvt->skype_friends, 0, 4096); + strncpy(tech_pvt->skype_friends, &message_2[11], 4095); + } + if (!strcasecmp(message, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_fullname, 0, 512); + strncpy(tech_pvt->skype_fullname, &message_2[10], 511); + } + if (!strcasecmp(message, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, + * message_2, &message_2[10]); */ + memset(tech_pvt->skype_displayname, 0, 512); + strncpy(tech_pvt->skype_displayname, &message_2[10], 511); + } + a = 0; + } //message end + } //read_from_pipe + return 0; +} - strncpy(prop, where, sizeof(prop) - 1); +void *skypiax_do_tcp_srv_thread_func(void *obj) +{ + private_t *tech_pvt = obj; + int s; + unsigned int len; + unsigned int i; + unsigned int a; +#if defined(WIN32) && !defined(__CYGWIN__) + int sin_size; +#else /* WIN32 */ + unsigned int sin_size; +#endif /* WIN32 */ + unsigned int fd; + short srv_in[SAMPLES_PER_FRAME]; + short srv_out[SAMPLES_PER_FRAME / 2]; + struct sockaddr_in my_addr; + struct sockaddr_in remote_addr; + int exit = 0; + unsigned int kill_cli_size; + short kill_cli_buff[SAMPLES_PER_FRAME]; + short totalbuf[SAMPLES_PER_FRAME]; - if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { - char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop); + memset(&my_addr, 0, sizeof(my_addr)); + my_addr.sin_family = AF_INET; + my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ + my_addr.sin_port = htons(tech_pvt->tcp_srv_port); - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - } - } + if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { + ERRORA("socket Error\n", SKYPIAX_P_LOG); + return NULL; + } - if (!strcasecmp(message, "MESSAGE")) { - strncpy(obj, where, sizeof(obj) - 1); + if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { + ERRORA("bind Error\n", SKYPIAX_P_LOG); + return NULL; + } + DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); - where = strsep(stringp, " "); + listen(s, 6); - strncpy(id, where, sizeof(id) - 1); + sin_size = sizeof(remote_addr); + while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) { + DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); + if (!running) + break; + while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN + && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS + || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { - where = strsep(stringp, " "); + unsigned int fdselect; + int rt; + fd_set fs; + struct timeval to; - strncpy(prop, where, sizeof(prop) - 1); + if (!running) + break; + exit = 1; - if (!strcasecmp(prop, "STATUS")) { + fdselect = fd; + FD_ZERO(&fs); + FD_SET(fdselect, &fs); + to.tv_usec = 2000000; //2000 msec + to.tv_sec = 0; - where = strsep(stringp, " "); + rt = select(fdselect + 1, &fs, NULL, NULL, &to); + if (rt > 0) { - strncpy(value, where, sizeof(value) - 1); + len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time - if (!strcasecmp(value, "RECEIVED")) { - char msg_to_skype[256]; - DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s value: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop, value); + if (len == 320) { + unsigned int howmany; - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); + if (SAMPLERATE_SKYPIAX == 8000) { + /* we're downsampling from 16khz to 8khz, srv_out will contain each other sample from srv_in */ + a = 0; + for (i = 0; i < len / sizeof(short); i++) { + srv_out[a] = srv_in[i]; + i++; + a++; + } + } else if (SAMPLERATE_SKYPIAX == 16000) { + /* we're NOT downsampling, srv_out will contain ALL samples from srv_in */ + for (i = 0; i < len / sizeof(short); i++) { + srv_out[i] = srv_in[i]; + } + } else { + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } + /* if not yet done, let's store the half incoming frame */ + if (!tech_pvt->audiobuf_is_loaded) { + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { + tech_pvt->audiobuf[i] = srv_out[i]; + } + tech_pvt->audiobuf_is_loaded = 1; + } else { + /* we got a stored half frame, build a complete frame in totalbuf using the stored half frame and the current half frame */ + for (i = 0; i < SAMPLES_PER_FRAME / 2; i++) { + totalbuf[i] = tech_pvt->audiobuf[i]; + } + for (a = 0; a < SAMPLES_PER_FRAME / 2; a++) { + totalbuf[i] = srv_out[a]; + i++; + } + /* send the complete frame through the pipe to our code waiting for incoming audio */ + howmany = + skypiax_pipe_write(tech_pvt->audiopipe[1], totalbuf, + SAMPLES_PER_FRAME * sizeof(short)); + if (howmany != SAMPLES_PER_FRAME * sizeof(short)) { + ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, + SAMPLES_PER_FRAME * sizeof(short)); + } + /* done with the stored half frame */ + tech_pvt->audiobuf_is_loaded = 0; } - } else if (!strcasecmp(prop, "BODY")) { - char msg_to_skype[256]; - - DEBUGA_SKYPE("Skype MSG: message: %s, obj: %s, id: %s, prop: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop); - //FIXME: TODO: on config param ??? - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(tech_pvt, msg_to_skype); + } else if (len == 0) { + DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); + skypiax_sleep(1000); + } else { + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + exit = 1; + break; } + } else { + if (rt) + ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); + skypiax_sleep(10000); } - if (!strcasecmp(message, "CALL")) { - - strncpy(obj, where, sizeof(obj) - 1); - - where = strsep(stringp, " "); - - strncpy(id, where, sizeof(id) - 1); - - where = strsep(stringp, " "); - - strncpy(prop, where, sizeof(prop) - 1); - - where = strsep(stringp, " "); - - strncpy(value, where, sizeof(value) - 1); - - where = strsep(stringp, " "); - - DEBUGA_SKYPE - ("Skype MSG: message: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, message, obj, id, prop, value, where ? where : "NULL"); - - if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_number); - return CALLFLOW_INCOMING_RING; - } - if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", - value, where ? " " : "", where ? where : ""); - DEBUGA_SKYPE - ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", - SKYPIAX_P_LOG, id, tech_pvt->callid_name); - } - if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } - if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); - if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) - tech_pvt->interface_state = SKYPIAX_STATE_PRERING; - } + } - if (!strcasecmp(prop, "DTMF")) { + /* let's send some frame in the pipes, so both tcp_cli and tcp_srv will have an occasion to die */ + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); + kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); + len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); - DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); + DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); + skypiax_close_socket(fd); + if (exit) + break; + } - dtmf_received(tech_pvt, value); - } + DEBUGA_SKYPE("incoming audio server (I am it) GONE\n", SKYPIAX_P_LOG); + skypiax_close_socket(s); + return NULL; +} - if (!strcasecmp(prop, "FAILUREREASON")) { - DEBUGA_SKYPE - ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", - SKYPIAX_P_LOG, id); - } - if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { - if (strcasecmp(id, tech_pvt->skype_call_id)) { - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE - ("We called a Skype contact and he answered us on skype_call: %s.\n", - SKYPIAX_P_LOG, id); - } - } +void *skypiax_do_tcp_cli_thread_func(void *obj) +{ + private_t *tech_pvt = obj; + int s; + struct sockaddr_in my_addr; + struct sockaddr_in remote_addr; + unsigned int got; + unsigned int len; + unsigned int i; + unsigned int a; + unsigned int fd; + short cli_out[SAMPLES_PER_FRAME * 2]; + short cli_in[SAMPLES_PER_FRAME]; +#ifdef WIN32 + int sin_size; +#else + unsigned int sin_size; +#endif /* WIN32 */ - if (!strcasecmp(prop, "STATUS")) { + memset(&my_addr, 0, sizeof(my_addr)); + my_addr.sin_family = AF_INET; + my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ + my_addr.sin_port = htons(tech_pvt->tcp_cli_port); - if (!strcasecmp(value, "RINGING")) { - char msg_to_skype[1024]; - if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { - /* we are not calling out */ + if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { + ERRORA("socket Error\n", SKYPIAX_P_LOG); + return NULL; + } - if (!strlen(tech_pvt->skype_call_id)) { //FIXME - /* we are not inside an active call */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RING; - /* no owner, no active call, let's answer */ - skypiax_skype_write(tech_pvt, "SET AGC OFF"); - skypiax_sleep(10000); - skypiax_skype_write(tech_pvt, "SET AEC OFF"); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, - id); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - } else { - /* we're owned, we're in a call, let's refuse */ - sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); - skypiax_skype_write(tech_pvt, msg_to_skype); - skypiax_sleep(10000); - DEBUGA_SKYPE - ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", - SKYPIAX_P_LOG, id); + if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { + ERRORA("bind Error\n", SKYPIAX_P_LOG); + skypiax_close_socket(s); + return NULL; + } + DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); - } - } else { - /* we are calling out */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; - tech_pvt->interface_state = SKYPIAX_STATE_RINGING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", - SKYPIAX_P_LOG, id); - } - } else if (!strcasecmp(value, "EARLYMEDIA")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", - SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "MISSED")) { - DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); + listen(s, 6); - } else if (!strcasecmp(value, "FINISHED")) { - //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; + sin_size = sizeof(remote_addr); + while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) { + DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); + if (!running) + break; + while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN + && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS + || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { + unsigned int fdselect; + int rt; + fd_set fs; + struct timeval to; - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } + if (!running) + break; + fdselect = fd; + FD_ZERO(&fs); + FD_SET(fdselect, &fs); + to.tv_usec = 2000000; //2000 msec + to.tv_sec = 0; - } else if (!strcasecmp(value, "CANCELLED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; + rt = select(fdselect + 1, NULL, &fs, NULL, &to); - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "FAILED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", - SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else if (!strcasecmp(value, "REFUSED")) { - if (!strcasecmp(id, tech_pvt->skype_call_id)) { - /* this is the id of the call we are in, probably we generated it */ - tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", - SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - tech_pvt->skype_call_id[0] = '\0'; - return CALLFLOW_INCOMING_HANGUP; - } else { - /* we're here because were us that refused an incoming call */ - DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); + if (rt > 0) { - } - } else if (!strcasecmp(value, "ROUTING")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "UNPLACED")) { - tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; - tech_pvt->interface_state = SKYPIAX_STATE_DIALING; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "INPROGRESS")) { - char msg_to_skype[1024]; - tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_UP; - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - start_audio_threads(tech_pvt); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - tech_pvt->tcp_srv_port); - skypiax_skype_write(tech_pvt, msg_to_skype); + /* read from the pipe the audio frame we are supposed to send out */ + got = + skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, + SAMPLES_PER_FRAME * sizeof(short)); + if (got != SAMPLES_PER_FRAME * sizeof(short)) { + WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + SAMPLES_PER_FRAME * sizeof(short)); + } - tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + if (got == SAMPLES_PER_FRAME * sizeof(short)) { + if (SAMPLERATE_SKYPIAX == 8000) { - if (!strlen(tech_pvt->session_uuid_str)) { - DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); - } else { - DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); + /* we're upsampling from 8khz to 16khz, cli_out will contain two times each sample from cli_in */ + a = 0; + for (i = 0; i < got / sizeof(short); i++) { + cli_out[a] = cli_in[i]; + a++; + cli_out[a] = cli_in[i]; + a++; + } + got = got * 2; + } else if (SAMPLERATE_SKYPIAX == 16000) { + /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */ + for (i = 0; i < got / sizeof(short); i++) { + cli_out[i] = cli_in[i]; } - } else { - WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id, - value); + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } + /* send the 16khz frame to the Skype client waiting for incoming audio */ + len = send(fd, (char *) cli_out, got, 0); + + if (len == -1) { + break; + } else if (len != got) { + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + skypiax_sleep(1000); + break; } - } //STATUS - } //CALL + } else { - /* the "numbered" messages that follows are used by the directory application, not yet ported */ - if (!strcasecmp(message, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[11]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[11]); */ - memset(tech_pvt->skype_friends, 0, 4096); - strncpy(tech_pvt->skype_friends, &message_2[11], 4095); - } - if (!strcasecmp(message, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_fullname, 0, 512); - strncpy(tech_pvt->skype_fullname, &message_2[10], 511); - } - if (!strcasecmp(message, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: message_2: %s, message2[10]: %s\n", SKYPIAX_P_LOG, - * message_2, &message_2[10]); */ - memset(tech_pvt->skype_displayname, 0, 512); - strncpy(tech_pvt->skype_displayname, &message_2[10], 511); + WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, + SAMPLES_PER_FRAME * sizeof(short)); + } + } else { + if (rt) + ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); + skypiax_sleep(10000); } - a = 0; - } //message end - } //read_from_pipe + } + DEBUGA_SKYPE("Skype outbound audio GONE\n", SKYPIAX_P_LOG); + skypiax_close_socket(fd); + break; + } - return 0; + DEBUGA_SKYPE("outbound audio server (I am it) GONE\n", SKYPIAX_P_LOG); + skypiax_close_socket(s); + return NULL; +} + +int skypiax_skypeaudio_read(private_t * tech_pvt) +{ + unsigned int samples; + + samples = + skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, + SAMPLES_PER_FRAME * sizeof(short)); + + if (samples != SAMPLES_PER_FRAME * sizeof(short)) { + if (samples) + WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, + SAMPLES_PER_FRAME * sizeof(short)); + return 0; + } else { + /* A real frame */ + tech_pvt->read_frame.datalen = samples; + } + return 1; } int skypiax_skype_senddigit(private_t * tech_pvt, char digit) @@ -722,9 +663,7 @@ char msg_to_skype[1024]; DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); - sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit); - skypiax_skype_write(tech_pvt, msg_to_skype); return 0; @@ -743,7 +682,6 @@ sprintf(msg_to_skype, "CALL %s", rdest); if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) { - ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG); return -1; } From moy at freeswitch.org Mon Feb 9 12:32:26 2009 From: moy at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 14:32:26 -0600 Subject: [Freeswitch-svn] [commit] r11720 - freeswitch/trunk/src/mod/codecs/mod_dahdi_codec Message-ID: Author: moy Date: Mon Feb 9 14:32:26 2009 New Revision: 11720 Log: fixing zap device name and adding error message for a failed open in mod_dahdi_codec Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Mon Feb 9 14:32:26 2009 @@ -345,7 +345,7 @@ if (!stat(transcoding_device_dahdi, &statbuf)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "DAHDI transcoding device found.\n"); transcoding_device = transcoding_device_dahdi; - transcoder_name = transcoder_name_zap; + transcoder_name = transcoder_name_dahdi; } else if (!stat(transcoding_device_zap, &statbuf)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Zap transcoding device found.\n"); transcoding_device = transcoding_device_zap; @@ -357,7 +357,8 @@ fd = open(transcoding_device, O_RDWR); if (fd < 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open %s transcoder device.\n", transcoder_name); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open %s transcoder device: %s.\n", + transcoder_name, strerror(errno)); return SWITCH_STATUS_FALSE; } From brian at freeswitch.org Mon Feb 9 13:28:38 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 15:28:38 -0600 Subject: [Freeswitch-svn] [commit] r11721 - freeswitch/trunk/src Message-ID: Author: brian Date: Mon Feb 9 15:28:38 2009 New Revision: 11721 Log: FSCORE-289 Modified: freeswitch/trunk/src/switch_rtp.c Modified: freeswitch/trunk/src/switch_rtp.c ============================================================================== --- freeswitch/trunk/src/switch_rtp.c (original) +++ freeswitch/trunk/src/switch_rtp.c Mon Feb 9 15:28:38 2009 @@ -1645,11 +1645,13 @@ } rtp_session->dtmf_data.last_duration = duration; -#ifdef DEBUG_2833 } else { +#ifdef DEBUG_2833 printf("drop: %c %u %u %u %u %d %d\n", key, in_digit_seq, rtp_session->dtmf_data.in_digit_seq, ts, duration, rtp_session->recv_msg.header.m, end); #endif + switch_cond_next(); + goto recvfrom; } } From mikej at freeswitch.org Mon Feb 9 14:35:54 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 16:35:54 -0600 Subject: [Freeswitch-svn] [commit] r11722 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Mon Feb 9 16:35:54 2009 New Revision: 11722 Log: use sofia specific flag macros Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Mon Feb 9 16:35:54 2009 @@ -441,7 +441,7 @@ } } else { /* This if statement check and handles the 3pcc proxy mode */ - if ((tech_pvt->profile->pflags & PFLAG_3PCC_PROXY) && sofia_test_flag(tech_pvt, TFLAG_3PCC)) { + if (sofia_test_pflag(tech_pvt->profile, PFLAG_3PCC_PROXY) && sofia_test_flag(tech_pvt, TFLAG_3PCC)) { /* Send the 200 OK */ nua_respond(tech_pvt->nh, SIP_200_OK, SIPTAG_CONTACT_STR(tech_pvt->profile->url), @@ -1926,7 +1926,7 @@ } } - stream->write_function(stream, "+OK stun-auto-disable=%s", (profile->pflags & PFLAG_STUN_AUTO_DISABLE) ? "true" : "false"); + stream->write_function(stream, "+OK stun-auto-disable=%s", sofia_test_pflag(profile, PFLAG_STUN_AUTO_DISABLE) ? "true" : "false"); goto done; } @@ -1941,7 +1941,7 @@ } } - stream->write_function(stream, "+OK stun-enabled=%s", (profile->pflags & PFLAG_STUN_ENABLED) ? "true" : "false"); + stream->write_function(stream, "+OK stun-enabled=%s", sofia_test_pflag(profile, PFLAG_STUN_ENABLED) ? "true" : "false"); goto done; } From anthm at freeswitch.org Mon Feb 9 16:58:55 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 18:58:55 -0600 Subject: [Freeswitch-svn] [commit] r11723 - in freeswitch/trunk/src: . include Message-ID: Author: anthm Date: Mon Feb 9 18:58:54 2009 New Revision: 11723 Log: FSCORE-288 Modified: freeswitch/trunk/src/include/switch_resample.h freeswitch/trunk/src/switch_core_io.c freeswitch/trunk/src/switch_ivr_async.c freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/trunk/src/include/switch_resample.h (original) +++ freeswitch/trunk/src/include/switch_resample.h Mon Feb 9 18:58:54 2009 @@ -85,8 +85,11 @@ \param pool the memory pool to use for buffer allocation \return SWITCH_STATUS_SUCCESS if the handle was created */ -SWITCH_DECLARE(switch_status_t) switch_resample_create(switch_audio_resampler_t **new_resampler, - int from_rate, switch_size_t from_size, int to_rate, uint32_t to_size, switch_memory_pool_t *pool); +SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resampler_t **new_resampler, + int from_rate, switch_size_t from_size, int to_rate, + uint32_t to_size, switch_memory_pool_t *pool, const char *file, const char *func, int line); + +#define switch_resample_create(_n, _fr, _fs, _tr, _ts, _p) switch_resample_perform_create(_n, _fr, _fs, _tr, _ts, _p, __FILE__, __SWITCH_FUNC__, __LINE__) /*! \brief Destroy an existing resampler handle Modified: freeswitch/trunk/src/switch_core_io.c ============================================================================== --- freeswitch/trunk/src/switch_core_io.c (original) +++ freeswitch/trunk/src/switch_core_io.c Mon Feb 9 18:58:54 2009 @@ -568,7 +568,8 @@ switch_status_t status = SWITCH_STATUS_FALSE; switch_frame_t *enc_frame = NULL, *write_frame = frame; unsigned int flag = 0, need_codec = 0, perfect = 0, do_bugs = 0, do_write = 0, do_resample = 0, ptime_mismatch = 0, pass_cng = 0, resample = 0; - + int did_write_resample = 0; + switch_assert(session != NULL); switch_assert(frame != NULL); @@ -665,7 +666,7 @@ session->raw_write_frame.data, &session->raw_write_frame.datalen, &session->raw_write_frame.rate, &flag); - + if (do_resample && status == SWITCH_STATUS_SUCCESS) { status = SWITCH_STATUS_RESAMPLE; @@ -675,6 +676,7 @@ case SWITCH_STATUS_RESAMPLE: resample++; write_frame = &session->raw_write_frame; + write_frame->rate = frame->codec->implementation->actual_samples_per_second; if (!session->write_resampler) { switch_mutex_lock(session->resample_mutex); status = switch_resample_create(&session->write_resampler, @@ -729,7 +731,6 @@ short *data = write_frame->data; switch_mutex_lock(session->resample_mutex); - session->write_resampler->from_len = write_frame->datalen / 2; switch_short_to_float(data, session->write_resampler->from, session->write_resampler->from_len); @@ -742,12 +743,13 @@ write_frame->samples = session->write_resampler->to_len; write_frame->datalen = write_frame->samples * 2; write_frame->rate = session->write_resampler->to_rate; + did_write_resample = 1; switch_mutex_unlock(session->resample_mutex); } if (session->bugs && !switch_channel_test_flag(session->channel, CF_PAUSE_BUGS)) { switch_media_bug_t *bp, *dp, *last = NULL; - + switch_thread_rwlock_rdlock(session->bug_rwlock); for (bp = session->bugs; bp; bp = bp->next) { switch_bool_t ok = SWITCH_TRUE; @@ -813,7 +815,7 @@ } if (perfect) { - + if (write_frame->datalen < session->write_impl.decoded_bytes_per_packet) { memset(write_frame->data, 255, session->write_impl.decoded_bytes_per_packet - write_frame->datalen); write_frame->datalen = session->write_impl.decoded_bytes_per_packet; @@ -890,7 +892,7 @@ goto error; } } - + if (!(switch_buffer_write(session->raw_write_buffer, write_frame->data, write_frame->datalen))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Write Buffer %u bytes Failed!\n", write_frame->datalen); status = SWITCH_STATUS_MEMERR; goto error; @@ -912,20 +914,25 @@ enc_frame = &session->raw_write_frame; session->raw_write_frame.rate = session->write_impl.actual_samples_per_second; session->enc_write_frame.datalen = session->enc_write_frame.buflen; + + if (frame->codec && frame->codec->implementation) { rate = frame->codec->implementation->actual_samples_per_second; } else { rate = session->write_impl.actual_samples_per_second; } - + status = switch_core_codec_encode(session->write_codec, frame->codec, enc_frame->data, enc_frame->datalen, rate, session->enc_write_frame.data, - &session->enc_write_frame.datalen, &session->enc_write_frame.rate, &flag); + &session->enc_write_frame.datalen, + &session->enc_write_frame.rate, &flag); + + switch (status) { case SWITCH_STATUS_RESAMPLE: resample++; @@ -983,7 +990,7 @@ goto error; } - if (session->read_resampler) { + if (!did_write_resample && session->read_resampler) { short *data = write_frame->data; switch_mutex_lock(session->resample_mutex); Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Mon Feb 9 18:58:54 2009 @@ -556,7 +556,6 @@ switch_core_session_t *tsession; switch_status_t status = SWITCH_STATUS_FALSE; switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); int codec_initialized = 0; if ((tsession = switch_core_session_locate(uuid))) { @@ -566,11 +565,12 @@ switch_frame_t *read_frame, write_frame = { 0 }; switch_codec_t codec = { 0 }; int16_t buf[SWITCH_RECOMMENDED_BUFFER_SIZE / 2]; - switch_codec_t *tread_codec = switch_core_session_get_read_codec(tsession); uint32_t tlen; const char *macro_name = "eavesdrop_announce"; const char *id_name = NULL; + switch_codec_implementation_t tread_impl = {0}, read_impl = {0}; + if (!switch_channel_media_ready(channel)) { goto end; } @@ -579,6 +579,9 @@ goto end; } + switch_core_session_get_read_impl(tsession, &tread_impl); + switch_core_session_get_read_impl(session, &read_impl); + if ((id_name = switch_channel_get_variable(tchannel, "eavesdrop_announce_id"))) { const char *tmp = switch_channel_get_variable(tchannel, "eavesdrop_annnounce_macro"); if (tmp) { @@ -622,16 +625,16 @@ ep = switch_core_session_alloc(session, sizeof(*ep)); - tlen = tread_codec->implementation->decoded_bytes_per_packet; + tlen = tread_impl.decoded_bytes_per_packet; switch_channel_pre_answer(channel); if (switch_core_codec_init(&codec, "L16", NULL, - tread_codec->implementation->actual_samples_per_second, - tread_codec->implementation->microseconds_per_packet / 1000, - tread_codec->implementation->number_of_channels, + tread_impl.actual_samples_per_second, + tread_impl.microseconds_per_packet / 1000, + tread_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot init codec\n"); @@ -645,7 +648,7 @@ write_frame.codec = &codec; write_frame.data = buf; write_frame.buflen = sizeof(buf); - write_frame.rate = read_codec->implementation->actual_samples_per_second; + write_frame.rate = codec.implementation->actual_samples_per_second; ep->flags = flags; switch_mutex_init(&ep->mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(tsession)); @@ -731,7 +734,7 @@ switch_buffer_zero(ep->r_buffer); switch_buffer_unlock(ep->r_buffer); } - + if (ep->w_buffer) { switch_buffer_lock(ep->w_buffer); switch_buffer_zero(ep->w_buffer); @@ -760,6 +763,7 @@ while (switch_buffer_inuse(ep->buffer) >= len) { write_frame.datalen = (uint32_t) switch_buffer_read(ep->buffer, buf, len); write_frame.samples = write_frame.datalen / 2; + if ((status = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0)) != SWITCH_STATUS_SUCCESS) { break; } Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Mon Feb 9 18:58:54 2009 @@ -53,8 +53,9 @@ #define resample_buffer(a, b, c) a > b ? ((a / 1000) / 2) * c : ((b / 1000) / 2) * c -SWITCH_DECLARE(switch_status_t) switch_resample_create(switch_audio_resampler_t **new_resampler, - int from_rate, switch_size_t from_size, int to_rate, uint32_t to_size, switch_memory_pool_t *pool) +SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resampler_t **new_resampler, + int from_rate, switch_size_t from_size, int to_rate, + uint32_t to_size, switch_memory_pool_t *pool, const char *file, const char *func, int line) { #ifdef DISABLE_RESAMPLE *new_resampler = NULL; @@ -75,8 +76,8 @@ resampler->rfactor = (lfrom_rate / lto_rate); resampler->resampler = resample_open(QUALITY, resampler->factor, resampler->factor); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Activate Resampler %d->%d %f\n", resampler->from_rate, resampler->to_rate, - resampler->factor); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, + "Activate Resampler %d->%d %f\n", resampler->from_rate, resampler->to_rate, resampler->factor); resampler->from_size = resample_buffer(to_rate, from_rate, (uint32_t) from_size); resampler->from = (float *) switch_core_alloc(pool, resampler->from_size * sizeof(float)); resampler->to_size = resample_buffer(to_rate, from_rate, (uint32_t) to_size);; From mrene at freeswitch.org Mon Feb 9 17:48:21 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 19:48:21 -0600 Subject: [Freeswitch-svn] [commit] r11724 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mrene Date: Mon Feb 9 19:48:21 2009 New Revision: 11724 Log: SFSIP-120 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Mon Feb 9 19:48:21 2009 @@ -523,7 +523,8 @@ char *p; if (!sofia_test_pflag(profile, PFLAG_STUN_ENABLED)) { - *ip = switch_core_strdup(pool, tech_pvt->profile->rtpip); + *ip = switch_core_strdup(pool, profile->rtpip); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Trying to use STUN but its disabled!\n"); return SWITCH_STATUS_SUCCESS; } From robertj at freeswitch.org Mon Feb 9 19:31:03 2009 From: robertj at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 21:31:03 -0600 Subject: [Freeswitch-svn] [commit] r11725 - freeswitch/trunk/src/mod/endpoints/mod_opal Message-ID: Author: robertj Date: Mon Feb 9 21:31:03 2009 New Revision: 11725 Log: Fixed problem with compiling against latest OPAL. Modified: freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.cpp Modified: freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.cpp ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.cpp (original) +++ freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.cpp Mon Feb 9 21:31:03 2009 @@ -965,6 +965,7 @@ FSMediaStream::FSMediaStream(FSConnection & conn, const OpalMediaFormat & mediaFormat, unsigned sessionID, bool isSource) : OpalMediaStream(conn, mediaFormat, sessionID, isSource) , m_fsSession(conn.GetSession()) + , m_readRTP(0, 512) , m_callOnStart(true) { memset(&m_readFrame, 0, sizeof(m_readFrame)); @@ -1181,8 +1182,6 @@ switch_status_t FSMediaStream::write_frame(const switch_frame_t *frame, switch_io_flag_t flags) { - RTP_DataFrame rtp; - if (!switch_channel_ready(m_fsChannel)) { return SWITCH_STATUS_FALSE; } @@ -1210,8 +1209,8 @@ better if we could engage whatever it is in opal that makes it generate the timestamp. */ + RTP_DataFrame rtp(frame->datalen); rtp.SetPayloadType(mediaFormat.GetPayloadType()); - rtp.SetPayloadSize(frame->datalen); m_timeStamp += frame->samples; rtp.SetTimestamp(m_timeStamp); From robertj at freeswitch.org Mon Feb 9 19:32:55 2009 From: robertj at freeswitch.org (FreeSWITCH SVN) Date: Mon, 09 Feb 2009 21:32:55 -0600 Subject: [Freeswitch-svn] [commit] r11726 - freeswitch/trunk/w32/Library Message-ID: Author: robertj Date: Mon Feb 9 21:32:55 2009 New Revision: 11726 Log: Removed "warning are errors" flag in deprecated VS2005 build. Modified: freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj Modified: freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj ============================================================================== --- freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj (original) +++ freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj Mon Feb 9 21:32:55 2009 @@ -53,7 +53,6 @@ PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch" BrowseInformation="0" WarningLevel="4" - WarnAsError="true" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" ForcedIncludeFiles="" @@ -144,7 +143,6 @@ PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch" BrowseInformation="0" WarningLevel="4" - WarnAsError="true" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" /> @@ -557,11 +555,11 @@ > Author: gmaruzz Date: Tue Feb 10 03:19:09 2009 New Revision: 11727 Log: skypiax: shut up the compiler on ubuntu 8.04 64 bit Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Tue Feb 10 03:19:09 2009 @@ -467,7 +467,7 @@ SAMPLES_PER_FRAME * sizeof(short)); if (howmany != SAMPLES_PER_FRAME * sizeof(short)) { ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany, - SAMPLES_PER_FRAME * sizeof(short)); + (int)(SAMPLES_PER_FRAME * sizeof(short))); } /* done with the stored half frame */ tech_pvt->audiobuf_is_loaded = 0; @@ -581,7 +581,7 @@ SAMPLES_PER_FRAME * sizeof(short)); if (got != SAMPLES_PER_FRAME * sizeof(short)) { WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); + (int)(SAMPLES_PER_FRAME * sizeof(short))); } if (got == SAMPLES_PER_FRAME * sizeof(short)) { @@ -619,7 +619,7 @@ } else { WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got, - SAMPLES_PER_FRAME * sizeof(short)); + (int)(SAMPLES_PER_FRAME * sizeof(short))); } } else { if (rt) @@ -649,7 +649,7 @@ if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) WARNINGA("read samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, - SAMPLES_PER_FRAME * sizeof(short)); + (int)(SAMPLES_PER_FRAME * sizeof(short))); return 0; } else { /* A real frame */ From gmaruzz at freeswitch.org Tue Feb 10 08:44:18 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 10:44:18 -0600 Subject: [Freeswitch-svn] [commit] r11728 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Tue Feb 10 10:44:18 2009 New Revision: 11728 Log: skypiax: better audio quality by keeping skype socket busy on *nix and cygwin Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Tue Feb 10 10:44:18 2009 @@ -565,16 +565,25 @@ if (!running) break; - fdselect = fd; FD_ZERO(&fs); - FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //2000 msec + to.tv_usec = 60000; //60msec to.tv_sec = 0; +#if defined(WIN32) && !defined(__CYGWIN__) +/* on win32 we cannot select from the apr "pipe", so we select on socket writability */ + fdselect = fd; + FD_SET(fdselect, &fs); rt = select(fdselect + 1, NULL, &fs, NULL, &to); +#else +/* on *unix and cygwin we select from the real pipe */ + fdselect = tech_pvt->audioskypepipe[0]; + FD_SET(fdselect, &fs); - if (rt > 0) { + rt = select(fdselect + 1, &fs, NULL, NULL, &to); +#endif + + if (rt > 0) { /* read from the pipe the audio frame we are supposed to send out */ got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, @@ -622,9 +631,11 @@ (int)(SAMPLES_PER_FRAME * sizeof(short))); } } else { - if (rt) + //if (rt) ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); - skypiax_sleep(10000); + memset(cli_out, 0, sizeof(cli_out)); + len = send(fd, (char *) cli_out, sizeof(cli_out), 0); + //skypiax_sleep(10000); } } From brian at freeswitch.org Tue Feb 10 10:30:49 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 12:30:49 -0600 Subject: [Freeswitch-svn] [commit] r11729 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: brian Date: Tue Feb 10 12:30:49 2009 New Revision: 11729 Log: MODENDP-185 and SFSIP-121 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Tue Feb 10 12:30:49 2009 @@ -433,7 +433,7 @@ if (argc >= 3) { if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_EXPIRE) == SWITCH_STATUS_SUCCESS) { - switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", argv[8]); + switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "profile-name", argv[10]); switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "call-id", argv[0]); switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user", argv[1]); switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "host", argv[2]); From anthm at freeswitch.org Tue Feb 10 11:09:07 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 13:09:07 -0600 Subject: [Freeswitch-svn] [commit] r11730 - in freeswitch/trunk/src: . include mod/applications/mod_conference mod/applications/mod_esf mod/applications/mod_fax mod/applications/mod_fsv mod/applications/mod_rss mod/applications/mod_voicemail mod/formats/mod_shout mod/languages/mod_spidermonkey_teletone Message-ID: Author: anthm Date: Tue Feb 10 13:09:06 2009 New Revision: 11730 Log: spring cleaning Modified: freeswitch/trunk/src/include/switch_channel.h freeswitch/trunk/src/include/switch_types.h freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c freeswitch/trunk/src/switch_channel.c freeswitch/trunk/src/switch_core_media_bug.c freeswitch/trunk/src/switch_core_session.c freeswitch/trunk/src/switch_ivr.c freeswitch/trunk/src/switch_ivr_async.c freeswitch/trunk/src/switch_ivr_bridge.c freeswitch/trunk/src/switch_ivr_play_say.c Modified: freeswitch/trunk/src/include/switch_channel.h ============================================================================== --- freeswitch/trunk/src/include/switch_channel.h (original) +++ freeswitch/trunk/src/include/switch_channel.h Tue Feb 10 13:09:06 2009 @@ -74,7 +74,11 @@ \param channel channel to test \return true if the channel is ready */ -SWITCH_DECLARE(uint8_t) switch_channel_ready(switch_channel_t *channel); +SWITCH_DECLARE(int) switch_channel_test_ready(switch_channel_t *channel, switch_bool_t media); + +#define switch_channel_ready(_channel) switch_channel_test_ready(_channel, SWITCH_FALSE) +#define switch_channel_media_ready(_channel) switch_channel_test_ready(_channel, SWITCH_TRUE) + SWITCH_DECLARE(void) switch_channel_wait_for_state(switch_channel_t *channel, switch_channel_t *other_channel, switch_channel_state_t want_state); SWITCH_DECLARE(switch_status_t) switch_channel_wait_for_flag(switch_channel_t *channel, @@ -496,8 +500,6 @@ #define switch_channel_stop_broadcast(_channel) for(;;) {if (switch_channel_test_flag(_channel, CF_BROADCAST)) {switch_channel_set_flag(_channel, CF_STOP_BROADCAST); switch_channel_set_flag(_channel, CF_BREAK); } break;} -#define switch_channel_media_ready(_channel) ((switch_channel_test_flag(_channel, CF_ANSWERED) || switch_channel_test_flag(_channel, CF_EARLY_MEDIA)) && !switch_channel_test_flag(_channel, CF_PROXY_MODE)) - SWITCH_DECLARE(void) switch_channel_audio_sync(switch_channel_t *channel); SWITCH_DECLARE(void) switch_channel_set_private_flag(switch_channel_t *channel, uint32_t flags); Modified: freeswitch/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/trunk/src/include/switch_types.h (original) +++ freeswitch/trunk/src/include/switch_types.h Tue Feb 10 13:09:06 2009 @@ -149,6 +149,7 @@ #define SWITCH_SIGNAL_BOND_VARIABLE "signal_bond" #define SWITCH_ORIGINATOR_VARIABLE "originator" #define SWITCH_ORIGINATOR_CODEC_VARIABLE "originator_codec" +#define SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE "originator_video_codec" #define SWITCH_LOCAL_MEDIA_IP_VARIABLE "local_media_ip" #define SWITCH_LOCAL_MEDIA_PORT_VARIABLE "local_media_port" #define SWITCH_REMOTE_MEDIA_IP_VARIABLE "remote_media_ip" Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Tue Feb 10 13:09:06 2009 @@ -291,7 +291,7 @@ switch_mutex_t *control_mutex; switch_mutex_t *audio_in_mutex; switch_mutex_t *audio_out_mutex; - switch_codec_t *orig_read_codec; + switch_codec_implementation_t orig_read_impl; switch_codec_t read_codec; switch_codec_t write_codec; char *rec_path; @@ -1773,7 +1773,6 @@ switch_frame_t write_frame = { 0 }; uint8_t *data = NULL; switch_timer_t timer = { 0 }; - switch_codec_t *read_codec; uint32_t interval; uint32_t samples; uint32_t csamples; @@ -1782,9 +1781,12 @@ uint32_t low_count, bytes; call_list_t *call_list, *cp; int restarting = -1; - + switch_codec_implementation_t read_impl = {0}; + top: + switch_core_session_get_read_impl(member->session, &read_impl); + restarting++; if (switch_test_flag(member, MFLAG_RESTART)) { @@ -1794,11 +1796,10 @@ } channel = switch_core_session_get_channel(member->session); - read_codec = switch_core_session_get_read_codec(member->session); - interval = read_codec->implementation->microseconds_per_packet / 1000; + interval = read_impl.microseconds_per_packet / 1000; samples = switch_samples_per_packet(member->conference->rate, interval); csamples = samples; - tsamples = member->orig_read_codec->implementation->samples_per_packet; + tsamples = member->orig_read_impl.samples_per_packet; flush_len = 0; low_count = 0; bytes = samples * 2; @@ -4434,9 +4435,9 @@ static int setup_media(conference_member_t *member, conference_obj_t *conference) { - switch_codec_t *read_codec; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(member->session, &read_impl); - switch_core_session_reset(member->session, SWITCH_TRUE, SWITCH_FALSE); if (member->read_codec.implementation) { @@ -4447,22 +4448,22 @@ switch_resample_destroy(&member->read_resampler); } - read_codec = switch_core_session_get_read_codec(member->session); - member->orig_read_codec = read_codec; - member->native_rate = read_codec->implementation->samples_per_second; + + switch_core_session_get_read_impl(member->session, &member->orig_read_impl); + member->native_rate = read_impl.samples_per_second; /* Setup a Signed Linear codec for reading audio. */ if (switch_core_codec_init(&member->read_codec, "L16", - NULL, read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000, + NULL, read_impl.actual_samples_per_second, read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member->pool) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Success L16@%uhz 1 channel %dms\n", - read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000); + read_impl.actual_samples_per_second, read_impl.microseconds_per_packet / 1000); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n", - read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000); + read_impl.actual_samples_per_second, read_impl.microseconds_per_packet / 1000); goto done; } @@ -4473,9 +4474,9 @@ member->mux_frame = switch_core_alloc(member->pool, member->frame_size); } - if (read_codec->implementation->actual_samples_per_second != conference->rate) { + if (read_impl.actual_samples_per_second != conference->rate) { if (switch_resample_create(&member->read_resampler, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, member->frame_size, conference->rate, member->frame_size, member->pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n"); goto done; @@ -4499,14 +4500,14 @@ "L16", NULL, conference->rate, - read_codec->implementation->microseconds_per_packet / 1000, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member->pool) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Success L16@%uhz 1 channel %dms\n", - conference->rate, read_codec->implementation->microseconds_per_packet / 1000); + conference->rate, read_impl.microseconds_per_packet / 1000); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n", - conference->rate, read_codec->implementation->microseconds_per_packet / 1000); + conference->rate, read_impl.microseconds_per_packet / 1000); goto codec_done2; } Modified: freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c (original) +++ freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c Tue Feb 10 13:09:06 2009 @@ -64,7 +64,7 @@ switch_status_t status; switch_size_t bytes; ls_control_packet_t control_packet; - switch_codec_t codec = { 0 }, *read_codec, *orig_codec = NULL; + switch_codec_t codec = { 0 }; uint32_t flags = 0; const char *err; switch_rtp_t *rtp_session = NULL; @@ -78,6 +78,9 @@ switch_port_t mcast_control_port = 6061; char *mcast_port_str = "34567"; const char *esf_broadcast_ip = NULL, *var; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); + if (!switch_strlen_zero((char *) data)) { mydata = switch_core_session_strdup(session, data); @@ -120,8 +123,6 @@ switch_channel_answer(channel); } - read_codec = switch_core_session_get_read_codec(session); - if (switch_socket_create(&socket, AF_INET, SOCK_DGRAM, 0, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Error 1\n"); goto fail; @@ -144,7 +145,7 @@ goto fail; } - if (read_frame->packet && read_frame->packetlen && read_codec->implementation->ianacode == 0) { + if (read_frame->packet && read_frame->packetlen && read_impl.ianacode == 0) { ready = SEND_TYPE_RAW; } else { ready = SEND_TYPE_RTP; @@ -152,7 +153,7 @@ } if (ready == SEND_TYPE_RTP) { - if (read_codec->implementation->ianacode != 0) { + if (read_impl.ianacode != 0) { if (switch_core_codec_init(&codec, "PCMU", NULL, @@ -160,9 +161,7 @@ 20, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { - orig_codec = read_codec; - read_codec = &codec; - switch_core_session_set_read_codec(session, read_codec); + switch_core_session_set_read_codec(session, &codec); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Codec Activation Success\n"); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec Activation Fail\n"); @@ -187,9 +186,9 @@ rtp_port, mcast_ip, mcast_port, - read_codec->implementation->ianacode, - read_codec->implementation->samples_per_packet, - read_codec->implementation->microseconds_per_packet, + read_impl.ianacode, + read_impl.samples_per_packet, + read_impl.microseconds_per_packet, (switch_rtp_flag_t) flags, "soft", &err, switch_core_session_get_pool(session)); if (!switch_rtp_ready(rtp_session)) { @@ -242,8 +241,8 @@ fail: - if (orig_codec) { - switch_core_session_set_read_codec(session, orig_codec); + switch_core_session_set_read_codec(session, NULL); + if (codec.implementation) { switch_core_codec_destroy(&codec); } Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Tue Feb 10 13:09:06 2009 @@ -394,13 +394,12 @@ const char *tmp; switch_channel_t *channel; - - switch_codec_t *orig_read_codec = NULL; switch_codec_t read_codec = { 0 }; switch_codec_t write_codec = { 0 }; switch_frame_t *read_frame = { 0 }; switch_frame_t write_frame = { 0 }; - + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); int16_t *buf = NULL; /* make sure we have a valid channel when starting the FAX application */ @@ -575,13 +574,12 @@ * used internally by spandsp and FS will do the transcoding * from G.711 or any other original codec */ - orig_read_codec = switch_core_session_get_read_codec(session); if (switch_core_codec_init(&read_codec, "L16", NULL, - orig_read_codec->implementation->samples_per_second, - orig_read_codec->implementation->microseconds_per_packet / 1000, + read_impl.samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { @@ -596,8 +594,8 @@ if (switch_core_codec_init(&write_codec, "L16", NULL, - orig_read_codec->implementation->samples_per_second, - orig_read_codec->implementation->microseconds_per_packet / 1000, + read_impl.samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { @@ -673,6 +671,8 @@ /* restore the original codecs over the channel */ + switch_core_session_set_read_codec(session, NULL); + if (read_codec.implementation) { switch_core_codec_destroy(&read_codec); } @@ -681,9 +681,9 @@ switch_core_codec_destroy(&write_codec); } - if (orig_read_codec) { - switch_core_session_set_read_codec(session, orig_read_codec); - } + + + } Modified: freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c Tue Feb 10 13:09:06 2009 @@ -106,7 +106,9 @@ switch_threadattr_t *thd_attr = NULL; int fd; switch_mutex_t *mutex = NULL; - switch_codec_t codec, *read_codec, *vid_codec; + switch_codec_t codec, *vid_codec; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); switch_channel_answer(channel); @@ -117,13 +119,11 @@ switch_channel_answer(channel); - read_codec = switch_core_session_get_read_codec(session); - if (switch_core_codec_init(&codec, "L16", NULL, - read_codec->implementation->samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, + read_impl.samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio Codec Activation Success\n"); @@ -145,8 +145,8 @@ if (vid_codec->fmtp_in) { switch_set_string(h.video_fmtp, vid_codec->fmtp_in); } - h.audio_rate = read_codec->implementation->samples_per_second; - h.audio_ptime = read_codec->implementation->microseconds_per_packet / 1000; + h.audio_rate = read_impl.samples_per_second; + h.audio_ptime = read_impl.microseconds_per_packet / 1000; if (write(fd, &h, sizeof(h)) != sizeof(h)) { goto end; @@ -207,7 +207,7 @@ } } - switch_core_session_set_read_codec(session, read_codec); + switch_core_session_set_read_codec(session, NULL); switch_core_codec_destroy(&codec); } @@ -227,6 +227,8 @@ uint32_t ts = 0, last = 0; switch_timer_t timer = { 0 }; switch_payload_t pt = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); aud_buffer = switch_core_session_alloc(session, SWITCH_RECOMMENDED_BUFFER_SIZE); vid_buffer = switch_core_session_alloc(session, SWITCH_RECOMMENDED_BUFFER_SIZE); @@ -263,10 +265,8 @@ vid_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE - 12; switch_set_flag((&vid_frame), SFF_RAW_RTP); - read_codec = switch_core_session_get_read_codec(session); - - if (switch_core_timer_init(&timer, "soft", read_codec->implementation->microseconds_per_packet / 1000, - read_codec->implementation->samples_per_packet, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + if (switch_core_timer_init(&timer, "soft", read_impl.microseconds_per_packet / 1000, + read_impl.samples_per_packet, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Timer Activation Fail\n"); goto end; } Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original) +++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Tue Feb 10 13:09:06 2009 @@ -163,7 +163,7 @@ struct rss_entry entries[TTS_MAX_ENTRIES] = { {0} }; uint32_t i = 0; char *title_txt = "", *description_txt = "", *rights_txt = ""; - switch_codec_t speech_codec, *codec = switch_core_session_get_read_codec(session); + switch_codec_t speech_codec; char *engine = TTS_DEFAULT_ENGINE; char *voice = TTS_DEFAULT_VOICE; char *timer_name = NULL; @@ -184,8 +184,9 @@ switch_input_args_t args = { 0 }; const char *vcf = NULL; char *chanvars = switch_channel_build_param_string(channel, NULL, NULL); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); - uint32_t rate, interval = read_codec->implementation->microseconds_per_packet / 1000; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); + uint32_t rate, interval = read_impl.microseconds_per_packet / 1000; if ((vcf = switch_channel_get_variable(channel, "rss_alt_config"))) { cf = vcf; @@ -253,8 +254,8 @@ return; } - if (codec) { - rate = codec->implementation->actual_samples_per_second; + if (switch_channel_media_ready(channel)) { + rate = read_impl.actual_samples_per_second; } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Codec Error!\n"); return; Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Tue Feb 10 13:09:06 2009 @@ -1042,9 +1042,9 @@ char term; char input[10] = "", key_buf[80] = ""; cc_t cc = { 0 }; - switch_codec_t *read_codec; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - read_codec = switch_core_session_get_read_codec(session); if (exit_keys) { *key_pressed = '\0'; @@ -1072,7 +1072,7 @@ switch_ivr_record_file(session, &fh, file_path, &args, profile->max_record_len); - if (limit && (*message_len = fh.sample_count / read_codec->implementation->actual_samples_per_second) < profile->min_record_len) { + if (limit && (*message_len = fh.sample_count / read_impl.actual_samples_per_second) < profile->min_record_len) { if (unlink(file_path) != 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Failed to delete file [%s]\n", file_path); } @@ -1216,7 +1216,6 @@ static char *vm_merge_file(switch_core_session_t *session, vm_profile_t *profile, const char *announce, const char *orig) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); switch_file_handle_t lrfh = { 0 }, *rfh = NULL, lfh = { 0 }, *fh = NULL; char *tmp_path; switch_uuid_t uuid; @@ -1225,19 +1224,21 @@ int16_t *abuf = NULL; switch_size_t olen = 0; int asis = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); switch_uuid_get(&uuid); switch_uuid_format(uuid_str, &uuid); - lfh.channels = read_codec->implementation->number_of_channels; - lfh.native_rate = read_codec->implementation->actual_samples_per_second; + lfh.channels = read_impl.number_of_channels; + lfh.native_rate = read_impl.actual_samples_per_second; tmp_path = switch_core_session_sprintf(session, "%s%smsg_%s.%s", SWITCH_GLOBAL_dirs.temp_dir, SWITCH_PATH_SEPARATOR, uuid_str, profile->file_ext); if (switch_core_file_open(&lfh, tmp_path, lfh.channels, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open file %s\n", tmp_path); goto end; @@ -1249,7 +1250,7 @@ if (switch_core_file_open(&lrfh, announce, lfh.channels, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open file %s\n", announce); goto end; @@ -1286,7 +1287,7 @@ if (switch_core_file_open(&lrfh, orig, lfh.channels, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open file %s\n", orig); goto end; Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c (original) +++ freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c Tue Feb 10 13:09:06 2009 @@ -1203,17 +1203,18 @@ switch_mutex_t *mutex; switch_channel_t *channel = switch_core_session_get_channel(tsession); lame_global_flags *gfp = NULL; - switch_codec_t *read_codec; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(tsession, &read_impl); + + if (!(gfp = lame_init())) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate lame\n"); goto end; } - read_codec = switch_core_session_get_read_codec(tsession); - - lame_set_num_channels(gfp, read_codec->implementation->number_of_channels); - lame_set_in_samplerate(gfp, read_codec->implementation->actual_samples_per_second); - lame_set_brate(gfp, 16 * (read_codec->implementation->actual_samples_per_second / 8000) * read_codec->implementation->number_of_channels); + lame_set_num_channels(gfp, read_impl.number_of_channels); + lame_set_in_samplerate(gfp, read_impl.actual_samples_per_second); + lame_set_brate(gfp, 16 * (read_impl.actual_samples_per_second / 8000) * read_impl.number_of_channels); lame_set_mode(gfp, 3); lame_set_quality(gfp, 2); lame_set_errorf(gfp, log_error); Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c Tue Feb 10 13:09:06 2009 @@ -78,9 +78,11 @@ JSObject *session_obj; struct teletone_obj *tto = NULL; struct js_session *jss = NULL; - switch_codec_t *read_codec; switch_memory_pool_t *pool; char *timer_name = NULL; + switch_codec_implementation_t read_impl = {0}; + + if (argc > 0) { if (JS_ValueToObject(cx, argv[0], &session_obj)) { @@ -107,14 +109,14 @@ return JS_FALSE; } - read_codec = switch_core_session_get_read_codec(jss->session); + switch_core_session_get_read_impl(jss->session, &read_impl); if (switch_core_codec_init(&tto->codec, "L16", NULL, - read_codec->implementation->actual_samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, - read_codec->implementation->number_of_channels, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet / 1000, + read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, pool) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activated\n"); } else { @@ -123,12 +125,12 @@ } if (timer_name) { - unsigned int ms = read_codec->implementation->microseconds_per_packet / 1000; + unsigned int ms = read_impl.microseconds_per_packet / 1000; if (switch_core_timer_init(&tto->timer_base, timer_name, ms, - (read_codec->implementation->samples_per_second / 50) * - read_codec->implementation->number_of_channels, pool) == SWITCH_STATUS_SUCCESS) { + (read_impl.samples_per_second / 50) * + read_impl.number_of_channels, pool) == SWITCH_STATUS_SUCCESS) { tto->timer = &tto->timer_base; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Timer INIT Success %u\n", ms); } else { Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Tue Feb 10 13:09:06 2009 @@ -864,12 +864,22 @@ return state; } -SWITCH_DECLARE(uint8_t) switch_channel_ready(switch_channel_t *channel) +SWITCH_DECLARE(int) switch_channel_test_ready(switch_channel_t *channel, switch_bool_t media) { - uint8_t ret = 0; + int ret = 0; switch_assert(channel != NULL); + if (media) { + ret = ((switch_channel_test_flag(channel, CF_ANSWERED) || + switch_channel_test_flag(channel, CF_EARLY_MEDIA)) && !switch_channel_test_flag(channel, CF_PROXY_MODE) && + switch_core_session_get_read_codec(channel->session) && switch_core_session_get_write_codec(channel->session)); + + if (!ret) return ret; + } + + ret = 0; + if (!channel->hangup_cause && channel->state > CS_ROUTING && channel->state < CS_HANGUP && channel->state != CS_RESET && !switch_channel_test_flag(channel, CF_TRANSFER)) { ret++; Modified: freeswitch/trunk/src/switch_core_media_bug.c ============================================================================== --- freeswitch/trunk/src/switch_core_media_bug.c (original) +++ freeswitch/trunk/src/switch_core_media_bug.c Tue Feb 10 13:09:06 2009 @@ -113,7 +113,8 @@ uint32_t blen; size_t rdlen = 0; uint32_t maxlen; - switch_codec_t *read_codec = switch_core_session_get_read_codec(bug->session); + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(bug->session, &read_impl); if (bug->raw_read_buffer) { rlen = switch_buffer_inuse(bug->raw_read_buffer); @@ -196,7 +197,7 @@ frame->datalen = bytes; frame->samples = bytes / sizeof(int16_t); - frame->rate = read_codec->implementation->actual_samples_per_second; + frame->rate = read_impl.actual_samples_per_second; return SWITCH_STATUS_SUCCESS; } Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Tue Feb 10 13:09:06 2009 @@ -197,7 +197,7 @@ switch_assert(session != NULL); return session->private_info; } - + SWITCH_DECLARE(switch_status_t) switch_core_session_set_private(switch_core_session_t *session, void *private_info) { @@ -341,7 +341,7 @@ if (channel) { const char *export_vars, *val; - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); + switch_codec_t *vid_read_codec = NULL, *read_codec = switch_core_session_get_read_codec(session); const char *max_forwards = switch_core_session_sprintf(session, "%d", forwardval); switch_channel_set_variable(peer_channel, SWITCH_MAX_FORWARDS_VARIABLE, max_forwards); @@ -353,6 +353,14 @@ switch_codec2str(read_codec, tmp, sizeof(tmp)); switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_CODEC_VARIABLE, tmp); } + + vid_read_codec = switch_core_session_get_video_read_codec(session); + if (vid_read_codec && vid_read_codec->implementation) { + char tmp[80]; + switch_codec2str(vid_read_codec, tmp, sizeof(tmp)); + switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE, tmp); + } + switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VARIABLE, switch_core_session_get_uuid(session)); switch_channel_set_variable(peer_channel, SWITCH_SIGNAL_BOND_VARIABLE, switch_core_session_get_uuid(session)); Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Tue Feb 10 13:09:06 2009 @@ -642,13 +642,17 @@ int stream_id = 0; switch_event_t *event; switch_unicast_conninfo_t *conninfo = NULL; - switch_codec_t *read_codec; uint32_t rate; uint32_t bpf; const char *to; int timeout = 0; time_t expires = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); + + + if (switch_channel_test_flag(channel, CF_CONTROLLED)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot park channels that are under control already.\n"); return SWITCH_STATUS_FALSE; @@ -666,15 +670,13 @@ return SWITCH_STATUS_FALSE; } - read_codec = switch_core_session_get_read_codec(session); - - if (!read_codec || !read_codec->implementation) { + if (switch_channel_media_ready(channel)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot park channels that have no read codec.\n"); return SWITCH_STATUS_FALSE; } - rate = read_codec->implementation->actual_samples_per_second; - bpf = read_codec->implementation->decoded_bytes_per_packet; + rate = read_impl.actual_samples_per_second; + bpf = read_impl.decoded_bytes_per_packet; if ((to = switch_channel_get_variable(channel, "park_timeout"))) { if ((timeout = atoi(to)) < 0) { @@ -690,7 +692,7 @@ switch_event_fire(&event); } - while (read_codec && switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_CONTROLLED)) { + while (switch_channel_media_ready(channel) && switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_CONTROLLED)) { if ((status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, stream_id)) == SWITCH_STATUS_SUCCESS) { if (!SWITCH_READ_ACCEPTABLE(status)) { @@ -732,11 +734,12 @@ if (switch_test_flag(conninfo, SUF_NATIVE)) { tstatus = SWITCH_STATUS_NOOP; } else { + switch_codec_t *read_codec = switch_core_session_get_read_codec(session); tstatus = switch_core_codec_decode(read_codec, &conninfo->read_codec, read_frame->data, read_frame->datalen, - read_codec->implementation->actual_samples_per_second, decoded, &dlen, &rate, &flags); + read_impl.actual_samples_per_second, decoded, &dlen, &rate, &flags); } switch (tstatus) { case SWITCH_STATUS_NOOP: @@ -1944,28 +1947,29 @@ { stfu_instance_t *jb; int qlen = 0; - switch_codec_t *read_codec; stfu_frame_t *jb_frame; switch_frame_t *read_frame, write_frame = { 0 }; switch_status_t status; switch_channel_t *channel = switch_core_session_get_channel(session); uint32_t interval, samples; uint32_t ts = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); + if (delay_ms < 1 || delay_ms > 10000) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid delay [%d] must be between 1 and 10000\n", delay_ms); return; } - read_codec = switch_core_session_get_read_codec(session); - interval = read_codec->implementation->microseconds_per_packet / 1000; - samples = switch_samples_per_packet(read_codec->implementation->samples_per_second, interval); + interval = read_impl.microseconds_per_packet / 1000; + samples = switch_samples_per_packet(read_impl.samples_per_second, interval); qlen = delay_ms / (interval); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting delay to %dms (%d frames)\n", delay_ms, qlen); jb = stfu_n_init(qlen); - write_frame.codec = read_codec; + write_frame.codec = switch_core_session_get_read_codec(session); while (switch_channel_ready(channel)) { status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Tue Feb 10 13:09:06 2009 @@ -78,7 +78,9 @@ switch_threadattr_t *thd_attr = NULL; #endif - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return; + } #ifdef SWITCH_VIDEO_IN_THREADS if (switch_channel_test_flag(channel, CF_VIDEO)) { @@ -335,13 +337,17 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_displace_session(switch_core_session_t *session, const char *file, uint32_t limit, const char *flags) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec; switch_media_bug_t *bug; switch_status_t status; time_t to = 0; displace_helper_t *dh; - - status = switch_channel_pre_answer(channel); + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); + + + if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if (!switch_channel_media_ready(channel) || !switch_core_session_get_read_codec(session)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can not displace session. Media not enabled on channel\n"); @@ -358,24 +364,23 @@ } - read_codec = switch_core_session_get_read_codec(session); - switch_assert(read_codec != NULL); - - dh->fh.channels = read_codec->implementation->number_of_channels; - dh->fh.samplerate = read_codec->implementation->actual_samples_per_second; + dh->fh.channels = read_impl.number_of_channels; + dh->fh.samplerate = read_impl.actual_samples_per_second; dh->file = switch_core_session_strdup(session, file); if (switch_core_file_open(&dh->fh, file, - read_codec->implementation->number_of_channels, - read_codec->implementation->actual_samples_per_second, + read_impl.number_of_channels, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); return SWITCH_STATUS_GENERR; } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if (limit) { to = switch_epoch_time_now(NULL) + limit; @@ -627,7 +632,11 @@ tlen = tread_impl.decoded_bytes_per_packet; - switch_channel_pre_answer(channel); + + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + goto end; + } + if (switch_core_codec_init(&codec, "L16", @@ -807,7 +816,6 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_session(switch_core_session_t *session, char *file, uint32_t limit, switch_file_handle_t *fh) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); const char *p; const char *vval; switch_media_bug_t *bug; @@ -815,15 +823,19 @@ time_t to = 0; switch_media_bug_flag_t flags = SMBF_READ_STREAM | SMBF_WRITE_STREAM; uint8_t channels; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - status = switch_channel_pre_answer(channel); + if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if (!switch_channel_media_ready(channel) || !switch_core_session_get_read_codec(session)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can not record session. Media not enabled on channel\n"); return SWITCH_STATUS_FALSE; } - channels = read_codec->implementation->number_of_channels; + channels = read_impl.number_of_channels; if ((bug = switch_channel_get_private(channel, file))) { return switch_ivr_stop_record_session(session, file); @@ -845,13 +857,13 @@ } fh->channels = channels; - fh->samplerate = read_codec->implementation->actual_samples_per_second; + fh->samplerate = read_impl.actual_samples_per_second; fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; if (switch_core_file_open(fh, file, channels, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", file); switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); @@ -969,22 +981,25 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_inband_dtmf_session(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); switch_media_bug_t *bug; switch_status_t status; switch_inband_dtmf_t *pvt; + switch_codec_implementation_t read_impl = {0}; - switch_assert(read_codec != NULL); + switch_core_session_get_read_impl(session, &read_impl); if (!(pvt = switch_core_session_alloc(session, sizeof(*pvt)))) { return SWITCH_STATUS_MEMERR; } - teletone_dtmf_detect_init(&pvt->dtmf_detect, read_codec->implementation->actual_samples_per_second); + teletone_dtmf_detect_init(&pvt->dtmf_detect, read_impl.actual_samples_per_second); pvt->session = session; - switch_channel_pre_answer(channel); + + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if ((status = switch_core_media_bug_add(session, inband_dtmf_callback, pvt, 0, SMBF_READ_REPLACE, &bug)) != SWITCH_STATUS_SUCCESS) { return status; @@ -1058,9 +1073,8 @@ { switch_inband_dtmf_generate_t *pvt = (switch_inband_dtmf_generate_t *) user_data; switch_frame_t *frame; - switch_codec_t *read_codec; - - read_codec = switch_core_session_get_read_codec(pvt->session); + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(pvt->session, &read_impl); switch (type) { case SWITCH_ABC_TYPE_INIT: @@ -1068,7 +1082,7 @@ switch_queue_create(&pvt->digit_queue, 100, switch_core_session_get_pool(pvt->session)); switch_buffer_create_dynamic(&pvt->audio_buffer, 512, 1024, 0); teletone_init_session(&pvt->ts, 0, teletone_dtmf_generate_handler, pvt->audio_buffer); - pvt->ts.rate = read_codec->implementation->actual_samples_per_second; + pvt->ts.rate = read_impl.actual_samples_per_second; pvt->ts.channels = 1; switch_mutex_init(&pvt->mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(pvt->session)); switch_core_event_hook_add_recv_dtmf(pvt->session, generate_on_dtmf); @@ -1165,7 +1179,9 @@ switch_status_t status; switch_inband_dtmf_generate_t *pvt; - status = switch_channel_pre_answer(channel); + if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if (!switch_channel_media_ready(channel) || !switch_core_session_get_read_codec(session)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can not install inband dtmf generate. Media not enabled on channel\n"); @@ -1335,15 +1351,15 @@ switch_tone_detect_callback_t callback) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); switch_status_t status; switch_tone_container_t *cont = switch_channel_get_private(channel, "_tone_detect_"); char *p, *next; int i = 0, ok = 0; switch_media_bug_flag_t bflags = 0; const char *var; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_assert(read_codec != NULL); if (switch_strlen_zero(key)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No Key Specified!\n"); @@ -1420,11 +1436,13 @@ cont->list[cont->index].total_hits = hits; cont->list[cont->index].up = 1; - cont->list[cont->index].mt.sample_rate = read_codec->implementation->actual_samples_per_second; + cont->list[cont->index].mt.sample_rate = read_impl.actual_samples_per_second; teletone_multi_tone_init(&cont->list[cont->index].mt, &cont->list[cont->index].map); cont->session = session; - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } cont->list[cont->index].default_sleep = 25; cont->list[cont->index].default_expires = 250; @@ -1959,10 +1977,11 @@ const char *grammar, const char *path, const char *dest, switch_asr_handle_t *ah) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); switch_status_t status; switch_asr_flag_t flags = SWITCH_ASR_FLAG_NONE; struct speech_thread_handle *sth = switch_channel_get_private(channel, SWITCH_SPEECH_KEY); + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); if (!ah) { if (!(ah = switch_core_session_alloc(session, sizeof(*ah)))) { @@ -1970,8 +1989,6 @@ } } - switch_assert(read_codec != NULL); - if ((switch_channel_get_variable(channel, "fire_asr_events"))) { switch_set_flag(ah, SWITCH_ASR_FLAG_FIRE_EVENTS); } @@ -1989,7 +2006,7 @@ if (switch_core_asr_open(ah, mod_name, "L16", - read_codec->implementation->actual_samples_per_second, dest, &flags, + read_impl.actual_samples_per_second, dest, &flags, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { if (switch_core_asr_load_grammar(ah, grammar, path) != SWITCH_STATUS_SUCCESS) { Modified: freeswitch/trunk/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_bridge.c (original) +++ freeswitch/trunk/src/switch_ivr_bridge.c Tue Feb 10 13:09:06 2009 @@ -153,9 +153,10 @@ } if ((silence_var = switch_channel_get_variable(chan_a, "bridge_generate_comfort_noise"))) { - switch_codec_t *read_codec = NULL; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session_a, &read_impl); - if (!(read_codec = switch_core_session_get_read_codec(session_a))) { + if (!switch_channel_media_ready(chan_a)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Channel has no media!\n"); goto end_of_bridge_loop; } @@ -172,8 +173,8 @@ if (switch_core_codec_init(&silence_codec, "L16", NULL, - read_codec->implementation->actual_samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, @@ -185,7 +186,7 @@ silence_frame.codec = &silence_codec; silence_frame.data = silence_data; silence_frame.buflen = sizeof(silence_data); - silence_frame.datalen = read_codec->implementation->decoded_bytes_per_packet; + silence_frame.datalen = read_impl.decoded_bytes_per_packet; silence_frame.samples = silence_frame.datalen / sizeof(int16_t); } } Modified: freeswitch/trunk/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_play_say.c (original) +++ freeswitch/trunk/src/switch_ivr_play_say.c Tue Feb 10 13:09:06 2009 @@ -214,7 +214,9 @@ goto done; } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } while (input && !done) { char *pattern = (char *) switch_xml_attr(input, "pattern"); @@ -377,7 +379,7 @@ switch_dtmf_t dtmf = { 0 }; switch_file_handle_t lfh = { 0 }; switch_frame_t *read_frame; - switch_codec_t codec, *read_codec = switch_core_session_get_read_codec(session); + switch_codec_t codec; char *codec_name; switch_status_t status = SWITCH_STATUS_SUCCESS; const char *p; @@ -385,17 +387,27 @@ time_t start = 0; uint32_t org_silence_hits = 0; int asis = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_assert(read_codec != NULL); + if (!switch_channel_ready(channel)) { + return SWITCH_STATUS_FALSE; + } + + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } + + if (!switch_channel_media_ready(channel)) { + return SWITCH_STATUS_FALSE; + } if (!fh) { fh = &lfh; } - switch_channel_pre_answer(channel); - - fh->channels = read_codec->implementation->number_of_channels; - fh->native_rate = read_codec->implementation->actual_samples_per_second; + fh->channels = read_impl.number_of_channels; + fh->native_rate = read_impl.actual_samples_per_second; @@ -414,7 +426,7 @@ if ((ext = strrchr(file, '.'))) { ext++; } else { - ext = read_codec->implementation->iananame; + ext = read_impl.iananame; file = switch_core_session_sprintf(session, "%s.%s", file, ext); asis = 1; } @@ -428,7 +440,7 @@ if (switch_core_file_open(fh, file, fh->channels, - read_codec->implementation->actual_samples_per_second, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); @@ -439,7 +451,9 @@ asis = 1; } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if ((p = switch_channel_get_variable(channel, "RECORD_TITLE"))) { vval = switch_core_session_strdup(session, p); @@ -482,9 +496,9 @@ if (switch_core_codec_init(&codec, codec_name, NULL, - read_codec->implementation->actual_samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, - read_codec->implementation->number_of_channels, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet / 1000, + read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activated\n"); @@ -492,7 +506,7 @@ } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Raw Codec Activation Failed %s@%uhz %u channels %dms\n", codec_name, fh->samplerate, - fh->channels, read_codec->implementation->microseconds_per_packet / 1000); + fh->channels, read_impl.microseconds_per_packet / 1000); switch_core_file_close(fh); switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); return SWITCH_STATUS_GENERR; @@ -508,9 +522,9 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Can't detect silence on a native recording.\n"); } else { if (fh->silence_hits) { - fh->silence_hits = fh->samplerate * fh->silence_hits / read_codec->implementation->samples_per_packet; + fh->silence_hits = fh->samplerate * fh->silence_hits / read_impl.samples_per_packet; } else { - fh->silence_hits = fh->samplerate * 3 / read_codec->implementation->samples_per_packet; + fh->silence_hits = fh->samplerate * 3 / read_impl.samples_per_packet; } org_silence_hits = fh->silence_hits; } @@ -591,10 +605,10 @@ for (count = 0; count < samples; count++) { energy += abs(fdata[j]); - j += read_codec->implementation->number_of_channels; + j += read_impl.number_of_channels; } - if (!(divisor = read_codec->implementation->actual_samples_per_second / 8000)) { + if (!(divisor = read_impl.actual_samples_per_second / 8000)) { divisor = 1; } @@ -644,19 +658,22 @@ switch_dtmf_t dtmf = { 0 }; switch_buffer_t *audio_buffer; switch_frame_t *read_frame = NULL; - switch_codec_t *read_codec = NULL, write_codec = { 0 }; + switch_codec_t write_codec = { 0 }; switch_frame_t write_frame = { 0 }; switch_byte_t data[SWITCH_RECOMMENDED_BUFFER_SIZE]; switch_channel_t *channel = switch_core_session_get_channel(session); + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_channel_pre_answer(channel); - read_codec = switch_core_session_get_read_codec(session); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } if (switch_core_codec_init(&write_codec, "L16", NULL, - read_codec->implementation->actual_samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { @@ -668,7 +685,7 @@ switch_buffer_create_dynamic(&audio_buffer, 512, 1024, 0); teletone_init_session(&ts, 0, teletone_handler, audio_buffer); - ts.rate = read_codec->implementation->actual_samples_per_second; + ts.rate = read_impl.actual_samples_per_second; ts.channels = 1; teletone_run(&ts, script); @@ -736,7 +753,7 @@ } } - if ((write_frame.datalen = (uint32_t) switch_buffer_read_loop(audio_buffer, write_frame.data, read_codec->implementation->decoded_bytes_per_packet)) <= 0) { + if ((write_frame.datalen = (uint32_t) switch_buffer_read_loop(audio_buffer, write_frame.data, read_impl.decoded_bytes_per_packet)) <= 0) { break; } @@ -774,7 +791,6 @@ char *codec_name; switch_status_t status = SWITCH_STATUS_SUCCESS; switch_file_handle_t lfh; - switch_codec_t *read_codec = NULL; const char *p; char *title = "", *copyright = "", *software = "", *artist = "", *comment = "", *date = ""; uint8_t asis = 0; @@ -786,20 +802,22 @@ int eof = 0; switch_size_t bread = 0; int l16 = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } prefix = switch_channel_get_variable(channel, "sound_prefix"); timer_name = switch_channel_get_variable(channel, "timer_name"); - read_codec = switch_core_session_get_read_codec(session); - - if (switch_strlen_zero(file) || !read_codec || !read_codec->implementation) { + if (switch_strlen_zero(file) || !switch_channel_media_ready(channel)) { status = SWITCH_STATUS_FALSE; goto end; } - if (!strcasecmp(read_codec->implementation->iananame, "l16")) { + if (!strcasecmp(read_impl.iananame, "l16")) { l16++; } @@ -864,7 +882,7 @@ if ((ext = strrchr(file, '.'))) { ext++; } else { - ext = read_codec->implementation->iananame; + ext = read_impl.iananame; file = switch_core_session_sprintf(session, "%s.%s", file, ext); asis = 1; } @@ -889,8 +907,8 @@ if (switch_core_file_open(fh, file, - read_codec->implementation->number_of_channels, - read_codec->implementation->actual_samples_per_second, + read_impl.number_of_channels, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); status = SWITCH_STATUS_NOTFOUND; @@ -940,8 +958,7 @@ switch_channel_set_variable(channel, "RECORD_DATE", p); } - switch_assert(read_codec != NULL); - interval = read_codec->implementation->microseconds_per_packet / 1000; + interval = read_impl.microseconds_per_packet / 1000; if (!fh->audio_buffer) { switch_buffer_create_dynamic(&fh->audio_buffer, FILE_BLOCKSIZE, FILE_BUFSIZE, 0); @@ -957,9 +974,9 @@ } if (asis) { - write_frame.codec = read_codec; - samples = read_codec->implementation->samples_per_packet; - framelen = read_codec->implementation->encoded_bytes_per_packet; + write_frame.codec = switch_core_session_get_read_codec(session); + samples = read_impl.samples_per_packet; + framelen = read_impl.encoded_bytes_per_packet; } else { codec_name = "L16"; @@ -1288,7 +1305,6 @@ double energy = 0; switch_channel_t *channel = switch_core_session_get_channel(session); int divisor = 0; - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); uint32_t org_silence_hits = silence_hits; uint32_t channels; switch_frame_t *read_frame; @@ -1301,18 +1317,19 @@ switch_frame_t write_frame = {0}; switch_file_handle_t fh = {0}; int32_t sample_count = 0; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_assert(read_codec); if (timeout_ms) { - sample_count = (read_codec->implementation->actual_samples_per_second / 1000) * timeout_ms; + sample_count = (read_impl.actual_samples_per_second / 1000) * timeout_ms; } if (file) { if (switch_core_file_open(&fh, file, - read_codec->implementation->number_of_channels, - read_codec->implementation->actual_samples_per_second, + read_impl.number_of_channels, + read_impl.actual_samples_per_second, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) { switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); return SWITCH_STATUS_NOTFOUND; @@ -1326,8 +1343,8 @@ if (switch_core_codec_init(&raw_codec, "L16", NULL, - read_codec->implementation->actual_samples_per_second, - read_codec->implementation->microseconds_per_packet / 1000, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet / 1000, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { @@ -1337,8 +1354,8 @@ write_frame.codec = &raw_codec; - divisor = read_codec->implementation->actual_samples_per_second / 8000; - channels = read_codec->implementation->number_of_channels; + divisor = read_impl.actual_samples_per_second / 8000; + channels = read_impl.number_of_channels; switch_core_session_set_read_codec(session, &raw_codec); @@ -1446,7 +1463,9 @@ return SWITCH_STATUS_FALSE; } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } memset(digit_buffer, 0, digit_buffer_length); args.buf = digit_buffer; @@ -1572,7 +1591,9 @@ return SWITCH_STATUS_FALSE; } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } write_frame.data = abuf; write_frame.buflen = sizeof(abuf); @@ -1843,8 +1864,12 @@ const char *timer_name, *var; cached_speech_handle_t *cache_obj = NULL; int need_create = 1, need_alloc = 1; + switch_codec_implementation_t read_impl = {0}; + switch_core_session_get_read_impl(session, &read_impl); - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } sh = ↰ codec = &lcodec; @@ -1878,8 +1903,8 @@ switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE); read_codec = switch_core_session_get_read_codec(session); - rate = read_codec->implementation->actual_samples_per_second; - interval = read_codec->implementation->microseconds_per_packet / 1000; + rate = read_impl.actual_samples_per_second; + interval = read_impl.microseconds_per_packet / 1000; if (need_create) { memset(sh, 0, sizeof(*sh)); @@ -1897,7 +1922,9 @@ switch_core_speech_text_param_tts(sh, "voice", voice_name); } - switch_channel_pre_answer(channel); + if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "OPEN TTS %s\n", tts_name); codec_name = "L16"; From anthm at freeswitch.org Tue Feb 10 11:19:53 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 13:19:53 -0600 Subject: [Freeswitch-svn] [commit] r11731 - freeswitch/trunk/src Message-ID: Author: anthm Date: Tue Feb 10 13:19:53 2009 New Revision: 11731 Log: tweak Modified: freeswitch/trunk/src/switch_core_session.c Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Tue Feb 10 13:19:53 2009 @@ -348,19 +348,21 @@ profile = switch_channel_get_caller_profile(channel); + vid_read_codec = switch_core_session_get_video_read_codec(session); + if (read_codec && read_codec->implementation) { - char tmp[80]; - switch_codec2str(read_codec, tmp, sizeof(tmp)); + char rc[80] = "", vrc[80] = "", tmp[160] = ""; + + switch_codec2str(read_codec, rc, sizeof(rc)); + if (vid_read_codec && vid_read_codec->implementation) { + vrc[0] = ','; + switch_codec2str(read_codec, vrc+1, sizeof(vrc) - 1); + switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE, vrc+1); + } + + switch_snprintf(tmp, sizeof(tmp), "%s%s", rc, vrc); switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_CODEC_VARIABLE, tmp); } - - vid_read_codec = switch_core_session_get_video_read_codec(session); - if (vid_read_codec && vid_read_codec->implementation) { - char tmp[80]; - switch_codec2str(vid_read_codec, tmp, sizeof(tmp)); - switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE, tmp); - } - switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VARIABLE, switch_core_session_get_uuid(session)); switch_channel_set_variable(peer_channel, SWITCH_SIGNAL_BOND_VARIABLE, switch_core_session_get_uuid(session)); From brian at freeswitch.org Tue Feb 10 12:21:19 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 14:21:19 -0600 Subject: [Freeswitch-svn] [commit] r11732 - in freeswitch/trunk/src/mod/languages: mod_managed mod_managed/managed mod_perl Message-ID: Author: brian Date: Tue Feb 10 14:21:19 2009 New Revision: 11732 Log: swig all Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (original) +++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx Tue Feb 10 14:21:19 2009 @@ -1323,6 +1323,17 @@ } +SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get() { + char * jresult ; + char *result = 0 ; + + result = (char *) "originator_video_codec"; + + jresult = SWIG_csharp_string_callback((const char *)result); + return jresult; +} + + SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get() { char * jresult ; char *result = 0 ; @@ -17712,13 +17723,15 @@ } -SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_channel_ready(void * jarg1) { - unsigned char jresult ; +SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_test_ready(void * jarg1, int jarg2) { + int jresult ; switch_channel_t *arg1 = (switch_channel_t *) 0 ; - uint8_t result; + switch_bool_t arg2 ; + int result; arg1 = (switch_channel_t *)jarg1; - result = (uint8_t)switch_channel_ready(arg1); + arg2 = (switch_bool_t)jarg2; + result = (int)switch_channel_test_ready(arg1,arg2); jresult = result; return jresult; } @@ -20025,7 +20038,7 @@ } -SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6) { +SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_perform_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, int jarg9) { int jresult ; switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ; int arg2 ; @@ -20033,6 +20046,9 @@ int arg4 ; uint32_t arg5 ; switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ; + char *arg7 = (char *) 0 ; + char *arg8 = (char *) 0 ; + int arg9 ; switch_status_t result; switch_size_t *argp3 ; @@ -20047,7 +20063,10 @@ arg4 = (int)jarg4; arg5 = (uint32_t)jarg5; arg6 = (switch_memory_pool_t *)jarg6; - result = (switch_status_t)switch_resample_create(arg1,arg2,arg3,arg4,arg5,arg6); + arg7 = (char *)jarg7; + arg8 = (char *)jarg8; + arg9 = (int)jarg9; + result = (switch_status_t)switch_resample_perform_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const *)arg7,(char const *)arg8,arg9); jresult = result; return jresult; } @@ -22079,6 +22098,18 @@ } +SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_sound_test(void * jarg1) { + int jresult ; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_status_t result; + + arg1 = (switch_core_session_t *)jarg1; + result = (switch_status_t)switch_ivr_sound_test(arg1); + jresult = result; + return jresult; +} + + SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_BUF_LEN_get() { int jresult ; int result; Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (original) +++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs Tue Feb 10 14:21:19 2009 @@ -455,132 +455,6 @@ using System; using System.Runtime.InteropServices; -public partial class Event : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal Event(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(Event obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~Event() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_Event(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public switch_event InternalEvent { - set { - freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr); - switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false); - return ret; - } - } - - public string serialized_string { - set { - freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr); - return ret; - } - } - - public int mine { - set { - freeswitchPINVOKE.Event_mine_set(swigCPtr, value); - } - get { - int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr); - return ret; - } - } - - public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) { - } - - public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) { - } - - public string Serialize(string format) { - string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format); - return ret; - } - - public bool SetPriority(switch_priority_t priority) { - bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority); - return ret; - } - - public string GetHeader(string header_name) { - string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name); - return ret; - } - - public string GetBody() { - string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr); - return ret; - } - - public string GetEventType() { - string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr); - return ret; - } - - public bool AddBody(string value) { - bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value); - return ret; - } - - public bool AddHeader(string header_name, string value) { - bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value); - return ret; - } - - public bool DeleteHeader(string header_name) { - bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name); - return ret; - } - - public bool Fire() { - bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr); - return ret; - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - public class EventConsumer : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; @@ -696,20 +570,20 @@ using System; using System.Runtime.InteropServices; -public class IvrMenu : IDisposable { +public partial class Event : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; - internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) { + internal Event(IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } - internal static HandleRef getCPtr(IvrMenu obj) { + internal static HandleRef getCPtr(Event obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } - ~IvrMenu() { + ~Event() { Dispose(); } @@ -717,74 +591,93 @@ lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; - freeswitchPINVOKE.delete_IvrMenu(swigCPtr); + freeswitchPINVOKE.delete_Event(swigCPtr); } swigCPtr = new HandleRef(null, IntPtr.Zero); GC.SuppressFinalize(this); } } - public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) { + public switch_event InternalEvent { + set { + freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr); + switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false); + return ret; + } } - public void bindAction(string action, string arg, string bind) { - freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind); + public string serialized_string { + set { + freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr); + return ret; + } } - public void Execute(CoreSession session, string name) { - freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name); + public int mine { + set { + freeswitchPINVOKE.Event_mine_set(swigCPtr, value); + } + get { + int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr); + return ret; + } } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) { + } -namespace FreeSWITCH.Native { + public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) { + } -using System; -using System.Runtime.InteropServices; + public string Serialize(string format) { + string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format); + return ret; + } -public partial class ManagedSession : CoreSession { - private HandleRef swigCPtr; + public bool SetPriority(switch_priority_t priority) { + bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority); + return ret; + } - internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) { - swigCPtr = new HandleRef(this, cPtr); + public string GetHeader(string header_name) { + string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name); + return ret; } - internal static HandleRef getCPtr(ManagedSession obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public string GetBody() { + string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr); + return ret; } - ~ManagedSession() { - Dispose(); + public string GetEventType() { + string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr); + return ret; } - public override void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_ManagedSession(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - base.Dispose(); - } + public bool AddBody(string value) { + bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value); + return ret; } - public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) { + public bool AddHeader(string header_name, string value) { + bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value); + return ret; } - public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) { + public bool DeleteHeader(string header_name) { + bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name); + return ret; } - public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) { + public bool Fire() { + bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr); + return ret; } } @@ -803,3320 +696,3538 @@ using System; using System.Runtime.InteropServices; -public class SWIGTYPE_p_FILE { - private HandleRef swigCPtr; +public class freeswitch { + public static switch_directories SWITCH_GLOBAL_dirs { + set { + freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get(); + switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false); + return ret; + } + } - internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) { + int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; } - protected SWIGTYPE_p_FILE() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) { + int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol); + SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_HashElem { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) { + string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N); + return ret; } - protected SWIGTYPE_p_HashElem() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) { + string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; + public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) { + int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg); + return ret; + } -public class SWIGTYPE_p_apr_pool_t { - private HandleRef swigCPtr; + public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; + } - internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) { + int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail); + return ret; } - protected SWIGTYPE_p_apr_pool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) { + int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) { + int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); + return ret; + } -namespace FreeSWITCH.Native { + public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) { + int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel)); + return ret; + } -public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) { + int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue); + return ret; + } - internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) { + long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; } - protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) { + int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_db_free_table(ref string result) { + freeswitchPINVOKE.switch_core_db_free_table(ref result); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_core_db_free(string z) { + freeswitchPINVOKE.switch_core_db_free(z); + } -namespace FreeSWITCH.Native { + public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) { + int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static string switch_mprintf(string zFormat) { + string ret = freeswitchPINVOKE.switch_mprintf(zFormat); + return ret; + } -public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) { + IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables)); + SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) { + int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size); + return ret; } - protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_regex_free(SWIGTYPE_p_void data) { + freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) { + int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) { + freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_regex_match(string target, string expression) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match)); + return ret; + } -public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { + freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); + } - internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { + freeswitchPINVOKE.switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) { + uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); + return ret; + } - internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug bug) { + freeswitchPINVOKE.switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); } - protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) { + freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc)); + } -public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err); + return ret; + } - internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err); + return ret; } - protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_core_session_limit(uint new_limit) { + uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static uint switch_core_sessions_per_second(uint new_limit) { + uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_destroy() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy(); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_core_add_state_handler(switch_state_handler_table state_handler) { + int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) { + freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_state_handler_table switch_core_get_state_handler(int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index); + switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) { + freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); + return ret; + } -public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); + return ret; + } - internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line); + return ret; + } -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line); + return ret; + } - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) { + string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line); + return ret; } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) { + string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) { + string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_switch_core_session switch_core_session_request_uuid(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool, string use_uuid) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), use_uuid); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session session, string use_uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session), use_uuid); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { + public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) { + freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line); + } -using System; -using System.Runtime.InteropServices; + public static uint switch_core_session_count() { + uint ret = freeswitchPINVOKE.switch_core_session_count(); + return ret; + } -public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_core_session_get_id(SWIGTYPE_p_switch_core_session session) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_get_id(SWIGTYPE_p_switch_core_session.getCPtr(session)), true); + return ret; + } - internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_switch_size_t switch_core_session_id() { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true); + return ret; } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool)); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -using System; -using System.Runtime.InteropServices; + public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) { + string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static string switch_core_get_uuid() { + string ret = freeswitchPINVOKE.switch_core_get_uuid(); + return ret; + } - internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str); + SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_core_get_variable(string varname) { + string ret = freeswitchPINVOKE.switch_core_get_variable(varname); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_set_variable(string varname, string value) { + freeswitchPINVOKE.switch_core_set_variable(varname, value); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_core_dump_variables(switch_stream_handle stream) { + freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream)); + } -namespace FreeSWITCH.Native { + public static void switch_core_session_hupall(switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall((int)cause); + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause); + } -public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) { + freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause); + } - internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message)); + return ret; } - protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_codec__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { + int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); + return ret; } - protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) { + int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) { + freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj)); } - protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_thread_session_end(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_thread_session_end(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { + public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message), file, func, line); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } -namespace FreeSWITCH.Native { + public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t { - private HandleRef swigCPtr; + public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) { + uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) { + freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec); + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool, switch_bool_t case_sensitive) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)case_sensitive); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) { + IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash)); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) { + IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi)); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) { + freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val)); + } -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void { - private HandleRef swigCPtr; + public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_timer_next(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_timer_step(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_timer_sync(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_timer_destroy(switch_timer timer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_codec_destroy(switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -namespace FreeSWITCH.Native { + public static void switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } - internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); + switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename); + SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) { + freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_file_close(switch_file_handle fh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_speech_flush_tts(switch_speech_handle sh) { + freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) { + freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) { + freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val); + } -namespace FreeSWITCH.Native { + public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) { + freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah)); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_directory_next(switch_directory_handle dh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_core_directory_close(switch_directory_handle dh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel); + SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_bool_t switch_core_ready() { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static uint switch_core_flags() { + uint ret = freeswitchPINVOKE.switch_core_flags(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static int set_high_priority() { + int ret = freeswitchPINVOKE.set_high_priority(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static int change_user_group(string user, string group) { + int ret = freeswitchPINVOKE.change_user_group(user, group); + return ret; + } -public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension { - private HandleRef swigCPtr; + public static void switch_core_runtime_loop(int bg) { + freeswitchPINVOKE.switch_core_runtime_loop(bg); + } - internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_set_console(string console) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console); + return ret; } - protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) { + freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_switch_time_t switch_core_uptime() { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) { + int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val)); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_FILE switch_core_get_console() { + IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console(); + SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) { + freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + } -public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_set_globals() { + freeswitchPINVOKE.switch_core_set_globals(); + } - internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) { + byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b)); + return ret; } - protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) { + byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_HashElem switch_core_mime_index() { + IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index(); + SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t { - private HandleRef swigCPtr; + public static string switch_core_mime_ext2type(string ext) { + string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext); + return ret; + } - internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_mime_add_type(string type, string ext) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext); + return ret; } - protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name); + SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) { + IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_switch_time_t switch_micro_time_now() { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_micro_time_now(), true); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_core_memory_reclaim() { + freeswitchPINVOKE.switch_core_memory_reclaim(); + } -using System; -using System.Runtime.InteropServices; + public static void switch_core_memory_reclaim_events() { + freeswitchPINVOKE.switch_core_memory_reclaim_events(); + } -public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t { - private HandleRef swigCPtr; + public static void switch_core_memory_reclaim_logger() { + freeswitchPINVOKE.switch_core_memory_reclaim_logger(); + } - internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_core_memory_reclaim_all() { + freeswitchPINVOKE.switch_core_memory_reclaim_all(); } - protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_core_setrlimits() { + freeswitchPINVOKE.switch_core_setrlimits(); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_time_sync() { + freeswitchPINVOKE.switch_time_sync(); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_time_t switch_epoch_time_now(SWIGTYPE_p_time_t t) { + SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_epoch_time_now(SWIGTYPE_p_time_t.getCPtr(t)), true); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_time_exp_tz_name(string tz, SWIGTYPE_p_switch_time_exp_t tm, SWIGTYPE_p_switch_time_t thetime) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_time_exp_tz_name(tz, SWIGTYPE_p_switch_time_exp_t.getCPtr(tm), SWIGTYPE_p_switch_time_t.getCPtr(thetime)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t { - private HandleRef swigCPtr; + public static void switch_load_network_lists(switch_bool_t reload) { + freeswitchPINVOKE.switch_load_network_lists((int)reload); + } - internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token); + return ret; } - protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_time_set_monotonic(switch_bool_t enable) { + freeswitchPINVOKE.switch_time_set_monotonic((int)enable); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static uint switch_core_max_dtmf_duration(uint duration) { + uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static uint switch_core_default_dtmf_duration(uint duration) { + uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_console_set_complete(string arg0) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_console_set_alias(string arg0) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0); + return ret; + } -public class SWIGTYPE_p_f_p_switch_event__void { - private HandleRef swigCPtr; + public static int switch_system(string cmd, switch_bool_t wait) { + int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait); + return ret; + } - internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_cond_yield(SWIGTYPE_p_switch_interval_time_t t) { + freeswitchPINVOKE.switch_cond_yield(SWIGTYPE_p_switch_interval_time_t.getCPtr(t)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); } - protected SWIGTYPE_p_f_p_switch_event__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_cond_next() { + freeswitchPINVOKE.switch_cond_next(); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_chat_send(string name, string proto, string from, string to, string subject, string body, string type, string hint) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(name, proto, from, to, subject, body, type, hint); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_console_loop() { + freeswitchPINVOKE.switch_console_loop(); + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static int switch_toupper(int c) { + int ret = freeswitchPINVOKE.switch_toupper(c); + return ret; + } -public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t { - private HandleRef swigCPtr; + public static int switch_tolower(int c) { + int ret = freeswitchPINVOKE.switch_tolower(c); + return ret; + } - internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_isalnum(int c) { + int ret = freeswitchPINVOKE.switch_isalnum(c); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_isalpha(int c) { + int ret = freeswitchPINVOKE.switch_isalpha(c); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_iscntrl(int c) { + int ret = freeswitchPINVOKE.switch_iscntrl(c); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static int switch_isdigit(int c) { + int ret = freeswitchPINVOKE.switch_isdigit(c); + return ret; + } -namespace FreeSWITCH.Native { + public static int switch_isgraph(int c) { + int ret = freeswitchPINVOKE.switch_isgraph(c); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static int switch_islower(int c) { + int ret = freeswitchPINVOKE.switch_islower(c); + return ret; + } -public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + public static int switch_isprint(int c) { + int ret = freeswitchPINVOKE.switch_isprint(c); + return ret; + } - internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_ispunct(int c) { + int ret = freeswitchPINVOKE.switch_ispunct(c); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_isspace(int c) { + int ret = freeswitchPINVOKE.switch_isspace(c); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_isupper(int c) { + int ret = freeswitchPINVOKE.switch_isupper(c); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_isxdigit(int c) { + int ret = freeswitchPINVOKE.switch_isxdigit(c); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_bool_t switch_is_moh(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) { + string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_bool_t switch_is_digit_string(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_find_local_ip(string buf, int len, int family) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family); + return ret; + } -namespace FreeSWITCH.Native { + public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) { + string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static ushort get_port(SWIGTYPE_p_sockaddr sa) { + ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t { - private HandleRef swigCPtr; + public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) { + int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_priority_name(switch_priority_t priority) { + string ret = freeswitchPINVOKE.switch_priority_name((int)priority); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static char switch_rfc2833_to_char(int arg0) { + char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static byte switch_char_to_rfc2833(char key) { + byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_bool_t switch_string_var_check_const(string s) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check_const(s); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static string switch_var_clean_string(string s) { + string ret = freeswitchPINVOKE.switch_var_clean_string(s); + return ret; + } -public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + public static string switch_clean_string(string s) { + string ret = freeswitchPINVOKE.switch_clean_string(s); + return ret; + } - internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_safe_strdup(string it) { + string ret = freeswitchPINVOKE.switch_safe_strdup(it); + return ret; } - protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_lc_strdup(string it) { + string ret = freeswitchPINVOKE.switch_lc_strdup(it); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_uc_strdup(string it) { + string ret = freeswitchPINVOKE.switch_uc_strdup(it); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_bool_t switch_strstr(string s, string q) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) { + SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) { + uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen); + return ret; + } -public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t { - private HandleRef swigCPtr; + public static switch_bool_t switch_is_number(string str) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str); + return ret; + } - internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_strip_spaces(string str) { + string ret = freeswitchPINVOKE.switch_strip_spaces(str); + return ret; } - protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_separate_paren_args(string str) { + string ret = freeswitchPINVOKE.switch_separate_paren_args(str); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_stristr(string instr, string str) { + string ret = freeswitchPINVOKE.switch_stristr(instr, str); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_bool_t switch_is_lan_addr(string ip) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip); + return ret; + } -namespace FreeSWITCH.Native { + public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) { + string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len); + return ret; + } -public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void { - private HandleRef swigCPtr; + public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) { + string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc); + return ret; + } - internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) { + int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms); + return ret; } - protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_cut_path(string arg0) { + string ret = freeswitchPINVOKE.switch_cut_path(arg0); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_string_replace(string arg0, string search, string replace) { + string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { + public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static uint switch_url_encode(string url, string buf, uint len) { + uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len); + return ret; + } -public class SWIGTYPE_p_f_p_switch_scheduler_task__void { - private HandleRef swigCPtr; + public static string switch_url_decode(string s) { + string ret = freeswitchPINVOKE.switch_url_decode(s); + return ret; + } - internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file); + return ret; } - protected SWIGTYPE_p_f_p_switch_scheduler_task__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_find_end_paren(string s, char open, char close) { + string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) { + int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle__void { - private HandleRef swigCPtr; + public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number); + switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) { + freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) { + string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void { - private HandleRef swigCPtr; + public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) { + IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) { + freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2)); } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static int switch_channel_test_ready(SWIGTYPE_p_switch_channel channel, switch_bool_t media) { + int ret = freeswitchPINVOKE.switch_channel_test_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)media); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) { + freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel)); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void { - private HandleRef swigCPtr; + public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_call_cause_t switch_channel_str2cause(string str) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) { + switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static string switch_channel_cause2str(switch_call_cause_t cause) { + string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void { - private HandleRef swigCPtr; + public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, switch_channel_flag_t flag) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, (int)flag); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) { + freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } -namespace FreeSWITCH.Native { + public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + } -using System; -using System.Runtime.InteropServices; + public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { + freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) { + string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) { + string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) { + string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); + return ret; } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel)); + } -namespace FreeSWITCH.Native { + public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) { + freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension)); + } -using System; -using System.Runtime.InteropServices; + public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel)); + switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); + return ret; + } -public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t { - private HandleRef swigCPtr; + public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; + } - internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); } - protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + } -namespace FreeSWITCH.Native { + public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { + freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } -public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t { - private HandleRef swigCPtr; + public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } - internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; } - protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); + return ret; + } -namespace FreeSWITCH.Native { + public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { + int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { + freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); + } -public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t { - private HandleRef swigCPtr; + public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index); + switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); + return ret; + } - internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info)); + return ret; } - protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) { + IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) { + string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true); + return ret; + } -public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void { - private HandleRef swigCPtr; + public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string); + return ret; } - protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_f_p_switch_timer__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_channel_state_name(switch_channel_state_t state) { + string ret = freeswitchPINVOKE.switch_channel_state_name((int)state); + return ret; } - protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_channel_state_t switch_channel_name_state(string name) { + switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); + } -namespace FreeSWITCH.Native { + public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { + freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); + } -using System; -using System.Runtime.InteropServices; + public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) { + string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1); + return ret; + } -public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t { - private HandleRef swigCPtr; + public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) { + string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix); + return ret; + } - internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel)); + return ret; } - protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_channel_audio_sync(SWIGTYPE_p_switch_channel channel) { + freeswitchPINVOKE.switch_channel_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_channel_set_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_set_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } -namespace FreeSWITCH.Native { + public static int switch_channel_test_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + int ret = freeswitchPINVOKE.switch_channel_test_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_channel_set_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_set_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } -public class SWIGTYPE_p_f_p_void__void { - private HandleRef swigCPtr; + public static void switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + freeswitchPINVOKE.switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + } - internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_channel_test_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { + int ret = freeswitchPINVOKE.switch_channel_test_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); + return ret; } - protected SWIGTYPE_p_f_p_void__void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) { + freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); + } -namespace FreeSWITCH.Native { + public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + return ret; + } -public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int { - private HandleRef swigCPtr; + public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); + } - internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; } - protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_switch_size_t switch_buffer_read_loop(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read_loop(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_buffer_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) { + freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops); + } -public class SWIGTYPE_p_f_void__switch_status_t { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_buffer_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - protected SWIGTYPE_p_f_void__switch_status_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); } - internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) { + freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_event_shutdown() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown(); + return ret; + } -public class SWIGTYPE_p_float { - private HandleRef swigCPtr; + public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name); + return ret; + } - internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority); + return ret; } - protected SWIGTYPE_p_float() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static string switch_event_get_header(switch_event arg0, string header_name) { + string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_float obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_event_get_body(switch_event arg0) { + string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data); + return ret; + } -public class SWIGTYPE_p_int { - private HandleRef swigCPtr; + public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name); + return ret; + } - internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) { + freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); } - protected SWIGTYPE_p_int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node)); + return ret; + } -public class SWIGTYPE_p_p_apr_pool_t { - private HandleRef swigCPtr; + public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback)); + return ret; + } - internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_event_name(switch_event_types_t arg0) { + string ret = freeswitchPINVOKE.switch_event_name((int)arg0); + return ret; } - protected SWIGTYPE_p_p_apr_pool_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_event_running() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running(); + return ret; + } -public class SWIGTYPE_p_p_char { - private HandleRef swigCPtr; + public static string switch_event_expand_headers(switch_event arg0, string arg1) { + string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1); + return ret; + } - internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction); + return ret; } - protected SWIGTYPE_p_p_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) { + freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) { + string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool), file, func, line); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) { + freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler)); + } -using System; -using System.Runtime.InteropServices; + public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) { + uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last); + return ret; + } -public class SWIGTYPE_p_p_p_char { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) { + int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len); + return ret; } - protected SWIGTYPE_p_p_p_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) { + int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) { + int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) { + freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len); + } -namespace FreeSWITCH.Native { + public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) { + freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor); + } -using System; -using System.Runtime.InteropServices; + public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) { + freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol); + } -public class SWIGTYPE_p_p_real_pcre { - private HandleRef swigCPtr; + public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) { + uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples); + return ret; + } - internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_mux_channels(SWIGTYPE_p_short data, uint samples, uint channels) { + freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), samples, channels); } - protected SWIGTYPE_p_p_real_pcre() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr)); + return ret; + } -namespace FreeSWITCH.Native { + public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) { + int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) { + int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off); + return ret; + } -public class SWIGTYPE_p_p_sqlite3 { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1)); + return ret; + } - internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - protected SWIGTYPE_p_p_sqlite3() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_bool_t sync, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, (int)sync, switch_input_args_t.getCPtr(args)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_p_sqlite3_stmt { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); + return ret; } - protected SWIGTYPE_p_p_sqlite3_stmt() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah)); + return ret; + } -public class SWIGTYPE_p_p_switch_audio_resampler_t { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - protected SWIGTYPE_p_p_switch_audio_resampler_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags); + return ret; + } -public class SWIGTYPE_p_p_switch_buffer { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags); + return ret; + } - internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); + return ret; } - protected SWIGTYPE_p_p_switch_buffer() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } -public class SWIGTYPE_p_p_switch_caller_extension { - private HandleRef swigCPtr; + public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { + freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); + } - internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - protected SWIGTYPE_p_p_switch_caller_extension() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit); + return ret; + } -public class SWIGTYPE_p_p_switch_channel { - private HandleRef swigCPtr; + public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, var_name, digit_buffer, digit_buffer_length, digits_regex); + return ret; + } - internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args)); + return ret; } - protected SWIGTYPE_p_p_switch_channel() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session)); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); + return ret; + } -public class SWIGTYPE_p_p_switch_core_port_allocator { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context); + return ret; + } - internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - protected SWIGTYPE_p_p_switch_core_port_allocator() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_p_switch_core_session { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_media(string uuid, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags); + return ret; } - protected SWIGTYPE_p_p_switch_core_session() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_unhold_uuid(string uuid) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh); + return ret; + } -public class SWIGTYPE_p_p_switch_core_session_message { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; + } - internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) { + uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - protected SWIGTYPE_p_p_switch_core_session_message() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } -public class SWIGTYPE_p_p_switch_event { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } - internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data)); + return ret; } - protected SWIGTYPE_p_p_switch_event() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) { + IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } -public class SWIGTYPE_p_p_switch_event_node { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind); + return ret; + } - internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind); + return ret; } - protected SWIGTYPE_p_p_switch_event_node() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function)); + return ret; + } -public class SWIGTYPE_p_p_switch_frame { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } - internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args)); + return ret; } - protected SWIGTYPE_p_p_switch_frame() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) { + freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) { + freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg); + } -namespace FreeSWITCH.Native { + public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) { + freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); + return ret; + } -public class SWIGTYPE_p_p_switch_hash { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app); + return ret; } - protected SWIGTYPE_p_p_switch_hash() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) { + switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) { + switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name); + return ret; + } -public class SWIGTYPE_p_p_switch_ivr_digit_stream { - private HandleRef swigCPtr; + public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data); + return ret; + } - internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_ivr_sound_test(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sound_test(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } - protected SWIGTYPE_p_p_switch_ivr_digit_stream() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) { + freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) { + freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + } -namespace FreeSWITCH.Native { + public static void switch_rtp_shutdown() { + freeswitchPINVOKE.switch_rtp_shutdown(); + } -using System; -using System.Runtime.InteropServices; + public static ushort switch_rtp_set_start_port(ushort port) { + ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port); + return ret; + } -public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser { - private HandleRef swigCPtr; + public static ushort switch_rtp_set_end_port(ushort port) { + ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port); + return ret; + } - internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static ushort switch_rtp_request_port(string ip) { + ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip); + return ret; } - protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_rtp_release_port(string ip, ushort port) { + freeswitchPINVOKE.switch_rtp_release_port(ip, port); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_rtp_change_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_change_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); + SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err); + return ret; + } -public class SWIGTYPE_p_p_switch_ivr_menu { - private HandleRef swigCPtr; + public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) { + string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) { + ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; } - protected SWIGTYPE_p_p_switch_ivr_menu() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) { + freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } -using System; -using System.Runtime.InteropServices; + public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + } -public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx { - private HandleRef swigCPtr; + public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) { + byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) { + freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session)); } - protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + } -namespace FreeSWITCH.Native { + public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { + freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); + } -public class SWIGTYPE_p_p_switch_media_bug { - private HandleRef swigCPtr; + public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false); + return ret; + } - internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, uint samples_per_interval) { + freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval); } - protected SWIGTYPE_p_p_switch_media_bug() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) { + freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } -namespace FreeSWITCH.Native { + public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) { + freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid)); + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); + return ret; + } -public class SWIGTYPE_p_p_switch_network_list { - private HandleRef swigCPtr; + public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); + return ret; + } - internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); + return ret; } - protected SWIGTYPE_p_p_switch_network_list() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { + SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_p_switch_rtp { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); + return ret; } - protected SWIGTYPE_p_p_switch_rtp() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) { + freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags); + return ret; + } -public class SWIGTYPE_p_p_switch_xml { - private HandleRef swigCPtr; + public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; + } - internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) { + int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame)); + return ret; } - protected SWIGTYPE_p_p_switch_xml() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) { + int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) { + uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) { + freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data)); + } -namespace FreeSWITCH.Native { + public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) { + freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te); + } -using System; -using System.Runtime.InteropServices; + public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) { + freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt); + } -public class SWIGTYPE_p_p_switch_xml_binding { - private HandleRef swigCPtr; + public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) { + IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } - internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny); + return ret; } - protected SWIGTYPE_p_p_switch_xml_binding() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_bug_flag_t bugs) { + freeswitchPINVOKE.switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)bugs); } - internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_log_shutdown() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown(); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function)); + return ret; + } -public class SWIGTYPE_p_p_void { - private HandleRef swigCPtr; + public static string switch_log_level2str(switch_log_level_t level) { + string ret = freeswitchPINVOKE.switch_log_level2str((int)level); + return ret; + } - internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_log_level_t switch_log_str2level(string str) { + switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str); + return ret; } - protected SWIGTYPE_p_p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_log_str2mask(string str) { + uint ret = freeswitchPINVOKE.switch_log_str2mask(str); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_xml switch_xml_parse_fd(int fd) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_xml switch_xml_parse_file(string file) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_xml switch_xml_parse_file_simple(string file) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -public class SWIGTYPE_p_real_pcre { - private HandleRef swigCPtr; + public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } - internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_xml switch_xml_child(switch_xml xml, string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - protected SWIGTYPE_p_real_pcre() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static string switch_xml_attr(switch_xml xml, string attr) { + string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr); + return ret; + } -namespace FreeSWITCH.Native { + public static string switch_xml_attr_soft(switch_xml xml, string attr) { + string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_xml switch_xml_get(switch_xml xml) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -public class SWIGTYPE_p_short { - private HandleRef swigCPtr; + public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) { + string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header); + return ret; + } - internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) { + string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - protected SWIGTYPE_p_short() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_xml_free(switch_xml xml) { + freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml)); } - internal static HandleRef getCPtr(SWIGTYPE_p_short obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) { + freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { + public static string switch_xml_error(switch_xml xml) { + string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_xml switch_xml_new(string name) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -public class SWIGTYPE_p_sockaddr { - private HandleRef swigCPtr; + public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } - internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - protected SWIGTYPE_p_sockaddr() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_xml switch_xml_cut(switch_xml xml) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_xml switch_xml_open_root(byte reload, ref string err) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; + } -public class SWIGTYPE_p_socklen_t { - private HandleRef swigCPtr; + public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err); + return ret; + } - internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_xml_destroy() { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy(); + return ret; } - protected SWIGTYPE_p_socklen_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_xml switch_xml_root() { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_root(); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8)); + return ret; + } -public class SWIGTYPE_p_sqlite3 { - private HandleRef swigCPtr; + public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup)); + return ret; + } - internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2)); + switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); + return ret; } - protected SWIGTYPE_p_sqlite3() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) { + freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections); } - internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) { + freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data)); } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) { + uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); + return ret; + } -namespace FreeSWITCH.Native { + public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) { + IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding)); + return ret; + } -public class SWIGTYPE_p_sqlite3_stmt { - private HandleRef swigCPtr; + public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding)); + return ret; + } - internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function)); + return ret; } - protected SWIGTYPE_p_sqlite3_stmt() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_xml_parse_section_string(string str) { + uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); + return ret; + } -public class SWIGTYPE_p_switch_buffer { - private HandleRef swigCPtr; + public static switch_status_t switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); + return ret; + } - internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); + return ret; } - protected SWIGTYPE_p_switch_buffer() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); + return ret; + } -namespace FreeSWITCH.Native { + public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); + return ret; + } -using System; -using System.Runtime.InteropServices; + public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); + return ret; + } -public class SWIGTYPE_p_switch_call_cause_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); + return ret; } - protected SWIGTYPE_p_switch_call_cause_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_channel { - private HandleRef swigCPtr; - internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); + return ret; } - protected SWIGTYPE_p_switch_channel() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_core_port_allocator { - private HandleRef swigCPtr; - internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); + return ret; } - protected SWIGTYPE_p_switch_core_port_allocator() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_core_session { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); + return ret; } - protected SWIGTYPE_p_switch_core_session() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; -public class SWIGTYPE_p_switch_event_node { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); + return ret; } - protected SWIGTYPE_p_switch_event_node() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) { + uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static uint switch_scheduler_del_task_id(uint task_id) { + uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id); + return ret; } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_event_types_t { - private HandleRef swigCPtr; - internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static uint switch_scheduler_del_task_group(string group) { + uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group); + return ret; } - protected SWIGTYPE_p_switch_event_types_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_scheduler_task_thread_start() { + freeswitchPINVOKE.switch_scheduler_task_thread_start(); } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static void switch_scheduler_task_thread_stop() { + freeswitchPINVOKE.switch_scheduler_task_thread_stop(); } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_file_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static int switch_config_open_file(switch_config cfg, string file_path) { + int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path); + return ret; } - protected SWIGTYPE_p_switch_file_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void switch_config_close_file(switch_config cfg) { + freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg)); } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) { + int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + public static void consoleLog(string level_str, string msg) { + freeswitchPINVOKE.consoleLog(level_str, msg); + } -namespace FreeSWITCH.Native { + public static void consoleCleanLog(string msg) { + freeswitchPINVOKE.consoleCleanLog(msg); + } -using System; -using System.Runtime.InteropServices; + public static void console_log(string level_str, string msg) { + freeswitchPINVOKE.console_log(level_str, msg); + } -public class SWIGTYPE_p_switch_hash { - private HandleRef swigCPtr; + public static void console_clean_log(string msg) { + freeswitchPINVOKE.console_clean_log(msg); + } - internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); + public static void msleep(uint ms) { + freeswitchPINVOKE.msleep(ms); } - protected SWIGTYPE_p_switch_hash() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static void bridge(CoreSession session_a, CoreSession session_b) { + freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b)); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session)); + return ret; } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class SWIGTYPE_p_switch_interval_time_t { - private HandleRef swigCPtr; - - internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } - - protected SWIGTYPE_p_switch_interval_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen); + return ret; } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get(); + public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get(); + public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get(); + public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get(); + public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get(); + public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get(); + public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get(); + public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get(); + public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get(); + public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get(); + public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); + public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get(); + public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get(); + public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get(); + public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get(); + public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get(); + public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get(); + public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get(); + public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get(); + public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get(); + public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get(); + public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get(); + public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get(); + public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get(); + public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get(); + public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get(); + public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get(); + public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get(); + public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get(); + public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get(); + public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get(); + public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get(); + public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get(); + public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get(); + public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get(); + public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get(); + public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get(); + public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get(); + public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get(); + public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get(); + public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get(); + public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get(); + public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get(); + public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get(); + public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get(); + public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get(); + public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get(); + public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get(); + public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get(); + public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get(); + public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get(); + public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get(); + public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get(); + public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get(); + public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get(); + public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get(); + public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get(); + public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); + public static readonly string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); + public static readonly string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE = freeswitchPINVOKE.SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); + public static readonly string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get(); + public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get(); + public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); + public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get(); + public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get(); + public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get(); + public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get(); + public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); + public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); + public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get(); + public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); + public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); + public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get(); + public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); + public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); + public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get(); + public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get(); + public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); + public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get(); + public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get(); + public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get(); + public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get(); + public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get(); + public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get(); + public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get(); + public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); + public static readonly string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); + public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); + public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); + public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); + public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); + public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); + public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get(); + public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get(); + public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get(); + public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get(); + public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get(); + public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); + public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get(); + public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get(); + public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get(); + public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get(); + public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get(); + public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get(); + public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get(); + public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get(); + public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get(); + public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get(); + public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get(); + public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); + public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get(); + public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get(); + public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get(); + public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get(); + public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get(); + public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get(); + public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get(); + public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get(); + public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get(); + public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get(); + public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get(); + public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get(); + public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get(); + public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get(); + public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get(); + public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get(); + public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get(); + public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get(); + public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get(); + public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get(); + public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get(); + public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get(); + public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get(); + public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get(); + public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get(); + public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get(); + public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get(); + public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get(); + public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get(); + public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get(); + public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get(); + public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); + public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get(); + public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get(); + public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get(); + public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get(); + public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get(); + public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get(); + public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get(); + public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get(); + public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get(); + public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get(); + public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get(); } } @@ -4133,11124 +4244,11072 @@ using System; using System.Runtime.InteropServices; -public class SWIGTYPE_p_switch_ivr_action_t { - private HandleRef swigCPtr; +class freeswitchPINVOKE { - internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + protected class SWIGExceptionHelper { - protected SWIGTYPE_p_switch_ivr_action_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + public delegate void ExceptionDelegate(string message); + public delegate void ExceptionArgumentDelegate(string message, string paramName); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException); + static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException); + static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException); + static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException); + static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException); + static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException); + static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException); + static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException); + static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException); + static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException); + static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException); + static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException); + static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")] + public static extern void SWIGRegisterExceptionCallbacks_freeswitch( + ExceptionDelegate applicationDelegate, + ExceptionDelegate arithmeticDelegate, + ExceptionDelegate divideByZeroDelegate, + ExceptionDelegate indexOutOfRangeDelegate, + ExceptionDelegate invalidCastDelegate, + ExceptionDelegate invalidOperationDelegate, + ExceptionDelegate ioDelegate, + ExceptionDelegate nullReferenceDelegate, + ExceptionDelegate outOfMemoryDelegate, + ExceptionDelegate overflowDelegate, + ExceptionDelegate systemExceptionDelegate); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")] + public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch( + ExceptionArgumentDelegate argumentDelegate, + ExceptionArgumentDelegate argumentNullDelegate, + ExceptionArgumentDelegate argumentOutOfRangeDelegate); -public class SWIGTYPE_p_switch_ivr_digit_stream { - private HandleRef swigCPtr; + static void SetPendingApplicationException(string message) { + SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingArithmeticException(string message) { + SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingDivideByZeroException(string message) { + SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingIndexOutOfRangeException(string message) { + SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingInvalidCastException(string message) { + SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingInvalidOperationException(string message) { + SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingIOException(string message) { + SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingNullReferenceException(string message) { + SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingOutOfMemoryException(string message) { + SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingOverflowException(string message) { + SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve())); + } + static void SetPendingSystemException(string message) { + SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve())); + } - internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + static void SetPendingArgumentException(string message, string paramName) { + SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve())); + } + static void SetPendingArgumentNullException(string message, string paramName) { + Exception e = SWIGPendingException.Retrieve(); + if (e != null) message = message + " Inner Exception: " + e.Message; + SWIGPendingException.Set(new System.ArgumentNullException(paramName, message)); + } + static void SetPendingArgumentOutOfRangeException(string message, string paramName) { + Exception e = SWIGPendingException.Retrieve(); + if (e != null) message = message + " Inner Exception: " + e.Message; + SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message)); + } - protected SWIGTYPE_p_switch_ivr_digit_stream() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + static SWIGExceptionHelper() { + SWIGRegisterExceptionCallbacks_freeswitch( + applicationDelegate, + arithmeticDelegate, + divideByZeroDelegate, + indexOutOfRangeDelegate, + invalidCastDelegate, + invalidOperationDelegate, + ioDelegate, + nullReferenceDelegate, + outOfMemoryDelegate, + overflowDelegate, + systemDelegate); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + SWIGRegisterExceptionCallbacksArgument_freeswitch( + argumentDelegate, + argumentNullDelegate, + argumentOutOfRangeDelegate); + } } -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; + protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper(); -public class SWIGTYPE_p_switch_ivr_digit_stream_parser { - private HandleRef swigCPtr; + public class SWIGPendingException { + [ThreadStatic] + private static Exception pendingException = null; + private static int numExceptionsPending = 0; - internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + public static bool Pending { + get { + bool pending = false; + if (numExceptionsPending > 0) + if (pendingException != null) + pending = true; + return pending; + } + } - protected SWIGTYPE_p_switch_ivr_digit_stream_parser() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + public static void Set(Exception e) { + if (pendingException != null) + throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e); + pendingException = e; + lock(typeof(freeswitchPINVOKE)) { + numExceptionsPending++; + } + } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + public static Exception Retrieve() { + Exception e = null; + if (numExceptionsPending > 0) { + if (pendingException != null) { + e = pendingException; + pendingException = null; + lock(typeof(freeswitchPINVOKE)) { + numExceptionsPending--; + } + } + } + return e; + } } -} -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { + protected class SWIGStringHelper { -using System; -using System.Runtime.InteropServices; + public delegate string SWIGStringDelegate(string message); + static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString); -public class SWIGTYPE_p_switch_ivr_menu { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")] + public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate); - internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + static string CreateString(string cString) { + return cString; + } - protected SWIGTYPE_p_switch_ivr_menu() { - swigCPtr = new HandleRef(null, IntPtr.Zero); + static SWIGStringHelper() { + SWIGRegisterStringCallback_freeswitch(stringDelegate); + } } - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")] + public static extern string FREESWITCH_PEN_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")] + public static extern string FREESWITCH_OID_PREFIX_get(); -public class SWIGTYPE_p_switch_ivr_menu_action_function_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")] + public static extern string FREESWITCH_ITAD_get(); - internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")] + public static extern int __EXTENSIONS___get(); - protected SWIGTYPE_p_switch_ivr_menu_action_function_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")] + public static extern int __BSD_VISIBLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")] + public static extern string SWITCH_BLANK_STRING_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")] + public static extern string SWITCH_SEQ_ESC_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")] + public static extern char SWITCH_SEQ_HOME_CHAR_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")] + public static extern string SWITCH_SEQ_HOME_CHAR_STR_get(); -public class SWIGTYPE_p_switch_ivr_menu_xml_ctx { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")] + public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get(); - internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")] + public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); - protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")] + public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")] + public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")] + public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")] + public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")] + public static extern string SWITCH_SEQ_AND_COLOR_get(); -public class SWIGTYPE_p_switch_loadable_module_interface { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")] + public static extern string SWITCH_SEQ_END_COLOR_get(); - internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")] + public static extern string SWITCH_SEQ_F_BLACK_get(); - protected SWIGTYPE_p_switch_loadable_module_interface() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")] + public static extern string SWITCH_SEQ_F_RED_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")] + public static extern string SWITCH_SEQ_F_GREEN_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")] + public static extern string SWITCH_SEQ_F_YELLOW_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")] + public static extern string SWITCH_SEQ_F_BLUE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")] + public static extern string SWITCH_SEQ_F_MAGEN_get(); -public class SWIGTYPE_p_switch_media_bug { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")] + public static extern string SWITCH_SEQ_F_CYAN_get(); - internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")] + public static extern string SWITCH_SEQ_F_WHITE_get(); - protected SWIGTYPE_p_switch_media_bug() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")] + public static extern string SWITCH_SEQ_B_BLACK_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")] + public static extern string SWITCH_SEQ_B_RED_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")] + public static extern string SWITCH_SEQ_B_GREEN_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")] + public static extern string SWITCH_SEQ_B_YELLOW_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")] + public static extern string SWITCH_SEQ_B_BLUE_get(); -public class SWIGTYPE_p_switch_mutex_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")] + public static extern string SWITCH_SEQ_B_MAGEN_get(); - internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")] + public static extern string SWITCH_SEQ_B_CYAN_get(); - protected SWIGTYPE_p_switch_mutex_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")] + public static extern string SWITCH_SEQ_B_WHITE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")] + public static extern string SWITCH_SEQ_FBLACK_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")] + public static extern string SWITCH_SEQ_FRED_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")] + public static extern string SWITCH_SEQ_FGREEN_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")] + public static extern string SWITCH_SEQ_FYELLOW_get(); -public class SWIGTYPE_p_switch_network_list { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")] + public static extern string SWITCH_SEQ_FBLUE_get(); - internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")] + public static extern string SWITCH_SEQ_FMAGEN_get(); - protected SWIGTYPE_p_switch_network_list() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")] + public static extern string SWITCH_SEQ_FCYAN_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")] + public static extern string SWITCH_SEQ_FWHITE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")] + public static extern string SWITCH_SEQ_BBLACK_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")] + public static extern string SWITCH_SEQ_BRED_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")] + public static extern string SWITCH_SEQ_BGREEN_get(); -public class SWIGTYPE_p_switch_pollfd_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")] + public static extern string SWITCH_SEQ_BYELLOW_get(); - internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")] + public static extern string SWITCH_SEQ_BBLUE_get(); - protected SWIGTYPE_p_switch_pollfd_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")] + public static extern string SWITCH_SEQ_BMAGEN_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")] + public static extern string SWITCH_SEQ_BCYAN_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")] + public static extern string SWITCH_SEQ_BWHITE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")] + public static extern string SWITCH_SEQ_HOME_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")] + public static extern string SWITCH_SEQ_CLEARLINE_get(); -public class SWIGTYPE_p_switch_queue_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")] + public static extern string SWITCH_SEQ_CLEARLINEEND_get(); - internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")] + public static extern string SWITCH_SEQ_CLEARSCR_get(); - protected SWIGTYPE_p_switch_queue_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")] + public static extern int SWITCH_DEFAULT_DTMF_DURATION_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")] + public static extern int SWITCH_MAX_DTMF_DURATION_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")] + public static extern string SWITCH_PATH_SEPARATOR_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")] + public static extern string SWITCH_URL_SEPARATOR_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")] + public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); -public class SWIGTYPE_p_switch_rtp { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get(); - internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); - protected SWIGTYPE_p_switch_rtp() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")] + public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")] + public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")] + public static extern string SWITCH_READ_RESULT_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")] + public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get(); -public class SWIGTYPE_p_switch_size_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")] + public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); - internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); - protected SWIGTYPE_p_switch_size_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")] + public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")] + public static extern string SWITCH_HOLDING_UUID_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")] + public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")] + public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get(); -public class SWIGTYPE_p_switch_sockaddr_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")] + public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); - internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")] + public static extern string SWITCH_PROCESS_CDR_VARIABLE_get(); - protected SWIGTYPE_p_switch_sockaddr_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")] + public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")] + public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")] + public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); -public class SWIGTYPE_p_switch_socket_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")] + public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get(); - internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")] + public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); - protected SWIGTYPE_p_switch_socket_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")] + public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")] + public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")] + public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")] + public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")] + public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get(); -public class SWIGTYPE_p_switch_ssize_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")] + public static extern string SWITCH_EXPORT_VARS_VARIABLE_get(); - internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")] + public static extern string SWITCH_R_SDP_VARIABLE_get(); - protected SWIGTYPE_p_switch_ssize_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")] + public static extern string SWITCH_L_SDP_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")] + public static extern string SWITCH_B_SDP_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_BRIDGE_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")] + public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get(); -public class SWIGTYPE_p_switch_thread_rwlock_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")] + public static extern string SWITCH_ORIGINATOR_VARIABLE_get(); - internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")] + public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); - protected SWIGTYPE_p_switch_thread_rwlock_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get")] + public static extern string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")] + public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")] + public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")] + public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")] + public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); -public class SWIGTYPE_p_switch_time_exp_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")] + public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); - internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")] + public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); - protected SWIGTYPE_p_switch_time_exp_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")] + public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")] + public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")] + public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")] + public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); -public class SWIGTYPE_p_switch_time_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")] + public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); - internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")] + public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get(); - protected SWIGTYPE_p_switch_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")] + public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get(); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")] + public static extern string SWITCH_SPEECH_KEY_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")] + public static extern string SWITCH_UUID_BRIDGE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")] + public static extern int SWITCH_BITS_PER_BYTE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")] + public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); -public class SWIGTYPE_p_switch_xml_binding { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")] + public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2); - internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")] + public static extern char switch_dtmf_t_digit_get(HandleRef jarg1); - protected SWIGTYPE_p_switch_xml_binding() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")] + public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")] + public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")] + public static extern IntPtr new_switch_dtmf_t(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")] + public static extern void delete_switch_dtmf_t(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")] + public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2); -public class SWIGTYPE_p_time_t { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")] + public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1); - internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")] + public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2); - protected SWIGTYPE_p_time_t() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")] + public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")] + public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")] + public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")] + public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")] + public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1); -public class SWIGTYPE_p_unsigned_char { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")] + public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2); - internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")] + public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1); - protected SWIGTYPE_p_unsigned_char() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")] + public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")] + public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")] + public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")] + public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")] + public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2); -public class SWIGTYPE_p_unsigned_int { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")] + public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1); - internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")] + public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2); - protected SWIGTYPE_p_unsigned_int() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")] + public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")] + public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")] + public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")] + public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")] + public static extern byte switch_bitpack_t_under_get(HandleRef jarg1); -public class SWIGTYPE_p_unsigned_long { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")] + public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2); - internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")] + public static extern byte switch_bitpack_t_over_get(HandleRef jarg1); - protected SWIGTYPE_p_unsigned_long() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")] + public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")] + public static extern int switch_bitpack_t_mode_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")] + public static extern IntPtr new_switch_bitpack_t(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")] + public static extern void delete_switch_bitpack_t(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")] + public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2); -public class SWIGTYPE_p_unsigned_short { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")] + public static extern string switch_directories_base_dir_get(HandleRef jarg1); - internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")] + public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2); - protected SWIGTYPE_p_unsigned_short() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")] + public static extern string switch_directories_mod_dir_get(HandleRef jarg1); - internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")] + public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")] + public static extern string switch_directories_conf_dir_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")] + public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")] + public static extern string switch_directories_log_dir_get(HandleRef jarg1); -public class SWIGTYPE_p_void { - private HandleRef swigCPtr; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")] + public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2); - internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) { - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")] + public static extern string switch_directories_db_dir_get(HandleRef jarg1); - protected SWIGTYPE_p_void() { - swigCPtr = new HandleRef(null, IntPtr.Zero); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")] + public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(SWIGTYPE_p_void obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")] + public static extern string switch_directories_script_dir_get(HandleRef jarg1); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")] + public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")] + public static extern string switch_directories_temp_dir_get(HandleRef jarg1); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")] + public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2); -public partial class Stream : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")] + public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1); - internal Stream(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")] + public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2); - internal static HandleRef getCPtr(Stream obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")] + public static extern string switch_directories_grammar_dir_get(HandleRef jarg1); - ~Stream() { - Dispose(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")] + public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2); - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_Stream(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")] + public static extern string switch_directories_storage_dir_get(HandleRef jarg1); - public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")] + public static extern IntPtr new_switch_directories(); - public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) { - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")] + public static extern void delete_switch_directories(HandleRef jarg1); - public void Write(string data) { - freeswitchPINVOKE.Stream_Write(swigCPtr, data); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")] + public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1); - public string get_data() { - string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")] + public static extern IntPtr SWITCH_GLOBAL_dirs_get(); -} + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")] + public static extern int SWITCH_MAX_STACKS_get(); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")] + public static extern int SWITCH_THREAD_STACKSIZE_get(); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")] + public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get(); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")] + public static extern int SWITCH_MAX_INTERVAL_get(); -public class freeswitch { - public static switch_directories SWITCH_GLOBAL_dirs { - set { - freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get(); - switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false); - return ret; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")] + public static extern int SWITCH_INTERVAL_PAD_get(); - public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) { - int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")] + public static extern int SWITCH_MAX_SAMPLE_LEN_get(); - public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) { - int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")] + public static extern int SWITCH_BYTES_PER_SAMPLE_get(); - public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol); - SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")] + public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get(); - public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) { - string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")] + public static extern int SWITCH_MAX_CODECS_get(); - public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")] + public static extern int SWITCH_MAX_STATE_HANDLERS_get(); - public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) { - string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")] + public static extern int SWITCH_CORE_QUEUE_LEN_get(); - public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) { - int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")] + public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); - public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")] + public static extern int SWITCH_RTP_CNG_PAYLOAD_get(); - public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) { - int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")] + public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2); - public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) { - int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")] + public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1); - public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) { - int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")] + public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2); - public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")] + public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1); - public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")] + public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2); - public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) { - int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")] + public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1); - public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) { - int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")] + public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2); - public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) { - long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")] + public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1); - public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) { - int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")] + public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2); - public static void switch_core_db_free_table(ref string result) { - freeswitchPINVOKE.switch_core_db_free_table(ref result); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")] + public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1); - public static void switch_core_db_free(string z) { - freeswitchPINVOKE.switch_core_db_free(z); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")] + public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2); - public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) { - int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")] + public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1); - public static string switch_mprintf(string zFormat) { - string ret = freeswitchPINVOKE.switch_mprintf(zFormat); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")] + public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2); - public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) { - IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables)); - SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")] + public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1); - public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) { - int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")] + public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2); - public static void switch_regex_free(SWIGTYPE_p_void data) { - freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")] + public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1); - public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) { - int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")] + public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2); - public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) { - freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")] + public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1); - public static switch_status_t switch_regex_match(string target, string expression) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")] + public static extern IntPtr new_switch_rtp_hdr_t(); - public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")] + public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1); - public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { - freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")] + public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2); - public static void switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")] + public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1); - public static void switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) { - freeswitchPINVOKE.switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")] + public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2); - public static void switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")] + public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1); - public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")] + public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2); - public static void switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")] + public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1); - public static void switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")] + public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2); - public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")] + public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1); - public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")] + public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2); - public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")] + public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1); - public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")] + public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2); - public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")] + public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1); - public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) { - uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")] + public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2); - public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")] + public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1); - public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")] + public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")] + public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1); - public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")] + public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")] + public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1); - public static void switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug bug) { - freeswitchPINVOKE.switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug.getCPtr(bug)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_set")] + public static extern void switch_t38_options_t_ip_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_get")] + public static extern string switch_t38_options_t_ip_get(HandleRef jarg1); - public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_set")] + public static extern void switch_t38_options_t_port_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_get")] + public static extern uint switch_t38_options_t_port_get(HandleRef jarg1); - public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")] + public static extern IntPtr new_switch_t38_options_t(); - public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) { - freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc)); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")] + public static extern void delete_switch_t38_options_t(HandleRef jarg1); - public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")] + public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")] + public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1); - public static uint switch_core_session_limit(uint new_limit) { - uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")] + public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2); - public static uint switch_core_sessions_per_second(uint new_limit) { - uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")] + public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1); - public static switch_status_t switch_core_destroy() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")] + public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")] + public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1); - public static switch_status_t switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")] + public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2); - public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")] + public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1); - public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")] + public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2); - public static int switch_core_add_state_handler(switch_state_handler_table state_handler) { - int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")] + public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1); - public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) { - freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler)); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")] + public static extern IntPtr new_switch_input_args_t(); - public static switch_state_handler_table switch_core_get_state_handler(int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index); - switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")] + public static extern void delete_switch_input_args_t(HandleRef jarg1); - public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) { - freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")] + public static extern int SWITCH_API_VERSION_get(); - public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")] + public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2); - public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")] + public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1); - public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")] + public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2); - public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")] + public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1); - public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")] + public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")] + public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1); - public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")] + public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2); - public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")] + public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1); - public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")] + public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2); - public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) { - string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")] + public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1); - public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) { - string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")] + public static extern IntPtr new_switch_loadable_module_function_table_t(); - public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) { - string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")] + public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1); - public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")] + public static extern int switch_core_db_close(HandleRef jarg1); - public static SWIGTYPE_p_switch_core_session switch_core_session_request_uuid(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool, string use_uuid) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), use_uuid); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")] + public static extern int switch_core_db_open(string jarg1, HandleRef jarg2); - public static switch_status_t switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session session, string use_uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session), use_uuid); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")] + public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2); - public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) { - freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")] + public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2); - public static uint switch_core_session_count() { - uint ret = freeswitchPINVOKE.switch_core_session_count(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")] + public static extern int switch_core_db_column_count(HandleRef jarg1); - public static SWIGTYPE_p_switch_size_t switch_core_session_get_id(SWIGTYPE_p_switch_core_session session) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_get_id(SWIGTYPE_p_switch_core_session.getCPtr(session)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")] + public static extern string switch_core_db_errmsg(HandleRef jarg1); - public static SWIGTYPE_p_switch_size_t switch_core_session_id() { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")] + public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5); - public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool)); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")] + public static extern int switch_core_db_finalize(HandleRef jarg1); - public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")] + public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5); - public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")] + public static extern int switch_core_db_step(HandleRef jarg1); - public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")] + public static extern int switch_core_db_reset(HandleRef jarg1); - public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) { - string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")] + public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3); - public static string switch_core_get_uuid() { - string ret = freeswitchPINVOKE.switch_core_get_uuid(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")] + public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3); - public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str); - SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")] + public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5); - public static string switch_core_get_variable(string varname) { - string ret = freeswitchPINVOKE.switch_core_get_variable(varname); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")] + public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3); - public static void switch_core_set_variable(string varname, string value) { - freeswitchPINVOKE.switch_core_set_variable(varname, value); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")] + public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1); - public static void switch_core_dump_variables(switch_stream_handle stream) { - freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")] + public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6); - public static void switch_core_session_hupall(switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall((int)cause); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")] + public static extern void switch_core_db_free_table(ref string jarg1); - public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")] + public static extern void switch_core_db_free(string jarg1); - public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) { - freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")] + public static extern int switch_core_db_changes(HandleRef jarg1); - public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")] + public static extern int SWITCH_CORE_DB_OK_get(); - public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")] + public static extern int SWITCH_CORE_DB_ERROR_get(); - public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")] + public static extern int SWITCH_CORE_DB_INTERNAL_get(); - public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")] + public static extern int SWITCH_CORE_DB_PERM_get(); - public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")] + public static extern int SWITCH_CORE_DB_ABORT_get(); - public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")] + public static extern int SWITCH_CORE_DB_BUSY_get(); - public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")] + public static extern int SWITCH_CORE_DB_LOCKED_get(); - public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")] + public static extern int SWITCH_CORE_DB_NOMEM_get(); - public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")] + public static extern int SWITCH_CORE_DB_READONLY_get(); - public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")] + public static extern int SWITCH_CORE_DB_INTERRUPT_get(); - public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")] + public static extern int SWITCH_CORE_DB_IOERR_get(); - public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")] + public static extern int SWITCH_CORE_DB_CORRUPT_get(); - public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")] + public static extern int SWITCH_CORE_DB_NOTFOUND_get(); - public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")] + public static extern int SWITCH_CORE_DB_FULL_get(); - public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) { - int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")] + public static extern int SWITCH_CORE_DB_CANTOPEN_get(); - public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")] + public static extern int SWITCH_CORE_DB_PROTOCOL_get(); - public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) { - int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")] + public static extern int SWITCH_CORE_DB_EMPTY_get(); - public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) { - freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj)); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")] + public static extern int SWITCH_CORE_DB_SCHEMA_get(); - public static void switch_core_thread_session_end(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_thread_session_end(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")] + public static extern int SWITCH_CORE_DB_TOOBIG_get(); - public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")] + public static extern int SWITCH_CORE_DB_CONSTRAINT_get(); - public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")] + public static extern int SWITCH_CORE_DB_MISMATCH_get(); - public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")] + public static extern int SWITCH_CORE_DB_MISUSE_get(); - public static switch_status_t switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")] + public static extern int SWITCH_CORE_DB_NOLFS_get(); - public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")] + public static extern int SWITCH_CORE_DB_AUTH_get(); - public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")] + public static extern int SWITCH_CORE_DB_FORMAT_get(); - public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")] + public static extern int SWITCH_CORE_DB_RANGE_get(); - public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")] + public static extern int SWITCH_CORE_DB_NOTADB_get(); - public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")] + public static extern int SWITCH_CORE_DB_ROW_get(); - public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")] + public static extern int SWITCH_CORE_DB_DONE_get(); - public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) { - uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")] + public static extern string switch_mprintf(string jarg1); - public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")] + public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5); - public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")] + public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6); - public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")] + public static extern void switch_regex_free(HandleRef jarg1); - public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) { - freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")] + public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5); - public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")] + public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); - public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")] + public static extern int switch_regex_match(string jarg1, string jarg2); - public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")] + public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3); - public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")] + public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); - public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")] + public static extern int SWITCH_MAX_STREAMS_get(); - public static switch_status_t switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool, switch_bool_t case_sensitive) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init_case(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)case_sensitive); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")] + public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")] + public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1); - public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")] + public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")] + public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1); - public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")] + public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")] + public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1); - public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")] + public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2); - public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")] + public static extern uint switch_core_time_duration_min_get(HandleRef jarg1); - public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) { - IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash)); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")] + public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2); - public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) { - IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi)); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")] + public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1); - public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) { - freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")] + public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")] + public static extern uint switch_core_time_duration_day_get(HandleRef jarg1); - public static switch_status_t switch_core_timer_next(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")] + public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_timer_step(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")] + public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1); - public static switch_status_t switch_core_timer_sync(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")] + public static extern IntPtr new_switch_core_time_duration(); - public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")] + public static extern void delete_switch_core_time_duration(HandleRef jarg1); - public static switch_status_t switch_core_timer_destroy(switch_timer timer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")] + public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")] + public static extern string switch_app_log_app_get(HandleRef jarg1); - public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")] + public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")] + public static extern string switch_app_log_arg_get(HandleRef jarg1); - public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")] + public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_codec_destroy(switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")] + public static extern IntPtr switch_app_log_next_get(HandleRef jarg1); - public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")] + public static extern IntPtr new_switch_app_log(); - public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")] + public static extern void delete_switch_app_log(HandleRef jarg1); - public static void switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")] + public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2); - public static void switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")] + public static extern string switch_core_session_message_from_get(HandleRef jarg1); - public static void switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")] + public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2); - public static void switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")] + public static extern int switch_core_session_message_message_id_get(HandleRef jarg1); - public static void switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")] + public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2); - public static switch_status_t switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")] + public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1); - public static switch_status_t switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")] + public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")] + public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1); - public static switch_status_t switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")] + public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2); - public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")] + public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1); - public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")] + public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")] + public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1); - public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")] + public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2); - public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")] + public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1); - public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")] + public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2); - public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")] + public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1); - public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")] + public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2); - public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session)); - switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")] + public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1); - public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename); - SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")] + public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")] + public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1); - public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) { - freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")] + public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")] + public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1); - public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")] + public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")] + public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1); - public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")] + public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")] + public static extern uint switch_core_session_message_flags_get(HandleRef jarg1); - public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")] + public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_file_close(switch_file_handle fh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")] + public static extern string switch_core_session_message__file_get(HandleRef jarg1); - public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")] + public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")] + public static extern string switch_core_session_message__func_get(HandleRef jarg1); - public static void switch_core_speech_flush_tts(switch_speech_handle sh) { - freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")] + public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2); - public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) { - freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")] + public static extern int switch_core_session_message__line_get(HandleRef jarg1); - public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) { - freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")] + public static extern IntPtr new_switch_core_session_message(); - public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) { - freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")] + public static extern void delete_switch_core_session_message(HandleRef jarg1); - public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")] + public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2); - public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")] + public static extern int switch_core_thread_session_running_get(HandleRef jarg1); - public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")] + public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")] + public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1); - public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")] + public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")] + public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1); - public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")] + public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")] + public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1); - public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")] + public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")] + public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1); - public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")] + public static extern IntPtr new_switch_core_thread_session(); - public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")] + public static extern void delete_switch_core_thread_session(HandleRef jarg1); - public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")] + public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_directory_next(switch_directory_handle dh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")] + public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1); - public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")] + public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_core_directory_close(switch_directory_handle dh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")] + public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1); - public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel); - SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")] + public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6); - public static switch_bool_t switch_core_ready() { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")] + public static extern void switch_core_media_bug_pause(HandleRef jarg1); - public static uint switch_core_flags() { - uint ret = freeswitchPINVOKE.switch_core_flags(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")] + public static extern void switch_core_media_bug_resume(HandleRef jarg1); - public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")] + public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1); - public static int set_high_priority() { - int ret = freeswitchPINVOKE.set_high_priority(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")] + public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1); - public static int change_user_group(string user, string group) { - int ret = freeswitchPINVOKE.change_user_group(user, group); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")] + public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2); - public static void switch_core_runtime_loop(int bg) { - freeswitchPINVOKE.switch_core_runtime_loop(bg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")] + public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1); - public static switch_status_t switch_core_set_console(string console) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")] + public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1); - public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) { - freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")] + public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2); - public static SWIGTYPE_p_switch_time_t switch_core_uptime() { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")] + public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2); - public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) { - int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")] + public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_FILE switch_core_get_console() { - IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console(); - SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")] + public static extern int switch_core_media_bug_close(HandleRef jarg1); - public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) { - freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")] + public static extern int switch_core_media_bug_remove_all(HandleRef jarg1); - public static void switch_core_set_globals() { - freeswitchPINVOKE.switch_core_set_globals(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")] + public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2); - public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) { - byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")] + public static extern void switch_core_media_bug_flush(HandleRef jarg1); - public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) { - byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")] + public static extern int switch_core_media_bug_flush_all(HandleRef jarg1); - public static SWIGTYPE_p_HashElem switch_core_mime_index() { - IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index(); - SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")] + public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4); - public static string switch_core_mime_ext2type(string ext) { - string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")] + public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_mime_add_type(string type, string ext) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")] + public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2); - public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name); - SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")] + public static extern void switch_core_port_allocator_destroy(HandleRef jarg1); - public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) { - IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")] + public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3); - public static SWIGTYPE_p_switch_time_t switch_micro_time_now() { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_micro_time_now(), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")] + public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3); - public static void switch_core_memory_reclaim() { - freeswitchPINVOKE.switch_core_memory_reclaim(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")] + public static extern uint switch_core_session_limit(uint jarg1); - public static void switch_core_memory_reclaim_events() { - freeswitchPINVOKE.switch_core_memory_reclaim_events(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")] + public static extern uint switch_core_sessions_per_second(uint jarg1); - public static void switch_core_memory_reclaim_logger() { - freeswitchPINVOKE.switch_core_memory_reclaim_logger(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")] + public static extern int switch_core_destroy(); - public static void switch_core_memory_reclaim_all() { - freeswitchPINVOKE.switch_core_memory_reclaim_all(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")] + public static extern int switch_core_session_read_lock(HandleRef jarg1); - public static void switch_core_setrlimits() { - freeswitchPINVOKE.switch_core_setrlimits(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")] + public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1); - public static void switch_time_sync() { - freeswitchPINVOKE.switch_time_sync(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")] + public static extern void switch_core_session_write_lock(HandleRef jarg1); - public static SWIGTYPE_p_time_t switch_epoch_time_now(SWIGTYPE_p_time_t t) { - SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_epoch_time_now(SWIGTYPE_p_time_t.getCPtr(t)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")] + public static extern void switch_core_session_rwunlock(HandleRef jarg1); - public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")] + public static extern int switch_core_add_state_handler(HandleRef jarg1); - public static switch_status_t switch_time_exp_tz_name(string tz, SWIGTYPE_p_switch_time_exp_t tm, SWIGTYPE_p_switch_time_t thetime) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_time_exp_tz_name(tz, SWIGTYPE_p_switch_time_exp_t.getCPtr(tm), SWIGTYPE_p_switch_time_t.getCPtr(thetime)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")] + public static extern void switch_core_remove_state_handler(HandleRef jarg1); - public static void switch_load_network_lists(switch_bool_t reload) { - freeswitchPINVOKE.switch_load_network_lists((int)reload); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")] + public static extern IntPtr switch_core_get_state_handler(int jarg1); - public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")] + public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2); - public static void switch_time_set_monotonic(switch_bool_t enable) { - freeswitchPINVOKE.switch_time_set_monotonic((int)enable); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")] + public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - public static uint switch_core_max_dtmf_duration(uint duration) { - uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")] + public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - public static uint switch_core_default_dtmf_duration(uint duration) { - uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")] + public static extern void switch_core_session_run(HandleRef jarg1); - public static switch_status_t switch_console_set_complete(string arg0) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")] + public static extern uint switch_core_session_running(HandleRef jarg1); - public static switch_status_t switch_console_set_alias(string arg0) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")] + public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - public static int switch_system(string cmd, switch_bool_t wait) { - int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")] + public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - public static void switch_cond_yield(SWIGTYPE_p_switch_interval_time_t t) { - freeswitchPINVOKE.switch_cond_yield(SWIGTYPE_p_switch_interval_time_t.getCPtr(t)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")] + public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - public static void switch_cond_next() { - freeswitchPINVOKE.switch_cond_next(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")] + public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4); - public static switch_status_t switch_core_chat_send(string name, string proto, string from, string to, string subject, string body, string type, string hint) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(name, proto, from, to, subject, body, type, hint); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")] + public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); - public static void switch_console_loop() { - freeswitchPINVOKE.switch_console_loop(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")] + public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); - public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")] + public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2); - public static int switch_toupper(int c) { - int ret = freeswitchPINVOKE.switch_toupper(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")] + public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2); - public static int switch_tolower(int c) { - int ret = freeswitchPINVOKE.switch_tolower(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")] + public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1); - public static int switch_isalnum(int c) { - int ret = freeswitchPINVOKE.switch_isalnum(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")] + public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, HandleRef jarg2, string jarg3); - public static int switch_isalpha(int c) { - int ret = freeswitchPINVOKE.switch_isalpha(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")] + public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2); - public static int switch_iscntrl(int c) { - int ret = freeswitchPINVOKE.switch_iscntrl(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")] + public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - public static int switch_isdigit(int c) { - int ret = freeswitchPINVOKE.switch_isdigit(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")] + public static extern uint switch_core_session_count(); - public static int switch_isgraph(int c) { - int ret = freeswitchPINVOKE.switch_isgraph(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")] + public static extern IntPtr switch_core_session_get_id(HandleRef jarg1); - public static int switch_islower(int c) { - int ret = freeswitchPINVOKE.switch_islower(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")] + public static extern IntPtr switch_core_session_id(); - public static int switch_isprint(int c) { - int ret = freeswitchPINVOKE.switch_isprint(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")] + public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2); - public static int switch_ispunct(int c) { - int ret = freeswitchPINVOKE.switch_ispunct(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")] + public static extern int switch_core_session_thread_launch(HandleRef jarg1); - public static int switch_isspace(int c) { - int ret = freeswitchPINVOKE.switch_isspace(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")] + public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1); - public static int switch_isupper(int c) { - int ret = freeswitchPINVOKE.switch_isupper(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")] + public static extern void switch_core_session_signal_state_change(HandleRef jarg1); - public static int switch_isxdigit(int c) { - int ret = freeswitchPINVOKE.switch_isxdigit(c); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")] + public static extern string switch_core_session_get_uuid(HandleRef jarg1); - public static switch_bool_t switch_is_moh(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")] + public static extern string switch_core_get_uuid(); - public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")] + public static extern IntPtr switch_core_session_locate(string jarg1); - public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")] + public static extern string switch_core_get_variable(string jarg1); - public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) { - string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")] + public static extern void switch_core_set_variable(string jarg1, string jarg2); - public static switch_bool_t switch_is_digit_string(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")] + public static extern void switch_core_dump_variables(HandleRef jarg1); - public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")] + public static extern void switch_core_session_hupall(int jarg1); - public static switch_status_t switch_find_local_ip(string buf, int len, int family) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")] + public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3); - public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) { - string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")] + public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2); - public static ushort get_port(SWIGTYPE_p_sockaddr sa) { - ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")] + public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2); - public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) { - int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")] + public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2); - public static string switch_priority_name(switch_priority_t priority) { - string ret = freeswitchPINVOKE.switch_priority_name((int)priority); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")] + public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2); - public static char switch_rfc2833_to_char(int arg0) { - char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")] + public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2); - public static byte switch_char_to_rfc2833(char key) { - byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")] + public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2); - public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")] + public static extern int switch_core_session_flush_message(HandleRef jarg1); - public static switch_bool_t switch_string_var_check_const(string s) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check_const(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")] + public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2); - public static string switch_var_clean_string(string s) { - string ret = freeswitchPINVOKE.switch_var_clean_string(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")] + public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1); - public static string switch_clean_string(string s) { - string ret = freeswitchPINVOKE.switch_clean_string(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")] + public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3); - public static string switch_safe_strdup(string it) { - string ret = freeswitchPINVOKE.switch_safe_strdup(it); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")] + public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3); - public static string switch_lc_strdup(string it) { - string ret = freeswitchPINVOKE.switch_lc_strdup(it); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")] + public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - public static string switch_uc_strdup(string it) { - string ret = freeswitchPINVOKE.switch_uc_strdup(it); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")] + public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2); - public static switch_bool_t switch_strstr(string s, string q) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")] + public static extern IntPtr switch_core_session_get_private(HandleRef jarg1); - public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) { - SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")] + public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2); - public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) { - uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")] + public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2); - public static switch_bool_t switch_is_number(string str) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")] + public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2); - public static string switch_strip_spaces(string str) { - string ret = freeswitchPINVOKE.switch_strip_spaces(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")] + public static extern int switch_core_session_get_stream_count(HandleRef jarg1); - public static string switch_separate_paren_args(string str) { - string ret = freeswitchPINVOKE.switch_separate_paren_args(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")] + public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static string switch_stristr(string instr, string str) { - string ret = freeswitchPINVOKE.switch_stristr(instr, str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")] + public static extern void switch_core_thread_session_end(HandleRef jarg1); - public static switch_bool_t switch_is_lan_addr(string ip) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")] + public static extern void switch_core_service_session(HandleRef jarg1); - public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) { - string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")] + public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7); - public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")] + public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) { - string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")] + public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); - public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) { - int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")] + public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2); - public static string switch_cut_path(string arg0) { - string ret = freeswitchPINVOKE.switch_cut_path(arg0); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")] + public static extern uint switch_core_session_event_count(HandleRef jarg1); - public static string switch_string_replace(string arg0, string search, string replace) { - string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")] + public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")] + public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2); - public static uint switch_url_encode(string url, string buf, uint len) { - uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")] + public static extern uint switch_core_session_private_event_count(HandleRef jarg1); - public static string switch_url_decode(string s) { - string ret = freeswitchPINVOKE.switch_url_decode(s); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")] + public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2); - public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")] + public static extern uint switch_core_session_flush_private_events(HandleRef jarg1); - public static string switch_find_end_paren(string s, char open, char close) { - string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")] + public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) { - int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")] + public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")] + public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")] + public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3); - public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")] + public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); - public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")] + public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); - public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number); - switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")] + public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")] + public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2); - public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) { - freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")] + public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2); - public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) { - string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")] + public static extern int switch_core_hash_init_case(HandleRef jarg1, HandleRef jarg2, int jarg3); - public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")] + public static extern int switch_core_hash_destroy(HandleRef jarg1); - public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")] + public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3); - public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) { - IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")] + public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4); - public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) { - freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")] + public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2); - public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")] + public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); - public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")] + public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2); - public static byte switch_channel_ready(SWIGTYPE_p_switch_channel channel) { - byte ret = freeswitchPINVOKE.switch_channel_ready(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")] + public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); - public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) { - freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")] + public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2); - public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")] + public static extern IntPtr switch_hash_next(HandleRef jarg1); - public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")] + public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")] + public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5); - public static switch_call_cause_t switch_channel_str2cause(string str) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")] + public static extern int switch_core_timer_next(HandleRef jarg1); - public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")] + public static extern int switch_core_timer_step(HandleRef jarg1); - public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")] + public static extern int switch_core_timer_sync(HandleRef jarg1); - public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) { - switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")] + public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2); - public static string switch_channel_cause2str(switch_call_cause_t cause) { - string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")] + public static extern int switch_core_timer_destroy(HandleRef jarg1); - public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")] + public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9); - public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")] + public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, switch_channel_flag_t flag) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, (int)flag); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")] + public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); - public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) { - freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")] + public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); - public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")] + public static extern int switch_core_codec_destroy(HandleRef jarg1); - public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")] + public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2); - public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")] + public static extern void switch_core_session_unset_read_codec(HandleRef jarg1); - public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")] + public static extern void switch_core_session_unset_write_codec(HandleRef jarg1); - public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")] + public static extern void switch_core_session_lock_codec_write(HandleRef jarg1); - public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) { - freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")] + public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1); - public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")] + public static extern void switch_core_session_lock_codec_read(HandleRef jarg1); - public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) { - string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")] + public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1); - public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")] + public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")] + public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")] + public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2); - public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) { - string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")] + public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2); - public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) { - string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")] + public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1); - public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")] + public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1); - public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")] + public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2); - public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")] + public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1); - public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) { - freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")] + public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1); - public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel)); - switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")] + public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2); - public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")] + public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1); - public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")] + public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2); - public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")] + public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1); - public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")] + public static extern IntPtr switch_core_db_open_file(string jarg1); - public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")] + public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3); - public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) { - freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")] + public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")] + public static extern string SWITCH_CORE_DB_get(); - public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")] + public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9); - public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")] + public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")] + public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")] + public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4); - public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")] + public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3); - public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { - int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")] + public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3); - public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) { - freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")] + public static extern int switch_core_file_close(HandleRef jarg1); - public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index); - switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")] + public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7); - public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")] + public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3); - public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) { - IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")] + public static extern void switch_core_speech_flush_tts(HandleRef jarg1); - public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")] + public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3); - public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) { - string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")] + public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3); - public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")] + public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3); - public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")] + public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); - public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")] + public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")] + public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); - public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")] + public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2); - public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")] + public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4); - public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")] + public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2); - public static string switch_channel_state_name(switch_channel_state_t state) { - string ret = freeswitchPINVOKE.switch_channel_state_name((int)state); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")] + public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3); - public static switch_channel_state_t switch_channel_name_state(string name) { - switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")] + public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3); - public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")] + public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2); - public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")] + public static extern int switch_core_asr_pause(HandleRef jarg1); - public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) { - freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")] + public static extern int switch_core_asr_resume(HandleRef jarg1); - public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) { - string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")] + public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); - public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) { - string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")] + public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3); - public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")] + public static extern int switch_core_directory_next(HandleRef jarg1); - public static void switch_channel_audio_sync(SWIGTYPE_p_switch_channel channel) { - freeswitchPINVOKE.switch_channel_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")] + public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); - public static void switch_channel_set_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_set_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")] + public static extern int switch_core_directory_close(HandleRef jarg1); - public static void switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")] + public static extern IntPtr switch_core_data_channel(int jarg1); - public static int switch_channel_test_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - int ret = freeswitchPINVOKE.switch_channel_test_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")] + public static extern int switch_core_ready(); - public static void switch_channel_set_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_set_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")] + public static extern uint switch_core_flags(); - public static void switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - freeswitchPINVOKE.switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")] + public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4); - public static int switch_channel_test_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) { - int ret = freeswitchPINVOKE.switch_channel_test_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")] + public static extern int set_high_priority(); - public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")] + public static extern int change_user_group(string jarg1, string jarg2); - public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")] + public static extern void switch_core_runtime_loop(int jarg1); - public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) { - freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")] + public static extern int switch_core_set_console(string jarg1); - public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")] + public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")] + public static extern IntPtr switch_core_uptime(); - public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")] + public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2); - public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")] + public static extern IntPtr switch_core_get_console(); - public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")] + public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")] + public static extern void switch_core_set_globals(); - public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")] + public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_switch_size_t switch_buffer_read_loop(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read_loop(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")] + public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2); - public static void switch_buffer_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) { - freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")] + public static extern IntPtr switch_core_mime_index(); - public static SWIGTYPE_p_switch_size_t switch_buffer_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")] + public static extern string switch_core_mime_ext2type(string jarg1); - public static SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")] + public static extern int switch_core_mime_add_type(string jarg1, string jarg2); - public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")] + public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2); - public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) { - freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")] + public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2); - public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")] + public static extern IntPtr switch_micro_time_now(); - public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")] + public static extern void switch_core_memory_reclaim(); - public static switch_status_t switch_event_shutdown() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")] + public static extern void switch_core_memory_reclaim_events(); - public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")] + public static extern void switch_core_memory_reclaim_logger(); - public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")] + public static extern void switch_core_memory_reclaim_all(); - public static string switch_event_get_header(switch_event arg0, string header_name) { - string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")] + public static extern void switch_core_setrlimits(); - public static string switch_event_get_body(switch_event arg0) { - string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")] + public static extern void switch_time_sync(); - public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")] + public static extern IntPtr switch_epoch_time_now(HandleRef jarg1); - public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")] + public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5); - public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) { - freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")] + public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3); - public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")] + public static extern void switch_load_network_lists(int jarg1); - public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")] + public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3); - public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")] + public static extern void switch_time_set_monotonic(int jarg1); - public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")] + public static extern uint switch_core_max_dtmf_duration(uint jarg1); - public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")] + public static extern uint switch_core_default_dtmf_duration(uint jarg1); - public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")] + public static extern int switch_console_set_complete(string jarg1); - public static string switch_event_name(switch_event_types_t arg0) { - string ret = freeswitchPINVOKE.switch_event_name((int)arg0); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")] + public static extern int switch_console_set_alias(string jarg1); - public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_system")] + public static extern int switch_system(string jarg1, int jarg2); - public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")] + public static extern void switch_cond_yield(HandleRef jarg1); - public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")] + public static extern void switch_cond_next(); - public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")] + public static extern int switch_core_chat_send(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8); - public static switch_status_t switch_event_running() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")] + public static extern int SWITCH_CMD_CHUNK_LEN_get(); - public static string switch_event_expand_headers(switch_event arg0, string arg1) { - string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")] + public static extern void switch_console_loop(); - public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")] + public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) { - freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")] + public static extern int switch_toupper(int jarg1); - public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) { - string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")] + public static extern int switch_tolower(int jarg1); - public static switch_status_t switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")] + public static extern int switch_isalnum(int jarg1); - public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) { - freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")] + public static extern int switch_isalpha(int jarg1); - public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) { - uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")] + public static extern int switch_iscntrl(int jarg1); - public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")] + public static extern int switch_isdigit(int jarg1); - public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) { - int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")] + public static extern int switch_isgraph(int jarg1); - public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) { - int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")] + public static extern int switch_islower(int jarg1); - public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) { - int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")] + public static extern int switch_isprint(int jarg1); - public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) { - freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")] + public static extern int switch_ispunct(int jarg1); - public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) { - freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")] + public static extern int switch_isspace(int jarg1); - public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) { - freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")] + public static extern int switch_isupper(int jarg1); - public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) { - uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")] + public static extern int switch_isxdigit(int jarg1); - public static void switch_mux_channels(SWIGTYPE_p_short data, uint samples, uint channels) { - freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), samples, channels); - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")] + public static extern int SWITCH_SMAX_get(); - public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")] + public static extern int SWITCH_SMIN_get(); - public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")] + public static extern int switch_is_moh(string jarg1); - public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")] + public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) { - int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")] + public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3); - public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) { - int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")] + public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3); - public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")] + public static extern int switch_is_digit_string(string jarg1); - public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")] + public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3); - public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")] + public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3); - public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_bool_t sync, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, (int)sync, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_get_addr")] + public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_get_port")] + public static extern ushort get_port(HandleRef jarg1); - public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")] + public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6); - public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")] + public static extern string switch_priority_name(int jarg1); - public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")] + public static extern char switch_rfc2833_to_char(int jarg1); - public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")] + public static extern byte switch_char_to_rfc2833(char jarg1); - public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")] + public static extern int switch_string_var_check(string jarg1, int jarg2); - public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")] + public static extern int switch_string_var_check_const(string jarg1); - public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")] + public static extern string switch_var_clean_string(string jarg1); - public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")] + public static extern string switch_clean_string(string jarg1); - public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")] + public static extern string switch_safe_strdup(string jarg1); - public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")] + public static extern string switch_lc_strdup(string jarg1); - public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")] + public static extern string switch_uc_strdup(string jarg1); - public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")] + public static extern int switch_strstr(string jarg1, string jarg2); - public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")] + public static extern IntPtr switch_str_time(string jarg1); - public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")] + public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4); - public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")] + public static extern int switch_is_number(string jarg1); - public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")] + public static extern string switch_strip_spaces(string jarg1); - public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")] + public static extern string switch_separate_paren_args(string jarg1); - public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) { - freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")] + public static extern string switch_stristr(string jarg1, string jarg2); - public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")] + public static extern int switch_is_lan_addr(string jarg1); - public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")] + public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4); - public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")] + public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3); - public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")] + public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4); - public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")] + public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2); - public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")] + public static extern string switch_cut_path(string jarg1); - public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, var_name, digit_buffer, digit_buffer_length, digits_regex); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")] + public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3); - public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")] + public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4); - public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")] + public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3); - public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")] + public static extern string switch_url_decode(string jarg1); - public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")] + public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5); - public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")] + public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3); - public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")] + public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")] + public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3); - public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")] + public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4); - public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")] + public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")] + public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3); - public static switch_status_t switch_ivr_media(string uuid, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")] + public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")] + public static extern string switch_caller_profile_username_get(HandleRef jarg1); - public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")] + public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_unhold_uuid(string uuid) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")] + public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1); - public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")] + public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")] + public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1); - public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) { - uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")] + public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")] + public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1); - public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")] + public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")] + public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1); - public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")] + public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")] + public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1); - public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")] + public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")] + public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1); - public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")] + public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2); - public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) { - IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")] + public static extern string switch_caller_profile_ani_get(HandleRef jarg1); - public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")] + public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")] + public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1); - public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")] + public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")] + public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1); - public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")] + public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")] + public static extern string switch_caller_profile_aniii_get(HandleRef jarg1); - public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")] + public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")] + public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1); - public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")] + public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")] + public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1); - public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")] + public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")] + public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1); - public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) { - freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")] + public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")] + public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1); - public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) { - freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")] + public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2); - public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) { - freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")] + public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1); - public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")] + public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2); - public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")] + public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1); - public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")] + public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")] + public static extern string switch_caller_profile_source_get(HandleRef jarg1); - public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")] + public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")] + public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1); - public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) { - switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")] + public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2); - public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) { - switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")] + public static extern string switch_caller_profile_uuid_get(HandleRef jarg1); - public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")] + public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")] + public static extern string switch_caller_profile_context_get(HandleRef jarg1); - public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) { - freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")] + public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2); - public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) { - freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")] + public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1); - public static void switch_rtp_shutdown() { - freeswitchPINVOKE.switch_rtp_shutdown(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")] + public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2); - public static ushort switch_rtp_set_start_port(ushort port) { - ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")] + public static extern uint switch_caller_profile_flags_get(HandleRef jarg1); - public static ushort switch_rtp_set_end_port(ushort port) { - ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")] + public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2); - public static ushort switch_rtp_request_port(string ip) { - ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")] + public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1); - public static void switch_rtp_release_port(string ip, ushort port) { - freeswitchPINVOKE.switch_rtp_release_port(ip, port); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")] + public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_rtp_change_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_change_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")] + public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1); - public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")] + public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool)); - SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")] + public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1); - public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")] + public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2); - public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) { - string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")] + public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1); - public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) { - ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")] + public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2); - public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")] + public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1); - public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) { - freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")] + public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")] + public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1); - public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")] + public static extern IntPtr new_switch_caller_profile(); - public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")] + public static extern void delete_switch_caller_profile(HandleRef jarg1); - public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) { - byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")] + public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2); - public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) { - freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")] + public static extern string switch_caller_application_application_name_get(HandleRef jarg1); - public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")] + public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")] + public static extern string switch_caller_application_application_data_get(HandleRef jarg1); - public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")] + public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2); - public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")] + public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1); - public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) { - freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")] + public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")] + public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1); - public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, uint samples_per_interval) { - freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")] + public static extern IntPtr new_switch_caller_application(); - public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")] + public static extern void delete_switch_caller_application(HandleRef jarg1); - public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) { - freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")] + public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2); - public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")] + public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1); - public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) { - freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")] + public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2); - public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")] + public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1); - public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")] + public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")] + public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1); - public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")] + public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")] + public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1); - public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")] + public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")] + public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1); - public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) { - freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")] + public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")] + public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1); - public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")] + public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2); - public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) { - int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")] + public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1); - public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) { - int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")] + public static extern IntPtr new_switch_caller_extension(); - public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) { - uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")] + public static extern void delete_switch_caller_extension(HandleRef jarg1); - public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) { - freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")] + public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3); - public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) { - freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")] + public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) { - freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")] + public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); - public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) { - IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")] + public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2); - public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")] + public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12); - public static void switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_bug_flag_t bugs) { - freeswitchPINVOKE.switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)bugs); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")] + public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")] + public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_log_shutdown() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")] + public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3); - public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")] + public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")] + public static extern IntPtr switch_frame_codec_get(HandleRef jarg1); - public static string switch_log_level2str(switch_log_level_t level) { - string ret = freeswitchPINVOKE.switch_log_level2str((int)level); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")] + public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2); - public static switch_log_level_t switch_log_str2level(string str) { - switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")] + public static extern string switch_frame_source_get(HandleRef jarg1); - public static uint switch_log_str2mask(string str) { - uint ret = freeswitchPINVOKE.switch_log_str2mask(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")] + public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2); - public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")] + public static extern IntPtr switch_frame_packet_get(HandleRef jarg1); - public static switch_xml switch_xml_parse_fd(int fd) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")] + public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2); - public static switch_xml switch_xml_parse_file(string file) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")] + public static extern uint switch_frame_packetlen_get(HandleRef jarg1); - public static switch_xml switch_xml_parse_file_simple(string file) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")] + public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2); - public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")] + public static extern IntPtr switch_frame_data_get(HandleRef jarg1); - public static switch_xml switch_xml_child(switch_xml xml, string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")] + public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2); - public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")] + public static extern uint switch_frame_datalen_get(HandleRef jarg1); - public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")] + public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2); - public static string switch_xml_attr(switch_xml xml, string attr) { - string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")] + public static extern uint switch_frame_buflen_get(HandleRef jarg1); - public static string switch_xml_attr_soft(switch_xml xml, string attr) { - string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")] + public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2); - public static switch_xml switch_xml_get(switch_xml xml) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")] + public static extern uint switch_frame_samples_get(HandleRef jarg1); - public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) { - string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")] + public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2); - public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) { - string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")] + public static extern uint switch_frame_rate_get(HandleRef jarg1); - public static void switch_xml_free(switch_xml xml) { - freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")] + public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2); - public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) { - freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")] + public static extern byte switch_frame_payload_get(HandleRef jarg1); - public static string switch_xml_error(switch_xml xml) { - string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")] + public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2); - public static switch_xml switch_xml_new(string name) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")] + public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1); - public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")] + public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2); - public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")] + public static extern ushort switch_frame_seq_get(HandleRef jarg1); - public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")] + public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2); - public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")] + public static extern uint switch_frame_ssrc_get(HandleRef jarg1); - public static switch_xml switch_xml_cut(switch_xml xml) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")] + public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2); - public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")] + public static extern int switch_frame_m_get(HandleRef jarg1); - public static switch_xml switch_xml_open_root(byte reload, ref string err) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")] + public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2); - public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")] + public static extern uint switch_frame_flags_get(HandleRef jarg1); - public static switch_status_t switch_xml_destroy() { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")] + public static extern IntPtr new_switch_frame(); - public static switch_xml switch_xml_root() { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_root(); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")] + public static extern void delete_switch_frame(HandleRef jarg1); - public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")] + public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")] + public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1); - public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")] + public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")] + public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1); - public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")] + public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2); - public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2)); - switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")] + public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1); - public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) { - freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")] + public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2); - public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) { - freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")] + public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1); - public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) { - uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")] + public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2); - public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) { - IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding)); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")] + public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1); - public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")] + public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")] + public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1); - public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")] + public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2); - public static uint switch_xml_parse_section_string(string str) { - uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")] + public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")] + public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")] + public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")] + public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")] + public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")] + public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")] + public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")] + public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")] + public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")] + public static extern IntPtr new_switch_state_handler_table(); - public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")] + public static extern void delete_switch_state_handler_table(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")] + public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")] + public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")] + public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")] + public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")] + public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")] + public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")] + public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")] + public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")] + public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")] + public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")] + public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")] + public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1); - public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")] + public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")] + public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1); - public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) { - uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")] + public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2); - public static uint switch_scheduler_del_task_id(uint task_id) { - uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")] + public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1); - public static uint switch_scheduler_del_task_group(string group) { - uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")] + public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2); - public static void switch_scheduler_task_thread_start() { - freeswitchPINVOKE.switch_scheduler_task_thread_start(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")] + public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1); - public static void switch_scheduler_task_thread_stop() { - freeswitchPINVOKE.switch_scheduler_task_thread_stop(); - } + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")] + public static extern IntPtr new_switch_stream_handle(); - public static int switch_config_open_file(switch_config cfg, string file_path) { - int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")] + public static extern void delete_switch_stream_handle(HandleRef jarg1); - public static void switch_config_close_file(switch_config cfg) { - freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")] + public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) { - int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")] + public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1); - public static void consoleLog(string level_str, string msg) { - freeswitchPINVOKE.consoleLog(level_str, msg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")] + public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2); - public static void consoleCleanLog(string msg) { - freeswitchPINVOKE.consoleCleanLog(msg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")] + public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1); - public static void console_log(string level_str, string msg) { - freeswitchPINVOKE.console_log(level_str, msg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")] + public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2); - public static void console_clean_log(string msg) { - freeswitchPINVOKE.console_clean_log(msg); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")] + public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1); - public static void msleep(uint ms) { - freeswitchPINVOKE.msleep(ms); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")] + public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2); - public static void bridge(CoreSession session_a, CoreSession session_b) { - freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")] + public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1); - public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session)); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")] + public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")] + public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")] + public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")] + public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")] + public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")] + public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")] + public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")] + public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")] + public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")] + public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")] + public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")] + public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_set")] + public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")] + public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")] + public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")] + public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")] + public static extern IntPtr new_switch_io_routines(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")] + public static extern void delete_switch_io_routines(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")] + public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")] + public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")] + public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")] + public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")] + public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")] + public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")] + public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")] + public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")] + public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")] + public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")] + public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")] + public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")] + public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")] + public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")] + public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")] + public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")] + public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")] + public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")] + public static extern IntPtr new_switch_endpoint_interface(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")] + public static extern void delete_switch_endpoint_interface(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")] + public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")] + public static extern int switch_timer_interval_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")] + public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")] + public static extern uint switch_timer_flags_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")] + public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")] + public static extern uint switch_timer_samples_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")] + public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")] + public static extern uint switch_timer_samplecount_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")] + public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")] + public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")] + public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")] + public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")] + public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")] + public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")] + public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")] + public static extern IntPtr switch_timer_diff_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")] + public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")] + public static extern IntPtr switch_timer_tick_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")] + public static extern IntPtr new_switch_timer(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")] + public static extern void delete_switch_timer(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")] + public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")] + public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")] + public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")] + public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")] + public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")] + public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")] + public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")] + public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")] + public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")] + public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")] + public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")] + public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")] + public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")] + public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")] + public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")] + public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")] + public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")] + public static extern int switch_timer_interface_refs_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")] + public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")] + public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")] + public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")] + public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")] + public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")] + public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")] + public static extern IntPtr new_switch_timer_interface(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")] + public static extern void delete_switch_timer_interface(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")] + public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")] + public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")] + public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")] + public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")] + public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")] + public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")] + public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")] + public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")] + public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")] + public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")] + public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")] + public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")] + public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")] + public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")] + public static extern IntPtr new_switch_dialplan_interface(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")] + public static extern void delete_switch_dialplan_interface(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")] + public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")] + public static extern string switch_file_interface_interface_name_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")] + public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")] + public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")] + public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2); - public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen); - return ret; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")] + public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1); - public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get(); - public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get(); - public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get(); - public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get(); - public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get(); - public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get(); - public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get(); - public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get(); - public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get(); - public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get(); - public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); - public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get(); - public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get(); - public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get(); - public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get(); - public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get(); - public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get(); - public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get(); - public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get(); - public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get(); - public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get(); - public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get(); - public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get(); - public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get(); - public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get(); - public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get(); - public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get(); - public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get(); - public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get(); - public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get(); - public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get(); - public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get(); - public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get(); - public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get(); - public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get(); - public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get(); - public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get(); - public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get(); - public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get(); - public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get(); - public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get(); - public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get(); - public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get(); - public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get(); - public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get(); - public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get(); - public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get(); - public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get(); - public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get(); - public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get(); - public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get(); - public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get(); - public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get(); - public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get(); - public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get(); - public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get(); - public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get(); - public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); - public static readonly string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); - public static readonly string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE = freeswitchPINVOKE.SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); - public static readonly string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get(); - public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get(); - public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); - public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get(); - public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get(); - public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get(); - public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get(); - public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); - public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); - public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get(); - public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); - public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); - public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get(); - public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); - public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); - public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get(); - public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get(); - public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); - public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get(); - public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get(); - public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get(); - public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get(); - public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get(); - public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get(); - public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get(); - public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); - public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); - public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); - public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); - public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); - public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); - public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get(); - public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get(); - public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get(); - public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get(); - public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get(); - public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); - public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get(); - public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get(); - public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get(); - public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get(); - public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get(); - public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get(); - public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get(); - public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get(); - public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get(); - public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get(); - public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get(); - public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); - public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get(); - public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get(); - public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get(); - public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get(); - public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get(); - public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get(); - public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get(); - public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get(); - public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get(); - public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get(); - public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get(); - public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get(); - public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get(); - public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get(); - public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get(); - public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get(); - public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get(); - public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get(); - public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get(); - public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get(); - public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get(); - public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get(); - public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get(); - public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get(); - public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get(); - public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get(); - public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get(); - public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get(); - public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get(); - public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get(); - public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get(); - public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); - public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get(); - public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get(); - public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get(); - public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get(); - public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get(); - public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get(); - public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get(); - public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get(); - public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get(); - public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get(); - public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get(); -} + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")] + public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2); -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")] + public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1); -namespace FreeSWITCH.Native { + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")] + public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")] + public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")] + public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")] + public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")] + public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")] + public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")] + public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")] + public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")] + public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")] + public static extern string switch_file_interface_extens_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")] + public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")] + public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")] + public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")] + public static extern int switch_file_interface_refs_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")] + public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")] + public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")] + public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")] + public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")] + public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")] + public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")] + public static extern IntPtr new_switch_file_interface(); + + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")] + public static extern void delete_switch_file_interface(HandleRef jarg1); + + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")] + public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2); -using System; -using System.Runtime.InteropServices; + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")] + public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1); -class freeswitchPINVOKE { + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")] + public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2); - protected class SWIGExceptionHelper { + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")] + public static extern uint switch_file_handle_flags_get(HandleRef jarg1); - public delegate void ExceptionDelegate(string message); - public delegate void ExceptionArgumentDelegate(string message, string paramName); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")] + public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2); - static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException); - static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException); - static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException); - static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException); - static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException); - static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException); - static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException); - static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException); - static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException); - static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException); - static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")] + public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1); - static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException); - static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException); - static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")] + public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")] - public static extern void SWIGRegisterExceptionCallbacks_freeswitch( - ExceptionDelegate applicationDelegate, - ExceptionDelegate arithmeticDelegate, - ExceptionDelegate divideByZeroDelegate, - ExceptionDelegate indexOutOfRangeDelegate, - ExceptionDelegate invalidCastDelegate, - ExceptionDelegate invalidOperationDelegate, - ExceptionDelegate ioDelegate, - ExceptionDelegate nullReferenceDelegate, - ExceptionDelegate outOfMemoryDelegate, - ExceptionDelegate overflowDelegate, - ExceptionDelegate systemExceptionDelegate); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")] + public static extern uint switch_file_handle_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")] - public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch( - ExceptionArgumentDelegate argumentDelegate, - ExceptionArgumentDelegate argumentNullDelegate, - ExceptionArgumentDelegate argumentOutOfRangeDelegate); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")] + public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2); - static void SetPendingApplicationException(string message) { - SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingArithmeticException(string message) { - SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingDivideByZeroException(string message) { - SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingIndexOutOfRangeException(string message) { - SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingInvalidCastException(string message) { - SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingInvalidOperationException(string message) { - SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingIOException(string message) { - SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingNullReferenceException(string message) { - SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingOutOfMemoryException(string message) { - SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingOverflowException(string message) { - SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve())); - } - static void SetPendingSystemException(string message) { - SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve())); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")] + public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1); - static void SetPendingArgumentException(string message, string paramName) { - SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve())); - } - static void SetPendingArgumentNullException(string message, string paramName) { - Exception e = SWIGPendingException.Retrieve(); - if (e != null) message = message + " Inner Exception: " + e.Message; - SWIGPendingException.Set(new System.ArgumentNullException(paramName, message)); - } - static void SetPendingArgumentOutOfRangeException(string message, string paramName) { - Exception e = SWIGPendingException.Retrieve(); - if (e != null) message = message + " Inner Exception: " + e.Message; - SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message)); - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")] + public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2); - static SWIGExceptionHelper() { - SWIGRegisterExceptionCallbacks_freeswitch( - applicationDelegate, - arithmeticDelegate, - divideByZeroDelegate, - indexOutOfRangeDelegate, - invalidCastDelegate, - invalidOperationDelegate, - ioDelegate, - nullReferenceDelegate, - outOfMemoryDelegate, - overflowDelegate, - systemDelegate); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")] + public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1); - SWIGRegisterExceptionCallbacksArgument_freeswitch( - argumentDelegate, - argumentNullDelegate, - argumentOutOfRangeDelegate); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")] + public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2); - protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")] + public static extern byte switch_file_handle_channels_get(HandleRef jarg1); - public class SWIGPendingException { - [ThreadStatic] - private static Exception pendingException = null; - private static int numExceptionsPending = 0; + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")] + public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2); - public static bool Pending { - get { - bool pending = false; - if (numExceptionsPending > 0) - if (pendingException != null) - pending = true; - return pending; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")] + public static extern uint switch_file_handle_format_get(HandleRef jarg1); - public static void Set(Exception e) { - if (pendingException != null) - throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e); - pendingException = e; - lock(typeof(freeswitchPINVOKE)) { - numExceptionsPending++; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")] + public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2); - public static Exception Retrieve() { - Exception e = null; - if (numExceptionsPending > 0) { - if (pendingException != null) { - e = pendingException; - pendingException = null; - lock(typeof(freeswitchPINVOKE)) { - numExceptionsPending--; - } - } - } - return e; - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")] + public static extern uint switch_file_handle_sections_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")] + public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2); - protected class SWIGStringHelper { + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")] + public static extern int switch_file_handle_seekable_get(HandleRef jarg1); - public delegate string SWIGStringDelegate(string message); - static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")] + public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")] - public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")] + public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1); - static string CreateString(string cString) { - return cString; - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")] + public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2); - static SWIGStringHelper() { - SWIGRegisterStringCallback_freeswitch(stringDelegate); - } - } + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")] + public static extern int switch_file_handle_speed_get(HandleRef jarg1); - static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")] + public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")] + public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")] - public static extern string FREESWITCH_PEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")] + public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")] - public static extern string FREESWITCH_OID_PREFIX_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")] + public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")] - public static extern string FREESWITCH_ITAD_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")] + public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")] - public static extern int __EXTENSIONS___get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")] + public static extern uint switch_file_handle_interval_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")] - public static extern int __BSD_VISIBLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")] + public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")] - public static extern string SWITCH_BLANK_STRING_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")] + public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")] - public static extern string SWITCH_SEQ_ESC_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")] + public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")] - public static extern char SWITCH_SEQ_HOME_CHAR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")] + public static extern string switch_file_handle_handler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")] - public static extern string SWITCH_SEQ_HOME_CHAR_STR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")] + public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")] - public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")] + public static extern long switch_file_handle_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")] - public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")] + public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")] - public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")] + public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")] - public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")] + public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")] - public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")] + public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")] - public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")] + public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")] - public static extern string SWITCH_SEQ_AND_COLOR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")] + public static extern uint switch_file_handle_thresh_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")] - public static extern string SWITCH_SEQ_END_COLOR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")] + public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")] - public static extern string SWITCH_SEQ_F_BLACK_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")] + public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")] - public static extern string SWITCH_SEQ_F_RED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")] + public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")] - public static extern string SWITCH_SEQ_F_GREEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")] + public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")] - public static extern string SWITCH_SEQ_F_YELLOW_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")] + public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")] - public static extern string SWITCH_SEQ_F_BLUE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")] + public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")] - public static extern string SWITCH_SEQ_F_MAGEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")] + public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")] - public static extern string SWITCH_SEQ_F_CYAN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")] + public static extern int switch_file_handle_vol_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")] - public static extern string SWITCH_SEQ_F_WHITE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")] + public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")] - public static extern string SWITCH_SEQ_B_BLACK_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")] + public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")] - public static extern string SWITCH_SEQ_B_RED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")] + public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")] - public static extern string SWITCH_SEQ_B_GREEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")] + public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")] - public static extern string SWITCH_SEQ_B_YELLOW_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")] + public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")] - public static extern string SWITCH_SEQ_B_BLUE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")] + public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")] - public static extern string SWITCH_SEQ_B_MAGEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")] + public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")] - public static extern string SWITCH_SEQ_B_CYAN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")] + public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")] - public static extern string SWITCH_SEQ_B_WHITE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")] + public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")] - public static extern string SWITCH_SEQ_FBLACK_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")] + public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")] - public static extern string SWITCH_SEQ_FRED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")] + public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")] - public static extern string SWITCH_SEQ_FGREEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")] + public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")] - public static extern string SWITCH_SEQ_FYELLOW_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")] + public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")] - public static extern string SWITCH_SEQ_FBLUE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")] + public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")] - public static extern string SWITCH_SEQ_FMAGEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")] + public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")] - public static extern string SWITCH_SEQ_FCYAN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")] + public static extern string switch_file_handle_file_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")] - public static extern string SWITCH_SEQ_FWHITE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")] + public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")] - public static extern string SWITCH_SEQ_BBLACK_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")] + public static extern string switch_file_handle_func_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")] - public static extern string SWITCH_SEQ_BRED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")] + public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")] - public static extern string SWITCH_SEQ_BGREEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")] + public static extern int switch_file_handle_line_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")] - public static extern string SWITCH_SEQ_BYELLOW_get(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")] + public static extern IntPtr new_switch_file_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")] - public static extern string SWITCH_SEQ_BBLUE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")] + public static extern void delete_switch_file_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")] - public static extern string SWITCH_SEQ_BMAGEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")] + public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")] - public static extern string SWITCH_SEQ_BCYAN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")] + public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")] - public static extern string SWITCH_SEQ_BWHITE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")] + public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")] - public static extern string SWITCH_SEQ_HOME_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")] + public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")] - public static extern string SWITCH_SEQ_CLEARLINE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")] + public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")] - public static extern string SWITCH_SEQ_CLEARLINEEND_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")] + public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")] - public static extern string SWITCH_SEQ_CLEARSCR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")] + public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")] - public static extern int SWITCH_DEFAULT_DTMF_DURATION_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")] + public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")] - public static extern int SWITCH_MAX_DTMF_DURATION_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")] + public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")] - public static extern string SWITCH_PATH_SEPARATOR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")] + public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")] - public static extern string SWITCH_URL_SEPARATOR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")] + public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")] - public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")] + public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")] + public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")] + public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")] - public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")] + public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")] - public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")] + public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")] + public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")] - public static extern string SWITCH_READ_RESULT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")] + public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")] - public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")] + public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")] - public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")] + public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")] + public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")] + public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")] - public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")] + public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")] - public static extern string SWITCH_HOLDING_UUID_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")] + public static extern int switch_asr_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")] - public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")] + public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")] - public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")] + public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")] - public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")] + public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")] - public static extern string SWITCH_PROCESS_CDR_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")] + public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")] + public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")] - public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")] + public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")] + public static extern IntPtr new_switch_asr_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")] - public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")] + public static extern void delete_switch_asr_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")] - public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")] + public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")] - public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")] + public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")] - public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")] + public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")] - public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")] + public static extern uint switch_asr_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")] - public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")] + public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")] - public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")] + public static extern string switch_asr_handle_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")] - public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")] + public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")] - public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")] + public static extern string switch_asr_handle_codec_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")] - public static extern string SWITCH_EXPORT_VARS_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")] + public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")] - public static extern string SWITCH_R_SDP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")] + public static extern uint switch_asr_handle_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")] - public static extern string SWITCH_L_SDP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")] + public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")] - public static extern string SWITCH_B_SDP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")] + public static extern string switch_asr_handle_grammar_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_BRIDGE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")] + public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")] + public static extern string switch_asr_handle_param_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")] - public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")] + public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")] - public static extern string SWITCH_ORIGINATOR_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")] + public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")] - public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")] + public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")] - public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")] + public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")] - public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")] + public static extern IntPtr new_switch_asr_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")] - public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")] + public static extern void delete_switch_asr_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")] - public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")] + public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")] - public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")] + public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")] - public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")] + public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")] - public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")] + public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")] - public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")] + public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")] + public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")] - public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")] + public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")] - public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")] + public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")] - public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")] + public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")] - public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")] + public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")] - public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")] + public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")] - public static extern string SWITCH_SPEECH_KEY_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")] + public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")] - public static extern string SWITCH_UUID_BRIDGE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")] + public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")] - public static extern int SWITCH_BITS_PER_BYTE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")] - public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")] + public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")] - public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")] - public static extern char switch_dtmf_t_digit_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")] + public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")] - public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")] + public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")] - public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")] + public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")] - public static extern IntPtr new_switch_dtmf_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")] + public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")] - public static extern void delete_switch_dtmf_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")] + public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")] - public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")] + public static extern int switch_speech_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")] - public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")] + public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")] - public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")] + public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")] - public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")] + public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")] - public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")] + public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")] - public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")] + public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")] - public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")] + public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")] - public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")] + public static extern IntPtr new_switch_speech_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")] - public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")] + public static extern void delete_switch_speech_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")] - public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")] + public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")] - public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")] + public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")] - public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")] + public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")] - public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")] + public static extern uint switch_speech_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")] - public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")] + public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")] - public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")] + public static extern string switch_speech_handle_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")] - public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")] + public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")] - public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")] + public static extern uint switch_speech_handle_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")] - public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")] + public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")] - public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")] + public static extern uint switch_speech_handle_speed_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")] - public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")] + public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")] - public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")] + public static extern uint switch_speech_handle_samples_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")] - public static extern byte switch_bitpack_t_under_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")] + public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")] - public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")] + public static extern string switch_speech_handle_voice_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")] - public static extern byte switch_bitpack_t_over_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")] + public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")] - public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")] + public static extern string switch_speech_handle_engine_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")] - public static extern int switch_bitpack_t_mode_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")] + public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")] - public static extern IntPtr new_switch_bitpack_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")] + public static extern string switch_speech_handle_param_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")] - public static extern void delete_switch_bitpack_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")] + public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")] - public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")] + public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")] - public static extern string switch_directories_base_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")] + public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")] - public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")] + public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")] - public static extern string switch_directories_mod_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")] + public static extern IntPtr new_switch_speech_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")] - public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")] + public static extern void delete_switch_speech_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")] - public static extern string switch_directories_conf_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")] + public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")] - public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")] + public static extern string switch_say_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")] - public static extern string switch_directories_log_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")] + public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")] - public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")] + public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")] - public static extern string switch_directories_db_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")] + public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")] - public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")] + public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")] - public static extern string switch_directories_script_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")] + public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")] - public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")] + public static extern int switch_say_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")] - public static extern string switch_directories_temp_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")] + public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")] - public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")] + public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")] - public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")] + public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")] - public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")] + public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")] - public static extern string switch_directories_grammar_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")] + public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")] - public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")] + public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")] - public static extern string switch_directories_storage_dir_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")] + public static extern IntPtr new_switch_say_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")] - public static extern IntPtr new_switch_directories(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")] + public static extern void delete_switch_say_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")] - public static extern void delete_switch_directories(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")] + public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")] - public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")] + public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")] - public static extern IntPtr SWITCH_GLOBAL_dirs_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")] + public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")] - public static extern int SWITCH_MAX_STACKS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")] + public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")] - public static extern int SWITCH_THREAD_STACKSIZE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")] + public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")] - public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")] + public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")] - public static extern int SWITCH_MAX_INTERVAL_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")] + public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")] - public static extern int SWITCH_INTERVAL_PAD_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")] + public static extern int switch_chat_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")] - public static extern int SWITCH_MAX_SAMPLE_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")] + public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")] - public static extern int SWITCH_BYTES_PER_SAMPLE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")] + public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")] - public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")] + public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")] - public static extern int SWITCH_MAX_CODECS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")] + public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")] - public static extern int SWITCH_MAX_STATE_HANDLERS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")] + public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")] - public static extern int SWITCH_CORE_QUEUE_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")] + public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")] - public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")] + public static extern IntPtr new_switch_chat_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")] - public static extern int SWITCH_RTP_CNG_PAYLOAD_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")] + public static extern void delete_switch_chat_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")] - public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")] + public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")] - public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")] + public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")] - public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")] + public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")] - public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")] + public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")] - public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")] + public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")] - public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")] + public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")] - public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")] + public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")] - public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")] + public static extern int switch_management_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")] - public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")] + public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")] - public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")] + public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")] - public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")] + public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")] - public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")] + public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")] - public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")] + public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")] - public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")] + public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")] - public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")] + public static extern IntPtr new_switch_management_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")] - public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")] + public static extern void delete_switch_management_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")] - public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")] + public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")] - public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")] + public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")] - public static extern IntPtr new_switch_rtp_hdr_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")] + public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")] - public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")] + public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")] - public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")] + public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")] - public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")] + public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")] - public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")] + public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")] - public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")] + public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")] - public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")] + public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")] - public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")] + public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")] - public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")] + public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")] - public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")] + public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")] - public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")] + public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")] - public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")] + public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")] - public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")] + public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")] - public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")] + public static extern int switch_directory_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")] - public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")] + public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")] - public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")] + public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")] - public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")] + public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")] - public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")] + public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")] - public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")] + public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")] - public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")] + public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_set")] - public static extern void switch_t38_options_t_ip_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")] + public static extern IntPtr new_switch_directory_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_get")] - public static extern string switch_t38_options_t_ip_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")] + public static extern void delete_switch_directory_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_set")] - public static extern void switch_t38_options_t_port_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")] + public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_get")] - public static extern uint switch_t38_options_t_port_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")] + public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")] - public static extern IntPtr new_switch_t38_options_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")] + public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")] - public static extern void delete_switch_t38_options_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")] + public static extern uint switch_directory_handle_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")] - public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")] + public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")] - public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")] + public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")] - public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")] + public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")] - public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")] + public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")] - public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")] + public static extern IntPtr new_switch_directory_handle(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")] - public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")] + public static extern void delete_switch_directory_handle(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")] - public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")] + public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")] - public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")] + public static extern int switch_codec_settings_quality_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")] - public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")] + public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")] - public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")] + public static extern int switch_codec_settings_complexity_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")] - public static extern IntPtr new_switch_input_args_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")] + public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")] - public static extern void delete_switch_input_args_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")] + public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")] - public static extern int SWITCH_API_VERSION_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")] + public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")] - public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")] + public static extern int switch_codec_settings_vad_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")] - public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")] + public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")] - public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")] + public static extern int switch_codec_settings_vbr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")] - public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")] + public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")] - public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")] + public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")] - public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")] + public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")] - public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")] + public static extern int switch_codec_settings_abr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")] - public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")] + public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")] - public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")] + public static extern int switch_codec_settings_dtx_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")] - public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")] + public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")] - public static extern IntPtr new_switch_loadable_module_function_table_t(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")] + public static extern int switch_codec_settings_preproc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")] - public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")] + public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")] - public static extern int switch_core_db_close(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")] + public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")] - public static extern int switch_core_db_open(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")] + public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")] - public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")] + public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")] - public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")] + public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")] - public static extern int switch_core_db_column_count(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")] + public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")] - public static extern string switch_core_db_errmsg(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")] + public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")] - public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")] + public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")] - public static extern int switch_core_db_finalize(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")] + public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")] - public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")] + public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")] - public static extern int switch_core_db_step(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")] + public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")] - public static extern int switch_core_db_reset(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")] + public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")] - public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")] + public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")] - public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")] + public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")] - public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")] + public static extern IntPtr new_switch_codec_settings(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")] - public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")] + public static extern void delete_switch_codec_settings(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")] - public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")] + public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")] - public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")] + public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")] - public static extern void switch_core_db_free_table(ref string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")] + public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")] - public static extern void switch_core_db_free(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")] + public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")] - public static extern int switch_core_db_changes(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")] + public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")] - public static extern int SWITCH_CORE_DB_OK_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")] + public static extern string switch_codec_fmtp_in_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")] - public static extern int SWITCH_CORE_DB_ERROR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")] + public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")] - public static extern int SWITCH_CORE_DB_INTERNAL_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")] + public static extern string switch_codec_fmtp_out_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")] - public static extern int SWITCH_CORE_DB_PERM_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")] + public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")] - public static extern int SWITCH_CORE_DB_ABORT_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")] + public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")] - public static extern int SWITCH_CORE_DB_BUSY_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")] + public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")] - public static extern int SWITCH_CORE_DB_LOCKED_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")] + public static extern uint switch_codec_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")] - public static extern int SWITCH_CORE_DB_NOMEM_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")] + public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")] - public static extern int SWITCH_CORE_DB_READONLY_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")] + public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")] - public static extern int SWITCH_CORE_DB_INTERRUPT_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")] + public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")] - public static extern int SWITCH_CORE_DB_IOERR_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")] + public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")] - public static extern int SWITCH_CORE_DB_CORRUPT_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")] + public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")] - public static extern int SWITCH_CORE_DB_NOTFOUND_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")] + public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")] - public static extern int SWITCH_CORE_DB_FULL_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")] + public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")] - public static extern int SWITCH_CORE_DB_CANTOPEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")] + public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")] - public static extern int SWITCH_CORE_DB_PROTOCOL_get(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")] + public static extern IntPtr new_switch_codec(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")] - public static extern int SWITCH_CORE_DB_EMPTY_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")] + public static extern void delete_switch_codec(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")] - public static extern int SWITCH_CORE_DB_SCHEMA_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")] + public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")] - public static extern int SWITCH_CORE_DB_TOOBIG_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")] + public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")] - public static extern int SWITCH_CORE_DB_CONSTRAINT_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")] + public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")] - public static extern int SWITCH_CORE_DB_MISMATCH_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")] + public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")] - public static extern int SWITCH_CORE_DB_MISUSE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")] + public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")] - public static extern int SWITCH_CORE_DB_NOLFS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")] + public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")] - public static extern int SWITCH_CORE_DB_AUTH_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")] + public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")] - public static extern int SWITCH_CORE_DB_FORMAT_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")] + public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")] - public static extern int SWITCH_CORE_DB_RANGE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")] + public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")] - public static extern int SWITCH_CORE_DB_NOTADB_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")] + public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")] - public static extern int SWITCH_CORE_DB_ROW_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")] + public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")] - public static extern int SWITCH_CORE_DB_DONE_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")] + public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")] - public static extern string switch_mprintf(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")] + public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")] - public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")] + public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")] - public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")] + public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")] - public static extern void switch_regex_free(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")] + public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")] - public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")] + public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")] - public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")] + public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")] - public static extern int switch_regex_match(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")] + public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")] - public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")] + public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")] - public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")] + public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")] - public static extern int SWITCH_MAX_STREAMS_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")] + public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")] - public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")] + public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")] - public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")] + public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")] - public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")] + public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")] - public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")] + public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")] - public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")] + public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")] - public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")] + public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")] - public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")] + public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")] - public static extern uint switch_core_time_duration_min_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")] + public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")] - public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")] + public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")] - public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")] + public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")] - public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")] + public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")] - public static extern uint switch_core_time_duration_day_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")] + public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")] - public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")] + public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")] - public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")] + public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")] - public static extern IntPtr new_switch_core_time_duration(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")] + public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")] - public static extern void delete_switch_core_time_duration(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")] + public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")] - public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")] + public static extern IntPtr new_switch_codec_implementation(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")] - public static extern string switch_app_log_app_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")] + public static extern void delete_switch_codec_implementation(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")] - public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")] + public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")] - public static extern string switch_app_log_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")] + public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")] - public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")] + public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")] - public static extern IntPtr switch_app_log_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")] + public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")] - public static extern IntPtr new_switch_app_log(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")] + public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")] - public static extern void delete_switch_app_log(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")] + public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")] - public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")] + public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")] - public static extern string switch_core_session_message_from_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")] + public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")] - public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")] + public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")] - public static extern int switch_core_session_message_message_id_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")] + public static extern int switch_codec_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")] - public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")] + public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")] - public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")] + public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")] - public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")] + public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")] - public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")] + public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")] - public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")] + public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")] - public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")] + public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")] - public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")] + public static extern IntPtr new_switch_codec_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")] - public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")] + public static extern void delete_switch_codec_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")] - public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")] + public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")] - public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")] + public static extern string switch_application_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")] - public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")] + public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")] - public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")] + public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")] - public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")] + public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")] - public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")] + public static extern string switch_application_interface_long_desc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")] - public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")] + public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")] - public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")] + public static extern string switch_application_interface_short_desc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")] - public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")] + public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")] - public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")] + public static extern string switch_application_interface_syntax_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")] - public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")] + public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")] - public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")] + public static extern uint switch_application_interface_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")] - public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")] + public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")] - public static extern uint switch_core_session_message_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")] + public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")] - public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")] + public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")] - public static extern string switch_core_session_message__file_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")] + public static extern int switch_application_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")] - public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")] + public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")] - public static extern string switch_core_session_message__func_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")] + public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")] - public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")] + public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")] - public static extern int switch_core_session_message__line_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")] + public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")] - public static extern IntPtr new_switch_core_session_message(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")] + public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")] - public static extern void delete_switch_core_session_message(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")] + public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")] - public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")] + public static extern IntPtr new_switch_application_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")] - public static extern int switch_core_thread_session_running_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")] + public static extern void delete_switch_application_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")] - public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")] + public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")] - public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")] + public static extern string switch_api_interface_interface_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")] - public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")] + public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")] - public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")] + public static extern string switch_api_interface_desc_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")] - public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")] + public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")] - public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")] + public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")] - public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")] + public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")] - public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")] + public static extern string switch_api_interface_syntax_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")] - public static extern IntPtr new_switch_core_thread_session(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")] + public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")] - public static extern void delete_switch_core_thread_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")] + public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")] - public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")] + public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")] - public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")] + public static extern int switch_api_interface_refs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")] - public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")] + public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")] - public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")] + public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")] - public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")] + public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")] - public static extern void switch_core_media_bug_pause(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")] + public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")] - public static extern void switch_core_media_bug_resume(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")] + public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")] - public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")] + public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")] - public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")] + public static extern IntPtr new_switch_api_interface(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")] - public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")] + public static extern void delete_switch_api_interface(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")] - public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")] + public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")] - public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")] + public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")] - public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")] + public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")] - public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")] + public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")] - public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")] + public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")] - public static extern int switch_core_media_bug_close(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")] + public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")] - public static extern int switch_core_media_bug_remove_all(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")] + public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")] - public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")] + public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")] - public static extern void switch_core_media_bug_flush(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")] + public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")] - public static extern int switch_core_media_bug_flush_all(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")] + public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")] - public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")] + public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")] - public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")] + public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")] - public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")] + public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")] - public static extern void switch_core_port_allocator_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")] + public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")] - public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")] + public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")] - public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")] + public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")] - public static extern uint switch_core_session_limit(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")] + public static extern IntPtr new_switch_channel_timetable(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")] - public static extern uint switch_core_sessions_per_second(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")] + public static extern void delete_switch_channel_timetable(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")] - public static extern int switch_core_destroy(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")] + public static extern int switch_channel_get_state(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")] - public static extern int switch_core_session_read_lock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")] + public static extern int switch_channel_get_running_state(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")] - public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_ready")] + public static extern int switch_channel_test_ready(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")] - public static extern void switch_core_session_write_lock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")] + public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")] - public static extern void switch_core_session_rwunlock(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")] + public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")] - public static extern int switch_core_add_state_handler(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")] + public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")] - public static extern void switch_core_remove_state_handler(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")] + public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")] - public static extern IntPtr switch_core_get_state_handler(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")] + public static extern int switch_channel_str2cause(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")] - public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")] + public static extern int switch_channel_get_cause(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")] - public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")] + public static extern int switch_channel_cause_q850(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")] - public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")] + public static extern int switch_channel_get_cause_q850(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")] - public static extern void switch_core_session_run(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")] + public static extern string switch_channel_cause2str(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")] - public static extern uint switch_core_session_running(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")] + public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")] - public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")] + public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")] - public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")] + public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")] - public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")] + public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")] - public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")] + public static extern void switch_channel_uninit(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")] - public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")] + public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")] - public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")] + public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")] - public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")] + public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")] - public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")] + public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")] - public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")] + public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")] - public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, HandleRef jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")] + public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")] - public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")] + public static extern string switch_channel_get_uuid(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")] - public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")] + public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")] - public static extern uint switch_core_session_count(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")] + public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")] - public static extern IntPtr switch_core_session_get_id(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")] + public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")] - public static extern IntPtr switch_core_session_id(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")] + public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")] - public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")] + public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")] - public static extern int switch_core_session_thread_launch(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")] + public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")] - public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")] + public static extern IntPtr switch_channel_variable_first(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")] - public static extern void switch_core_session_signal_state_change(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")] + public static extern void switch_channel_variable_last(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")] - public static extern string switch_core_session_get_uuid(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")] + public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")] - public static extern string switch_core_get_uuid(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")] + public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")] - public static extern IntPtr switch_core_session_locate(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")] + public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")] - public static extern string switch_core_get_variable(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")] + public static extern void switch_channel_set_flag(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")] - public static extern void switch_core_set_variable(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")] + public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")] - public static extern void switch_core_dump_variables(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")] + public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")] - public static extern void switch_core_session_hupall(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")] + public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")] - public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")] + public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")] - public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")] + public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")] - public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")] + public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")] - public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")] + public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")] - public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")] + public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")] - public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")] + public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")] - public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")] + public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")] - public static extern int switch_core_session_flush_message(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")] + public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")] - public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")] + public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")] - public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")] + public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")] - public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")] + public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")] - public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")] + public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")] - public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")] + public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")] - public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")] + public static extern string switch_channel_get_name(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")] - public static extern IntPtr switch_core_session_get_private(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")] + public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")] - public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")] + public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")] - public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")] + public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")] - public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")] + public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")] - public static extern int switch_core_session_get_stream_count(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")] + public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")] - public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")] + public static extern void switch_channel_flush_dtmf(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")] - public static extern void switch_core_thread_session_end(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")] + public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")] - public static extern void switch_core_service_session(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")] + public static extern string switch_channel_state_name(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")] - public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")] + public static extern int switch_channel_name_state(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")] - public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")] + public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")] - public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")] + public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")] - public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")] + public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")] - public static extern uint switch_core_session_event_count(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")] + public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")] - public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")] + public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")] - public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")] + public static extern int switch_channel_set_timestamps(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")] - public static extern uint switch_core_session_private_event_count(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_audio_sync")] + public static extern void switch_channel_audio_sync(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")] - public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")] + public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")] - public static extern uint switch_core_session_flush_private_events(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")] + public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")] - public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")] + public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")] - public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag")] + public static extern void switch_channel_set_app_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")] - public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag")] + public static extern void switch_channel_clear_app_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")] - public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag")] + public static extern int switch_channel_test_app_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")] - public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")] + public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")] - public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")] + public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")] - public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")] + public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")] - public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")] + public static extern void switch_buffer_lock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")] - public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")] + public static extern int switch_buffer_trylock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")] - public static extern int switch_core_hash_init_case(HandleRef jarg1, HandleRef jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")] + public static extern void switch_buffer_unlock(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")] - public static extern int switch_core_hash_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")] + public static extern IntPtr switch_buffer_len(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")] - public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")] + public static extern IntPtr switch_buffer_freespace(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")] - public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")] + public static extern IntPtr switch_buffer_inuse(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")] - public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")] + public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")] - public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")] + public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")] - public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")] + public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")] - public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")] + public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")] - public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")] + public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")] - public static extern IntPtr switch_hash_next(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")] + public static extern void switch_buffer_zero(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")] - public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")] + public static extern void switch_buffer_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")] - public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")] + public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")] - public static extern int switch_core_timer_next(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")] + public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")] - public static extern int switch_core_timer_step(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")] + public static extern string switch_event_header_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")] - public static extern int switch_core_timer_sync(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")] + public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")] - public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")] + public static extern string switch_event_header_value_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")] - public static extern int switch_core_timer_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")] + public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")] - public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")] + public static extern uint switch_event_header_hash_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")] - public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")] + public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")] - public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")] + public static extern IntPtr switch_event_header_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")] - public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")] + public static extern IntPtr new_switch_event_header(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")] - public static extern int switch_core_codec_destroy(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")] + public static extern void delete_switch_event_header(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")] - public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")] + public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")] - public static extern void switch_core_session_unset_read_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")] + public static extern int switch_event_event_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")] - public static extern void switch_core_session_unset_write_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")] + public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")] - public static extern void switch_core_session_lock_codec_write(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")] + public static extern int switch_event_priority_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")] - public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")] + public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")] - public static extern void switch_core_session_lock_codec_read(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")] + public static extern string switch_event_owner_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")] - public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")] + public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")] - public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")] + public static extern string switch_event_subclass_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")] - public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")] + public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")] - public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")] + public static extern IntPtr switch_event_headers_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")] - public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")] + public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")] - public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")] + public static extern IntPtr switch_event_last_header_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")] - public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")] + public static extern void switch_event_body_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")] - public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")] + public static extern string switch_event_body_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")] - public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")] + public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")] - public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")] + public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")] - public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")] + public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")] - public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")] + public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")] - public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")] + public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")] - public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")] + public static extern uint switch_event_key_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")] - public static extern IntPtr switch_core_db_open_file(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")] + public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")] - public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")] + public static extern IntPtr switch_event_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")] - public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")] + public static extern IntPtr new_switch_event(); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")] - public static extern string SWITCH_CORE_DB_get(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")] + public static extern void delete_switch_event(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")] - public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")] + public static extern int switch_event_init(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")] - public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")] + public static extern int switch_event_shutdown(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")] - public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")] + public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")] - public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")] + public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")] - public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")] + public static extern string switch_event_get_header(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")] - public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")] + public static extern string switch_event_get_body(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")] - public static extern int switch_core_file_close(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")] + public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")] - public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")] + public static extern int switch_event_del_header(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")] - public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")] + public static extern void switch_event_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")] - public static extern void switch_core_speech_flush_tts(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")] + public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")] - public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")] + public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")] - public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")] + public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")] - public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")] + public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")] - public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")] + public static extern int switch_event_unbind(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")] - public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")] + public static extern int switch_event_unbind_callback(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")] - public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")] + public static extern string switch_event_name(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")] - public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")] + public static extern int switch_name_event(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")] - public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")] + public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")] - public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")] + public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")] - public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")] + public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")] - public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")] + public static extern int switch_event_running(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")] - public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")] + public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")] - public static extern int switch_core_asr_pause(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")] + public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")] - public static extern int switch_core_asr_resume(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")] + public static extern void switch_event_deliver(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")] - public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")] + public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")] - public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")] + public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")] - public static extern int switch_core_directory_next(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")] + public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")] - public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")] + public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")] - public static extern int switch_core_directory_close(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")] + public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")] - public static extern IntPtr switch_core_data_channel(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")] + public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")] - public static extern int switch_core_ready(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")] + public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")] - public static extern uint switch_core_flags(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")] + public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")] - public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")] + public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")] - public static extern int set_high_priority(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")] + public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")] - public static extern int change_user_group(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")] + public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")] - public static extern void switch_core_runtime_loop(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")] + public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")] - public static extern int switch_core_set_console(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")] + public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")] - public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")] + public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")] - public static extern IntPtr switch_core_uptime(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")] + public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")] - public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")] + public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")] - public static extern IntPtr switch_core_get_console(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")] + public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")] - public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")] + public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")] - public static extern void switch_core_set_globals(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")] + public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")] - public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")] + public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")] - public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")] + public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")] - public static extern IntPtr switch_core_mime_index(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")] + public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")] - public static extern string switch_core_mime_ext2type(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")] + public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")] - public static extern int switch_core_mime_add_type(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")] + public static extern IntPtr new_switch_audio_resampler_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")] - public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")] + public static extern void delete_switch_audio_resampler_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")] - public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_perform_create")] + public static extern int switch_resample_perform_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, int jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")] - public static extern IntPtr switch_micro_time_now(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")] + public static extern void switch_resample_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")] - public static extern void switch_core_memory_reclaim(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")] + public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")] - public static extern void switch_core_memory_reclaim_events(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")] + public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")] - public static extern void switch_core_memory_reclaim_logger(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")] + public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")] - public static extern void switch_core_memory_reclaim_all(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")] + public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")] - public static extern void switch_core_setrlimits(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")] + public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")] - public static extern void switch_time_sync(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")] + public static extern void switch_swap_linear(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")] - public static extern IntPtr switch_epoch_time_now(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")] + public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")] - public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")] + public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")] - public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")] + public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")] - public static extern void switch_load_network_lists(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")] + public static extern void switch_mux_channels(HandleRef jarg1, uint jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")] - public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")] + public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")] - public static extern void switch_time_set_monotonic(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")] + public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")] - public static extern uint switch_core_max_dtmf_duration(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")] + public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")] - public static extern uint switch_core_default_dtmf_duration(uint jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")] + public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")] - public static extern int switch_console_set_complete(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")] + public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")] - public static extern int switch_console_set_alias(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")] + public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_system")] - public static extern int switch_system(string jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")] + public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")] - public static extern void switch_cond_yield(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")] + public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")] - public static extern void switch_cond_next(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")] + public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")] - public static extern int switch_core_chat_send(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")] + public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")] - public static extern int SWITCH_CMD_CHUNK_LEN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")] + public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")] - public static extern void switch_console_loop(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")] + public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")] - public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")] + public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")] - public static extern int switch_toupper(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")] + public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")] - public static extern int switch_tolower(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")] + public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")] - public static extern int switch_isalnum(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")] + public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")] - public static extern int switch_isalpha(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")] + public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")] - public static extern int switch_iscntrl(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")] + public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")] - public static extern int switch_isdigit(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")] + public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")] - public static extern int switch_isgraph(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")] + public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")] - public static extern int switch_islower(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")] + public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")] - public static extern int switch_isprint(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")] + public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")] - public static extern int switch_ispunct(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")] + public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")] - public static extern int switch_isspace(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")] + public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")] - public static extern int switch_isupper(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")] + public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")] - public static extern int switch_isxdigit(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")] + public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")] - public static extern int SWITCH_SMAX_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")] + public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")] - public static extern int SWITCH_SMIN_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")] + public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")] - public static extern int switch_is_moh(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")] + public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")] - public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")] + public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")] - public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")] + public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")] - public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")] + public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")] - public static extern int switch_is_digit_string(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")] + public static extern IntPtr new_switch_unicast_conninfo(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")] - public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")] + public static extern void delete_switch_unicast_conninfo(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")] - public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")] + public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_get_addr")] - public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")] + public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_get_port")] - public static extern ushort get_port(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")] + public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")] - public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")] + public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")] - public static extern string switch_priority_name(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")] + public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")] - public static extern char switch_rfc2833_to_char(int jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")] + public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")] - public static extern byte switch_char_to_rfc2833(char jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")] + public static extern int switch_ivr_parse_all_events(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")] - public static extern int switch_string_var_check(string jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")] + public static extern int switch_ivr_parse_next_event(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")] - public static extern int switch_string_var_check_const(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")] + public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")] - public static extern string switch_var_clean_string(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")] + public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")] - public static extern string switch_clean_string(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")] + public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")] - public static extern string switch_safe_strdup(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")] + public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")] - public static extern string switch_lc_strdup(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")] + public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")] - public static extern string switch_uc_strdup(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")] + public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")] - public static extern int switch_strstr(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")] + public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")] - public static extern IntPtr switch_str_time(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")] + public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")] - public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")] + public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")] - public static extern int switch_is_number(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")] + public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")] - public static extern string switch_strip_spaces(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")] + public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")] - public static extern string switch_separate_paren_args(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")] + public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")] - public static extern string switch_stristr(string jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")] + public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")] - public static extern int switch_is_lan_addr(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")] + public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")] - public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")] + public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")] - public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")] + public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")] - public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")] + public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")] - public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")] + public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")] - public static extern string switch_cut_path(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")] + public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")] - public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")] + public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")] - public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")] + public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")] - public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")] + public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")] - public static extern string switch_url_decode(string jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")] + public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")] - public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")] + public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")] - public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")] + public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")] - public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")] + public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")] - public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")] + public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12); - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")] - public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")] + public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")] - public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")] + public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")] - public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")] + public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")] - public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")] + public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")] - public static extern string switch_caller_profile_username_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")] + public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")] - public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")] + public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")] - public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")] + public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")] - public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")] + public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")] - public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")] + public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")] - public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")] + public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")] - public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")] + public static extern int switch_ivr_media(string jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")] - public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")] + public static extern int switch_ivr_nomedia(string jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")] - public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")] + public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")] - public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")] + public static extern int switch_ivr_unhold_uuid(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")] - public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")] + public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")] - public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")] + public static extern int switch_ivr_unhold(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")] - public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")] + public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")] - public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")] + public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")] - public static extern string switch_caller_profile_ani_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")] + public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")] - public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")] + public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")] - public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")] + public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")] - public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")] + public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")] - public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")] + public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")] - public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")] + public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")] - public static extern string switch_caller_profile_aniii_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")] + public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")] - public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")] + public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")] - public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")] + public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")] - public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")] + public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")] - public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")] + public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")] - public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")] + public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")] - public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")] + public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")] - public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")] + public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")] - public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")] + public static extern int switch_ivr_menu_stack_free(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")] - public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")] + public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")] - public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")] + public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")] - public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")] + public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")] - public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")] + public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")] - public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")] + public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")] - public static extern string switch_caller_profile_source_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")] + public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")] - public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")] + public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")] - public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")] + public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")] - public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")] + public static extern void switch_ivr_park_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")] - public static extern string switch_caller_profile_uuid_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")] + public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")] - public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")] + public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")] - public static extern string switch_caller_profile_context_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")] + public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")] - public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")] + public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")] - public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")] + public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")] - public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")] + public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")] - public static extern uint switch_caller_profile_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")] + public static extern int switch_ivr_get_say_method_by_name(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")] - public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")] + public static extern int switch_ivr_get_say_type_by_name(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")] - public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")] + public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")] - public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sound_test")] + public static extern int switch_ivr_sound_test(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")] - public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")] + public static extern int SWITCH_RTP_MAX_BUF_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")] - public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")] + public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")] - public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")] + public static extern int SWITCH_RTP_KEY_LEN_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")] - public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")] + public static extern string SWITCH_RTP_CRYPTO_KEY_32_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")] - public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")] + public static extern string SWITCH_RTP_CRYPTO_KEY_80_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")] - public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")] + public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")] - public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")] + public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")] - public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")] + public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")] - public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")] + public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")] - public static extern IntPtr new_switch_caller_profile(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")] + public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")] - public static extern void delete_switch_caller_profile(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")] + public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")] - public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")] + public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")] - public static extern string switch_caller_application_application_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")] + public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")] - public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")] + public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")] - public static extern string switch_caller_application_application_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")] + public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")] - public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")] + public static extern IntPtr new_switch_rtp_crypto_key(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")] - public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")] + public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")] - public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")] + public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")] - public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")] + public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")] - public static extern IntPtr new_switch_caller_application(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")] + public static extern void switch_rtp_init(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")] - public static extern void delete_switch_caller_application(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")] + public static extern void switch_rtp_shutdown(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")] - public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")] + public static extern ushort switch_rtp_set_start_port(ushort jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")] - public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")] + public static extern ushort switch_rtp_set_end_port(ushort jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")] - public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")] + public static extern ushort switch_rtp_request_port(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")] - public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")] + public static extern void switch_rtp_release_port(string jarg1, ushort jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")] - public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")] + public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")] - public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")] + public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")] - public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")] + public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")] - public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")] + public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")] - public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")] + public static extern string switch_rtp_get_remote_host(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")] - public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")] + public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")] - public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")] + public static extern void switch_rtp_reset_media_timer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")] - public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")] + public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")] - public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")] + public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")] - public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")] + public static extern void switch_rtp_kill_socket(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")] - public static extern IntPtr new_switch_caller_extension(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")] + public static extern void switch_rtp_break(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")] - public static extern void delete_switch_caller_extension(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")] + public static extern byte switch_rtp_ready(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")] - public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")] + public static extern void switch_rtp_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")] - public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")] + public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")] - public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")] + public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")] - public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")] + public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")] - public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")] + public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")] - public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")] + public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")] - public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")] + public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")] - public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")] + public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")] - public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")] + public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")] - public static extern IntPtr switch_frame_codec_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")] + public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")] - public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")] + public static extern uint switch_rtp_get_default_payload(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")] - public static extern string switch_frame_source_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")] + public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")] - public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")] + public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")] - public static extern IntPtr switch_frame_packet_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")] + public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")] - public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")] + public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")] - public static extern uint switch_frame_packetlen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")] + public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")] - public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")] + public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")] - public static extern IntPtr switch_frame_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")] + public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")] - public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")] + public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")] - public static extern uint switch_frame_datalen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")] + public static extern void rtp_flush_read_buffer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")] - public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")] + public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")] - public static extern uint switch_frame_buflen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")] + public static extern int switch_rtp_disable_vad(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")] - public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")] + public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")] - public static extern uint switch_frame_samples_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")] + public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")] - public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")] + public static extern uint switch_rtp_get_ssrc(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")] - public static extern uint switch_frame_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")] + public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")] - public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")] + public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")] - public static extern byte switch_frame_payload_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")] + public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")] - public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")] + public static extern IntPtr switch_rtp_get_private(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")] - public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")] + public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")] - public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")] + public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")] - public static extern ushort switch_frame_seq_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")] + public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")] - public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")] + public static extern string switch_log_node_t_data_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")] - public static extern uint switch_frame_ssrc_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")] + public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")] - public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")] + public static extern string switch_log_node_t_file_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")] - public static extern int switch_frame_m_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")] + public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")] - public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")] + public static extern uint switch_log_node_t_line_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")] - public static extern uint switch_frame_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")] + public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")] - public static extern IntPtr new_switch_frame(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")] + public static extern string switch_log_node_t_func_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")] - public static extern void delete_switch_frame(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")] + public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")] - public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")] + public static extern int switch_log_node_t_level_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")] - public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")] + public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")] - public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")] + public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")] - public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")] + public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")] - public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")] + public static extern string switch_log_node_t_content_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")] - public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")] + public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")] - public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")] + public static extern string switch_log_node_t_userdata_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")] - public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")] + public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")] - public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")] + public static extern int switch_log_node_t_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")] - public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")] + public static extern IntPtr new_switch_log_node_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")] - public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")] + public static extern void delete_switch_log_node_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")] - public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")] + public static extern int switch_log_init(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")] - public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")] + public static extern int switch_log_shutdown(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")] - public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")] + public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")] - public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")] + public static extern int switch_log_unbind_logger(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")] - public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")] + public static extern string switch_log_level2str(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")] - public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")] + public static extern int switch_log_str2level(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")] - public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")] + public static extern uint switch_log_str2mask(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")] - public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")] + public static extern int SWITCH_XML_BUFSIZE_get(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")] - public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")] + public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")] - public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")] + public static extern string switch_xml_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")] - public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")] + public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")] - public static extern IntPtr new_switch_state_handler_table(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")] + public static extern string switch_xml_attr_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")] - public static extern void delete_switch_state_handler_table(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")] + public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")] - public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")] + public static extern string switch_xml_txt_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")] - public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")] + public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")] - public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")] + public static extern string switch_xml_free_path_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")] - public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")] + public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")] - public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")] + public static extern IntPtr switch_xml_off_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")] - public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")] + public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")] - public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")] + public static extern IntPtr switch_xml_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")] - public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")] + public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")] - public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")] + public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")] - public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")] + public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")] - public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")] + public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")] - public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")] + public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")] - public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")] + public static extern IntPtr switch_xml_child_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")] - public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")] + public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")] - public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")] + public static extern IntPtr switch_xml_parent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")] - public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")] + public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")] - public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")] + public static extern uint switch_xml_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")] - public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")] + public static extern IntPtr new_switch_xml(); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")] - public static extern IntPtr new_switch_stream_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")] + public static extern void delete_switch_xml(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")] - public static extern void delete_switch_stream_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")] + public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")] - public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")] + public static extern IntPtr switch_xml_parse_fd(int jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")] - public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")] + public static extern IntPtr switch_xml_parse_file(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")] - public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")] + public static extern IntPtr switch_xml_parse_file_simple(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")] - public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")] + public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")] - public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")] + public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")] - public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")] + public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")] - public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")] + public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")] - public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")] + public static extern string switch_xml_attr(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")] - public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")] + public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")] - public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")] + public static extern IntPtr switch_xml_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")] - public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")] + public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")] - public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")] + public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")] - public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")] + public static extern void switch_xml_free(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")] - public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")] + public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")] - public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")] + public static extern string switch_xml_error(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")] - public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")] + public static extern IntPtr switch_xml_new(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")] - public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")] + public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")] - public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")] + public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")] - public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")] + public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")] - public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")] + public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_set")] - public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")] + public static extern IntPtr switch_xml_cut(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")] - public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")] + public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")] - public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")] + public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")] - public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")] + public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")] - public static extern IntPtr new_switch_io_routines(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")] + public static extern int switch_xml_destroy(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")] - public static extern void delete_switch_io_routines(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")] + public static extern IntPtr switch_xml_root(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")] - public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")] + public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")] - public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")] + public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")] - public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")] + public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")] - public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")] + public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")] - public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")] + public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")] - public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")] + public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")] - public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")] + public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")] - public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")] + public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")] - public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")] + public static extern uint switch_xml_get_binding_sections(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")] - public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")] + public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")] - public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")] + public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")] - public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")] + public static extern int switch_xml_unbind_search_function(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")] - public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")] + public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")] - public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")] + public static extern uint switch_xml_parse_section_string(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")] - public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")] + public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")] - public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")] + public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")] - public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")] + public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")] - public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")] + public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")] - public static extern IntPtr new_switch_endpoint_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")] + public static extern IntPtr new_switch_io_event_hook_outgoing_channel(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")] - public static extern void delete_switch_endpoint_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")] + public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")] - public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")] + public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")] - public static extern int switch_timer_interval_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")] + public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")] - public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")] + public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")] - public static extern uint switch_timer_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")] + public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")] - public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")] + public static extern IntPtr new_switch_io_event_hook_receive_message(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")] - public static extern uint switch_timer_samples_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")] + public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")] - public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")] + public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")] - public static extern uint switch_timer_samplecount_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")] + public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")] - public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")] + public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")] - public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")] + public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")] - public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")] + public static extern IntPtr new_switch_io_event_hook_receive_event(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")] - public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")] + public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")] - public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")] + public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")] - public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")] + public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")] - public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")] + public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")] - public static extern IntPtr switch_timer_diff_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")] + public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")] - public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")] + public static extern IntPtr new_switch_io_event_hook_read_frame(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")] - public static extern IntPtr switch_timer_tick_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")] + public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")] - public static extern IntPtr new_switch_timer(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")] + public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")] - public static extern void delete_switch_timer(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")] + public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")] - public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")] + public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")] - public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")] + public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")] - public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")] + public static extern IntPtr new_switch_io_event_hook_video_read_frame(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")] - public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")] + public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")] - public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")] + public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")] - public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")] + public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")] - public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")] + public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")] - public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")] + public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")] - public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")] + public static extern IntPtr new_switch_io_event_hook_write_frame(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")] - public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")] + public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")] - public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")] + public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")] - public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")] + public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")] - public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")] + public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")] - public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")] + public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")] - public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")] + public static extern IntPtr new_switch_io_event_hook_video_write_frame(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")] - public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")] + public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")] - public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")] + public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")] - public static extern int switch_timer_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")] + public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")] - public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")] + public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")] - public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")] + public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")] - public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")] + public static extern IntPtr new_switch_io_event_hook_kill_channel(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")] - public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")] + public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")] - public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")] + public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")] - public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")] + public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")] - public static extern IntPtr new_switch_timer_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")] + public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")] - public static extern void delete_switch_timer_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")] + public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")] - public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")] + public static extern IntPtr new_switch_io_event_hook_send_dtmf(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")] - public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")] + public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")] - public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")] + public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")] - public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")] + public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")] - public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")] + public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")] - public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")] + public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")] - public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")] + public static extern IntPtr new_switch_io_event_hook_recv_dtmf(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")] - public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")] + public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")] - public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")] + public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")] - public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")] + public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")] - public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")] + public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")] - public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")] + public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")] - public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")] + public static extern IntPtr new_switch_io_event_hook_state_change(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")] - public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")] + public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")] - public static extern IntPtr new_switch_dialplan_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")] + public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")] - public static extern void delete_switch_dialplan_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")] + public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")] - public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")] + public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")] - public static extern string switch_file_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")] + public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")] - public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")] + public static extern IntPtr new_switch_io_event_hook_resurrect_session(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")] - public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")] + public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")] - public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")] + public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")] - public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")] + public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")] - public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")] + public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")] - public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")] + public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")] - public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")] + public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")] - public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")] + public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")] - public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")] + public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")] - public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")] + public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")] - public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")] + public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")] - public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")] + public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")] - public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")] + public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")] - public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")] + public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")] - public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")] + public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")] - public static extern string switch_file_interface_extens_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")] + public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")] - public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")] + public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")] - public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")] + public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")] - public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")] + public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")] - public static extern int switch_file_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")] + public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")] - public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")] + public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")] - public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")] + public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")] - public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")] + public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")] - public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")] + public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")] - public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")] + public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")] - public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")] + public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")] - public static extern IntPtr new_switch_file_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")] + public static extern IntPtr new_switch_io_event_hooks(); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")] - public static extern void delete_switch_file_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")] + public static extern void delete_switch_io_event_hooks(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")] - public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")] + public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")] - public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")] + public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")] - public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")] + public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")] - public static extern uint switch_file_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")] + public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")] - public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")] + public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")] - public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")] + public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")] - public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")] + public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")] - public static extern uint switch_file_handle_samples_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")] + public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")] - public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")] + public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")] - public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")] + public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")] - public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")] + public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")] - public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")] + public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")] - public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")] + public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")] - public static extern byte switch_file_handle_channels_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")] + public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")] - public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")] + public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")] - public static extern uint switch_file_handle_format_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")] + public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")] - public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")] + public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")] - public static extern uint switch_file_handle_sections_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")] + public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")] - public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")] + public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")] - public static extern int switch_file_handle_seekable_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")] + public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")] - public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")] + public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")] - public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")] + public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")] - public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")] + public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")] - public static extern int switch_file_handle_speed_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")] + public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")] - public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")] + public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")] - public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")] + public static extern long switch_scheduler_task_created_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")] - public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")] + public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")] - public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")] + public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")] - public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")] + public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")] - public static extern uint switch_file_handle_interval_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")] + public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")] - public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")] + public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")] - public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")] + public static extern string switch_scheduler_task_group_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")] - public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")] + public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")] - public static extern string switch_file_handle_handler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")] + public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")] - public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")] + public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")] - public static extern long switch_file_handle_pos_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")] + public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")] - public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")] + public static extern IntPtr new_switch_scheduler_task(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")] - public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")] + public static extern void delete_switch_scheduler_task(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")] - public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")] + public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")] - public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")] + public static extern uint switch_scheduler_del_task_id(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")] - public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")] + public static extern uint switch_scheduler_del_task_group(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")] - public static extern uint switch_file_handle_thresh_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")] + public static extern void switch_scheduler_task_thread_start(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")] - public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")] + public static extern void switch_scheduler_task_thread_stop(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")] - public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")] + public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")] - public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")] + public static extern IntPtr switch_config_file_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")] - public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")] + public static extern void switch_config_path_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")] - public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")] + public static extern string switch_config_path_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")] - public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")] + public static extern void switch_config_category_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")] - public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")] + public static extern string switch_config_category_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")] - public static extern int switch_file_handle_vol_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")] + public static extern void switch_config_section_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")] - public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")] + public static extern string switch_config_section_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")] - public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")] + public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")] - public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")] + public static extern string switch_config_buf_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")] - public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")] + public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")] - public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")] + public static extern int switch_config_lineno_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")] - public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")] + public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")] - public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")] + public static extern int switch_config_catno_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")] - public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")] + public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")] - public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")] + public static extern int switch_config_sectno_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")] - public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")] + public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")] - public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")] + public static extern int switch_config_lockto_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")] - public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")] + public static extern IntPtr new_switch_config(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")] - public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")] + public static extern void delete_switch_config(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")] - public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")] + public static extern int switch_config_open_file(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")] - public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")] + public static extern void switch_config_close_file(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")] - public static extern string switch_file_handle_file_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")] + public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")] - public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")] + public static extern void consoleLog(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")] - public static extern string switch_file_handle_func_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")] + public static extern void consoleCleanLog(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")] - public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")] + public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14); - [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")] - public static extern int switch_file_handle_line_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")] + public static extern void delete_IvrMenu(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")] - public static extern IntPtr new_switch_file_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")] + public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")] - public static extern void delete_switch_file_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")] + public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")] - public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_Api")] + public static extern IntPtr new_Api(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")] - public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")] + public static extern void delete_Api(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")] - public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")] + public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")] - public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")] + public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")] - public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")] + public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")] - public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")] + public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")] - public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")] + public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")] - public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")] + public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")] - public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")] + public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")] - public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")] + public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")] - public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")] + public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")] - public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")] + public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")] - public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")] + public static extern IntPtr new_input_callback_state_t(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")] - public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")] + public static extern void delete_input_callback_state_t(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")] - public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")] + public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")] - public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")] + public static extern char DTMF_digit_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")] - public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")] + public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")] - public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")] + public static extern uint DTMF_duration_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")] - public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")] + public static extern IntPtr new_DTMF(char jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")] - public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")] + public static extern void delete_DTMF(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")] - public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")] + public static extern IntPtr new_Stream__SWIG_0(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")] - public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")] + public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")] - public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")] + public static extern void delete_Stream(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")] - public static extern int switch_asr_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")] + public static extern void Stream_Write(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")] - public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")] + public static extern string Stream_get_data(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")] - public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")] + public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")] - public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")] + public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")] - public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")] + public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")] - public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")] + public static extern string Event_serialized_string_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")] - public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")] + public static extern void Event_mine_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")] - public static extern IntPtr new_switch_asr_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")] + public static extern int Event_mine_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")] - public static extern void delete_switch_asr_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")] + public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")] - public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")] + public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")] - public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")] + public static extern void delete_Event(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")] - public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")] + public static extern string Event_Serialize(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")] - public static extern uint switch_asr_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")] + public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")] - public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")] + public static extern string Event_GetHeader(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")] - public static extern string switch_asr_handle_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")] + public static extern string Event_GetBody(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")] - public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")] + public static extern string Event_GetEventType(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")] - public static extern string switch_asr_handle_codec_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")] + public static extern bool Event_AddBody(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")] - public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")] + public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")] - public static extern uint switch_asr_handle_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")] + public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")] - public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")] + public static extern bool Event_Fire(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")] - public static extern string switch_asr_handle_grammar_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")] + public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")] - public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")] + public static extern IntPtr EventConsumer_events_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")] - public static extern string switch_asr_handle_param_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")] + public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")] - public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")] + public static extern int EventConsumer_e_event_id_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")] - public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")] + public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")] - public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")] + public static extern IntPtr EventConsumer_node_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")] - public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")] + public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")] - public static extern IntPtr new_switch_asr_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")] + public static extern string EventConsumer_e_callback_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")] - public static extern void delete_switch_asr_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")] + public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")] - public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")] + public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")] - public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")] + public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")] - public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")] + public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")] - public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")] + public static extern IntPtr new_EventConsumer(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")] - public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")] + public static extern void delete_EventConsumer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")] - public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")] + public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")] - public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")] + public static extern void delete_CoreSession(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")] - public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")] + public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")] - public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")] + public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")] - public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")] + public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")] - public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")] + public static extern IntPtr CoreSession_channel_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")] - public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")] + public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")] - public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")] + public static extern uint CoreSession_flags_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")] + public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")] - public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")] + public static extern int CoreSession_allocated_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")] + public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")] - public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")] + public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")] - public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")] + public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")] - public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")] + public static extern int CoreSession_HookState_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")] - public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")] + public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")] - public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")] + public static extern string CoreSession_uuid_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")] - public static extern int switch_speech_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")] + public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")] - public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")] + public static extern string CoreSession_tts_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")] - public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")] + public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")] - public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")] + public static extern string CoreSession_voice_name_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")] - public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")] + public static extern int CoreSession_Answer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")] - public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")] + public static extern int CoreSession_preAnswer(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")] - public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")] + public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")] - public static extern IntPtr new_switch_speech_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")] + public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")] - public static extern void delete_switch_speech_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")] + public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")] - public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")] + public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")] - public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")] + public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")] - public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")] + public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")] - public static extern uint switch_speech_handle_flags_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")] + public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")] - public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")] + public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")] - public static extern string switch_speech_handle_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")] + public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")] - public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")] + public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")] - public static extern uint switch_speech_handle_rate_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")] + public static extern void CoreSession_destroy(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")] - public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")] + public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")] - public static extern uint switch_speech_handle_speed_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")] + public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")] - public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")] + public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")] - public static extern uint switch_speech_handle_samples_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")] + public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")] - public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")] + public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")] - public static extern string switch_speech_handle_voice_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")] + public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")] - public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")] + public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")] - public static extern string switch_speech_handle_engine_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")] + public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")] - public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")] + public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")] - public static extern string switch_speech_handle_param_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")] + public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")] - public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")] + public static extern int CoreSession_flushEvents(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")] - public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")] + public static extern int CoreSession_flushDigits(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")] - public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")] + public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")] - public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")] + public static extern bool CoreSession_Ready(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")] - public static extern IntPtr new_switch_speech_handle(); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")] + public static extern bool CoreSession_answered(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")] - public static extern void delete_switch_speech_handle(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")] + public static extern bool CoreSession_mediaReady(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")] - public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")] + public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")] - public static extern string switch_say_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")] + public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")] - public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")] + public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")] - public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")] + public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")] - public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")] + public static extern string CoreSession_getXMLCDR(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")] - public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")] + public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")] - public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")] + public static extern bool CoreSession_end_allow_threads(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")] - public static extern int switch_say_interface_refs_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")] + public static extern string CoreSession_GetUuid(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")] - public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")] + public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")] - public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")] + public static extern void CoreSession_check_hangup_hook(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")] - public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_console_log")] + public static extern void console_log(string jarg1, string jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")] - public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")] + public static extern void console_clean_log(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")] - public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_msleep")] + public static extern void msleep(uint jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")] - public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_bridge")] + public static extern void bridge(HandleRef jarg1, HandleRef jarg2); - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")] - public static extern IntPtr new_switch_say_interface(); + [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")] + public static extern int hanguphook(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")] - public static extern void delete_switch_say_interface(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")] + public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")] - public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")] + public static extern IntPtr new_ManagedSession__SWIG_0(); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")] - public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")] + public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")] - public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")] + public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")] - public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1); + [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")] + public static extern void delete_ManagedSession(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")] - public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")] + public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")] - public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")] - public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")] - public static extern int switch_chat_interface_refs_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")] - public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); +public class input_callback_state_t : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")] - public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1); + internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")] - public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(input_callback_state_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")] - public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1); + ~input_callback_state_t() { + Dispose(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")] - public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")] - public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1); + public SWIGTYPE_p_void function { + set { + freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")] - public static extern IntPtr new_switch_chat_interface(); + public SWIGTYPE_p_void threadState { + set { + freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")] - public static extern void delete_switch_chat_interface(HandleRef jarg1); + public SWIGTYPE_p_void extra { + set { + freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr); + SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); + return ret; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")] - public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2); + public string funcargs { + set { + freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value); + } + get { + string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr); + return ret; + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")] - public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1); + public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")] - public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")] - public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")] - public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")] - public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")] - public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2); +public class IvrMenu : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")] - public static extern int switch_management_interface_refs_get(HandleRef jarg1); + internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")] - public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(IvrMenu obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")] - public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1); + ~IvrMenu() { + Dispose(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")] - public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_IvrMenu(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")] - public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1); + public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")] - public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public void bindAction(string action, string arg, string bind) { + freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")] - public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1); + public void Execute(CoreSession session, string name) { + freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")] - public static extern IntPtr new_switch_management_interface(); +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")] - public static extern void delete_switch_management_interface(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")] - public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")] - public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")] - public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2); +public partial class ManagedSession : CoreSession { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")] - public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1); + internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")] - public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(ManagedSession obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")] - public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1); + ~ManagedSession() { + Dispose(); + } + + public override void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_ManagedSession(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + base.Dispose(); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")] - public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2); + public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")] - public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1); + public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")] - public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2); + public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")] - public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")] - public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")] - public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")] - public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); +[System.Flags] public enum session_flag_t { + S_HUP = (1 << 0), + S_FREE = (1 << 1), + S_RDLOCK = (1 << 2) +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")] - public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")] - public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")] - public static extern int switch_directory_interface_refs_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")] - public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); +public partial class Stream : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")] - public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1); + internal Stream(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")] - public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(Stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")] - public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1); + ~Stream() { + Dispose(); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")] - public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2); + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_Stream(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")] - public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1); + public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")] - public static extern IntPtr new_switch_directory_interface(); + public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) { + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")] - public static extern void delete_switch_directory_interface(HandleRef jarg1); + public void Write(string data) { + freeswitchPINVOKE.Stream_Write(swigCPtr, data); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")] - public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2); + public string get_data() { + string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr); + return ret; + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")] - public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1); +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")] - public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")] - public static extern uint switch_directory_handle_flags_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")] - public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")] - public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1); +public class SWIGTYPE_p_apr_pool_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")] - public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")] - public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1); + protected SWIGTYPE_p_apr_pool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")] - public static extern IntPtr new_switch_directory_handle(); + internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")] - public static extern void delete_switch_directory_handle(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")] - public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")] - public static extern int switch_codec_settings_quality_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")] - public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_FILE { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")] - public static extern int switch_codec_settings_complexity_get(HandleRef jarg1); + internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")] - public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_FILE() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")] - public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")] - public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")] - public static extern int switch_codec_settings_vad_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")] - public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")] - public static extern int switch_codec_settings_vbr_get(HandleRef jarg1); +public class SWIGTYPE_p_float { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")] - public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2); + internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")] - public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1); + protected SWIGTYPE_p_float() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")] - public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_float obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")] - public static extern int switch_codec_settings_abr_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")] - public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")] - public static extern int switch_codec_settings_dtx_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")] - public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")] - public static extern int switch_codec_settings_preproc_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")] - public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")] - public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")] - public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")] - public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")] - public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2); +public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")] - public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")] - public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")] - public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")] - public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")] - public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")] - public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")] - public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")] - public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2); + internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")] - public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")] - public static extern IntPtr new_switch_codec_settings(); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")] - public static extern void delete_switch_codec_settings(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")] - public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")] - public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")] - public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")] - public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")] - public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")] - public static extern string switch_codec_fmtp_in_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")] - public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")] - public static extern string switch_codec_fmtp_out_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")] - public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")] - public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")] - public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")] - public static extern uint switch_codec_flags_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")] - public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")] - public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")] - public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")] - public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")] - public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2); +public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")] - public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")] - public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")] - public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")] - public static extern IntPtr new_switch_codec(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")] - public static extern void delete_switch_codec(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")] - public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")] - public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")] - public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2); + internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")] - public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")] - public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")] - public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")] - public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")] - public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")] - public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")] - public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")] - public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")] - public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")] - public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")] - public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")] - public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")] - public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")] - public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")] - public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")] - public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")] - public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")] - public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")] - public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")] - public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")] - public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")] - public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")] - public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")] - public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")] - public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")] - public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")] - public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")] - public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")] - public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")] - public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")] - public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")] - public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")] - public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")] - public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")] - public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")] - public static extern IntPtr new_switch_codec_implementation(); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")] - public static extern void delete_switch_codec_implementation(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")] - public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")] - public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")] - public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")] - public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")] - public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")] - public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")] - public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")] - public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")] - public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")] - public static extern int switch_codec_interface_refs_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")] - public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")] - public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")] - public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")] - public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")] - public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")] - public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")] - public static extern IntPtr new_switch_codec_interface(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")] - public static extern void delete_switch_codec_interface(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")] - public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")] - public static extern string switch_application_interface_interface_name_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")] - public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")] - public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")] - public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")] - public static extern string switch_application_interface_long_desc_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")] - public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_f_p_switch_codec__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")] - public static extern string switch_application_interface_short_desc_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")] - public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")] - public static extern string switch_application_interface_syntax_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")] - public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")] - public static extern uint switch_application_interface_flags_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")] - public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")] - public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")] - public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")] - public static extern int switch_application_interface_refs_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")] - public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")] - public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")] - public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")] - public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")] - public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")] - public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")] - public static extern IntPtr new_switch_application_interface(); + protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")] - public static extern void delete_switch_application_interface(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")] - public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")] - public static extern string switch_api_interface_interface_name_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")] - public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")] - public static extern string switch_api_interface_desc_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")] - public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")] - public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")] - public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")] - public static extern string switch_api_interface_syntax_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")] - public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")] - public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")] - public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")] - public static extern int switch_api_interface_refs_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")] - public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")] - public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")] - public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")] - public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")] - public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")] - public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")] - public static extern IntPtr new_switch_api_interface(); + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")] - public static extern void delete_switch_api_interface(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")] - public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")] - public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")] - public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")] - public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")] - public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")] - public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")] - public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")] - public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")] - public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")] - public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")] - public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")] - public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")] - public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")] - public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")] - public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")] - public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")] - public static extern IntPtr new_switch_channel_timetable(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")] - public static extern void delete_switch_channel_timetable(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")] - public static extern int switch_channel_get_state(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")] - public static extern int switch_channel_get_running_state(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_ready")] - public static extern byte switch_channel_ready(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")] - public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")] - public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")] - public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")] - public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")] - public static extern int switch_channel_str2cause(string jarg1); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")] - public static extern int switch_channel_get_cause(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")] - public static extern int switch_channel_cause_q850(int jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")] - public static extern int switch_channel_get_cause_q850(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")] - public static extern string switch_channel_cause2str(int jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")] - public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")] - public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")] - public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")] - public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")] - public static extern void switch_channel_uninit(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")] - public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")] - public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")] - public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")] - public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")] - public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")] - public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")] - public static extern string switch_channel_get_uuid(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")] - public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")] - public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")] - public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")] - public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")] - public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")] - public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")] - public static extern IntPtr switch_channel_variable_first(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")] - public static extern void switch_channel_variable_last(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")] - public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")] - public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")] - public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")] - public static extern void switch_channel_set_flag(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")] - public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")] - public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")] - public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")] - public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")] - public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")] - public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")] - public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); +public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")] - public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")] - public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")] - public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")] - public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")] - public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")] - public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")] - public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3); +public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")] - public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")] - public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")] - public static extern string switch_channel_get_name(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")] - public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")] - public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")] - public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")] - public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")] - public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")] - public static extern void switch_channel_flush_dtmf(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")] - public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")] - public static extern string switch_channel_state_name(int jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")] - public static extern int switch_channel_name_state(string jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")] - public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")] - public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")] - public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")] - public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")] - public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")] - public static extern int switch_channel_set_timestamps(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_audio_sync")] - public static extern void switch_channel_audio_sync(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")] - public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")] - public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")] - public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag")] - public static extern void switch_channel_set_app_flag(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag")] - public static extern void switch_channel_clear_app_flag(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag")] - public static extern int switch_channel_test_app_flag(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")] - public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")] - public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")] - public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")] - public static extern void switch_buffer_lock(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")] - public static extern int switch_buffer_trylock(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")] - public static extern void switch_buffer_unlock(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")] - public static extern IntPtr switch_buffer_len(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")] - public static extern IntPtr switch_buffer_freespace(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")] - public static extern IntPtr switch_buffer_inuse(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")] - public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); +public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")] - public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")] - public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")] - public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")] - public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")] - public static extern void switch_buffer_zero(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")] - public static extern void switch_buffer_destroy(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")] - public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); +public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")] - public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")] - public static extern string switch_event_header_name_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")] - public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")] - public static extern string switch_event_header_value_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")] - public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")] - public static extern uint switch_event_header_hash_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")] - public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_event__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")] - public static extern IntPtr switch_event_header_next_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")] - public static extern IntPtr new_switch_event_header(); + protected SWIGTYPE_p_f_p_switch_event__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")] - public static extern void delete_switch_event_header(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")] - public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")] - public static extern int switch_event_event_id_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")] - public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")] - public static extern int switch_event_priority_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")] - public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")] - public static extern string switch_event_owner_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")] - public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")] - public static extern string switch_event_subclass_name_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")] - public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")] - public static extern IntPtr switch_event_headers_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")] - public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")] - public static extern IntPtr switch_event_last_header_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")] - public static extern void switch_event_body_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")] - public static extern string switch_event_body_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")] - public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")] - public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")] - public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")] - public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")] - public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")] - public static extern uint switch_event_key_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")] - public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")] - public static extern IntPtr switch_event_next_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")] - public static extern IntPtr new_switch_event(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")] - public static extern void delete_switch_event(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")] - public static extern int switch_event_init(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")] - public static extern int switch_event_shutdown(); + internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")] - public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3); + protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")] - public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")] - public static extern string switch_event_get_header(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")] - public static extern string switch_event_get_body(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")] - public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")] - public static extern int switch_event_del_header(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")] - public static extern void switch_event_destroy(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")] - public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")] - public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")] - public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")] - public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")] - public static extern int switch_event_unbind(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")] - public static extern int switch_event_unbind_callback(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")] - public static extern string switch_event_name(int jarg1); + protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")] - public static extern int switch_name_event(string jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")] - public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")] - public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")] - public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")] - public static extern int switch_event_running(); +public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")] - public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")] - public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15); + protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")] - public static extern void switch_event_deliver(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")] - public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")] - public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")] - public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")] - public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")] - public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")] - public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")] - public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")] - public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")] - public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")] - public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")] - public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_scheduler_task__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")] - public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")] - public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_scheduler_task__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")] - public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")] - public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")] - public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")] - public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")] - public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")] - public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")] - public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")] - public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")] - public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")] - public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")] - public static extern IntPtr new_switch_audio_resampler_t(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")] - public static extern void delete_switch_audio_resampler_t(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_create")] - public static extern int switch_resample_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")] - public static extern void switch_resample_destroy(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")] - public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")] - public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")] - public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")] - public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")] - public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")] - public static extern void switch_swap_linear(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")] - public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")] - public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")] - public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")] - public static extern void switch_mux_channels(HandleRef jarg1, uint jarg2, uint jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")] - public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")] - public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")] - public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")] - public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")] - public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")] - public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")] - public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")] - public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")] - public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")] - public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")] - public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")] - public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")] - public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")] - public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")] - public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")] - public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")] - public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")] - public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")] - public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")] - public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")] - public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")] - public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")] - public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")] - public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")] - public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")] - public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")] - public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")] - public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")] - public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")] - public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_speech_handle__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")] - public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")] - public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1); + protected SWIGTYPE_p_f_p_switch_speech_handle__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")] - public static extern IntPtr new_switch_unicast_conninfo(); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")] - public static extern void delete_switch_unicast_conninfo(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")] - public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")] - public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")] - public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")] - public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3); + internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")] - public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3); + protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")] - public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")] - public static extern int switch_ivr_parse_all_events(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")] - public static extern int switch_ivr_parse_next_event(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")] - public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")] - public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")] - public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3); + internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")] - public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9); + protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")] - public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")] - public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")] - public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")] - public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")] - public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3); +public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")] - public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")] - public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4); + protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")] - public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")] - public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")] - public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")] - public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")] - public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1); +public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")] - public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1); + internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")] - public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")] - public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")] - public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")] - public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")] - public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")] - public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); +public class SWIGTYPE_p_f_p_switch_timer__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")] - public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6); + internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")] - public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4); + protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")] - public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")] - public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")] - public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")] - public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")] - public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); +public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")] - public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11); + internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")] - public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5); + protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")] - public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")] - public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")] - public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")] - public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")] - public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2); +public class SWIGTYPE_p_f_p_void__void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")] - public static extern int switch_ivr_media(string jarg1, uint jarg2); + internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")] - public static extern int switch_ivr_nomedia(string jarg1, uint jarg2); + protected SWIGTYPE_p_f_p_void__void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")] - public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")] - public static extern int switch_ivr_unhold_uuid(string jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")] - public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")] - public static extern int switch_ivr_unhold(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")] - public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4); +public class SWIGTYPE_p_f_void__switch_status_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")] - public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3); + internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")] - public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3); + protected SWIGTYPE_p_f_void__switch_status_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")] - public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")] - public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")] - public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")] - public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")] - public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3); +public class SWIGTYPE_p_HashElem { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")] - public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")] - public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3); + protected SWIGTYPE_p_HashElem() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")] - public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")] - public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")] - public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")] - public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")] - public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4); +public class SWIGTYPE_p_int { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")] - public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4); + internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")] - public static extern int switch_ivr_menu_stack_free(HandleRef jarg1); + protected SWIGTYPE_p_int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")] - public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + internal static HandleRef getCPtr(SWIGTYPE_p_int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")] - public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")] - public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")] - public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")] - public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5); +public class SWIGTYPE_p_p_apr_pool_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")] - public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")] - public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3); + protected SWIGTYPE_p_p_apr_pool_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")] - public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")] - public static extern void switch_ivr_park_session(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")] - public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")] - public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")] - public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4); +public class SWIGTYPE_p_p_char { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")] - public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")] - public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + protected SWIGTYPE_p_p_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")] - public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6); + internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")] - public static extern int switch_ivr_get_say_method_by_name(string jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")] - public static extern int switch_ivr_get_say_type_by_name(string jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")] - public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")] - public static extern int SWITCH_RTP_MAX_BUF_LEN_get(); +public class SWIGTYPE_p_p_p_char { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")] - public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get(); + internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")] - public static extern int SWITCH_RTP_KEY_LEN_get(); + protected SWIGTYPE_p_p_p_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")] - public static extern string SWITCH_RTP_CRYPTO_KEY_32_get(); + internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")] - public static extern string SWITCH_RTP_CRYPTO_KEY_80_get(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")] - public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")] - public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")] - public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_p_real_pcre { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")] - public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1); + internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")] - public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_real_pcre() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")] - public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")] - public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")] - public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")] - public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")] - public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1); +public class SWIGTYPE_p_p_sqlite3 { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")] - public static extern IntPtr new_switch_rtp_crypto_key(); + internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")] - public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1); + protected SWIGTYPE_p_p_sqlite3() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")] - public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6); + internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")] - public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")] - public static extern void switch_rtp_init(HandleRef jarg1); +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")] - public static extern void switch_rtp_shutdown(); +public class SWIGTYPE_p_p_sqlite3_stmt { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")] - public static extern ushort switch_rtp_set_start_port(ushort jarg1); + internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")] - public static extern ushort switch_rtp_set_end_port(ushort jarg1); + protected SWIGTYPE_p_p_sqlite3_stmt() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")] - public static extern ushort switch_rtp_request_port(string jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")] - public static extern void switch_rtp_release_port(string jarg1, ushort jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")] - public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")] - public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")] - public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11); +public class SWIGTYPE_p_p_switch_audio_resampler_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")] - public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5); + internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")] - public static extern string switch_rtp_get_remote_host(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_audio_resampler_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")] - public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")] - public static extern void switch_rtp_reset_media_timer(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")] - public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")] - public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")] - public static extern void switch_rtp_kill_socket(HandleRef jarg1); +public class SWIGTYPE_p_p_switch_buffer { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")] - public static extern void switch_rtp_break(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")] - public static extern byte switch_rtp_ready(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_buffer() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")] - public static extern void switch_rtp_destroy(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")] - public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")] - public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")] - public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")] - public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_p_switch_caller_extension { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")] - public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")] - public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_caller_extension() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")] - public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")] - public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")] - public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")] - public static extern uint switch_rtp_get_default_payload(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")] - public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_p_switch_channel { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")] - public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); + internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")] - public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_switch_channel() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")] - public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")] - public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")] - public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")] - public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")] - public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3); +public class SWIGTYPE_p_p_switch_core_port_allocator { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")] - public static extern void rtp_flush_read_buffer(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")] - public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4); + protected SWIGTYPE_p_p_switch_core_port_allocator() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")] - public static extern int switch_rtp_disable_vad(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")] - public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")] - public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")] - public static extern uint switch_rtp_get_ssrc(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")] - public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_p_switch_core_session { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")] - public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2); + internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")] - public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2); + protected SWIGTYPE_p_p_switch_core_session() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")] - public static extern IntPtr switch_rtp_get_private(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")] - public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")] - public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")] - public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")] - public static extern string switch_log_node_t_data_get(HandleRef jarg1); +public class SWIGTYPE_p_p_switch_core_session_message { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")] - public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")] - public static extern string switch_log_node_t_file_get(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_core_session_message() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")] - public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")] - public static extern uint switch_log_node_t_line_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")] - public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")] - public static extern string switch_log_node_t_func_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")] - public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_p_switch_event { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")] - public static extern int switch_log_node_t_level_get(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")] - public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_switch_event() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")] - public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")] - public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")] - public static extern string switch_log_node_t_content_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")] - public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")] - public static extern string switch_log_node_t_userdata_get(HandleRef jarg1); +public class SWIGTYPE_p_p_switch_event_node { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")] - public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")] - public static extern int switch_log_node_t_channel_get(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_event_node() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")] - public static extern IntPtr new_switch_log_node_t(); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")] - public static extern void delete_switch_log_node_t(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")] - public static extern int switch_log_init(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")] - public static extern int switch_log_shutdown(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")] - public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3); +public class SWIGTYPE_p_p_switch_frame { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")] - public static extern int switch_log_unbind_logger(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")] - public static extern string switch_log_level2str(int jarg1); + protected SWIGTYPE_p_p_switch_frame() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")] - public static extern int switch_log_str2level(string jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")] - public static extern uint switch_log_str2mask(string jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")] - public static extern int SWITCH_XML_BUFSIZE_get(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")] - public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")] - public static extern string switch_xml_name_get(HandleRef jarg1); +public class SWIGTYPE_p_p_switch_hash { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")] - public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2); + internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")] - public static extern string switch_xml_attr_get(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_hash() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")] - public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")] - public static extern string switch_xml_txt_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")] - public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")] - public static extern string switch_xml_free_path_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")] - public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_p_switch_ivr_digit_stream { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")] - public static extern IntPtr switch_xml_off_get(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")] - public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_switch_ivr_digit_stream() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")] - public static extern IntPtr switch_xml_next_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")] - public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")] - public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")] - public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")] - public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1); +public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")] - public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")] - public static extern IntPtr switch_xml_child_get(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")] - public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")] - public static extern IntPtr switch_xml_parent_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")] - public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")] - public static extern uint switch_xml_flags_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")] - public static extern IntPtr new_switch_xml(); +public class SWIGTYPE_p_p_switch_ivr_menu { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")] - public static extern void delete_switch_xml(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")] - public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_switch_ivr_menu() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")] - public static extern IntPtr switch_xml_parse_fd(int jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")] - public static extern IntPtr switch_xml_parse_file(string jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")] - public static extern IntPtr switch_xml_parse_file_simple(string jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")] - public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")] - public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")] - public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")] - public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")] - public static extern string switch_xml_attr(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")] - public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")] - public static extern IntPtr switch_xml_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")] - public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")] - public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5); +public class SWIGTYPE_p_p_switch_media_bug { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")] - public static extern void switch_xml_free(HandleRef jarg1); + internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")] - public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_p_switch_media_bug() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")] - public static extern string switch_xml_error(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")] - public static extern IntPtr switch_xml_new(string jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")] - public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")] - public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")] - public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3); +public class SWIGTYPE_p_p_switch_network_list { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")] - public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2); + internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")] - public static extern IntPtr switch_xml_cut(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_network_list() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")] - public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")] - public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")] - public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")] - public static extern int switch_xml_destroy(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")] - public static extern IntPtr switch_xml_root(); +public class SWIGTYPE_p_p_switch_rtp { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")] - public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7); + internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")] - public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); + protected SWIGTYPE_p_p_switch_rtp() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")] - public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")] - public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")] - public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")] - public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")] - public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_p_switch_xml_binding { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")] - public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")] - public static extern uint switch_xml_get_binding_sections(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_xml_binding() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")] - public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")] - public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")] - public static extern int switch_xml_unbind_search_function(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")] - public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")] - public static extern uint switch_xml_parse_section_string(string jarg1); +public class SWIGTYPE_p_p_switch_xml { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")] - public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")] - public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1); + protected SWIGTYPE_p_p_switch_xml() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")] - public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")] - public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")] - public static extern IntPtr new_switch_io_event_hook_outgoing_channel(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")] - public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")] - public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_p_void { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")] - public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1); + internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")] - public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")] - public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")] - public static extern IntPtr new_switch_io_event_hook_receive_message(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")] - public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")] - public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")] - public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1); +public class SWIGTYPE_p_real_pcre { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")] - public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")] - public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1); + protected SWIGTYPE_p_real_pcre() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")] - public static extern IntPtr new_switch_io_event_hook_receive_event(); + internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")] - public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")] - public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")] - public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")] - public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_short { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")] - public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1); + internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")] - public static extern IntPtr new_switch_io_event_hook_read_frame(); + protected SWIGTYPE_p_short() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")] - public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_short obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")] - public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")] - public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")] - public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")] - public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1); +public class SWIGTYPE_p_sockaddr { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")] - public static extern IntPtr new_switch_io_event_hook_video_read_frame(); + internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")] - public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1); + protected SWIGTYPE_p_sockaddr() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")] - public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")] - public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")] - public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")] - public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")] - public static extern IntPtr new_switch_io_event_hook_write_frame(); +public class SWIGTYPE_p_socklen_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")] - public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1); + internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")] - public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_socklen_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")] - public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")] - public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")] - public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")] - public static extern IntPtr new_switch_io_event_hook_video_write_frame(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")] - public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1); +public class SWIGTYPE_p_sqlite3 { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")] - public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")] - public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1); + protected SWIGTYPE_p_sqlite3() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")] - public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")] - public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")] - public static extern IntPtr new_switch_io_event_hook_kill_channel(); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")] - public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")] - public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_sqlite3_stmt { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")] - public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1); + internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")] - public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_sqlite3_stmt() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")] - public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")] - public static extern IntPtr new_switch_io_event_hook_send_dtmf(); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")] - public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")] - public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")] - public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_buffer { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")] - public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")] - public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_buffer() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")] - public static extern IntPtr new_switch_io_event_hook_recv_dtmf(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")] - public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")] - public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")] - public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")] - public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_call_cause_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")] - public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")] - public static extern IntPtr new_switch_io_event_hook_state_change(); + protected SWIGTYPE_p_switch_call_cause_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")] - public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")] - public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")] - public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")] - public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")] - public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_channel { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")] - public static extern IntPtr new_switch_io_event_hook_resurrect_session(); + internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")] - public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1); + protected SWIGTYPE_p_switch_channel() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")] - public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")] - public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")] - public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")] - public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")] - public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_core_port_allocator { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")] - public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")] - public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_core_port_allocator() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")] - public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")] - public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")] - public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")] - public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")] - public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_core_session { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")] - public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")] - public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_core_session() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")] - public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")] - public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")] - public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")] - public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")] - public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_event_node { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")] - public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")] - public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_event_node() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")] - public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")] - public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")] - public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")] - public static extern IntPtr new_switch_io_event_hooks(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")] - public static extern void delete_switch_io_event_hooks(HandleRef jarg1); +public class SWIGTYPE_p_switch_event_types_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")] - public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")] - public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_event_types_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")] - public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")] - public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")] - public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")] - public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")] - public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_file_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")] - public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")] - public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_file_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")] - public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")] - public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")] - public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")] - public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")] - public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_hash { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")] - public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")] - public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_hash() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")] - public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")] - public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")] - public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")] - public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")] - public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_interval_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")] - public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")] - public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_interval_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")] - public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")] - public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")] - public static extern long switch_scheduler_task_created_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")] - public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")] - public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_ivr_action_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")] - public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2); + internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")] - public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_ivr_action_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")] - public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")] - public static extern string switch_scheduler_task_group_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")] - public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")] - public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")] - public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2); +public class SWIGTYPE_p_switch_ivr_digit_stream { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")] - public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")] - public static extern IntPtr new_switch_scheduler_task(); + protected SWIGTYPE_p_switch_ivr_digit_stream() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")] - public static extern void delete_switch_scheduler_task(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")] - public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")] - public static extern uint switch_scheduler_del_task_id(uint jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")] - public static extern uint switch_scheduler_del_task_group(string jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")] - public static extern void switch_scheduler_task_thread_start(); +public class SWIGTYPE_p_switch_ivr_digit_stream_parser { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")] - public static extern void switch_scheduler_task_thread_stop(); + internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")] - public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_ivr_digit_stream_parser() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")] - public static extern IntPtr switch_config_file_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")] - public static extern void switch_config_path_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")] - public static extern string switch_config_path_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")] - public static extern void switch_config_category_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")] - public static extern string switch_config_category_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_ivr_menu_action_function_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")] - public static extern void switch_config_section_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")] - public static extern string switch_config_section_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_ivr_menu_action_function_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")] - public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")] - public static extern string switch_config_buf_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")] - public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")] - public static extern int switch_config_lineno_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")] - public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_switch_ivr_menu { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")] - public static extern int switch_config_catno_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")] - public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_switch_ivr_menu() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")] - public static extern int switch_config_sectno_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")] - public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")] - public static extern int switch_config_lockto_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")] - public static extern IntPtr new_switch_config(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")] - public static extern void delete_switch_config(HandleRef jarg1); +public class SWIGTYPE_p_switch_ivr_menu_xml_ctx { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")] - public static extern int switch_config_open_file(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")] - public static extern void switch_config_close_file(HandleRef jarg1); + protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")] - public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")] - public static extern void consoleLog(string jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")] - public static extern void consoleCleanLog(string jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")] - public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")] - public static extern void delete_IvrMenu(HandleRef jarg1); +public class SWIGTYPE_p_switch_loadable_module_interface { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")] - public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4); + internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")] - public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3); + protected SWIGTYPE_p_switch_loadable_module_interface() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_Api")] - public static extern IntPtr new_Api(); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")] - public static extern void delete_Api(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")] - public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")] - public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")] - public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_media_bug { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")] - public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")] - public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2); + protected SWIGTYPE_p_switch_media_bug() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")] - public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")] - public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")] - public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")] - public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")] - public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_mutex_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")] - public static extern IntPtr new_input_callback_state_t(); + internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")] - public static extern void delete_input_callback_state_t(HandleRef jarg1); + protected SWIGTYPE_p_switch_mutex_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")] - public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")] - public static extern char DTMF_digit_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")] - public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")] - public static extern uint DTMF_duration_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")] - public static extern IntPtr new_DTMF(char jarg1, uint jarg2); +public class SWIGTYPE_p_switch_network_list { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")] - public static extern void delete_DTMF(HandleRef jarg1); + internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")] - public static extern IntPtr new_Stream__SWIG_0(); + protected SWIGTYPE_p_switch_network_list() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")] - public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")] - public static extern void delete_Stream(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")] - public static extern void Stream_Write(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")] - public static extern string Stream_get_data(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")] - public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_pollfd_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")] - public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")] - public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_pollfd_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")] - public static extern string Event_serialized_string_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")] - public static extern void Event_mine_set(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")] - public static extern int Event_mine_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")] - public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")] - public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2); +public class SWIGTYPE_p_switch_queue_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")] - public static extern void delete_Event(HandleRef jarg1); + internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")] - public static extern string Event_Serialize(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_queue_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")] - public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")] - public static extern string Event_GetHeader(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")] - public static extern string Event_GetBody(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")] - public static extern string Event_GetEventType(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")] - public static extern bool Event_AddBody(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_switch_rtp { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")] - public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3); + internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")] - public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_rtp() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")] - public static extern bool Event_Fire(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")] - public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")] - public static extern IntPtr EventConsumer_events_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")] - public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")] - public static extern int EventConsumer_e_event_id_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_size_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")] - public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")] - public static extern IntPtr EventConsumer_node_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_size_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")] - public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")] - public static extern string EventConsumer_e_callback_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")] - public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")] - public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")] - public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2); +public class SWIGTYPE_p_switch_sockaddr_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")] - public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")] - public static extern IntPtr new_EventConsumer(string jarg1, string jarg2); + protected SWIGTYPE_p_switch_sockaddr_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")] - public static extern void delete_EventConsumer(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")] - public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")] - public static extern void delete_CoreSession(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")] - public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")] - public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_socket_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")] - public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2); + internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")] - public static extern IntPtr CoreSession_channel_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_socket_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")] - public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")] - public static extern uint CoreSession_flags_get(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")] - public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")] - public static extern int CoreSession_allocated_get(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")] - public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_switch_ssize_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")] - public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1); + internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")] - public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2); + protected SWIGTYPE_p_switch_ssize_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")] - public static extern int CoreSession_HookState_get(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")] - public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")] - public static extern string CoreSession_uuid_get(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")] - public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")] - public static extern string CoreSession_tts_name_get(HandleRef jarg1); +public class SWIGTYPE_p_switch_thread_rwlock_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")] - public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")] - public static extern string CoreSession_voice_name_get(HandleRef jarg1); + protected SWIGTYPE_p_switch_thread_rwlock_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")] - public static extern int CoreSession_Answer(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")] - public static extern int CoreSession_preAnswer(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")] - public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")] - public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")] - public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3); +public class SWIGTYPE_p_switch_time_exp_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")] - public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2); + internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")] - public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_time_exp_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")] - public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")] - public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")] - public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")] - public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")] - public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4); +public class SWIGTYPE_p_switch_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")] - public static extern void CoreSession_destroy(HandleRef jarg1); + internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")] - public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2); + protected SWIGTYPE_p_switch_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")] - public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")] - public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")] - public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")] - public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")] - public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4); +public class SWIGTYPE_p_switch_xml_binding { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")] - public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6); + internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")] - public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10); + protected SWIGTYPE_p_switch_xml_binding() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")] - public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3); + internal static HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")] - public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")] - public static extern int CoreSession_flushEvents(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")] - public static extern int CoreSession_flushDigits(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")] - public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2); +public class SWIGTYPE_p_time_t { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")] - public static extern bool CoreSession_Ready(HandleRef jarg1); + internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")] - public static extern bool CoreSession_answered(HandleRef jarg1); + protected SWIGTYPE_p_time_t() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")] - public static extern bool CoreSession_mediaReady(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")] - public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")] - public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")] - public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")] - public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2); +public class SWIGTYPE_p_unsigned_char { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")] - public static extern string CoreSession_getXMLCDR(HandleRef jarg1); + internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")] - public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1); + protected SWIGTYPE_p_unsigned_char() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")] - public static extern bool CoreSession_end_allow_threads(HandleRef jarg1); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")] - public static extern string CoreSession_GetUuid(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")] - public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")] - public static extern void CoreSession_check_hangup_hook(HandleRef jarg1); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_console_log")] - public static extern void console_log(string jarg1, string jarg2); +public class SWIGTYPE_p_unsigned_int { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")] - public static extern void console_clean_log(string jarg1); + internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_msleep")] - public static extern void msleep(uint jarg1); + protected SWIGTYPE_p_unsigned_int() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_bridge")] - public static extern void bridge(HandleRef jarg1, HandleRef jarg2); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } +} - [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")] - public static extern int hanguphook(HandleRef jarg1); +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ - [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")] - public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5); +namespace FreeSWITCH.Native { - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")] - public static extern IntPtr new_ManagedSession__SWIG_0(); +using System; +using System.Runtime.InteropServices; - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")] - public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1); +public class SWIGTYPE_p_unsigned_long { + private HandleRef swigCPtr; - [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")] - public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1); + internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } - [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")] - public static extern void delete_ManagedSession(HandleRef jarg1); + protected SWIGTYPE_p_unsigned_long() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } - [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")] - public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef); + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } } } @@ -15267,80 +15326,20 @@ using System; using System.Runtime.InteropServices; -public class input_callback_state_t : IDisposable { +public class SWIGTYPE_p_unsigned_short { private HandleRef swigCPtr; - protected bool swigCMemOwn; - internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; + internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) { swigCPtr = new HandleRef(this, cPtr); } - internal static HandleRef getCPtr(input_callback_state_t obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~input_callback_state_t() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public SWIGTYPE_p_void function { - set { - freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } - - public SWIGTYPE_p_void threadState { - set { - freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } - - public SWIGTYPE_p_void extra { - set { - freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr); - SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false); - return ret; - } - } - - public string funcargs { - set { - freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr); - return ret; - } + protected SWIGTYPE_p_unsigned_short() { + swigCPtr = new HandleRef(null, IntPtr.Zero); } - public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) { + internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } - } } @@ -15354,10 +15353,23 @@ namespace FreeSWITCH.Native { -[System.Flags] public enum session_flag_t { - S_HUP = (1 << 0), - S_FREE = (1 << 1), - S_RDLOCK = (1 << 2) +using System; +using System.Runtime.InteropServices; + +public class SWIGTYPE_p_void { + private HandleRef swigCPtr; + + internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) { + swigCPtr = new HandleRef(this, cPtr); + } + + protected SWIGTYPE_p_void() { + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + + internal static HandleRef getCPtr(SWIGTYPE_p_void obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } } } @@ -15534,84 +15546,6 @@ namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; - -public class switch_app_log : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_app_log obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_app_log() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_app_log(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public string app { - set { - freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr); - return ret; - } - } - - public string arg { - set { - freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value); - } - get { - string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr); - return ret; - } - } - - public switch_app_log next { - set { - freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr); - switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); - return ret; - } - } - - public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - [System.Flags] public enum switch_application_flag_enum_t { SAF_NONE = 0, SAF_SUPPORT_NOMEDIA = (1 << 0) @@ -15741,40 +15675,118 @@ } } - public SWIGTYPE_p_switch_mutex_t reflock { + public SWIGTYPE_p_switch_mutex_t reflock { + set { + freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr); + SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false); + return ret; + } + } + + public SWIGTYPE_p_switch_loadable_module_interface parent { + set { + freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr); + SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); + return ret; + } + } + + public switch_application_interface next { + set { + freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr); + switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false); + return ret; + } + } + + public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class switch_app_log : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_app_log obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_app_log() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_app_log(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public string app { set { - freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value)); + freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr); - SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false); + string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr); return ret; } } - public SWIGTYPE_p_switch_loadable_module_interface parent { + public string arg { set { - freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value)); + freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr); - SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false); + string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr); return ret; } } - public switch_application_interface next { + public switch_app_log next { set { - freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value)); + freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr); - switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr); + switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false); return ret; } } - public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) { + public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) { } } @@ -21463,98 +21475,277 @@ } } - public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf { + public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf { + set { + freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr); + SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_recv_dtmf next { + set { + freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr); + switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class switch_io_event_hook_resurrect_session : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_io_event_hook_resurrect_session() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session { + set { + freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr); + SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_resurrect_session next { + set { + freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr); + switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) { + } + +} + +} +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.35 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace FreeSWITCH.Native { + +using System; +using System.Runtime.InteropServices; + +public class switch_io_event_hooks : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(switch_io_event_hooks obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~switch_io_event_hooks() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { + swigCMemOwn = false; + freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + GC.SuppressFinalize(this); + } + } + + public switch_io_event_hook_outgoing_channel outgoing_channel { + set { + freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr); + switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_receive_message receive_message { + set { + freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr); + switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_receive_event receive_event { + set { + freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr); + switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_read_frame read_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr); + switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_video_read_frame video_read_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr); + switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_write_frame write_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr); + switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_video_write_frame video_write_frame { + set { + freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr); + switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_kill_channel kill_channel { + set { + freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value)); + } + get { + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr); + switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false); + return ret; + } + } + + public switch_io_event_hook_send_dtmf send_dtmf { set { - freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr); - SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr); + switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false); return ret; } } - public switch_io_event_hook_recv_dtmf next { + public switch_io_event_hook_recv_dtmf recv_dtmf { set { - freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr); switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); return ret; } } - public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - -using System; -using System.Runtime.InteropServices; - -public class switch_io_event_hook_resurrect_session : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_io_event_hook_resurrect_session() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session { + public switch_io_event_hook_state_change state_change { set { - freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr); - SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr); + switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false); return ret; } } - public switch_io_event_hook_resurrect_session next { + public switch_io_event_hook_resurrect_session resurrect_session { set { - freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); + freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); } get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr); + IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr); switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); return ret; } } - public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) { + public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) { } } @@ -21915,185 +22106,6 @@ namespace FreeSWITCH.Native { -using System; -using System.Runtime.InteropServices; - -public class switch_io_event_hooks : IDisposable { - private HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = new HandleRef(this, cPtr); - } - - internal static HandleRef getCPtr(switch_io_event_hooks obj) { - return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; - } - - ~switch_io_event_hooks() { - Dispose(); - } - - public virtual void Dispose() { - lock(this) { - if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { - swigCMemOwn = false; - freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr); - } - swigCPtr = new HandleRef(null, IntPtr.Zero); - GC.SuppressFinalize(this); - } - } - - public switch_io_event_hook_outgoing_channel outgoing_channel { - set { - freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr); - switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_receive_message receive_message { - set { - freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr); - switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_receive_event receive_event { - set { - freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr); - switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_read_frame read_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr); - switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_video_read_frame video_read_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr); - switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_write_frame write_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr); - switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_video_write_frame video_write_frame { - set { - freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr); - switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_kill_channel kill_channel { - set { - freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr); - switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_send_dtmf send_dtmf { - set { - freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr); - switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_recv_dtmf recv_dtmf { - set { - freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr); - switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_state_change state_change { - set { - freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr); - switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false); - return ret; - } - } - - public switch_io_event_hook_resurrect_session resurrect_session { - set { - freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr); - switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false); - return ret; - } - } - - public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) { - } - -} - -} -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.35 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -namespace FreeSWITCH.Native { - [System.Flags] public enum switch_io_flag_enum_t { SWITCH_IO_FLAG_NONE = 0, SWITCH_IO_FLAG_NOBLOCK = (1 << 0) Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp Tue Feb 10 14:21:19 2009 @@ -11483,17 +11483,17 @@ SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) "freeswitch::IVRMenu"); SWIG_TypeClientData(SWIGTYPE_p_API, (void*) "freeswitch::API"); SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) "freeswitch::input_callback_state_t"); - /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_HUP", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_HUP))); SvREADONLY_on(sv); } while(0) /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_FREE", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_FREE))); SvREADONLY_on(sv); } while(0) /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { + /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do { SV *sv = get_sv((char*) SWIG_prefix "S_RDLOCK", TRUE | 0x2 | GV_ADDMULTI); sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_RDLOCK))); SvREADONLY_on(sv); From gmaruzz at freeswitch.org Tue Feb 10 13:30:06 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 15:30:06 -0600 Subject: [Freeswitch-svn] [commit] r11733 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Tue Feb 10 15:30:05 2009 New Revision: 11733 Log: skypiax: better sounding by keeping busy with zeros the skype accepting socket when we would not send packets. No more scratches going from one word to another in IVRs Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Tue Feb 10 15:30:05 2009 @@ -474,7 +474,6 @@ } } else if (len == 0) { - DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG); skypiax_sleep(1000); } else { ERRORA("len=%d\n", SKYPIAX_P_LOG, len); @@ -507,7 +506,7 @@ break; } - DEBUGA_SKYPE("incoming audio server (I am it) GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("incoming audio server (I am it) EXITING\n", SKYPIAX_P_LOG); skypiax_close_socket(s); return NULL; } @@ -614,8 +613,9 @@ ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); } - /* send the 16khz frame to the Skype client waiting for incoming audio */ + /* send the 16khz frame to the Skype client waiting for incoming audio to be sent to the remote party*/ len = send(fd, (char *) cli_out, got, 0); + skypiax_sleep(5000); //5 msec if (len == -1) { break; @@ -631,11 +631,12 @@ (int)(SAMPLES_PER_FRAME * sizeof(short))); } } else { - //if (rt) + if (rt) ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt); memset(cli_out, 0, sizeof(cli_out)); len = send(fd, (char *) cli_out, sizeof(cli_out), 0); - //skypiax_sleep(10000); + len = send(fd, (char *) cli_out, sizeof(cli_out)/2, 0); + DEBUGA_SKYPE("sent %d of zeros to keep the Skype client socket busy\n", SKYPIAX_P_LOG, sizeof(cli_out) + sizeof(cli_out)/2); } } @@ -644,7 +645,7 @@ break; } - DEBUGA_SKYPE("outbound audio server (I am it) GONE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("outbound audio server (I am it) EXITING\n", SKYPIAX_P_LOG); skypiax_close_socket(s); return NULL; } From mrene at freeswitch.org Tue Feb 10 14:00:39 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 16:00:39 -0600 Subject: [Freeswitch-svn] [commit] r11734 - freeswitch/trunk/src/mod/applications/mod_fax Message-ID: Author: mrene Date: Tue Feb 10 16:00:39 2009 New Revision: 11734 Log: Dont hangup after sending/receiving faxes Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Tue Feb 10 16:00:39 2009 @@ -88,6 +88,8 @@ int tx_page_start; int tx_page_end; + + int done; /* UNUSED AT THE MOMENT int enable_t38_reinvite; @@ -246,7 +248,9 @@ switch_safe_free(tmp); } -switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + /* switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); */ + + pvt->done = 1; /* TODO Fire events @@ -628,7 +632,7 @@ /* read new audio frame from the channel */ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - if (!SWITCH_READ_ACCEPTABLE(status)) { + if (!SWITCH_READ_ACCEPTABLE(status) || pvt->done) { /* Our duty is over */ goto done; } From mcollins at freeswitch.org Tue Feb 10 14:44:07 2009 From: mcollins at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 16:44:07 -0600 Subject: [Freeswitch-svn] [commit] r11735 - freeswitch/trunk/conf/lang/en/demo Message-ID: Author: mcollins Date: Tue Feb 10 16:44:07 2009 New Revision: 11735 Log: Remove sleep(250) and add pause=250 for demo IVR Modified: freeswitch/trunk/conf/lang/en/demo/demo-ivr.xml Modified: freeswitch/trunk/conf/lang/en/demo/demo-ivr.xml ============================================================================== --- freeswitch/trunk/conf/lang/en/demo/demo-ivr.xml (original) +++ freeswitch/trunk/conf/lang/en/demo/demo-ivr.xml Tue Feb 10 16:44:07 2009 @@ -5,64 +5,57 @@ - - - + + + - + - - - + - - + - - + - - + - - + - + - + - @@ -73,48 +66,42 @@ - + - - + - - + - - + - - + - - + - @@ -128,16 +115,14 @@ - - + - - + @@ -149,11 +134,10 @@ - - + From anthm at freeswitch.org Tue Feb 10 14:57:54 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 16:57:54 -0600 Subject: [Freeswitch-svn] [commit] r11736 - freeswitch/trunk/build Message-ID: Author: anthm Date: Tue Feb 10 16:57:54 2009 New Revision: 11736 Log: tweak turbobuild.sh Modified: freeswitch/trunk/build/turbo_build.sh Modified: freeswitch/trunk/build/turbo_build.sh ============================================================================== --- freeswitch/trunk/build/turbo_build.sh (original) +++ freeswitch/trunk/build/turbo_build.sh Tue Feb 10 16:57:54 2009 @@ -1,12 +1,19 @@ arg=$1 ; shift +prefix=`cat config.log | grep ^prefix=\' | awk -F \' '{print $2}'` +if [ -z $prefix ] ; then + prefix="/usr/local/freeswitch" +fi +unset VERBOSE switch_srcdir=`pwd` if [ -z $MAKE ] ; then MAKE=make fi if [ -z $arg ] ; then - $MAKE clean - $MAKE -j freeswitch + echo "Cleaning tree...." + $MAKE clean modwipe 2>&1 > /dev/null + echo "Building core...." + $MAKE -j freeswitch 2>&1 > /dev/null MODS=`cat modules.conf | grep -v \#` for i in $MODS ; do MOD_NAME=`echo $i | sed -e 's|^.*/||'` @@ -14,6 +21,7 @@ touch /tmp/$MOD_NAME.tmp $0 $MOD_NAME $MOD_DIR done + echo "Building mods...." while [ 1 = 1 ] ; do x=0 for i in $MODS ; do @@ -23,7 +31,10 @@ done if [ $x = 0 ] ; then echo Build finished. Making install - $MAKE install + $MAKE install_core 2>&1 > /dev/null + mods=`find src/mod -name \*.so | grep .libs` + /bin/cp -fp $mods $prefix/mod + echo installed core and $mods exit; fi sleep 1 @@ -41,14 +52,14 @@ MOD_NAME=$1 ; shift MOD_DIR=$1 ; shift -echo "Making module in $MOD_NAME" +#echo "Making module in $MOD_NAME..." if [ -f $MOD_DIR/Makefile ] ; then - cd $MOD_DIR && BASE=$switch_srcdir $MAKE -j + cd $MOD_DIR && BASE=$switch_srcdir $MAKE -j 2>&1 > /dev/null else - cd $MOD_DIR && BASE=$switch_srcdir $MAKE -j -f $switch_srcdir/build/modmake.rules + cd $MOD_DIR && BASE=$switch_srcdir $MAKE -j -f $switch_srcdir/build/modmake.rules 2>&1 > /dev/null fi -echo "Finished making module in $MOD_NAME" +#echo "Finished making module in $MOD_NAME" sleep 1 rm /tmp/$MOD_NAME.tmp From gmaruzz at freeswitch.org Tue Feb 10 15:46:42 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 17:46:42 -0600 Subject: [Freeswitch-svn] [commit] r11737 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Tue Feb 10 17:46:42 2009 New Revision: 11737 Log: skypiax: * wait for all interfaces to be connected to Skype client AND identified the correct client on cygwin Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Tue Feb 10 17:46:42 2009 @@ -783,6 +783,7 @@ struct ast_config *cfg; struct skypiax_pvt *tmp; struct skypiax_pvt *p = NULL; + struct skypiax_pvt *p2 = NULL; #ifdef ASTERISK_VERSION_1_6 struct ast_flags config_flags = { 0 }; #endif /* ASTERISK_VERSION_1_6 */ @@ -857,6 +858,28 @@ ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG); return -1; } + /* go through the interfaces list (skypiax_iflist) WITHOUT locking */ + p = skypiax_iflist; + while (p) { + int i; + /* for each interface in list */ + p2 = p->next; + NOTICA("STARTING interface %s, please be patient\n", SKYPIAX_P_LOG, p->name); + i=0; + while (p->SkypiaxHandles.api_connected == 0 && running && i < 60000) { // 60sec FIXME + usleep(1000); + i++; + } + if (p->SkypiaxHandles.api_connected){ + NOTICA("Interface %s is now STARTED\n", SKYPIAX_P_LOG, p->name); + } else { + ERRORA("Interface %s FAILED to start\n", SKYPIAX_P_LOG, p->name); + running = 0; + return -1; + } + /* next one, please */ + p = p2; + } return 0; } @@ -1832,7 +1855,6 @@ #endif - NOTICA("Here\n", SKYPIAX_P_LOG); return 0; } int outbound_channel_answered(private_t *p) { Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Tue Feb 10 17:46:42 2009 @@ -82,7 +82,7 @@ WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message); } if (!strcasecmp(message, "ERROR")) { - WARNINGA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); + DEBUGA_SKYPE("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message); tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); tech_pvt->skype_call_id[0] = '\0'; @@ -1062,7 +1062,7 @@ (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle; - while (1) { + while (running) { MSG oMessage; if (!running) break; From anthm at freeswitch.org Tue Feb 10 16:16:36 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 18:16:36 -0600 Subject: [Freeswitch-svn] [commit] r11738 - in freeswitch/trunk: build libs/libteletone/src src Message-ID: Author: anthm Date: Tue Feb 10 18:16:36 2009 New Revision: 11738 Log: clean up tone_detect Modified: freeswitch/trunk/build/turbo_build.sh freeswitch/trunk/libs/libteletone/src/libteletone_detect.c freeswitch/trunk/src/switch_ivr_async.c freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/build/turbo_build.sh ============================================================================== --- freeswitch/trunk/build/turbo_build.sh (original) +++ freeswitch/trunk/build/turbo_build.sh Tue Feb 10 18:16:36 2009 @@ -34,6 +34,7 @@ $MAKE install_core 2>&1 > /dev/null mods=`find src/mod -name \*.so | grep .libs` /bin/cp -fp $mods $prefix/mod + mods=`find $prefix/mod -name \*.so` echo installed core and $mods exit; fi Modified: freeswitch/trunk/libs/libteletone/src/libteletone_detect.c ============================================================================== --- freeswitch/trunk/libs/libteletone/src/libteletone_detect.c (original) +++ freeswitch/trunk/libs/libteletone/src/libteletone_detect.c Tue Feb 10 18:16:36 2009 @@ -174,10 +174,16 @@ float theta = 0; int x = 0; - if(!mt->min_samples) { + if (!mt->sample_rate) { + mt->sample_rate = 8000; + } + + if (!mt->min_samples) { mt->min_samples = 102; } + mt->min_samples *= (mt->sample_rate / 8000); + if (!mt->positive_factor) { mt->positive_factor = 2; } @@ -190,10 +196,6 @@ mt->hit_factor = 2; } - if (!mt->sample_rate) { - mt->sample_rate = 8000; - } - for(x = 0; x < TELETONE_MAX_TONES; x++) { if ((int) map->freqs[x] == 0) { break; Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Tue Feb 10 18:16:36 2009 @@ -1228,6 +1228,7 @@ int index; switch_media_bug_t *bug; switch_core_session_t *session; + int bug_running; } switch_tone_container_t; static switch_bool_t tone_detect_callback(switch_media_bug_t *bug, void *user_data, switch_abc_type_t type) @@ -1239,6 +1240,9 @@ switch (type) { case SWITCH_ABC_TYPE_INIT: + if (cont) { + cont->bug_running = 1; + } break; case SWITCH_ABC_TYPE_CLOSE: break; @@ -1252,9 +1256,7 @@ } else { frame = switch_core_media_bug_get_write_replace_frame(bug); } - - - + for (i = 0; i < cont->index; i++) { if (cont->list[i].sleep) { @@ -1274,9 +1276,9 @@ } if (!cont->list[i].up) skip = 1; - - if (skip) return SWITCH_TRUE; + if (skip) return SWITCH_TRUE; + if (teletone_multi_tone_detect(&cont->list[i].mt, frame->data, frame->samples)) { switch_event_t *event; cont->list[i].hits++; @@ -1289,12 +1291,15 @@ if (cont->list[i].hits >= cont->list[i].total_hits) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "TONE %s DETECTED\n", cont->list[i].key); cont->list[i].up = 0; - if (cont->list[i].once) { - rval = SWITCH_FALSE; - } - + if (cont->list[i].callback) { - rval = cont->list[i].callback(cont->session, cont->list[i].app, cont->list[i].data); + if ((rval = cont->list[i].callback(cont->session, cont->list[i].app, cont->list[i].data)) == SWITCH_TRUE) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Re-enabling %s\n", cont->list[i].key); + cont->list[i].up = 1; + cont->list[i].hits = 0; + cont->list[i].sleep = 0; + cont->list[i].expires = 0; + } } else if (cont->list[i].app) { if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) { switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute"); @@ -1305,6 +1310,10 @@ } } + if (cont->list[i].once) { + rval = SWITCH_FALSE; + } + if (switch_event_create(&event, SWITCH_EVENT_DETECTED_TONE) == SWITCH_STATUS_SUCCESS) { switch_event_t *dup; switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Detected-Tone", cont->list[i].key); @@ -1328,6 +1337,11 @@ default: break; } + + if (rval == SWITCH_FALSE) { + cont->bug_running = 0; + } + return rval; } @@ -1335,9 +1349,13 @@ { switch_channel_t *channel = switch_core_session_get_channel(session); switch_tone_container_t *cont = switch_channel_get_private(channel, "_tone_detect_"); + int i = 0; if (cont) { switch_channel_set_private(channel, "_tone_detect_", NULL); + for (i = 0; i < cont->index; i++) { + cont->list[i].up = 0; + } switch_core_media_bug_remove(session, &cont->bug); return SWITCH_STATUS_SUCCESS; } @@ -1347,7 +1365,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_tone_detect_session(switch_core_session_t *session, const char *key, const char *tone_spec, const char *flags, time_t timeout, - int hits, const char *app, const char *data, + int hits, + const char *app, const char *data, switch_tone_detect_callback_t callback) { switch_channel_t *channel = switch_core_session_get_channel(session); @@ -1360,7 +1379,7 @@ switch_codec_implementation_t read_impl = {0}; switch_core_session_get_read_impl(session, &read_impl); - + if (switch_strlen_zero(key)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No Key Specified!\n"); return SWITCH_STATUS_FALSE; @@ -1373,9 +1392,9 @@ } for (i = 0; i < cont->index; i++) { - if (!switch_strlen_zero(cont->list[cont->index].key) && !strcasecmp(key, cont->list[cont->index].key)) { + if (!switch_strlen_zero(cont->list[i].key) && !strcasecmp(key, cont->list[i].key)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Re-enabling %s\n", key); - cont->list[cont->index].up = 1; + cont->list[i].up = 1; cont->list[i].hits = 0; cont->list[i].sleep = 0; cont->list[i].expires = 0; @@ -1436,6 +1455,7 @@ cont->list[cont->index].total_hits = hits; cont->list[cont->index].up = 1; + memset(&cont->list[cont->index].mt, 0, sizeof(cont->list[cont->index].mt)); cont->list[cont->index].mt.sample_rate = read_impl.actual_samples_per_second; teletone_multi_tone_init(&cont->list[cont->index].mt, &cont->list[cont->index].map); cont->session = session; @@ -1468,7 +1488,7 @@ if (strchr(flags, 'o')) { cont->list[cont->index].once = 1; } - + if (strchr(flags, 'r')) { bflags |= SMBF_READ_REPLACE; } else if (strchr(flags, 'w')) { @@ -1476,11 +1496,18 @@ } } - if ((status = switch_core_media_bug_add(session, tone_detect_callback, cont, timeout, bflags, &cont->bug)) != SWITCH_STATUS_SUCCESS) { - return status; + if (cont->bug_running) { + status = SWITCH_STATUS_SUCCESS; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s bug already running\n", switch_channel_get_name(channel)); + } else { + cont->bug_running = 1; + if ((status = switch_core_media_bug_add(session, tone_detect_callback, cont, timeout, bflags, &cont->bug)) != SWITCH_STATUS_SUCCESS) { + cont->bug_running = 0; + return status; + } + switch_channel_set_private(channel, "_tone_detect_", cont); } - switch_channel_set_private(channel, "_tone_detect_", cont); cont->index++; return SWITCH_STATUS_SUCCESS; Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Tue Feb 10 18:16:36 2009 @@ -101,6 +101,8 @@ uint8_t progress; uint8_t return_ring_ready; uint8_t monitor_early_media_ring; + uint8_t monitor_early_media_ring_total; + uint8_t monitor_early_media_ring_count; uint8_t monitor_early_media_fail; uint8_t gen_ringback; uint8_t ignore_early_media; @@ -264,9 +266,14 @@ bd = "monitor_early_media_ring"; } switch_channel_set_variable(channel, "originate_disposition", bd); - + if (oglobals) { - + if (oglobals->monitor_early_media_ring_total && ++oglobals->monitor_early_media_ring_count < oglobals->monitor_early_media_ring_total) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ring %d/%d\n", + oglobals->monitor_early_media_ring_count, oglobals->monitor_early_media_ring_total); + return SWITCH_TRUE; + } + switch_channel_set_private(channel, "_oglobals_", NULL); if (!oglobals->progress) { @@ -296,6 +303,7 @@ int pindex = -1; oglobals->hups = 0; oglobals->idx = IDX_NADA; + char bug_key[256] = ""; if (oglobals->session) { caller_channel = switch_core_session_get_channel(oglobals->session); @@ -304,7 +312,7 @@ for (i = 0; i < len; i++) { switch_channel_state_t state; - if (!originate_status[i].peer_channel) { + if (!(originate_status[i].peer_channel && originate_status[i].peer_session)) { continue; } @@ -332,7 +340,8 @@ int fail_count = 0; char *fail_data = strdup(var); int fx; - + int y = 0; + switch_assert(fail_data); fail_count = switch_separate_string(fail_data, '!', fail_array, (sizeof(fail_array) / sizeof(fail_array[0]))); @@ -375,10 +384,13 @@ *q = ','; } } - + switch_snprintf(bug_key, sizeof(bug_key), "monitor_early_media_fail_%d", ++y); switch_ivr_tone_detect_session(originate_status[i].peer_session, - "monitor_early_media_fail", - p, "r", 0, hits, "fail", cause, monitor_callback); + bug_key, + p, "r", 0, + hits, + "fail", + cause, monitor_callback); } @@ -389,12 +401,14 @@ if (oglobals->monitor_early_media_ring) { const char *var = switch_channel_get_variable(originate_status[i].peer_channel, "monitor_early_media_ring"); + const char *var_total = switch_channel_get_variable(originate_status[i].peer_channel, "monitor_early_media_ring_total"); if (!switch_strlen_zero(var)) { char *ring_array[128] = {0}; int ring_count = 0; char *ring_data = strdup(var); int fx; - + int y = 0; + switch_assert(ring_data); ring_count = switch_separate_string(ring_data, '!', ring_array, (sizeof(ring_array) / sizeof(ring_array[0]))); @@ -429,12 +443,22 @@ } switch_channel_set_private(originate_status[i].peer_channel, "_oglobals_", oglobals); + switch_snprintf(bug_key, sizeof(bug_key), "monitor_early_media_ring_%d", ++y); switch_ivr_tone_detect_session(originate_status[i].peer_session, - "monitor_early_media_ring", + bug_key, p, "r", 0, hits, "ring", NULL, monitor_callback); } + if (var_total) { + int tmp = atoi(var_total); + if (tmp > 0 && tmp < 100) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s setting ring total to %d\n", + switch_channel_get_name(originate_status[i].peer_channel), tmp); + oglobals->monitor_early_media_ring_total = tmp; + } + } + switch_safe_free(ring_data); } @@ -992,6 +1016,8 @@ ok = 1; } else if (!strcasecmp((char *) hi->name, "monitor_early_media_ring")) { ok = 1; + } else if (!strcasecmp((char *) hi->name, "monitor_early_media_ring_total")) { + ok = 1; } else if (!strcasecmp((char *) hi->name, "monitor_early_media_fail")) { ok = 1; } else if (!strcasecmp((char *) hi->name, "return_ring_ready")) { @@ -1269,7 +1295,7 @@ char *vdata; end = NULL; chan_type = peer_names[i]; - + while (chan_type && *chan_type && *chan_type == ' ') { chan_type++; } From rupa at freeswitch.org Tue Feb 10 16:18:50 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 18:18:50 -0600 Subject: [Freeswitch-svn] [commit] r11739 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 10 18:18:50 2009 New Revision: 11739 Log: support custom SQL for lcr queries Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 10 18:18:50 2009 @@ -47,6 +47,7 @@ #define LCR_PREFIX_PLACE 7 #define LCR_SUFFIX_PLACE 8 +#define LCR_QUERY_COLS 9 #define LCR_DIALSTRING_PLACE 3 #define LCR_HEADERS_COUNT 4 @@ -105,6 +106,7 @@ char *name; uint16_t id; char *order_by; + char *custom_sql; }; typedef struct profile_obj profile_t; @@ -235,6 +237,25 @@ return SWITCH_FALSE; } +static switch_bool_t test_lcr_sql(const char *sql) +{ + char * tsql; + tsql = switch_mprintf(sql, "5555551212"); + switch_bool_t retval; + + if (globals.odbc_dsn) { + if(switch_odbc_handle_exec(globals.master_odbc, tsql, NULL) + == SWITCH_ODBC_SUCCESS) { + retval = SWITCH_TRUE; + } else { + retval = SWITCH_FALSE; + } + } + + switch_safe_free(tsql); + return retval; +} + /* make a new string with digits only */ static char *string_digitsonly(switch_memory_pool_t *pool, const char *str) { @@ -284,6 +305,14 @@ switch_memory_pool_t *pool = cbt->pool; cbt->matches++; + + if(argc != LCR_QUERY_COLS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, + "Unexpected number of columns returned for SQL. Returned columns are: %d. " + "If using a custom sql for this profile, verify it is correct. Otherwise file a bug report.\n", + argc); + return SWITCH_STATUS_GENERR; + } if (switch_strlen_zero(argv[LCR_GW_PREFIX_PLACE]) && switch_strlen_zero(argv[LCR_GW_SUFFIX_PLACE]) ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, @@ -342,7 +371,8 @@ profile_t *profile; switch_bool_t lookup_status; - if (switch_strlen_zero(digits)) { + digits_copy = string_digitsonly(cb_struct->pool, digits); + if (switch_strlen_zero(digits_copy)) { return SWITCH_FALSE; } @@ -358,24 +388,30 @@ SWITCH_STANDARD_STREAM(sql_stream); /* set up the query to be executed */ - sql_stream.write_function(&sql_stream, - "SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix " - ); - sql_stream.write_function(&sql_stream, "FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits IN ("); - digits_copy = string_digitsonly(cb_struct->pool, digits); - for (n = digit_len; n > 0; n--) { - digits_copy[n] = '\0'; - sql_stream.write_function(&sql_stream, "%s%s", (n==digit_len ? "" : ", "), digits_copy); - } - sql_stream.write_function(&sql_stream, ") AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end "); - if(profile->id > 0) { - sql_stream.write_function(&sql_stream, "AND lcr_profile=%d ", profile->id); - } - sql_stream.write_function(&sql_stream, "ORDER BY digits DESC%s", profile->order_by); - if(db_random) { - sql_stream.write_function(&sql_stream, ", %s", db_random); + if(switch_strlen_zero(profile->custom_sql)) { + sql_stream.write_function(&sql_stream, + "SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix " + ); + sql_stream.write_function(&sql_stream, "FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits IN ("); + for (n = digit_len; n > 0; n--) { + digits_copy[n] = '\0'; + sql_stream.write_function(&sql_stream, "%s%s", (n==digit_len ? "" : ", "), digits_copy); + } + sql_stream.write_function(&sql_stream, ") AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end "); + if(profile->id > 0) { + sql_stream.write_function(&sql_stream, "AND lcr_profile=%d ", profile->id); + } + sql_stream.write_function(&sql_stream, "ORDER BY digits DESC%s", profile->order_by); + if(db_random) { + sql_stream.write_function(&sql_stream, ", %s", db_random); + } + sql_stream.write_function(&sql_stream, ";"); + } else { + char *safe_sql; + safe_sql = switch_mprintf(profile->custom_sql, digits_copy); + sql_stream.write_function(&sql_stream, safe_sql); + switch_safe_free(safe_sql); } - sql_stream.write_function(&sql_stream, ";"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s\n", (char *)sql_stream.data); @@ -422,8 +458,27 @@ } } + /* initialize sql here, 'cause we need to verify custom_sql for each profile below */ + if (globals.odbc_dsn) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO + , "dsn is \"%s\", user is \"%s\", and password is \"%s\"\n" + , globals.odbc_dsn, odbc_user, odbc_pass + ); + if (!(globals.master_odbc = switch_odbc_handle_new(globals.odbc_dsn, odbc_user, odbc_pass))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open ODBC Database!\n"); + status = SWITCH_STATUS_FALSE; + goto done; + } + if (switch_odbc_handle_connect(globals.master_odbc) != SWITCH_ODBC_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open ODBC Database!\n"); + status = SWITCH_STATUS_FALSE; + goto done; + } + } + /* define default profile */ profile = switch_core_alloc(globals.pool, sizeof(*profile)); + memset(profile, 0, sizeof(profile_t)); profile->name = "global_default"; profile->order_by = ", rate"; globals.default_profile = profile; @@ -434,6 +489,7 @@ char *name = (char *) switch_xml_attr_soft(x_profile, "name"); switch_stream_handle_t order_by = { 0 }; char *id_s = NULL; + char *custom_sql = NULL; int argc, x = 0; char *argv[4] = { 0 }; @@ -472,6 +528,8 @@ } } else if (!strcasecmp(var, "id") && !switch_strlen_zero(val)) { id_s = val; + } else if (!strcasecmp(var, "custom_sql") && !switch_strlen_zero(val)) { + custom_sql = val; } } @@ -479,6 +537,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No name specified.\n"); } else { profile = switch_core_alloc(globals.pool, sizeof(*profile)); + memset(profile, 0, sizeof(profile_t)); profile->name = switch_core_strdup(globals.pool, name); if(!switch_strlen_zero((char *)order_by.data)) { @@ -491,6 +550,16 @@ profile->id = (uint16_t)atoi(id_s); } + if(!switch_strlen_zero(custom_sql)) { + if(test_lcr_sql(custom_sql) == SWITCH_TRUE) { + profile->custom_sql = switch_core_strdup(globals.pool, (char *)custom_sql); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Using custom lcr sql: %s\n", profile->custom_sql); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Custom lcr sql invalid: %s\nDisabling profile: %s\n", custom_sql, name); + continue; + } + } + switch_core_hash_insert(globals.profile_hash, profile->name, profile); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Loaded lcr profile %s.\n", profile->name); } @@ -500,24 +569,6 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "No lcr profiles defined.\n"); } - - - if (globals.odbc_dsn) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO - , "dsn is \"%s\", user is \"%s\", and password is \"%s\"\n" - , globals.odbc_dsn, odbc_user, odbc_pass - ); - if (!(globals.master_odbc = switch_odbc_handle_new(globals.odbc_dsn, odbc_user, odbc_pass))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open ODBC Database!\n"); - status = SWITCH_STATUS_FALSE; - goto done; - } - if (switch_odbc_handle_connect(globals.master_odbc) != SWITCH_ODBC_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open ODBC Database!\n"); - status = SWITCH_STATUS_FALSE; - goto done; - } - } done: switch_xml_free(xml); return status; From anthm at freeswitch.org Tue Feb 10 16:22:41 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 18:22:41 -0600 Subject: [Freeswitch-svn] [commit] r11740 - freeswitch/trunk/src Message-ID: Author: anthm Date: Tue Feb 10 18:22:41 2009 New Revision: 11740 Log: add {instant_ringback=true} to make ringback not wait for indication to generate ringback Modified: freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Tue Feb 10 18:22:41 2009 @@ -97,6 +97,7 @@ char key[80]; uint8_t early_ok; uint8_t ring_ready; + uint8_t instant_ringback; uint8_t sent_ring; uint8_t progress; uint8_t return_ring_ready; @@ -1024,6 +1025,8 @@ ok = 1; } else if (!strcasecmp((char *) hi->name, "ring_ready")) { ok = 1; + } else if (!strcasecmp((char *) hi->name, "instant_ringback")) { + ok = 1; } else if (!strcasecmp((char *) hi->name, "originate_retries")) { ok = 1; } else if (!strcasecmp((char *) hi->name, "originate_timeout")) { @@ -1155,6 +1158,10 @@ oglobals.ring_ready = 1; } + if ((var_val = switch_event_get_header(var_event, "instant_ringback")) && switch_true(var_val)) { + oglobals.instant_ringback = 1; + } + if ((var_val = switch_event_get_header(var_event, "originate_timeout"))) { int tmp = atoi(var_val); if (tmp > 0) { @@ -1762,7 +1769,7 @@ read_frame = NULL; } - if (oglobals.ring_ready && read_frame && !pass) { + if ((oglobals.ring_ready || oglobals.instant_ringback) && read_frame && !pass) { if (ringback.fh) { switch_size_t mlen, olen; unsigned int pos = 0; From anthm at freeswitch.org Tue Feb 10 16:31:58 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 18:31:58 -0600 Subject: [Freeswitch-svn] [commit] r11741 - in freeswitch/trunk/src: . mod/applications/mod_enum Message-ID: Author: anthm Date: Tue Feb 10 18:31:58 2009 New Revision: 11741 Log: MODAPP-211 Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c freeswitch/trunk/src/switch_time.c Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c (original) +++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c Tue Feb 10 18:31:58 2009 @@ -802,7 +802,9 @@ static void event_handler(switch_event_t *event) { if (globals.auto_reload) { + switch_mutex_lock(MUTEX); do_load(); + switch_mutex_unlock(MUTEX); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "ENUM Reloaded\n"); } } Modified: freeswitch/trunk/src/switch_time.c ============================================================================== --- freeswitch/trunk/src/switch_time.c (original) +++ freeswitch/trunk/src/switch_time.c Tue Feb 10 18:31:58 2009 @@ -658,7 +658,9 @@ static void event_handler(switch_event_t *event) { + switch_mutex_lock(globals.mutex); switch_load_timezones(1); + switch_mutex_unlock(globals.mutex); } static void tztime(const time_t * const timep, const char *tzstring, struct tm * const tmp ); From shaneb at freeswitch.org Tue Feb 10 18:50:23 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 20:50:23 -0600 Subject: [Freeswitch-svn] [commit] r11742 - freeswitch/trunk Message-ID: Author: shaneb Date: Tue Feb 10 20:50:23 2009 New Revision: 11742 Log: Initial CMAKE file commit Added: freeswitch/trunk/CMakeLists.txt Added: freeswitch/trunk/CMakeLists.txt ============================================================================== --- (empty file) +++ freeswitch/trunk/CMakeLists.txt Tue Feb 10 20:50:23 2009 @@ -0,0 +1,142 @@ +# FREESWITCH CMAKE BUILD +# SHANE BURRELL 2008 (supjigator) + +PROJECT (freeswitch) + +# project version +SET( ${PROJECT_NAME}_MAJOR_VERSION 0 ) +SET( ${PROJECT_NAME}_MINOR_VERSION 1 ) +SET( ${PROJECT_NAME}_PATCH_LEVEL 0 ) + + +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") +INCLUDE (CheckSymbolExists) +INCLUDE (CheckIncludeFile) +INCLUDE (CheckFunctionExists) + +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +# ADD_DEFINITIONS( "-Wall -ansi -pedantic" ) + +MESSAGE( STATUS ) +MESSAGE( STATUS "FREESWITCH CMAKE Build - Shane Burrell-----------------------------------------" ) +MESSAGE( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" ) +MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) +MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" ) +MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" ) +MESSAGE( STATUS "${PROJECT_NAME}_DEPENDS = \"${${PROJECT_NAME}_DEPENDS}\"" ) +MESSAGE( STATUS "BUILD_WITH = \"${BUILD_WITH}\"" ) +MESSAGE( STATUS "INSTALL_DOC = ${INSTALL_DOC}" ) +MESSAGE( STATUS "Change a value with: cmake -D=" ) +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +MESSAGE( STATUS ) + + + + + +# Configuration checks +check_symbol_exists (strncasecmp "string.h" HAVE_STRNCASECMP) +check_symbol_exists (strcasecmp "string.h" HAVE_STRCASECMP) +check_function_exists (strcasestr HAVE_STRCASESTR) +check_function_exists (strchrnul HAVE_STRCHRNUL) +check_include_file (dirent.h HAVE_DIRENT_H) +check_include_file (sys/ioctl.h HAVE_SYS_IOCTL_H) +check_include_file (sys/utsname.h HAVE_SYS_UTSNAME_H) +check_include_file (wchar.h HAVE_WCHAR_H) +check_include_file (wctype.h HAVE_WCTYPE_H) +check_function_exists (scandir HAVE_SCANDIR) +check_function_exists (alphasort HAVE_ALPHASORT) +check_symbol_exists (iswspace "wctype.h" HAVE_ISWSPACE) +check_symbol_exists (towlower "wctype.h" HAVE_TOWLOWER) +check_include_file(sys/devpoll.h HAVE_SYS_DEVPOLL_H) +check_include_file(sys/epoll.h HAVE_SYS_EPOLL_H) +check_include_file(sys/event.h HAVE_SYS_EVENT_H) +check_include_file(sys/mman.h HAVE_SYS_MMAN_H) +check_include_file(sys/poll.h HAVE_SYS_POLL_H) +check_include_file(sys/port.h HAVE_SYS_PORT_H) +check_include_file(sys/prctl.h HAVE_SYS_PRCTL_H) +check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H) +check_include_file(sys/sendfile.h HAVE_SYS_SENDFILE_H) +check_include_file(sys/select.h HAVE_SYS_SELECT_H) +check_include_file(sys/syslimits.h HAVE_SYS_SYSLIMITS_H) +check_include_file(sys/types.h HAVE_SYS_TYPES_H) +check_include_file(sys/uio.h HAVE_SYS_UIO_H) +check_include_file(sys/un.h HAVE_SYS_UN_H) +check_include_file(sys/wait.h HAVE_SYS_WAIT_H) +check_include_file(sys/time.h HAVE_SYS_TIME_H) +check_include_file(time.h HAVE_TIME_H) +check_include_file(unistd.h HAVE_UNISTD_H) +check_include_file(pthread.h HAVE_PTHREAD_H) + + +FIND_PACKAGE(Threads) + + +# DO APR +FIND_PACKAGE (APR) +FIND_PACKAGE (APRUtil) + +LINK_LIBRARIES (${APR_LIBS} ${APRUTIL_LIBS}) + +MESSAGE( STATUS "APR INFO------------------------------------------" ) +MESSAGE( STATUS "APR_LIBS = ${APR_LIBS}" ) +MESSAGE( STATUS "APRUTIL_LIBS = ${APRUTIL_LIBS}" ) +MESSAGE( STATUS "--------------------------------------------------" ) +INCLUDE_DIRECTORIES (${APR_INCLUDES} ${APRUTIL_INCLUDES}) + + +# DO SNDFILE +FIND_PACKAGE (Sndfile) +LINK_LIBRARIES (${SNDFILE_LIBRARY}) +INCLUDE_DIRECTORIES (${SNDFILE_INCLUDE_DIR}) + +# DO LIBEDIT +FIND_PACKAGE (Libedit) +LINK_LIBRARIES (${PATH_LIB_EDIT}) +INCLUDE_DIRECTORIES (${PATH_INC_EDIT}) + +# DO SRTP +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/srtp/.libs/libcryptomath.a) +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/srtp/.libs/libsrtp.a) +INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/srtp/crypto/include) + +# SQLITE +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/sqlite/.libs/libsqlite3.a) +INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/sqlite/) + +# VOIPCODECS +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/voipcodecs/src/.libs/libvoipcodecs.a) +INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/voipcodecs/src/) + +# DO POSTGRES +#FIND_PACKAGE(POSTGRES) +IF(POSTGRES_FOUND) + INCLUDE_DIRECTORIES( ${POSTGRES_INCLUDE_DIRECTORIES} ) + SET(optionalLibs ${optionalLibs} ${POSTGRES_LIBRARIES} ) +ENDIF(POSTGRES_FOUND) + +CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H) +if( HAVE_NETDB_H) + add_definitions( -DHAVE_NETDB_H) +endif( HAVE_NETDB_H) + + +INCLUDE_DIRECTORIES(src/include/ libs/libteletone/src/ libs/stfu/ libs/apr/include/ libs/apr-util/include/) + +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(libs/libresample/) +ADD_SUBDIRECTORY(libs/libteletone/) +#ADD_SUBDIRECTORY(libs/sqlite/) +ADD_SUBDIRECTORY(libs/pcre/) +ADD_SUBDIRECTORY(libs/stfu/) +#ADD_SUBDIRECTORY(libs/libedit/) +ADD_SUBDIRECTORY(libs/srtp/) + +SET ( freeswitch_SRCS src/switch.c src/include/switch.h) +ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) + + +TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) + + From shaneb at freeswitch.org Tue Feb 10 18:52:41 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 20:52:41 -0600 Subject: [Freeswitch-svn] [commit] r11743 - freeswitch/trunk/src Message-ID: Author: shaneb Date: Tue Feb 10 20:52:41 2009 New Revision: 11743 Log: Initial CMAKE file commit Added: freeswitch/trunk/src/CMakeLists.txt Added: freeswitch/trunk/src/CMakeLists.txt ============================================================================== --- (empty file) +++ freeswitch/trunk/src/CMakeLists.txt Tue Feb 10 20:52:41 2009 @@ -0,0 +1,167 @@ +#FREESWITCH CMAKE file +#Shane Burrell 2009 (supjigator) + + +cmake_minimum_required(VERSION 2.6) + +INCLUDE_DIRECTORIES(include/ ../libs/libresample/include/ ../libs/srtp/crypto/include/ ../libs/srtp/include/) + +SET ( switch_ivr_SRCS switch_ivr.c include/switch_ivr.h) +ADD_LIBRARY(switch_ivr STATIC ${switch_ivr_SRCS}) + +SET ( switch_core_SRCS switch_core.c include/switch_core.h include/switch_core.h include/private/switch_core_pvt.h) +ADD_LIBRARY(switch_core STATIC ${switch_core_SRCS}) + +SET ( switch_core_io_SRCS switch_core_io.c ) +ADD_LIBRARY(switch_core_io STATIC ${switch_core_io_SRCS}) + +SET ( switch_core_asr_SRCS switch_core_asr.c ) +ADD_LIBRARY(switch_core_asr STATIC ${switch_core_asr_SRCS}) + +SET ( switch_apr_SRCS switch_apr.c ) +ADD_LIBRARY(switch_apr STATIC ${switch_apr_SRCS}) + +if( HAVE_NETDB_H) + add_definitions( -DHAVE_NETDB_H) +endif( HAVE_NETDB_H) + +SET ( switch_utils_SRCS switch_utils.c include/switch_utils.h) +ADD_LIBRARY(switch_utils STATIC ${switch_utils_SRCS}) + +SET ( switch_xml_SRCS switch_xml.c include/switch_xml.h) +ADD_LIBRARY(switch_xml STATIC ${switch_xml_SRCS}) + +SET ( switch_buffer_SRCS switch_buffer.c include/switch_buffer.h) +ADD_LIBRARY(switch_buffer ${switch_buffer_SRCS}) + +SET ( switch_caller_SRCS switch_caller.c include/switch_caller.h) +ADD_LIBRARY(switch_caller ${switch_caller_SRCS}) + +SET ( switch_channel_SRCS switch_channel.c include/switch_channel.h) +ADD_LIBRARY(switch_channel ${switch_channel_SRCS}) + +SET ( switch_config_SRCS switch_config.c include/switch_config.h) +ADD_LIBRARY(switch_config ${switch_config_SRCS}) + +SET ( switch_console_SRCS switch_console.c include/switch_console.h) +ADD_LIBRARY(switch_console ${switch_console_SRCS}) + +SET ( switch_core_codec_SRCS switch_core_codec.c) +ADD_LIBRARY(switch_core_codec ${switch_core_codec_SRCS}) + +SET ( switch_core_db_SRCS switch_core_db.c include/switch_core_db.h) +ADD_LIBRARY(switch_core_db ${switch_core_db_SRCS}) + +SET ( switch_core_directory_SRCS switch_core_directory.c) +ADD_LIBRARY(switch_core_directory ${switch_core_directory_SRCS}) + +SET ( switch_core_event_hook_SRCS switch_core_event_hook.c include/switch_core_event_hook.h) +ADD_LIBRARY(switch_core_event_hook ${switch_core_event_hook_SRCS}) + + + +SET ( switch_core_file_SRCS switch_core_file.c) +ADD_LIBRARY(switch_core_file ${switch_core_file_SRCS}) + +SET ( switch_core_hash_SRCS switch_core_hash.c) +ADD_LIBRARY(switch_core_hash ${switch_core_hash_SRCS}) + + +SET ( switch_core_media_bug_SRCS switch_core_media_bug.c) +ADD_LIBRARY(switch_core_media_bug ${switch_core_media_bug_SRCS}) + +SET ( switch_core_memory_SRCS switch_core_memory.c) +ADD_LIBRARY(switch_core_memory ${switch_core_memory_SRCS}) + +SET ( switch_core_port_allocator_SRCS switch_core_port_allocator.c) +ADD_LIBRARY(switch_core_port_allocator ${switch_core_port_allocator_SRCS}) + +SET ( switch_core_rwlock_SRCS switch_core_rwlock.c) +ADD_LIBRARY(switch_core_rwlock ${switch_core_rwlock_SRCS}) + +SET ( switch_core_session_SRCS switch_core_session.c) +ADD_LIBRARY(switch_core_session ${switch_core_session_SRCS}) + +SET ( switch_core_speech_SRCS switch_core_speech.c) +ADD_LIBRARY(switch_core_speech ${switch_core_speech_SRCS}) + + + + + + +SET ( switch_core_sqldb_SRCS switch_core_sqldb.c) +ADD_LIBRARY(switch_core_sqldb ${switch_core_sqldb_SRCS}) + +SET ( switch_core_state_machine_SRCS switch_core_state_machine.c) +ADD_LIBRARY(switch_core_state_machine ${switch_core_state_machine_SRCS}) + +SET ( switch_core_timer_SRCS switch_core_timer.c) +ADD_LIBRARY(switch_core_timer ${switch_core_timer_SRCS}) + +SET ( switch_dso_SRCS switch_dso.c include/switch_dso.h) +ADD_LIBRARY(switch_dso ${switch_dso_SRCS}) + +SET ( switch_event_SRCS switch_event.c include/switch_event.h) +ADD_LIBRARY(switch_event ${switch_event_SRCS}) + +SET ( switch_ivr_async_SRCS switch_ivr_async.c) +ADD_LIBRARY(switch_ivr_async ${switch_ivr_async_SRCS}) + +SET ( switch_ivr_bridge_SRCS switch_ivr_bridge.c) +ADD_LIBRARY(switch_ivr_bridge ${switch_ivr_bridge_SRCS}) + +SET ( switch_ivr_menu_SRCS switch_ivr_menu.c) +ADD_LIBRARY(switch_ivr_menu ${switch_ivr_menu_SRCS}) + + + + +SET ( switch_ivr_originate_SRCS switch_ivr_originate.c) +ADD_LIBRARY(switch_ivr_originate ${switch_ivr_originate_SRCS}) + +SET ( switch_ivr_play_say_SRCS switch_ivr_play_say.c) +ADD_LIBRARY(switch_ivr_play_say ${switch_ivr_play_say_SRCS}) + +SET ( switch_loadable_module_SRCS switch_loadable_module.c include/switch_loadable_module.h) +ADD_LIBRARY(switch_loadable_module ${switch_loadable_module_SRCS}) + +SET ( switch_log_SRCS switch_log.c include/switch_log.h) +ADD_LIBRARY(switch_log ${switch_log_SRCS}) + + + + + +SET ( switch_odbc_SRCS switch_odbc.c include/switch_odbc.h) +ADD_LIBRARY(switch_odbc ${switch_odbc_SRCS}) + +SET ( switch_pcm_SRCS switch_pcm.c) +ADD_LIBRARY(switch_pcm ${switch_pcm_SRCS}) + +SET ( switch_regex_SRCS switch_regex.c include/switch_regex.h) +ADD_LIBRARY(switch_regex ${switch_regex_SRCS}) + +SET ( switch_resample_SRCS switch_resample.c include/switch_resample.h) +ADD_LIBRARY(switch_resample ${switch_resample_SRCS}) + +SET ( switch_rtp_SRCS switch_rtp.c include/switch_rtp.h) +ADD_LIBRARY(switch_rtp ${switch_rtp_SRCS}) + +SET ( switch_scheduler_SRCS switch_scheduler.c include/switch_scheduler.h) +ADD_LIBRARY(switch_scheduler ${switch_scheduler_SRCS}) + +SET ( switch_stun_SRCS switch_stun.c include/switch_stun.h) +ADD_LIBRARY(switch_stun ${switch_stun_SRCS}) + +SET ( switch_swig_SRCS switch_swig.c) +ADD_LIBRARY(switch_swig ${switch_swig_SRCS}) + +SET ( switch_time_SRCS switch_time.c) +ADD_LIBRARY(switch_time ${switch_time_SRCS}) + + + + + + From shaneb at freeswitch.org Tue Feb 10 18:53:31 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 20:53:31 -0600 Subject: [Freeswitch-svn] [commit] r11744 - freeswitch/trunk/cmake_modules Message-ID: Author: shaneb Date: Tue Feb 10 20:53:31 2009 New Revision: 11744 Log: Initial CMAKE file commit Added: freeswitch/trunk/cmake_modules/ freeswitch/trunk/cmake_modules/FindAPR.cmake freeswitch/trunk/cmake_modules/FindAPRUtil.cmake freeswitch/trunk/cmake_modules/FindLibedit.cmake freeswitch/trunk/cmake_modules/FindSndfile.cmake Added: freeswitch/trunk/cmake_modules/FindAPR.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/cmake_modules/FindAPR.cmake Tue Feb 10 20:53:31 2009 @@ -0,0 +1,51 @@ +# Locate APR include paths and libraries + +# This module defines +# APR_INCLUDES, where to find apr.h, etc. +# APR_LIBS, the libraries to link against to use APR. +# APR_FLAGS, the flags to use to compile +# APR_DEFINITIONS, definitions to use when compiling code that uses APR. +# APR_FOUND, set to 'yes' if found + +find_program(APR_CONFIG_EXECUTABLE + apr-1-config + /usr/local/apr/1.2.12/bin + /usr/local/bin + /usr/bin + C:/Progra~1/apr/bin + ) + +mark_as_advanced(APR_CONFIG_EXECUTABLE) + +macro(_apr_invoke _varname _regexp) + execute_process( + COMMAND ${APR_CONFIG_EXECUTABLE} ${ARGN} + OUTPUT_VARIABLE _apr_output + RESULT_VARIABLE _apr_failed + ) + + if(_apr_failed) + message(FATAL_ERROR "apr-1-config ${ARGN} failed") + else(_apr_failed) + string(REGEX REPLACE "[\r\n]" "" _apr_output "${_apr_output}") + string(REGEX REPLACE " +$" "" _apr_output "${_apr_output}") + + if(NOT ${_regexp} STREQUAL "") + string(REGEX REPLACE "${_regexp}" " " _apr_output "${_apr_output}") + endif(NOT ${_regexp} STREQUAL "") + + separate_arguments(_apr_output) + set(${_varname} "${_apr_output}") + endif(_apr_failed) +endmacro(_apr_invoke) + +_apr_invoke(APR_INCLUDES "(^| )-I" --includes) +_apr_invoke(APR_FLAGS --cppflags --cflags) +_apr_invoke(APR_EXTRALIBS "(^| )-l" --libs) +_apr_invoke(APR_LIBS "" --link-ld) + +if(APR_INCLUDES AND APR_EXTRALIBS AND APR_LIBS) + set(APR_FOUND "YES") + message (STATUS "apr found: YES ${APR_LIBS}") +endif(APR_INCLUDES AND APR_EXTRALIBS AND APR_LIBS) + Added: freeswitch/trunk/cmake_modules/FindAPRUtil.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/cmake_modules/FindAPRUtil.cmake Tue Feb 10 20:53:31 2009 @@ -0,0 +1,49 @@ +# Locate APR-Util include paths and libraries + +# This module defines +# APRUTIL_INCLUDES, where to find apr.h, etc. +# APRUTIL_LIBS, the libraries to link against to use APR. +# APRUTIL_FOUND, set to yes if found + +find_program(APRUTIL_CONFIG_EXECUTABLE + apu-1-config + /usr/local/apr-util/1.2.12/bin + /usr/local/bin + /usr/bin + C:/Progra~1/apr/bin + ) + +mark_as_advanced(APRUTIL_CONFIG_EXECUTABLE) + +macro(_apu_invoke _varname _regexp) + execute_process( + COMMAND ${APRUTIL_CONFIG_EXECUTABLE} ${ARGN} + OUTPUT_VARIABLE _apr_output + RESULT_VARIABLE _apr_failed + ) + + if(_apr_failed) + message(FATAL_ERROR "apu-1-config ${ARGN} failed") + else(_apr_failed) + string(REGEX REPLACE "[\r\n]" "" _apr_output "${_apr_output}") + string(REGEX REPLACE " +$" "" _apr_output "${_apr_output}") + + if(NOT ${_regexp} STREQUAL "") + string(REGEX REPLACE "${_regexp}" " " _apr_output "${_apr_output}") + endif(NOT ${_regexp} STREQUAL "") + + separate_arguments(_apr_output) + + set(${_varname} "${_apr_output}") + endif(_apr_failed) +endmacro(_apu_invoke) + +_apu_invoke(APRUTIL_INCLUDES "(^| )-I" --includes) +_apu_invoke(APRUTIL_LIBS "" --link-ld) + +if(APRUTIL_LIBS AND APRUTIL_INCLUDES) + set(APRUTIL_FOUND "YES") + set(APRUTIL_DEFINITIONS "") + message (STATUS "apr-util found: YES ${APRUTIL_LIBS}") +endif(APRUTIL_LIBS AND APRUTIL_INCLUDES) + Added: freeswitch/trunk/cmake_modules/FindLibedit.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/cmake_modules/FindLibedit.cmake Tue Feb 10 20:53:31 2009 @@ -0,0 +1,15 @@ + +find_path(PATH_INC_EDIT NAMES "histedit.h" PATHS ${CMAKE_SOURCE_DIR}/libs/libedit/src/) + +if( NOT PATH_INC_EDIT ) + message(FATAL_ERROR"Unable to locate libedit include files" ) +endif( NOT PATH_INC_EDIT ) + +find_library(PATH_LIB_EDIT NAMES "libedit.a" PATHS ${CMAKE_SOURCE_DIR}/libs/libedit/src/.libs/) + +if( NOT PATH_LIB_EDIT ) + message(FATAL_ERROR "Unable to locate libedit library file" ) +endif( NOT PATH_LIB_EDIT ) + +MESSAGE( STATUS "PATH_INC_EDIT = \"${PATH_INC_EDIT}\"" ) +MESSAGE( STATUS "PATH_LIB_EDIT = \"${PATH_LIB_EDIT}\"" ) Added: freeswitch/trunk/cmake_modules/FindSndfile.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/cmake_modules/FindSndfile.cmake Tue Feb 10 20:53:31 2009 @@ -0,0 +1,34 @@ +# - Find sndfile +# Find the native sndfile includes and libraries +# +# SNDFILE_INCLUDE_DIR - where to find sndfile.h, etc. +# SNDFILE_LIBRARIES - List of libraries when using libsndfile. +# SNDFILE_FOUND - True if libsndfile found. + +if(SNDFILE_INCLUDE_DIR) + # Already in cache, be silent + set(SNDFILE_FIND_QUIETLY TRUE) +endif(SNDFILE_INCLUDE_DIR) + +FIND_PATH(SNDFILE_INCLUDE_DIR NAMES sndfile.h PATHS ${CMAKE_SOURCE_DIR}/libs/libsndfile/src/) + +FIND_LIBRARY(SNDFILE_LIBRARY NAMES libsndfile.a PATHS ${CMAKE_SOURCE_DIR}/libs/libsndfile/src/.libs/) + +MESSAGE( STATUS "SNDFILE_INCLUDE_DIR = \"${SNDFILE_INCLUDE_DIR}\"" ) +MESSAGE( STATUS "SNDFILE_LIBRARY = \"${SNDFILE_LIBRARY}\"" ) + +# Handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if +# all listed variables are TRUE. +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(SNDFILE DEFAULT_MSG + SNDFILE_INCLUDE_DIR SNDFILE_LIBRARY) + +if(SNDFILE_FOUND) + set(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY}) +else(SNDFILE_FOUND) + set(SNDFILE_LIBRARIES) +endif(SNDFILE_FOUND) + +mark_as_advanced(SNDFILE_INCLUDE_DIR SNDFILE_LIBRARY) +MESSAGE( STATUS "SNDFILE_INCLUDE_DIR = \"${SNDFILE_INCLUDE_DIR}\"" ) +MESSAGE( STATUS "SNDFILE_LIBRARY = \"${SNDFILE_LIBRARY}\"" ) From rupa at freeswitch.org Tue Feb 10 18:55:17 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 20:55:17 -0600 Subject: [Freeswitch-svn] [commit] r11745 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 10 20:55:17 2009 New Revision: 11745 Log: initialize retval Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 10 20:55:17 2009 @@ -241,7 +241,7 @@ { char * tsql; tsql = switch_mprintf(sql, "5555551212"); - switch_bool_t retval; + switch_bool_t retval = SWITCH_FALSE; if (globals.odbc_dsn) { if(switch_odbc_handle_exec(globals.master_odbc, tsql, NULL) From rupa at freeswitch.org Tue Feb 10 21:07:37 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 23:07:37 -0600 Subject: [Freeswitch-svn] [commit] r11746 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Tue Feb 10 23:07:37 2009 New Revision: 11746 Log: add API lcr_admin show profiles Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Tue Feb 10 23:07:37 2009 @@ -35,6 +35,7 @@ #define LCR_SYNTAX "lcr []" +#define LCR_ADMIN_SYNTAX "lcr_admin show profiles" /* SQL Query places */ #define LCR_DIGITS_PLACE 0 @@ -795,9 +796,55 @@ return SWITCH_STATUS_SUCCESS; } +SWITCH_STANDARD_API(dialplan_lcr_admin_function) +{ + char *argv[4] = { 0 }; + int argc; + char *mydata = NULL; + switch_hash_index_t *hi; + void *val; + profile_t *profile; + + if (switch_strlen_zero(cmd)) { + goto usage; + } + + mydata = strdup(cmd); + + if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { + if(argc < 2) { + goto usage; + } + if(!strcasecmp(argv[0], "show") && !strcasecmp(argv[1], "profiles")) { + for (hi = switch_hash_first(NULL, globals.profile_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, NULL, NULL, &val); + profile = (profile_t *) val; + + stream->write_function(stream, "Name:\t\t%s\n", profile->name); + stream->write_function(stream, "ID:\t\t%d\n", profile->id); + stream->write_function(stream, "order by:\t%s\n", profile->order_by); + if(!switch_strlen_zero(profile->custom_sql)) { + stream->write_function(stream, "custom sql:\t%s\n", profile->custom_sql); + } + stream->write_function(stream, "\n"); + } + } else { + goto usage; + } + } + switch_safe_free(mydata); + return SWITCH_STATUS_SUCCESS; +usage: + switch_safe_free(mydata); + stream->write_function(stream, "-ERR %s\n", LCR_ADMIN_SYNTAX); + return SWITCH_STATUS_SUCCESS; + +} + SWITCH_MODULE_LOAD_FUNCTION(mod_lcr_load) { switch_api_interface_t *dialplan_lcr_api_interface; + switch_api_interface_t *dialplan_lcr_api_admin_interface; switch_application_interface_t *app_interface; switch_dialplan_interface_t *dp_interface; @@ -830,6 +877,7 @@ }; SWITCH_ADD_API(dialplan_lcr_api_interface, "lcr", "Least Cost Routing Module", dialplan_lcr_function, LCR_SYNTAX); + SWITCH_ADD_API(dialplan_lcr_api_admin_interface, "lcr_admin", "Least Cost Routing Module Admin", dialplan_lcr_admin_function, LCR_ADMIN_SYNTAX); SWITCH_ADD_APP(app_interface, "lcr", "Perform an LCR lookup", "Perform an LCR lookup", lcr_app_function, "", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_DIALPLAN(dp_interface, "lcr", lcr_dialplan_hunt); From brian at freeswitch.org Tue Feb 10 21:07:56 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Tue, 10 Feb 2009 23:07:56 -0600 Subject: [Freeswitch-svn] [commit] r11747 - freeswitch/trunk/conf/dialplan Message-ID: Author: brian Date: Tue Feb 10 23:07:56 2009 New Revision: 11747 Log: this makes more sense Modified: freeswitch/trunk/conf/dialplan/default.xml Modified: freeswitch/trunk/conf/dialplan/default.xml ============================================================================== --- freeswitch/trunk/conf/dialplan/default.xml (original) +++ freeswitch/trunk/conf/dialplan/default.xml Tue Feb 10 23:07:56 2009 @@ -216,7 +216,7 @@ - + From shaneb at freeswitch.org Tue Feb 10 22:07:46 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 00:07:46 -0600 Subject: [Freeswitch-svn] [commit] r11748 - in freeswitch/trunk: . libs/libedit Message-ID: Author: shaneb Date: Wed Feb 11 00:07:46 2009 New Revision: 11748 Log: Adding more output as example. Added libedit cmake Added: freeswitch/trunk/libs/libedit/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Wed Feb 11 00:07:46 2009 @@ -1,5 +1,5 @@ # FREESWITCH CMAKE BUILD -# SHANE BURRELL 2008 (supjigator) +# Created by SHANE BURRELL 2009 (supjigator) PROJECT (freeswitch) @@ -70,6 +70,42 @@ check_include_file(pthread.h HAVE_PTHREAD_H) +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +MESSAGE( STATUS ) +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +MESSAGE( STATUS ) +# the complete system name, e.g. "Linux-2.4.22", "FreeBSD-5.4-RELEASE" or "Windows 5.1" +MESSAGE( STATUS "CMAKE_SYSTEM: " ${CMAKE_SYSTEM} ) +# the short system name, e.g. "Linux", "FreeBSD" or "Windows" +MESSAGE( STATUS "CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME} ) +# only the version part of CMAKE_SYSTEM +MESSAGE( STATUS "CMAKE_SYSTEM_VERSION: " ${CMAKE_SYSTEM_VERSION} ) +# the processor name (e.g. "Intel(R) Pentium(R) M processor 2.00GHz") +MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} ) +# is TRUE on all UNIX-like OS's, including Apple OS X and CygWin +MESSAGE( STATUS "UNIX: " ${UNIX} ) +# is TRUE on Windows, including CygWin +MESSAGE( STATUS "WIN32: " ${WIN32} ) +# is TRUE on Apple OS X +MESSAGE( STATUS "APPLE: " ${APPLE} ) +# is TRUE when using the MinGW compiler in Windows +MESSAGE( STATUS "MINGW: " ${MINGW} ) +# is TRUE on Windows when using the CygWin version of cmake +MESSAGE( STATUS "CYGWIN: " ${CYGWIN} ) +# is TRUE on Windows when using a Borland compiler +MESSAGE( STATUS "BORLAND: " ${BORLAND} ) +# Microsoft compiler +MESSAGE( STATUS "MSVC: " ${MSVC} ) +MESSAGE( STATUS "MSVC_IDE: " ${MSVC_IDE} ) +MESSAGE( STATUS "MSVC60: " ${MSVC60} ) +MESSAGE( STATUS "MSVC70: " ${MSVC70} ) +MESSAGE( STATUS "MSVC71: " ${MSVC71} ) +MESSAGE( STATUS "MSVC80: " ${MSVC80} ) +MESSAGE( STATUS "CMAKE_COMPILER_2005: " ${CMAKE_COMPILER_2005} ) +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +MESSAGE( STATUS ) + +# DO THREADS FIND_PACKAGE(Threads) @@ -92,9 +128,9 @@ INCLUDE_DIRECTORIES (${SNDFILE_INCLUDE_DIR}) # DO LIBEDIT -FIND_PACKAGE (Libedit) -LINK_LIBRARIES (${PATH_LIB_EDIT}) -INCLUDE_DIRECTORIES (${PATH_INC_EDIT}) +#FIND_PACKAGE (Libedit) +#LINK_LIBRARIES (${PATH_LIB_EDIT}) +#INCLUDE_DIRECTORIES (${PATH_INC_EDIT}) # DO SRTP LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/srtp/.libs/libcryptomath.a) @@ -130,13 +166,13 @@ #ADD_SUBDIRECTORY(libs/sqlite/) ADD_SUBDIRECTORY(libs/pcre/) ADD_SUBDIRECTORY(libs/stfu/) -#ADD_SUBDIRECTORY(libs/libedit/) +ADD_SUBDIRECTORY(libs/libedit/) ADD_SUBDIRECTORY(libs/srtp/) SET ( freeswitch_SRCS src/switch.c src/include/switch.h) ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) -TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) +TARGET_LINK_LIBRARIES(freeswitch libedit teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) Added: freeswitch/trunk/libs/libedit/CMakeLists.txt ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/libedit/CMakeLists.txt Wed Feb 11 00:07:46 2009 @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 2.6) + +INCLUDE_DIRECTORIES(include/ ./ src/) + +SET ( libedit_SRCS src/filecomplete.c src/key.c src/parse.h src/refresh.c src/sig.h src/tty.c src/el.c src/filecomplete.h src/key.h src/prompt.c src/refresh.h src/strlcat.c src/tty.h src/el.h src/hist.c src/prompt.h src/search.c src/strlcpy.c src/unvis.c src/chared.c src/el_term.h src/hist.h src/map.c src/read.c src/search.h src/sys.h src/vi.c src/chared.h src/emacs.c src/histedit.h src/map.h src/read.h src/term.c src/vis.c src/common.c src/fgetln.c src/history.c src/parse.c src/readline.c src/sig.c src/tokenizer.c src/vis.h) + +ADD_LIBRARY(libedit STATIC ${libedit_SRCS}) + + + + + + + From brian at freeswitch.org Tue Feb 10 22:14:53 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 00:14:53 -0600 Subject: [Freeswitch-svn] [commit] r11749 - freeswitch/trunk/conf/dialplan Message-ID: Author: brian Date: Wed Feb 11 00:14:53 2009 New Revision: 11749 Log: here try this out Modified: freeswitch/trunk/conf/dialplan/default.xml Modified: freeswitch/trunk/conf/dialplan/default.xml ============================================================================== --- freeswitch/trunk/conf/dialplan/default.xml (original) +++ freeswitch/trunk/conf/dialplan/default.xml Wed Feb 11 00:14:53 2009 @@ -217,7 +217,6 @@ - From brian at freeswitch.org Wed Feb 11 03:41:28 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 05:41:28 -0600 Subject: [Freeswitch-svn] [commit] r11750 - freeswitch/trunk/conf/autoload_configs Message-ID: Author: brian Date: Wed Feb 11 05:41:28 2009 New Revision: 11750 Log: remove openmrcp from modules.conf.xml Modified: freeswitch/trunk/conf/autoload_configs/modules.conf.xml Modified: freeswitch/trunk/conf/autoload_configs/modules.conf.xml ============================================================================== --- freeswitch/trunk/conf/autoload_configs/modules.conf.xml (original) +++ freeswitch/trunk/conf/autoload_configs/modules.conf.xml Wed Feb 11 05:41:28 2009 @@ -91,7 +91,6 @@ - From gmaruzz at freeswitch.org Wed Feb 11 04:32:35 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 06:32:35 -0600 Subject: [Freeswitch-svn] [commit] r11751 - in freeswitch/branches/gmaruzz/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Wed Feb 11 06:32:35 2009 New Revision: 11751 Log: skypiax: outbound interface automatic selection, Seven Du patch: you can call skypiax/ANY/another_skypename, it will automatically chose first available channel. Modified: freeswitch/branches/gmaruzz/mod_skypiax/configs/default.xml freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/configs/default.xml ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/configs/default.xml (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/configs/default.xml Wed Feb 11 06:32:35 2009 @@ -266,14 +266,21 @@ - + - + + + + + + + + - + Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Wed Feb 11 06:32:35 2009 @@ -491,8 +491,30 @@ slash = strrchr(interface_name, '/'); *slash = '\0'; - for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) { + if (strncmp("ANY", interface_name, strlen(interface_name)) == 0) { + DEBUGA_SKYPE("Finding one available skype interface\n", + SKYPIAX_P_LOG); + //find an available one, allowing call like originate skypiax/ANY/another_skypename + + for (i = 0; !found && i < SKYPIAX_MAX_INTERFACES; i++) { + if (strlen(globals.SKYPIAX_INTERFACES[i].name)) { + int skype_state = 0; + + tech_pvt = &globals.SKYPIAX_INTERFACES[i]; + skype_state = tech_pvt->interface_state; + DEBUGA_SKYPE("skype interface: %d, name: %s, state: %d\n", + SKYPIAX_P_LOG, + i, globals.SKYPIAX_INTERFACES[i].name, skype_state); + if (SKYPIAX_STATE_DOWN == skype_state || 0 == skype_state) { + found=1; + break; + } + } + } + } + + for (i = 0; !found && i < SKYPIAX_MAX_INTERFACES; i++) { if (strlen(globals.SKYPIAX_INTERFACES[i].name) && (strncmp From nicholas at freeswitch.org Wed Feb 11 04:35:56 2009 From: nicholas at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 06:35:56 -0600 Subject: [Freeswitch-svn] [commit] r11752 - freeswitch/trunk/debian Message-ID: Author: nicholas Date: Wed Feb 11 06:35:56 2009 New Revision: 11752 Log: Debian rules now points conf files to /etc/freeswitch according to debian standards Modified: freeswitch/trunk/debian/dirs freeswitch/trunk/debian/freeswitch-lang-de.conffiles freeswitch/trunk/debian/freeswitch-lang-de.install freeswitch/trunk/debian/freeswitch-lang-en.conffiles freeswitch/trunk/debian/freeswitch-lang-en.install freeswitch/trunk/debian/freeswitch-lang-fr.conffiles freeswitch/trunk/debian/freeswitch-lang-fr.install freeswitch/trunk/debian/freeswitch-lua.conffiles freeswitch/trunk/debian/freeswitch-lua.install freeswitch/trunk/debian/freeswitch-perl.conffiles freeswitch/trunk/debian/freeswitch-perl.install freeswitch/trunk/debian/freeswitch-spidermonkey.conffiles freeswitch/trunk/debian/freeswitch-spidermonkey.install freeswitch/trunk/debian/freeswitch.conffiles freeswitch/trunk/debian/freeswitch.install freeswitch/trunk/debian/postinst freeswitch/trunk/debian/postrm freeswitch/trunk/debian/rules Modified: freeswitch/trunk/debian/dirs ============================================================================== --- freeswitch/trunk/debian/dirs (original) +++ freeswitch/trunk/debian/dirs Wed Feb 11 06:35:56 2009 @@ -1,11 +1,11 @@ -opt/freeswitch/conf/dialplan/default -opt/freeswitch/conf/dialplan/public -opt/freeswitch/conf/sip_profiles/nat -opt/freeswitch/conf/sip_profiles/default -opt/freeswitch/conf/sip_profiles/outbound -opt/freeswitch/conf/directory/default -opt/freeswitch/conf/autoload_configs -opt/freeswitch/conf/jingle_profiles +etc/freeswitch/dialplan/default +etc/freeswitch/dialplan/public +etc/freeswitch/sip_profiles/nat +etc/freeswitch/sip_profiles/default +etc/freeswitch/sip_profiles/outbound +etc/freeswitch/directory/default +etc/freeswitch/autoload_configs +etc/freeswitch/jingle_profiles opt/freeswitch/log opt/freeswitch/db opt/freeswitch/bin/scripts Modified: freeswitch/trunk/debian/freeswitch-lang-de.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-de.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-lang-de.conffiles Wed Feb 11 06:35:56 2009 @@ -1,3 +1,3 @@ -/opt/freeswitch/conf/lang/de/de.xml -/opt/freeswitch/conf/lang/de/demo/demo.xml -/opt/freeswitch/conf/lang/de/vm/tts.xml +/etc/freeswitch/lang/de/de.xml +/etc/freeswitch/lang/de/demo/demo.xml +/etc/freeswitch/lang/de/vm/tts.xml Modified: freeswitch/trunk/debian/freeswitch-lang-de.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-de.install (original) +++ freeswitch/trunk/debian/freeswitch-lang-de.install Wed Feb 11 06:35:56 2009 @@ -1,4 +1,4 @@ -opt/freeswitch/conf/lang/de/*.xml -opt/freeswitch/conf/lang/de/demo/*.xml -opt/freeswitch/conf/lang/de/vm/*.xml +etc/freeswitch/lang/de/*.xml +etc/freeswitch/lang/de/demo/*.xml +etc/freeswitch/lang/de/vm/*.xml opt/freeswitch/mod/mod_say_de.so* Modified: freeswitch/trunk/debian/freeswitch-lang-en.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-en.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-lang-en.conffiles Wed Feb 11 06:35:56 2009 @@ -1,4 +1,4 @@ -/opt/freeswitch/conf/lang/en/en.xml -/opt/freeswitch/conf/lang/en/demo/demo.xml -/opt/freeswitch/conf/lang/en/vm/sounds.xml -/opt/freeswitch/conf/lang/en/vm/tts.xml +/etc/freeswitch/lang/en/en.xml +/etc/freeswitch/lang/en/demo/demo.xml +/etc/freeswitch/lang/en/vm/sounds.xml +/etc/freeswitch/lang/en/vm/tts.xml Modified: freeswitch/trunk/debian/freeswitch-lang-en.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-en.install (original) +++ freeswitch/trunk/debian/freeswitch-lang-en.install Wed Feb 11 06:35:56 2009 @@ -1,4 +1,4 @@ -opt/freeswitch/conf/lang/en/*.xml -opt/freeswitch/conf/lang/en/demo/*.xml -opt/freeswitch/conf/lang/en/vm/*.xml +etc/freeswitch/lang/en/*.xml +etc/freeswitch/lang/en/demo/*.xml +etc/freeswitch/lang/en/vm/*.xml opt/freeswitch/mod/mod_say_en.so* Modified: freeswitch/trunk/debian/freeswitch-lang-fr.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-fr.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-lang-fr.conffiles Wed Feb 11 06:35:56 2009 @@ -1,3 +1,3 @@ -/opt/freeswitch/conf/lang/fr/fr.xml -/opt/freeswitch/conf/lang/fr/demo/demo.xml -/opt/freeswitch/conf/lang/fr/vm/sounds.xml +/etc/freeswitch/lang/fr/fr.xml +/etc/freeswitch/lang/fr/demo/demo.xml +/etc/freeswitch/lang/fr/vm/sounds.xml Modified: freeswitch/trunk/debian/freeswitch-lang-fr.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-lang-fr.install (original) +++ freeswitch/trunk/debian/freeswitch-lang-fr.install Wed Feb 11 06:35:56 2009 @@ -1,4 +1,4 @@ -opt/freeswitch/conf/lang/fr/*.xml -opt/freeswitch/conf/lang/fr/demo/*.xml -opt/freeswitch/conf/lang/fr/vm/*.xml +etc/freeswitch/lang/fr/*.xml +etc/freeswitch/lang/fr/demo/*.xml +etc/freeswitch/lang/fr/vm/*.xml opt/freeswitch/mod/mod_say_fr.so* Modified: freeswitch/trunk/debian/freeswitch-lua.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-lua.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-lua.conffiles Wed Feb 11 06:35:56 2009 @@ -1 +1 @@ -/opt/freeswitch/conf/autoload_configs/lua.conf.xml +/etc/freeswitch/autoload_configs/lua.conf.xml Modified: freeswitch/trunk/debian/freeswitch-lua.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-lua.install (original) +++ freeswitch/trunk/debian/freeswitch-lua.install Wed Feb 11 06:35:56 2009 @@ -1,2 +1,2 @@ opt/freeswitch/mod/mod_lua* -opt/freeswitch/conf/autoload_configs/lua.conf.xml +etc/freeswitch/autoload_configs/lua.conf.xml Modified: freeswitch/trunk/debian/freeswitch-perl.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-perl.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-perl.conffiles Wed Feb 11 06:35:56 2009 @@ -1 +1 @@ -/opt/freeswitch/conf/autoload_configs/perl.conf.xml +/etc/freeswitch/autoload_configs/perl.conf.xml Modified: freeswitch/trunk/debian/freeswitch-perl.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-perl.install (original) +++ freeswitch/trunk/debian/freeswitch-perl.install Wed Feb 11 06:35:56 2009 @@ -1,3 +1,3 @@ opt/freeswitch/perl/* opt/freeswitch/mod/mod_perl* -opt/freeswitch/conf/autoload_configs/perl.conf.xml +etc/freeswitch/autoload_configs/perl.conf.xml Modified: freeswitch/trunk/debian/freeswitch-spidermonkey.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch-spidermonkey.conffiles (original) +++ freeswitch/trunk/debian/freeswitch-spidermonkey.conffiles Wed Feb 11 06:35:56 2009 @@ -1 +1 @@ -/opt/freeswitch/conf/autoload_configs/spidermonkey.conf.xml +/etc/freeswitch/autoload_configs/spidermonkey.conf.xml Modified: freeswitch/trunk/debian/freeswitch-spidermonkey.install ============================================================================== --- freeswitch/trunk/debian/freeswitch-spidermonkey.install (original) +++ freeswitch/trunk/debian/freeswitch-spidermonkey.install Wed Feb 11 06:35:56 2009 @@ -3,4 +3,4 @@ opt/freeswitch/lib/libjs.so* opt/freeswitch/lib/libplds4.so* opt/freeswitch/lib/libplc4.so* -opt/freeswitch/conf/autoload_configs/spidermonkey.conf.xml +etc/freeswitch/autoload_configs/spidermonkey.conf.xml Modified: freeswitch/trunk/debian/freeswitch.conffiles ============================================================================== --- freeswitch/trunk/debian/freeswitch.conffiles (original) +++ freeswitch/trunk/debian/freeswitch.conffiles Wed Feb 11 06:35:56 2009 @@ -1,73 +1,73 @@ -/opt/freeswitch/conf/vars.xml -/opt/freeswitch/conf/mime.types -/opt/freeswitch/conf/web-vm.tpl -/opt/freeswitch/conf/tetris.ttml -/opt/freeswitch/conf/fur_elise.ttml -/opt/freeswitch/conf/voicemail.tpl -/opt/freeswitch/conf/freeswitch.xml -/opt/freeswitch/conf/extensions.conf -/opt/freeswitch/conf/dialplan/public.xml -/opt/freeswitch/conf/dialplan/default.xml -/opt/freeswitch/conf/dialplan/features.xml -/opt/freeswitch/conf/dialplan/default/00_pizza_demo.xml -/opt/freeswitch/conf/dialplan/default/99999_enum.xml -/opt/freeswitch/conf/dialplan/public/00_inbound_did.xml -/opt/freeswitch/conf/sip_profiles/external.xml -/opt/freeswitch/conf/sip_profiles/internal/example.xml -/opt/freeswitch/conf/sip_profiles/internal.xml -/opt/freeswitch/conf/sip_profiles/external/example.xml -/opt/freeswitch/conf/directory/default/1007.xml -/opt/freeswitch/conf/directory/default/1001.xml -/opt/freeswitch/conf/directory/default/1008.xml -/opt/freeswitch/conf/directory/default/1019.xml -/opt/freeswitch/conf/directory/default/1002.xml -/opt/freeswitch/conf/directory/default/1011.xml -/opt/freeswitch/conf/directory/default/1014.xml -/opt/freeswitch/conf/directory/default/1003.xml -/opt/freeswitch/conf/directory/default/brian.xml -/opt/freeswitch/conf/directory/default/1013.xml -/opt/freeswitch/conf/directory/default/1000.xml -/opt/freeswitch/conf/directory/default/1009.xml -/opt/freeswitch/conf/directory/default/1005.xml -/opt/freeswitch/conf/directory/default/1010.xml -/opt/freeswitch/conf/directory/default/1015.xml -/opt/freeswitch/conf/directory/default/1004.xml -/opt/freeswitch/conf/directory/default/1017.xml -/opt/freeswitch/conf/directory/default/default.xml -/opt/freeswitch/conf/directory/default/1018.xml -/opt/freeswitch/conf/directory/default/1006.xml -/opt/freeswitch/conf/directory/default/1016.xml -/opt/freeswitch/conf/directory/default/1012.xml -/opt/freeswitch/conf/directory/default.xml -/opt/freeswitch/conf/autoload_configs/ivr.conf.xml -/opt/freeswitch/conf/autoload_configs/voicemail.conf.xml -/opt/freeswitch/conf/autoload_configs/switch.conf.xml -/opt/freeswitch/conf/autoload_configs/syslog.conf.xml -/opt/freeswitch/conf/autoload_configs/zeroconf.conf.xml -/opt/freeswitch/conf/autoload_configs/alsa.conf.xml -/opt/freeswitch/conf/autoload_configs/portaudio.conf.xml -/opt/freeswitch/conf/autoload_configs/xml_curl.conf.xml -/opt/freeswitch/conf/autoload_configs/enum.conf.xml -/opt/freeswitch/conf/autoload_configs/logfile.conf.xml -/opt/freeswitch/conf/autoload_configs/limit.conf.xml -/opt/freeswitch/conf/autoload_configs/java.conf.xml -/opt/freeswitch/conf/autoload_configs/sofia.conf.xml -/opt/freeswitch/conf/autoload_configs/event_multicast.conf.xml -/opt/freeswitch/conf/autoload_configs/rss.conf.xml -/opt/freeswitch/conf/autoload_configs/xml_rpc.conf.xml -/opt/freeswitch/conf/autoload_configs/local_stream.conf.xml -/opt/freeswitch/conf/autoload_configs/conference.conf.xml -/opt/freeswitch/conf/autoload_configs/event_socket.conf.xml -/opt/freeswitch/conf/autoload_configs/modules.conf.xml -/opt/freeswitch/conf/autoload_configs/dingaling.conf.xml -/opt/freeswitch/conf/autoload_configs/iax.conf.xml -/opt/freeswitch/conf/autoload_configs/post_load_modules.conf.xml -/opt/freeswitch/conf/autoload_configs/pocketsphinx.conf.xml -/opt/freeswitch/conf/autoload_configs/xml_cdr.conf.xml -/opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml -/opt/freeswitch/conf/autoload_configs/dialplan_directory.conf.xml -/opt/freeswitch/conf/autoload_configs/console.conf.xml -/opt/freeswitch/conf/autoload_configs/timezones.conf.xml -/opt/freeswitch/conf/autoload_configs/fax.conf.xml -/opt/freeswitch/conf/jingle_profiles/server.xml -/opt/freeswitch/conf/jingle_profiles/client.xml +/etc/freeswitch/vars.xml +/etc/freeswitch/mime.types +/etc/freeswitch/web-vm.tpl +/etc/freeswitch/tetris.ttml +/etc/freeswitch/fur_elise.ttml +/etc/freeswitch/voicemail.tpl +/etc/freeswitch/freeswitch.xml +/etc/freeswitch/extensions.conf +/etc/freeswitch/dialplan/public.xml +/etc/freeswitch/dialplan/default.xml +/etc/freeswitch/dialplan/features.xml +/etc/freeswitch/dialplan/default/00_pizza_demo.xml +/etc/freeswitch/dialplan/default/99999_enum.xml +/etc/freeswitch/dialplan/public/00_inbound_did.xml +/etc/freeswitch/sip_profiles/external.xml +/etc/freeswitch/sip_profiles/internal/example.xml +/etc/freeswitch/sip_profiles/internal.xml +/etc/freeswitch/sip_profiles/external/example.xml +/etc/freeswitch/directory/default/1007.xml +/etc/freeswitch/directory/default/1001.xml +/etc/freeswitch/directory/default/1008.xml +/etc/freeswitch/directory/default/1019.xml +/etc/freeswitch/directory/default/1002.xml +/etc/freeswitch/directory/default/1011.xml +/etc/freeswitch/directory/default/1014.xml +/etc/freeswitch/directory/default/1003.xml +/etc/freeswitch/directory/default/brian.xml +/etc/freeswitch/directory/default/1013.xml +/etc/freeswitch/directory/default/1000.xml +/etc/freeswitch/directory/default/1009.xml +/etc/freeswitch/directory/default/1005.xml +/etc/freeswitch/directory/default/1010.xml +/etc/freeswitch/directory/default/1015.xml +/etc/freeswitch/directory/default/1004.xml +/etc/freeswitch/directory/default/1017.xml +/etc/freeswitch/directory/default/default.xml +/etc/freeswitch/directory/default/1018.xml +/etc/freeswitch/directory/default/1006.xml +/etc/freeswitch/directory/default/1016.xml +/etc/freeswitch/directory/default/1012.xml +/etc/freeswitch/directory/default.xml +/etc/freeswitch/autoload_configs/ivr.conf.xml +/etc/freeswitch/autoload_configs/voicemail.conf.xml +/etc/freeswitch/autoload_configs/switch.conf.xml +/etc/freeswitch/autoload_configs/syslog.conf.xml +/etc/freeswitch/autoload_configs/zeroconf.conf.xml +/etc/freeswitch/autoload_configs/alsa.conf.xml +/etc/freeswitch/autoload_configs/portaudio.conf.xml +/etc/freeswitch/autoload_configs/xml_curl.conf.xml +/etc/freeswitch/autoload_configs/enum.conf.xml +/etc/freeswitch/autoload_configs/logfile.conf.xml +/etc/freeswitch/autoload_configs/limit.conf.xml +/etc/freeswitch/autoload_configs/java.conf.xml +/etc/freeswitch/autoload_configs/sofia.conf.xml +/etc/freeswitch/autoload_configs/event_multicast.conf.xml +/etc/freeswitch/autoload_configs/rss.conf.xml +/etc/freeswitch/autoload_configs/xml_rpc.conf.xml +/etc/freeswitch/autoload_configs/local_stream.conf.xml +/etc/freeswitch/autoload_configs/conference.conf.xml +/etc/freeswitch/autoload_configs/event_socket.conf.xml +/etc/freeswitch/autoload_configs/modules.conf.xml +/etc/freeswitch/autoload_configs/dingaling.conf.xml +/etc/freeswitch/autoload_configs/iax.conf.xml +/etc/freeswitch/autoload_configs/post_load_modules.conf.xml +/etc/freeswitch/autoload_configs/pocketsphinx.conf.xml +/etc/freeswitch/autoload_configs/xml_cdr.conf.xml +/etc/freeswitch/autoload_configs/cdr_csv.conf.xml +/etc/freeswitch/autoload_configs/dialplan_directory.conf.xml +/etc/freeswitch/autoload_configs/console.conf.xml +/etc/freeswitch/autoload_configs/timezones.conf.xml +/etc/freeswitch/autoload_configs/fax.conf.xml +/etc/freeswitch/jingle_profiles/server.xml +/etc/freeswitch/jingle_profiles/client.xml Modified: freeswitch/trunk/debian/freeswitch.install ============================================================================== --- freeswitch/trunk/debian/freeswitch.install (original) +++ freeswitch/trunk/debian/freeswitch.install Wed Feb 11 06:35:56 2009 @@ -45,76 +45,76 @@ opt/freeswitch/mod/mod_tone_stream.so* opt/freeswitch/mod/mod_fax.so* opt/freeswitch/mod/mod_loopback.so* -opt/freeswitch/conf/vars.xml -opt/freeswitch/conf/mime.types -opt/freeswitch/conf/web-vm.tpl -opt/freeswitch/conf/tetris.ttml -opt/freeswitch/conf/fur_elise.ttml -opt/freeswitch/conf/dialplan/public.xml -opt/freeswitch/conf/dialplan/default.xml -opt/freeswitch/conf/dialplan/features.xml -opt/freeswitch/conf/dialplan/default/00_pizza_demo.xml -opt/freeswitch/conf/dialplan/default/99999_enum.xml -opt/freeswitch/conf/dialplan/public/00_inbound_did.xml -opt/freeswitch/conf/sip_profiles/external.xml -opt/freeswitch/conf/sip_profiles/internal/example.xml -opt/freeswitch/conf/sip_profiles/internal.xml -opt/freeswitch/conf/sip_profiles/external/example.xml -opt/freeswitch/conf/directory/default/1007.xml -opt/freeswitch/conf/directory/default/1001.xml -opt/freeswitch/conf/directory/default/1008.xml -opt/freeswitch/conf/directory/default/1019.xml -opt/freeswitch/conf/directory/default/1002.xml -opt/freeswitch/conf/directory/default/1011.xml -opt/freeswitch/conf/directory/default/1014.xml -opt/freeswitch/conf/directory/default/1003.xml -opt/freeswitch/conf/directory/default/brian.xml -opt/freeswitch/conf/directory/default/1013.xml -opt/freeswitch/conf/directory/default/1000.xml -opt/freeswitch/conf/directory/default/1009.xml -opt/freeswitch/conf/directory/default/1005.xml -opt/freeswitch/conf/directory/default/1010.xml -opt/freeswitch/conf/directory/default/1015.xml -opt/freeswitch/conf/directory/default/1004.xml -opt/freeswitch/conf/directory/default/1017.xml -opt/freeswitch/conf/directory/default/default.xml -opt/freeswitch/conf/directory/default/1018.xml -opt/freeswitch/conf/directory/default/1006.xml -opt/freeswitch/conf/directory/default/1016.xml -opt/freeswitch/conf/directory/default/1012.xml -opt/freeswitch/conf/directory/default.xml -opt/freeswitch/conf/voicemail.tpl -opt/freeswitch/conf/freeswitch.xml -opt/freeswitch/conf/extensions.conf -opt/freeswitch/conf/autoload_configs/ivr.conf.xml -opt/freeswitch/conf/autoload_configs/voicemail.conf.xml -opt/freeswitch/conf/autoload_configs/switch.conf.xml -opt/freeswitch/conf/autoload_configs/syslog.conf.xml -opt/freeswitch/conf/autoload_configs/zeroconf.conf.xml -opt/freeswitch/conf/autoload_configs/alsa.conf.xml -opt/freeswitch/conf/autoload_configs/portaudio.conf.xml -opt/freeswitch/conf/autoload_configs/xml_curl.conf.xml -opt/freeswitch/conf/autoload_configs/enum.conf.xml -opt/freeswitch/conf/autoload_configs/logfile.conf.xml -opt/freeswitch/conf/autoload_configs/limit.conf.xml -opt/freeswitch/conf/autoload_configs/java.conf.xml -opt/freeswitch/conf/autoload_configs/sofia.conf.xml -opt/freeswitch/conf/autoload_configs/event_multicast.conf.xml -opt/freeswitch/conf/autoload_configs/rss.conf.xml -opt/freeswitch/conf/autoload_configs/xml_rpc.conf.xml -opt/freeswitch/conf/autoload_configs/local_stream.conf.xml -opt/freeswitch/conf/autoload_configs/conference.conf.xml -opt/freeswitch/conf/autoload_configs/event_socket.conf.xml -opt/freeswitch/conf/autoload_configs/modules.conf.xml -opt/freeswitch/conf/autoload_configs/dingaling.conf.xml -opt/freeswitch/conf/autoload_configs/iax.conf.xml -opt/freeswitch/conf/autoload_configs/post_load_modules.conf.xml -opt/freeswitch/conf/autoload_configs/pocketsphinx.conf.xml -opt/freeswitch/conf/autoload_configs/xml_cdr.conf.xml -opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml -opt/freeswitch/conf/autoload_configs/dialplan_directory.conf.xml -opt/freeswitch/conf/autoload_configs/console.conf.xml -opt/freeswitch/conf/autoload_configs/timezones.conf.xml -opt/freeswitch/conf/autoload_configs/fax.conf.xml -opt/freeswitch/conf/jingle_profiles/server.xml -opt/freeswitch/conf/jingle_profiles/client.xml +etc/freeswitch/vars.xml +etc/freeswitch/mime.types +etc/freeswitch/web-vm.tpl +etc/freeswitch/tetris.ttml +etc/freeswitch/fur_elise.ttml +etc/freeswitch/dialplan/public.xml +etc/freeswitch/dialplan/default.xml +etc/freeswitch/dialplan/features.xml +etc/freeswitch/dialplan/default/00_pizza_demo.xml +etc/freeswitch/dialplan/default/99999_enum.xml +etc/freeswitch/dialplan/public/00_inbound_did.xml +etc/freeswitch/sip_profiles/external.xml +etc/freeswitch/sip_profiles/internal/example.xml +etc/freeswitch/sip_profiles/internal.xml +etc/freeswitch/sip_profiles/external/example.xml +etc/freeswitch/directory/default/1007.xml +etc/freeswitch/directory/default/1001.xml +etc/freeswitch/directory/default/1008.xml +etc/freeswitch/directory/default/1019.xml +etc/freeswitch/directory/default/1002.xml +etc/freeswitch/directory/default/1011.xml +etc/freeswitch/directory/default/1014.xml +etc/freeswitch/directory/default/1003.xml +etc/freeswitch/directory/default/brian.xml +etc/freeswitch/directory/default/1013.xml +etc/freeswitch/directory/default/1000.xml +etc/freeswitch/directory/default/1009.xml +etc/freeswitch/directory/default/1005.xml +etc/freeswitch/directory/default/1010.xml +etc/freeswitch/directory/default/1015.xml +etc/freeswitch/directory/default/1004.xml +etc/freeswitch/directory/default/1017.xml +etc/freeswitch/directory/default/default.xml +etc/freeswitch/directory/default/1018.xml +etc/freeswitch/directory/default/1006.xml +etc/freeswitch/directory/default/1016.xml +etc/freeswitch/directory/default/1012.xml +etc/freeswitch/directory/default.xml +etc/freeswitch/voicemail.tpl +etc/freeswitch/freeswitch.xml +etc/freeswitch/extensions.conf +etc/freeswitch/autoload_configs/ivr.conf.xml +etc/freeswitch/autoload_configs/voicemail.conf.xml +etc/freeswitch/autoload_configs/switch.conf.xml +etc/freeswitch/autoload_configs/syslog.conf.xml +etc/freeswitch/autoload_configs/zeroconf.conf.xml +etc/freeswitch/autoload_configs/alsa.conf.xml +etc/freeswitch/autoload_configs/portaudio.conf.xml +etc/freeswitch/autoload_configs/xml_curl.conf.xml +etc/freeswitch/autoload_configs/enum.conf.xml +etc/freeswitch/autoload_configs/logfile.conf.xml +etc/freeswitch/autoload_configs/limit.conf.xml +etc/freeswitch/autoload_configs/java.conf.xml +etc/freeswitch/autoload_configs/sofia.conf.xml +etc/freeswitch/autoload_configs/event_multicast.conf.xml +etc/freeswitch/autoload_configs/rss.conf.xml +etc/freeswitch/autoload_configs/xml_rpc.conf.xml +etc/freeswitch/autoload_configs/local_stream.conf.xml +etc/freeswitch/autoload_configs/conference.conf.xml +etc/freeswitch/autoload_configs/event_socket.conf.xml +etc/freeswitch/autoload_configs/modules.conf.xml +etc/freeswitch/autoload_configs/dingaling.conf.xml +etc/freeswitch/autoload_configs/iax.conf.xml +etc/freeswitch/autoload_configs/post_load_modules.conf.xml +etc/freeswitch/autoload_configs/pocketsphinx.conf.xml +etc/freeswitch/autoload_configs/xml_cdr.conf.xml +etc/freeswitch/autoload_configs/cdr_csv.conf.xml +etc/freeswitch/autoload_configs/dialplan_directory.conf.xml +etc/freeswitch/autoload_configs/console.conf.xml +etc/freeswitch/autoload_configs/timezones.conf.xml +etc/freeswitch/autoload_configs/fax.conf.xml +etc/freeswitch/jingle_profiles/server.xml +etc/freeswitch/jingle_profiles/client.xml Modified: freeswitch/trunk/debian/postinst ============================================================================== --- freeswitch/trunk/debian/postinst (original) +++ freeswitch/trunk/debian/postinst Wed Feb 11 06:35:56 2009 @@ -25,10 +25,10 @@ adduser --disabled-password --quiet --system \ --home /opt/freeswitch \ --gecos "FreeSwitch Voice Platform" --ingroup daemon \ - --add_extra_groups audio \ freeswitch fi + usermod -a -G audio freeswitch mkdir -p /opt/freeswitch chown -R freeswitch:daemon /opt/freeswitch chmod -R o-rwx /opt/freeswitch Modified: freeswitch/trunk/debian/postrm ============================================================================== --- freeswitch/trunk/debian/postrm (original) +++ freeswitch/trunk/debian/postrm Wed Feb 11 06:35:56 2009 @@ -20,7 +20,7 @@ case "$1" in purge) - rm -Rf /etc/opt/freeswitch + rm -Rf /etc/freeswitch rm -Rf /opt/freeswitch userdel freeswitch ;; Modified: freeswitch/trunk/debian/rules ============================================================================== --- freeswitch/trunk/debian/rules (original) +++ freeswitch/trunk/debian/rules Wed Feb 11 06:35:56 2009 @@ -61,7 +61,7 @@ touch modules.conf echo $(MODULES) for i in $(MODULES); do echo $$i >> modules.conf; done - ./configure --prefix=/opt/freeswitch --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} + ./configure --sysconfdir=/etc/freeswitch --prefix=/opt/freeswitch --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) ${FEATURES} configure: if test ! -f Makefile.in ; then \ @@ -123,7 +123,7 @@ dh_link dh_strip --dbg-package=freeswitch dh_compress - dh_fixperms --exclude /opt/freeswitch/conf + dh_fixperms --exclude /etc/freeswitch dh_installdeb dh_shlibdeps --exclude=/opt/freeswitch dh_gencontrol From anthm at freeswitch.org Wed Feb 11 06:52:39 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 08:52:39 -0600 Subject: [Freeswitch-svn] [commit] r11753 - freeswitch/trunk/src Message-ID: Author: anthm Date: Wed Feb 11 08:52:39 2009 New Revision: 11753 Log: FSCORE-293 Modified: freeswitch/trunk/src/switch_ivr_bridge.c Modified: freeswitch/trunk/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_bridge.c (original) +++ freeswitch/trunk/src/switch_ivr_bridge.c Wed Feb 11 08:52:39 2009 @@ -579,7 +579,7 @@ if ((other_uuid = switch_channel_get_variable(channel, SWITCH_UUID_BRIDGE)) && (other_session = switch_core_session_locate(other_uuid))) { switch_channel_t *other_channel = switch_core_session_get_channel(other_session); switch_event_t *event; - uint8_t ready_a, ready_b; + int ready_a, ready_b; switch_channel_state_t state; switch_channel_set_variable(channel, SWITCH_UUID_BRIDGE, NULL); From anthm at freeswitch.org Wed Feb 11 06:56:23 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 08:56:23 -0600 Subject: [Freeswitch-svn] [commit] r11754 - freeswitch/trunk/src Message-ID: Author: anthm Date: Wed Feb 11 08:56:22 2009 New Revision: 11754 Log: FSCORE-294 Modified: freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Wed Feb 11 08:56:22 2009 @@ -102,12 +102,12 @@ uint8_t progress; uint8_t return_ring_ready; uint8_t monitor_early_media_ring; - uint8_t monitor_early_media_ring_total; - uint8_t monitor_early_media_ring_count; uint8_t monitor_early_media_fail; uint8_t gen_ringback; uint8_t ignore_early_media; uint8_t ignore_ring_ready; + int monitor_early_media_ring_count; + int monitor_early_media_ring_total; } originate_global_t; @@ -302,9 +302,11 @@ uint8_t rval = 0; switch_channel_t *caller_channel = NULL; int pindex = -1; + char bug_key[256] = ""; + oglobals->hups = 0; oglobals->idx = IDX_NADA; - char bug_key[256] = ""; + if (oglobals->session) { caller_channel = switch_core_session_get_channel(oglobals->session); From mikej at freeswitch.org Wed Feb 11 07:10:27 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:10:27 -0600 Subject: [Freeswitch-svn] [commit] r11755 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Wed Feb 11 09:10:27 2009 New Revision: 11755 Log: move PFLAGS to be array based Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Wed Feb 11 09:10:27 2009 @@ -141,38 +141,40 @@ } MFLAGS; typedef enum { - PFLAG_AUTH_CALLS = (1 << 0), - PFLAG_BLIND_REG = (1 << 1), - PFLAG_AUTH_ALL = (1 << 2), - PFLAG_FULL_ID = (1 << 3), - PFLAG_MULTIREG_CONTACT = (1 << 4), - PFLAG_PASS_RFC2833 = (1 << 5), - PFLAG_DISABLE_TRANSCODING = (1 << 6), - PFLAG_REWRITE_TIMESTAMPS = (1 << 7), - PFLAG_RUNNING = (1 << 8), - PFLAG_RESPAWN = (1 << 9), - PFLAG_GREEDY = (1 << 10), - PFLAG_MULTIREG = (1 << 11), - PFLAG_SUPPRESS_CNG = (1 << 12), - PFLAG_TLS = (1 << 13), - PFLAG_CHECKUSER = (1 << 14), - PFLAG_SECURE = (1 << 15), - PFLAG_BLIND_AUTH = (1 << 16), - PFLAG_WORKER_RUNNING = (1 << 17), - PFLAG_UNREG_OPTIONS_FAIL = (1 << 18), - PFLAG_DISABLE_TIMER = (1 << 19), - PFLAG_DISABLE_100REL = (1 << 20), - PFLAG_AGGRESSIVE_NAT_DETECTION = (1 << 21), - PFLAG_RECIEVED_IN_NAT_REG_CONTACT = (1 << 22), - PFLAG_3PCC = (1 << 23), - PFLAG_DISABLE_RTP_AUTOADJ = (1 << 24), - PFLAG_DISABLE_SRTP_AUTH = (1 << 25), - PFLAG_FUNNY_STUN = (1 << 26), - PFLAG_STUN_ENABLED = (1 << 27), - PFLAG_STUN_AUTO_DISABLE = (1 << 28), - PFLAG_3PCC_PROXY = (1 << 29), - PFLAG_CALLID_AS_UUID = (1 << 30), - PFLAG_UUID_AS_CALLID = (1 << 31) + PFLAG_AUTH_CALLS, + PFLAG_BLIND_REG, + PFLAG_AUTH_ALL, + PFLAG_FULL_ID, + PFLAG_MULTIREG_CONTACT, + PFLAG_PASS_RFC2833, + PFLAG_DISABLE_TRANSCODING, + PFLAG_REWRITE_TIMESTAMPS, + PFLAG_RUNNING, + PFLAG_RESPAWN, + PFLAG_GREEDY, + PFLAG_MULTIREG, + PFLAG_SUPPRESS_CNG, + PFLAG_TLS, + PFLAG_CHECKUSER, + PFLAG_SECURE, + PFLAG_BLIND_AUTH, + PFLAG_WORKER_RUNNING, + PFLAG_UNREG_OPTIONS_FAIL, + PFLAG_DISABLE_TIMER, + PFLAG_DISABLE_100REL, + PFLAG_AGGRESSIVE_NAT_DETECTION, + PFLAG_RECIEVED_IN_NAT_REG_CONTACT, + PFLAG_3PCC, + PFLAG_DISABLE_RTP_AUTOADJ, + PFLAG_DISABLE_SRTP_AUTH, + PFLAG_FUNNY_STUN, + PFLAG_STUN_ENABLED, + PFLAG_STUN_AUTO_DISABLE, + PFLAG_3PCC_PROXY, + PFLAG_CALLID_AS_UUID, + PFLAG_UUID_AS_CALLID, + + PFLAG_MAX } PFLAGS; typedef enum { @@ -398,7 +400,7 @@ int running; int dtmf_duration; unsigned int flags; - unsigned int pflags; + uint8_t pflags[PFLAG_MAX]; unsigned int mflags; unsigned int ndlb; uint32_t max_calls; @@ -585,15 +587,15 @@ AUTH_STALE, } auth_res_t; -#define sofia_test_pflag(obj, flag) ((obj)->pflags & flag) -#define sofia_set_pflag(obj, flag) (obj)->pflags |= (flag) + +#define sofia_test_pflag(obj, flag) ((obj)->pflags[flag] ? 1 : 0) +#define sofia_set_pflag(obj, flag) (obj)->pflags[flag] = 1 #define sofia_set_pflag_locked(obj, flag) assert(obj->flag_mutex != NULL);\ switch_mutex_lock(obj->flag_mutex);\ -(obj)->pflags |= (flag);\ +(obj)->pflags[flag] = 1;\ switch_mutex_unlock(obj->flag_mutex); -#define sofia_clear_pflag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->pflags &= ~(flag); switch_mutex_unlock(obj->flag_mutex); -#define sofia_clear_pflag(obj, flag) (obj)->pflags &= ~(flag) -#define sofia_copy_pflags(dest, src, flags) (dest)->pflags &= ~(flags); (dest)->pflags |= ((src)->pflags & (flags)) +#define sofia_clear_pflag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->pflags[flag] = 0; switch_mutex_unlock(obj->flag_mutex); +#define sofia_clear_pflag(obj, flag) (obj)->pflags[flag] = 0 #define sofia_set_flag_locked(obj, flag) switch_set_flag_locked(obj, flag) #define sofia_set_flag(obj, flag) switch_set_flag(obj, flag) From anthm at freeswitch.org Wed Feb 11 07:15:44 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:15:44 -0600 Subject: [Freeswitch-svn] [commit] r11756 - freeswitch/trunk/libs/sqlite/src Message-ID: Author: anthm Date: Wed Feb 11 09:15:44 2009 New Revision: 11756 Log: FSCORE-292 Modified: freeswitch/trunk/libs/sqlite/src/os_win.c Modified: freeswitch/trunk/libs/sqlite/src/os_win.c ============================================================================== --- freeswitch/trunk/libs/sqlite/src/os_win.c (original) +++ freeswitch/trunk/libs/sqlite/src/os_win.c Wed Feb 11 09:15:44 2009 @@ -25,9 +25,9 @@ /* ** Macros used to determine whether or not to use threads. */ -#if defined(THREADSAFE) && THREADSAFE +//#if defined(THREADSAFE) && THREADSAFE # define SQLITE_W32_THREADS 1 -#endif +//#endif /* ** Include code that is common to all os_*.c files @@ -1616,7 +1616,7 @@ inMutex++; } void sqlite3WinLeaveMutex(){ - assert( inMutex ); + //assert( inMutex ); inMutex--; #ifdef SQLITE_W32_THREADS assert( mutexOwner==GetCurrentThreadId() ); From mikej at freeswitch.org Wed Feb 11 07:20:27 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:20:27 -0600 Subject: [Freeswitch-svn] [commit] r11757 - freeswitch/trunk/libs/win32/sqlite Message-ID: Author: mikej Date: Wed Feb 11 09:20:27 2009 New Revision: 11757 Log: FSCORE-292 Modified: freeswitch/trunk/libs/win32/sqlite/sqlite.2008.vcproj freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj Modified: freeswitch/trunk/libs/win32/sqlite/sqlite.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sqlite/sqlite.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/sqlite/sqlite.2008.vcproj Wed Feb 11 09:20:27 2009 @@ -43,7 +43,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(ProjectDir)";"$(ProjectDir)..\..\sqlite\src"" - PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG" + PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -106,7 +106,7 @@ Author: brian Date: Wed Feb 11 09:54:48 2009 New Revision: 11758 Log: Mon Dec 15 10:32:55 CST 2008 Pekka Pessi * su_tag_class.h: added prototypes for tag functions Protypes for t_filter(), t_null_filter(), t_end_filter(), t_socket_snprintf(), t_socket_ref_set() have been missing. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h Wed Feb 11 09:54:48 2009 @@ -97,6 +97,13 @@ SOFIAPUBVAR tag_class_t ref_tag_class[]; +SOFIAPUBFUN tagi_t *t_filter(tagi_t *, tagi_t const [], + tagi_t const *, void **); +SOFIAPUBFUN tagi_t *t_null_filter(tagi_t *dst, tagi_t const filter[], + tagi_t const *src, void **bb); +SOFIAPUBFUN tagi_t *t_end_filter(tagi_t *, tagi_t const [], + tagi_t const *, void **); + SOFIAPUBFUN int t_ptr_snprintf(tagi_t const *t, char b[], size_t size); SOFIAPUBFUN int t_ptr_ref_set(tag_type_t tt, void *ref, tagi_t const value[]); SOFIAPUBFUN int t_ptr_scan(tag_type_t, su_home_t *, char const *, @@ -117,6 +124,9 @@ SOFIAPUBFUN int t_uint_scan(tag_type_t, su_home_t *, char const *, tag_value_t *return_value); +SOFIAPUBFUN int t_socket_snprintf(tagi_t const *t, char b[], size_t size); +SOFIAPUBFUN int t_socket_ref_set(tag_type_t tt, void *ref, tagi_t const value[]); + SOFIAPUBFUN tagi_t *t_str_dup(tagi_t *dst, tagi_t const *src, void **b); SOFIAPUBFUN size_t t_str_xtra(tagi_t const *t, size_t offset); SOFIAPUBFUN int t_str_snprintf(tagi_t const *t, char b[], size_t size); From mikej at freeswitch.org Wed Feb 11 07:55:22 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:55:22 -0600 Subject: [Freeswitch-svn] [commit] r11759 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 09:55:22 2009 New Revision: 11759 Log: Mon Dec 15 10:33:16 CST 2008 Pekka Pessi * su_tag.h: added prototype for tl_vllen() Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h Wed Feb 11 09:55:22 2009 @@ -148,6 +148,7 @@ /* Low-level taglist manipulation functions */ SOFIAPUBFUN size_t tl_len(tagi_t const lst[]); +SOFIAPUBFUN size_t tl_vllen(tag_type_t tag, tag_value_t value, va_list ap); SOFIAPUBFUN size_t tl_xtra(tagi_t const lst[], size_t offset); SOFIAPUBFUN tagi_t *tl_next(tagi_t const *lst); SOFIAPUBFUN tagi_t *tl_move(tagi_t *dst, tagi_t const src[]); From mikej at freeswitch.org Wed Feb 11 07:56:04 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:56:04 -0600 Subject: [Freeswitch-svn] [commit] r11760 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 09:56:04 2009 New Revision: 11760 Log: Mon Dec 15 10:33:40 CST 2008 Pekka Pessi * sofia-sip/heap.h: added protype for su_smoothsort() Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h Wed Feb 11 09:56:04 2009 @@ -319,9 +319,6 @@ type *_heap = h; type _swap = _heap[a]; \ set(_heap, a, _heap[b]); set(_heap, b, _swap); \ } \ -void su_smoothsort(void *base, size_t r0, size_t N, \ - int (*less)(void *base, size_t a, size_t b), \ - void (*swap)(void *base, size_t a, size_t b)); \ scope void prefix##sort(heaptype h) \ { \ struct prefix##priv { size_t _size, _used; type _heap[1];}; \ @@ -331,4 +328,14 @@ } \ extern int const prefix##dummy_heap +#include + +SOFIA_BEGIN_DECLS + +SOFIAPUBFUN void su_smoothsort(void *base, size_t r0, size_t N, + int (*less)(void *base, size_t a, size_t b), + void (*swap)(void *base, size_t a, size_t b)); + +SOFIA_END_DECLS + #endif /** !defined(SOFIA_SIP_HEAP_H) */ From mikej at freeswitch.org Wed Feb 11 07:56:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:56:44 -0600 Subject: [Freeswitch-svn] [commit] r11761 - in freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv: . sofia-resolv Message-ID: Author: mikej Date: Wed Feb 11 09:56:43 2009 New Revision: 11761 Log: Mon Dec 15 10:50:21 CST 2008 Pekka Pessi * sofia-resolv/sres_cache.h: added prototype for sres_cache_clean() Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h Wed Feb 11 09:56:43 2009 @@ -90,6 +90,9 @@ /** Free and zero one record. */ SRESPUBFUN void sres_cache_free_one(sres_cache_t *, sres_record_t *answer); +/** Remove old records from cache. */ +SRESPUBFUN void sres_cache_clean(sres_cache_t *cache, time_t now); + /** Allocate a cache record */ SRESPUBFUN sres_record_t *sres_cache_alloc_record(sres_cache_t *cache, Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c Wed Feb 11 09:56:43 2009 @@ -437,7 +437,13 @@ return result; } -/** Remove entries from cache. */ +/** Remove old records from cache. + * + * Remove entries older than @a now from the cache. + * + * @param cache pointer to DNS cache object + * @param now remove older than this time + */ void sres_cache_clean(sres_cache_t *cache, time_t now) { size_t i; From mikej at freeswitch.org Wed Feb 11 07:57:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:57:14 -0600 Subject: [Freeswitch-svn] [commit] r11762 - freeswitch/trunk/libs/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 09:57:13 2009 New Revision: 11762 Log: Mon Dec 15 10:54:36 CST 2008 Pekka Pessi * RELEASE: mention removed globals Modified: freeswitch/trunk/libs/sofia-sip/RELEASE Modified: freeswitch/trunk/libs/sofia-sip/RELEASE ============================================================================== --- freeswitch/trunk/libs/sofia-sip/RELEASE (original) +++ freeswitch/trunk/libs/sofia-sip/RELEASE Wed Feb 11 09:57:13 2009 @@ -30,6 +30,16 @@ work against an older library. The ABI has been tested with the nua module unit test (test_nua) built against original 1.12.0 release. +Removed globals which should have been static in first place: + - su_t64_to_time() + - mutex_trylocker() + - su_port_set_system_preferences() + - t_null_next(), t_null_move(), t_null_dup(), t_null_copy(), t_null_find() + - t_skip_next(), t_skip_move(), t_skip_len(), t_skip_dup(), t_skip_filter() + - t_next_next(), t_next_move(), t_next_len(), t_next_dup(), t_next_filter() + - t_filter_with(), t_any_filter() + - sres_record_class() + libsofia-sip-ua-glib: - No ABI/API changes, compatible with 1.12.0. Note, libsofia-sip-ua-glib interface is not considered stable and may change in a future 1.12.x From mikej at freeswitch.org Wed Feb 11 07:57:41 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:57:41 -0600 Subject: [Freeswitch-svn] [commit] r11763 - freeswitch/trunk/libs/sofia-sip/tests Message-ID: Author: mikej Date: Wed Feb 11 09:57:41 2009 New Revision: 11763 Log: Mon Dec 15 10:43:17 CST 2008 Pekka Pessi * test_nua.c: made usage static Modified: freeswitch/trunk/libs/sofia-sip/tests/test_nua.c Modified: freeswitch/trunk/libs/sofia-sip/tests/test_nua.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/tests/test_nua.c (original) +++ freeswitch/trunk/libs/sofia-sip/tests/test_nua.c Wed Feb 11 09:57:41 2009 @@ -100,7 +100,7 @@ " -k do not exit after first error\n" ; -void usage(int exitcode) +static void usage(int exitcode) { fprintf(stderr, "usage: %s OPTIONS\n where OPTIONS are\n%s", name, options_usage); From mikej at freeswitch.org Wed Feb 11 07:58:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 09:58:10 -0600 Subject: [Freeswitch-svn] [commit] r11764 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Wed Feb 11 09:58:09 2009 New Revision: 11764 Log: Mon Dec 15 10:57:06 CST 2008 Pekka Pessi * sresolv: made sres_record_class static Should never been global. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c Wed Feb 11 09:58:09 2009 @@ -1536,7 +1536,8 @@ } /** Convert class to its name. */ -char const *sres_record_class(int rclass, char buffer[8]) +static char const * +sres_record_class(int rclass, char buffer[8]) { switch (rclass) { case 1: return "IN"; From mikej at freeswitch.org Wed Feb 11 08:03:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:03:10 -0600 Subject: [Freeswitch-svn] [commit] r11765 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:03:09 2009 New Revision: 11765 Log: Mon Dec 15 09:16:20 CST 2008 Pekka Pessi * su_alloc.c: always unlock home before destroying mutexes Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c Wed Feb 11 10:03:09 2009 @@ -842,6 +842,8 @@ * * @param home pointer to a memory home * @param data pointer to a memory area possibly allocated though home + * + * @NEW_1_12_9 */ int su_home_check_alloc(su_home_t const *home, void const *data) { @@ -1020,13 +1022,13 @@ home->suh_blocks = NULL; if (home->suh_lock) { - void *suh_lock = home->suh_lock; + void *suh_lock = home->suh_lock; - home->suh_lock = NULL; + home->suh_lock = NULL; - /* Unlock, or risk assert() or leak handles on Windows */ - _su_home_unlocker(suh_lock); - _su_home_destroy_mutexes(suh_lock); + /* Unlock, or risk assert() or leak handles on Windows */ + _su_home_unlocker(suh_lock); + _su_home_destroy_mutexes(suh_lock); } } } From mikej at freeswitch.org Wed Feb 11 08:04:30 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:04:30 -0600 Subject: [Freeswitch-svn] [commit] r11766 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 10:04:30 2009 New Revision: 11766 Log: Fri Dec 19 08:38:53 CST 2008 Pekka Pessi * nta.c: be consistent with maxsize and max_proceeding types Original patch by Mike Jerris Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:04:30 2009 @@ -1 +1 @@ -Tue Jan 27 15:54:10 MST 2009 +Wed Feb 11 10:03:28 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 10:04:30 2009 @@ -167,8 +167,8 @@ url_t *sa_default_proxy; /**< Default outbound proxy */ unsigned sa_bad_req_mask; /**< Request error mask */ unsigned sa_bad_resp_mask; /**< Response error mask */ - size_t sa_maxsize; /**< Maximum size of incoming messages */ - size_t sa_max_proceeding; /**< Maximum size of proceeding queue */ + usize_t sa_maxsize; /**< Maximum size of incoming messages */ + usize_t sa_max_proceeding; /**< Maximum size of proceeding queue */ unsigned sa_udp_mtu; /**< Maximum size of outgoing UDP requests */ @@ -1593,7 +1593,7 @@ if (maxsize > UINT32_MAX) maxsize = UINT32_MAX; agent->sa_maxsize = maxsize; - if (max_proceeding == 0) max_proceeding = UINT32_MAX; + if (max_proceeding == 0) max_proceeding = USIZE_MAX; agent->sa_max_proceeding = max_proceeding; if (max_forwards == 0) max_forwards = 70; /* Default value */ From mikej at freeswitch.org Wed Feb 11 08:08:28 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:08:28 -0600 Subject: [Freeswitch-svn] [commit] r11767 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:08:28 2009 New Revision: 11767 Log: Fri Dec 19 10:51:02 CST 2008 Pekka Pessi * tport_logging.c: do not use stamp as format string Original patch by Mike Jerris. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c Wed Feb 11 10:08:28 2009 @@ -232,8 +232,7 @@ n += iov[i].mv_len; tport_stamp(self, msg, stamp, what, n, via, now); - su_log("%s", stamp); - su_log(" " MSG_SEPARATOR); + su_log("%s " MSG_SEPARATOR, stamp); for (i = 0; truncated == 0 && i < iovlen && i < 80; i++) { char *s = iov[i].mv_base, *end = s + iov[i].mv_len; From mikej at freeswitch.org Wed Feb 11 08:10:58 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:10:58 -0600 Subject: [Freeswitch-svn] [commit] r11768 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:10:58 2009 New Revision: 11768 Log: Tue Dec 16 11:58:26 CST 2008 Jarod Neuner * Helper functions for vtp_connect and vtp_wakeup_pri. - Expose tport_setname() and tport_wakeup() via tport_internal.h - Add tport_register_secondary() for adding secondaries to a root, and to alleviate the need to export tprb_append. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:10:58 2009 @@ -1 +1 @@ -Wed Feb 11 10:03:28 CST 2009 +Wed Feb 11 10:10:42 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c Wed Feb 11 10:10:58 2009 @@ -399,9 +399,7 @@ char const * const transports[], enum tport_via public, tagi_t *tags), - tport_setname(tport_t *, char const *, su_addrinfo_t const *, char const *), tport_wakeup_pri(su_root_magic_t *m, su_wait_t *w, tport_t *self), - tport_wakeup(su_root_magic_t *m, su_wait_t *w, tport_t *self), tport_base_wakeup(tport_t *self, int events), tport_connected(su_root_magic_t *m, su_wait_t *w, tport_t *self), tport_resolve(tport_t *self, msg_t *msg, tp_name_t const *tpn), @@ -949,13 +947,10 @@ su_addrinfo_t *real_ai, tp_name_t const *tpn) { - tport_master_t *mr = pri->pri_master; tport_t *self = NULL; su_socket_t s, server_socket; - su_wait_t wait[1] = { SU_WAIT_INIT }; su_wakeup_f wakeup = tport_wakeup; - int index = 0; int events = SU_WAIT_IN | SU_WAIT_ERR; int err; @@ -967,7 +962,6 @@ #define TPORT_CONNECT_ERROR(errno, what) \ return \ ((void)(err = errno, \ - su_wait_destroy(wait), \ (SU_LOG_LEVEL >= errlevel ? \ su_llog(tport_log, errlevel, \ "%s(%p): %s(pf=%d %s/%s): %s\n", \ @@ -1013,7 +1007,7 @@ TPORT_CONNECT_ERROR(su_errno(), tport_setname); /* Try to have a non-blocking connect(). - * The su_wait_create() below makes the socket non-blocking anyway. */ + * The tport_register_secondary() below makes the socket non-blocking anyway. */ su_setblocking(s, 0); if (connect(s, ai->ai_addr, (socklen_t)(ai->ai_addrlen)) == SOCKET_ERROR) { @@ -1029,14 +1023,8 @@ self->tp_is_connected = 1; } - if (su_wait_create(wait, s, self->tp_events = events) == -1) - TPORT_CONNECT_ERROR(su_errno(), su_wait_create); - - /* Register receiving function with events specified above */ - if ((index = su_root_register(mr->mr_root, wait, wakeup, self, 0)) == -1) - TPORT_CONNECT_ERROR(su_errno(), su_root_register); - - self->tp_index = index; + if (tport_register_secondary(self, wakeup, events) == -1) + TPORT_CONNECT_ERROR(su_errno(), tport_register_secondary); if (ai == real_ai) { SU_DEBUG_5(("%s(%p): %s to " TPN_FORMAT "\n", @@ -1049,11 +1037,35 @@ TPN_ARGS(self->tp_name))); } - tprb_append(&pri->pri_open, self); - return self; } +/** Register a new secondary transport. @internal */ +int tport_register_secondary(tport_t *self, su_wakeup_f wakeup, int events) +{ + int i; + su_root_t *root = tport_is_secondary(self) ? self->tp_master->mr_root : NULL; + su_wait_t wait[1] = { SU_WAIT_INIT }; + + if (root != NULL + /* Create wait object with appropriate events. */ + && + su_wait_create(wait, self->tp_socket, events) != -1 + /* Register socket to root */ + && + (i = su_root_register(root, wait, wakeup, self, 0)) != -1) { + + self->tp_index = i; + self->tp_events = events; + + tprb_append(&self->tp_pri->pri_open, self); + return 0; + } + + su_wait_destroy(wait); + return -1; +} + /** Destroy a secondary transport. @internal */ void tport_zap_secondary(tport_t *self) { @@ -2351,7 +2363,6 @@ /** Set transport object name. @internal */ -static int tport_setname(tport_t *self, char const *protoname, su_addrinfo_t const *ai, @@ -2577,48 +2588,38 @@ ai->ai_addr = &su->su_sa, ai->ai_addrlen = sulen; /* Alloc a new transport object, then register socket events with it */ - self = tport_alloc_secondary(pri, s, 1, &reason); - - if (self) { - int i; - su_root_t *root = self->tp_master->mr_root; - su_wakeup_f wakeup = tport_wakeup; + if ((self = tport_alloc_secondary(pri, s, 1, &reason)) == NULL) { + SU_DEBUG_3(("%s(%p): incoming secondary on "TPN_FORMAT + " failed. reason = %s\n", __func__, pri, + TPN_ARGS(pri->pri_primary->tp_name), reason)); + return 0; + } + else { int events = SU_WAIT_IN|SU_WAIT_ERR|SU_WAIT_HUP; - su_wait_t wait[1] = { SU_WAIT_INIT }; SU_CANONIZE_SOCKADDR(su); - if (/* Create wait object with appropriate events. */ - su_wait_create(wait, s, events) != -1 - /* Register socket to root */ + if (/* Name this transport */ + tport_setname(self, pri->pri_protoname, ai, NULL) != -1 + /* Register this secondary */ && - (i = su_root_register(root, wait, wakeup, self, 0)) != -1) { + tport_register_secondary(self, tport_wakeup, events) != -1) { - self->tp_index = i; self->tp_conn_orient = 1; self->tp_is_connected = 1; - self->tp_events = events; - - if (tport_setname(self, pri->pri_protoname, ai, NULL) != -1) { - SU_DEBUG_5(("%s(%p): new connection from " TPN_FORMAT "\n", - __func__, (void *)self, TPN_ARGS(self->tp_name))); - tprb_append(&pri->pri_open, self); + SU_DEBUG_5(("%s(%p): new connection from " TPN_FORMAT "\n", + __func__, (void *)self, TPN_ARGS(self->tp_name))); - /* Return succesfully */ - return 0; - } + return 0; } - else - su_wait_destroy(wait); /* Failure: shutdown socket, */ tport_close(self); tport_zap_secondary(self); + self = NULL; } - /* XXX - report error ? */ - return 0; } @@ -2727,7 +2728,7 @@ } /** Process events for connected socket */ -static int tport_wakeup(su_root_magic_t *magic, su_wait_t *w, tport_t *self) +int tport_wakeup(su_root_magic_t *magic, su_wait_t *w, tport_t *self) { int events = su_wait_events(w, self->tp_socket); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h Wed Feb 11 10:10:58 2009 @@ -409,6 +409,7 @@ char const **return_reason); int tport_accept(tport_primary_t *pri, int events); +int tport_register_secondary(tport_t *self, su_wakeup_f wakeup, int events); void tport_zap_secondary(tport_t *self); int tport_set_secondary_timer(tport_t *self); @@ -426,6 +427,9 @@ void tport_recv_event(tport_t *self); void tport_send_event(tport_t *self); void tport_hup_event(tport_t *self); +int tport_setname(tport_t *, char const *, su_addrinfo_t const *, char const *); + +int tport_wakeup(su_root_magic_t *magic, su_wait_t *w, tport_t *self); ssize_t tport_recv_iovec(tport_t const *self, msg_t **mmsg, From mikej at freeswitch.org Wed Feb 11 08:11:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:11:33 -0600 Subject: [Freeswitch-svn] [commit] r11769 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport libsofia-sip-ua/tport/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:11:33 2009 New Revision: 11769 Log: Tue Dec 16 16:19:37 CST 2008 Jarod Neuner * Early TLS Handshake and Verification tport_type_tls.c: * tport_tls_accept(): - Replaces tport_accept for incoming TLS connections. * tport_tls_connect(): - Replaces tport_base_connect() for outgoing TLS connections. tport_tls.c: * tls_t now use a memory home instead of malloc. * removed tls_check_hosts() * tls_connect(): - Replaces tport_base_connect for TLS connection setup. - Completes TLS handshake and verifies peer certificates. - Destroys suspect TLS connections before sending/receiving payload. - Populates a su_strlst_t with subjects from the peer certificate. tport.c: * tport_is_verified() - true if peer certificate validated successfully * tport_delivered_from_subjects() - Certificate subjects listed in the peer certificate. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:11:33 2009 @@ -1 +1 @@ -Wed Feb 11 10:10:42 CST 2009 +Wed Feb 11 10:11:23 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h Wed Feb 11 10:11:33 2009 @@ -36,6 +36,9 @@ #ifndef SU_H #include #endif +#ifndef SU_STRLST_H +#include +#endif #ifndef SU_WAIT_H #include #endif @@ -267,6 +270,9 @@ /** Test if transport has TLS. */ TPORT_DLL int tport_has_tls(tport_t const *tport); +/** Test if transport provided a verified certificate chain (TLS only) */ +TPORT_DLL int tport_is_verified(tport_t const *tport); + /** Return true if transport is being updated. */ TPORT_DLL int tport_is_updating(tport_t const *self); @@ -332,6 +338,9 @@ TPORT_DLL int tport_delivered_from(tport_t *tp, msg_t const *msg, tp_name_t name[1]); +/** Return TLS Subjects provided by the source transport */ +TPORT_DLL su_strlst_t *tport_delivered_from_subjects(tport_t *tp, msg_t const *msg); + /** Check if transport named is already resolved */ TPORT_DLL int tport_name_is_resolved(tp_name_t const *); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c Wed Feb 11 10:11:33 2009 @@ -268,7 +268,12 @@ int tport_has_tls(tport_t const *self) { return self && self->tp_pri->pri_has_tls; +} +/** Return true if transport certificate verified successfully */ +int tport_is_verified(tport_t const *self) +{ + return tport_has_tls(self) && self->tp_verified; } /** Return true if transport is being updated. */ @@ -3040,6 +3045,17 @@ } } +/** Return TLS Subjects provided by the source transport */ +su_strlst_t *tport_delivered_from_subjects(tport_t *tp, msg_t const *msg) +{ + if (tp && msg && msg == tp->tp_master->mr_delivery->d_msg) { + tport_t *tp_sec = tp->tp_master->mr_delivery->d_tport; + return (tp_sec) ? tp_sec->tp_subjects : NULL; + } + else + return NULL; +} + /** Return UDVM used to decompress the message. */ int tport_delivered_with_comp(tport_t *tp, msg_t const *msg, Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h Wed Feb 11 10:11:33 2009 @@ -40,6 +40,7 @@ #endif #include +#include #ifndef MSG_ADDR_H #include @@ -155,6 +156,7 @@ unsigned tp_has_stun_server:1; unsigned tp_trunc:1; unsigned tp_is_connected:1; /**< Connection is established */ + unsigned tp_verified:1; /**< Certificate Chain was verified */ unsigned:0; tport_t *tp_left, *tp_right, *tp_dad; /**< Links in tport tree */ @@ -177,6 +179,12 @@ * or peer name (if secondary). */ + su_strlst_t *tp_subjects; /**< Transport Subjects. + * + * Subject Name(s) provided by the + * peer in a TLS connection (if secondary). + */ + #define tp_protoname tp_name->tpn_proto #define tp_canon tp_name->tpn_canon #define tp_host tp_name->tpn_host Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 10:11:33 2009 @@ -35,9 +35,11 @@ #include "config.h" #define OPENSSL_NO_KRB5 oh-no +#define SU_WAKEUP_ARG_T struct tport_s #include #include +#include #include #include @@ -61,18 +63,21 @@ #endif #include "tport_tls.h" -#include "tport_internal.h" char const tls_version[] = OPENSSL_VERSION_TEXT; -enum { tls_master, tls_slave }; +enum { tls_master = 0, tls_slave = 1}; struct tls_s { + su_home_t home[1]; SSL_CTX *ctx; SSL *con; BIO *bio_con; - int type; - int verified; + unsigned int type:1, + accept:1, + verify_outgoing:1, + verify_incoming:1, + verified:1; /* Receiving */ int read_events; @@ -85,7 +90,7 @@ size_t write_buffer_len; /* Host names */ - char *hosts[TLS_MAX_HOSTS + 1]; + su_strlst_t *subject; }; enum { tls_buffer_size = 16384 }; @@ -122,10 +127,11 @@ static tls_t *tls_create(int type) { - tls_t *tls = calloc(1, sizeof(*tls)); + tls_t *tls = su_home_new(sizeof(*tls)); + memset(((void *)tls) + sizeof(su_home_t), 0, sizeof(*tls) - sizeof(su_home_t)); if (tls) - tls->type = type; + tls->type = type == tls_master ? tls_master : tls_slave; return tls; } @@ -268,6 +274,8 @@ ti->verify_peer == 1 ? SSL_VERIFY_PEER : SSL_VERIFY_NONE, tls_verify_cb); + tls->verify_incoming = tls->verify_outgoing = ti->verify_peer ? 1 : 0; + if (!SSL_CTX_set_cipher_list(tls->ctx, ti->cipher)) { SU_DEBUG_1(("%s: error setting cipher list\n", "tls_init_context")); tls_log_errors(1, "tls_init_context", 0); @@ -280,14 +288,9 @@ void tls_free(tls_t *tls) { - int k; - if (!tls) return; - if (tls->read_buffer) - free(tls->read_buffer), tls->read_buffer = NULL; - if (tls->con != NULL) SSL_shutdown(tls->con); @@ -297,12 +300,7 @@ if (tls->bio_con != NULL) BIO_free(tls->bio_con); - for (k = 0; k < TLS_MAX_HOSTS; k++) - if (tls->hosts[k]) { - free(tls->hosts[k]), tls->hosts[k] = NULL; - } - - free(tls); + su_home_unref(tls->home); } int tls_get_socket(tls_t *tls) @@ -369,9 +367,10 @@ if (tls) { tls->ctx = master->ctx; + tls->accept = accept ? 1 : 0; - if (!(tls->read_buffer = malloc(tls_buffer_size))) - free(tls), tls = NULL; + if (!(tls->read_buffer = su_alloc(tls->home, tls_buffer_size))) + su_home_unref(tls->home), tls = NULL; } if (!tls) return tls; @@ -389,14 +388,9 @@ } SSL_set_bio(tls->con, tls->bio_con, tls->bio_con); - if (accept) - SSL_set_accept_state(tls->con); - else - SSL_set_connect_state(tls->con); SSL_set_mode(tls->con, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); su_setblocking(sock, 0); - tls_read(tls); /* XXX - works only with non-blocking sockets */ return tls; } @@ -413,24 +407,12 @@ return tls_clone(master, sock, accept = 0); } -static char *tls_strdup(char const *s) -{ - if (s) { - size_t len = strlen(s) + 1; - char *d = malloc(len); - if (d) - memcpy(d, s, len); - return d; - } - return NULL; -} - static int tls_post_connection_check(tls_t *tls) { X509 *cert; int extcount; - int k, i, j, error; + int i, j, error; if (!tls) return -1; @@ -440,8 +422,8 @@ extcount = X509_get_ext_count(cert); - for (k = 0; k < TLS_MAX_HOSTS && tls->hosts[k]; k++) - ; + if (!tls->subject) + tls->subject = su_strlst_create(tls->home); /* Find matching subjectAltName.DNS */ for (i = 0; i < extcount; i++) { @@ -464,23 +446,18 @@ for (j = 0; j < sk_CONF_VALUE_num(values); j++) { value = sk_CONF_VALUE_value(values, j); - if (strcmp(value->name, "DNS") == 0) { - if (k < TLS_MAX_HOSTS) { - tls->hosts[k] = tls_strdup(value->value); - k += tls->hosts[k] != NULL; - } - } + if (strcmp(value->name, "DNS") == 0) + su_strlst_dup_append(tls->subject, value->value); else if (strcmp(value->name, "URI") == 0) { - char const *uri = strchr(value->value, ':'); - if (uri ++ && k < TLS_MAX_HOSTS) { - tls->hosts[k] = tls_strdup(uri); - k += tls->hosts[k] != NULL; - } + char *uri = su_strlst_dup_append(tls->subject, value->value); + char const *url = strchr(uri, ':'); + if (url++) + su_strlst_append(tls->subject, url); } } } - if (k < TLS_MAX_HOSTS) { + { X509_NAME *subject; char name[256]; @@ -490,12 +467,12 @@ name, sizeof name) > 0) { name[(sizeof name) - 1] = '\0'; - for (i = 0; tls->hosts[i]; i++) - if (strcasecmp(tls->hosts[i], name) == 0) + for (i = 0; i < su_strlst_len(tls->subject); i++) + if (strcasecmp(su_strlst_item(tls->subject, i), name) == 0) break; - if (i == k) - tls->hosts[k++] = tls_strdup(name); + if (i == su_strlst_len(tls->subject)) + su_strlst_dup_append(tls->subject, name); } } } @@ -507,33 +484,13 @@ if (error == X509_V_OK) tls->verified = 1; + if (tls->accept && !tls->verify_incoming) + return X509_V_OK; + else if (!tls->accept && !tls->verify_outgoing) + return X509_V_OK; return error; } -int tls_check_hosts(tls_t *tls, char const *hosts[TLS_MAX_HOSTS]) -{ - int i, j; - - if (tls == NULL) { errno = EINVAL; return -1; } - if (!tls->verified) { errno = EAGAIN; return -1; } - - if (!hosts) - return 0; - - for (i = 0; hosts[i]; i++) { - for (j = 0; tls->hosts[j]; j++) { - if (strcasecmp(hosts[i], tls->hosts[j]) == 0) - break; - } - if (tls->hosts[j] == NULL) { - errno = EACCES; - return -1; - } - } - - return 0; -} - static int tls_error(tls_t *tls, int ret, char const *who, void *buf, int size) @@ -589,7 +546,7 @@ if (0) SU_DEBUG_1(("tls_read(%p) called on %s (events %u)\n", (void *)tls, - tls->type == tls_slave ? "server" : "client", + tls->accept ? "server" : "client", tls->read_events)); if (tls->read_buffer_len) @@ -601,19 +558,6 @@ if (ret <= 0) return tls_error(tls, ret, "tls_read: SSL_read", NULL, 0); - if (!tls->verified) { - int err = tls_post_connection_check(tls); - - if (err != X509_V_OK && - err != SSL_ERROR_SYSCALL && - err != SSL_ERROR_WANT_WRITE && - err != SSL_ERROR_WANT_READ) { - SU_DEBUG_1(( - "%s: server certificate doesn't verify\n", - "tls_read")); - } - } - return (ssize_t)(tls->read_buffer_len = ret); } @@ -694,13 +638,6 @@ tls->write_events = 0; - if (!tls->verified) { - if (tls_post_connection_check(tls) != X509_V_OK) { - SU_DEBUG_1(( - "tls_read: server certificate doesn't verify\n")); - } - } - ret = SSL_write(tls->con, buf, size); if (ret < 0) return tls_error(tls, ret, "tls_write: SSL_write", buf, size); @@ -748,3 +685,118 @@ ((mask & SU_WAIT_IN) ? tls->read_events : 0) | ((mask & SU_WAIT_OUT) ? tls->write_events : 0); } + +int tls_connect(su_root_magic_t *magic, su_wait_t *w, tport_t *self) +{ + tport_master_t *mr = self->tp_master; + tport_tls_t *tlstp = (tport_tls_t *)self; + tls_t *tls; + int events = su_wait_events(w, self->tp_socket); + int error; + + SU_DEBUG_7(("%s(%p): events%s%s%s%s\n", __func__, (void *)self, + events & (SU_WAIT_CONNECT) ? " CONNECTING" : "", + events & SU_WAIT_IN ? " NEGOTIATING" : "", + events & SU_WAIT_ERR ? " ERROR" : "", + events & SU_WAIT_HUP ? " HANGUP" : "")); + +#if HAVE_POLL + assert(w->fd == self->tp_socket); +#endif + + if (events & SU_WAIT_ERR) + tport_error_event(self); + + if (events & SU_WAIT_HUP && !self->tp_closed) + tport_hup_event(self); + + if (self->tp_closed) + return 0; + + error = su_soerror(self->tp_socket); + if (error) { + tport_error_report(self, error, NULL); + return 0; + } + + if ((tls = tlstp->tlstp_context) == NULL) { + SU_DEBUG_3(("%s(%p): Error: no TLS context data for connected socket.\n", + __func__, tlstp)); + tport_close(self); + tport_set_secondary_timer(self); + return 0; + } + + if (self->tp_is_connected == 0) { + int ret, status; + + ret = tls->accept ? SSL_accept(tls->con) : SSL_connect(tls->con); + status = SSL_get_error(tls->con, ret); + + switch (status) { + case SSL_ERROR_WANT_READ: + /* OpenSSL is waiting for the peer to send handshake data */ + self->tp_events = SU_WAIT_IN | SU_WAIT_ERR | SU_WAIT_HUP; + su_root_eventmask(mr->mr_root, self->tp_index, + self->tp_socket, self->tp_events); + return 0; + + case SSL_ERROR_WANT_WRITE: + /* OpenSSL is waiting for the peer to receive handshake data */ + self->tp_events = SU_WAIT_IN | SU_WAIT_ERR | SU_WAIT_HUP | SU_WAIT_OUT; + su_root_eventmask(mr->mr_root, self->tp_index, + self->tp_socket, self->tp_events); + return 0; + + case SSL_ERROR_NONE: + /* TLS Handshake complete */ + if ( tls_post_connection_check(tls) == X509_V_OK ) { + su_wait_t wait[1] = {SU_WAIT_INIT}; + tport_master_t *mr = self->tp_master; + + su_root_deregister(mr->mr_root, self->tp_index); + self->tp_index = -1; + self->tp_events = SU_WAIT_IN | SU_WAIT_ERR | SU_WAIT_HUP; + + if ((su_wait_create(wait, self->tp_socket, self->tp_events) == -1) || + ((self->tp_index = su_root_register(mr->mr_root, wait, tport_wakeup, + self, 0)) == -1)) { + tport_close(self); + tport_set_secondary_timer(self); + return 0; + } + + tls->read_events = SU_WAIT_IN; + tls->write_events = 0; + self->tp_is_connected = 1; + self->tp_verified = tls->verified; + self->tp_subjects = tls->subject == NULL ? NULL : + su_strlst_dup(self->tp_home, tls->subject); + + if (tport_has_queued(self)) + tport_send_event(self); + else + tport_set_secondary_timer(self); + + return 0; + } + break; + + default: + { + char errbuf[64]; + ERR_error_string_n(status, errbuf, 64); + SU_DEBUG_3(("%s(%p): TLS setup failed (%s)\n", + __func__, self, errbuf)); + } + break; + } + } + + /* TLS Handshake Failed or Peer Certificate did not Verify */ + tport_close(self); + tport_set_secondary_timer(self); + + return 0; +} + Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h Wed Feb 11 10:11:33 2009 @@ -39,6 +39,8 @@ #include #endif +#include "tport_internal.h" + SOFIA_BEGIN_DECLS #define TLS_MAX_HOSTS (16) @@ -64,6 +66,17 @@ * used, it is 0. */ } tls_issues_t; +typedef struct tport_tls_s { + tport_t tlstp_tp[1]; + tls_t *tlstp_context; + char *tlstp_buffer; +} tport_tls_t; + +typedef struct tport_tls_primary_s { + tport_primary_t tlspri_pri[1]; + tls_t *tlspri_master; +} tport_tls_primary_t; + tls_t *tls_init_master(tls_issues_t *tls_issues); tls_t *tls_init_slave(tls_t *tls_master, int sock); tls_t *tls_init_client(tls_t *tls_master, int sock); @@ -74,11 +87,10 @@ int tls_want_read(tls_t *tls, int events); int tls_pending(tls_t const *tls); +int tls_connect(su_root_magic_t *magic, su_wait_t *w, tport_t *self); ssize_t tls_write(tls_t *tls, void *buf, size_t size); int tls_want_write(tls_t *tls, int events); -int tls_check_hosts(tls_t *tls, char const *hosts[TLS_MAX_HOSTS]); - int tls_events(tls_t const *tls, int flags); SOFIA_END_DECLS Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 10:11:33 2009 @@ -38,6 +38,8 @@ #include "config.h" +#define SU_WAKEUP_ARG_T struct tport_s + #include "tport_internal.h" #include @@ -89,19 +91,10 @@ static int tport_tls_recv(tport_t *self); static ssize_t tport_tls_send(tport_t const *self, msg_t *msg, msg_iovec_t iov[], size_t iovused); - -typedef struct -{ - tport_primary_t tlspri_pri[1]; - tls_t *tlspri_master; -} tport_tls_primary_t; - -typedef struct -{ - tport_t tlstp_tp[1]; - tls_t *tlstp_context; - char *tlstp_buffer; /**< 2k Buffer */ -} tport_tls_t; +static int tport_tls_accept(tport_primary_t *pri, int events); +static tport_t *tport_tls_connect(tport_primary_t *pri, su_addrinfo_t *ai, + tp_name_t const *tpn); +static void tport_tls_deliver(tport_t *self, msg_t *msg, su_time_t now); tport_vtable_t const tport_tls_vtable = { @@ -109,8 +102,8 @@ sizeof (tport_tls_primary_t), tport_tls_init_primary, tport_tls_deinit_primary, - tport_accept, - NULL, + tport_tls_accept, + tport_tls_connect, sizeof (tport_tls_t), tport_tls_init_secondary, tport_tls_deinit_secondary, @@ -127,8 +120,8 @@ sizeof (tport_tls_primary_t), tport_tls_init_client, tport_tls_deinit_primary, - tport_accept, - NULL, + tport_tls_accept, + tport_tls_connect, sizeof (tport_tls_t), tport_tls_init_secondary, tport_tls_deinit_secondary, @@ -527,3 +520,149 @@ return size; } + +static +int tport_tls_accept(tport_primary_t *pri, int events) +{ + tport_t *self; + su_addrinfo_t ai[1]; + su_sockaddr_t su[1]; + socklen_t sulen = sizeof su; + su_socket_t s = INVALID_SOCKET, l = pri->pri_primary->tp_socket; + char const *reason = "accept"; + + if (events & SU_WAIT_ERR) + tport_error_event(pri->pri_primary); + + if (!(events & SU_WAIT_ACCEPT)) + return 0; + + memcpy(ai, pri->pri_primary->tp_addrinfo, sizeof ai); + ai->ai_canonname = NULL; + + s = accept(l, &su->su_sa, &sulen); + + if (s < 0) { + tport_error_report(pri->pri_primary, su_errno(), NULL); + return 0; + } + + ai->ai_addr = &su->su_sa, ai->ai_addrlen = sulen; + + /* Alloc a new transport object, then register socket events with it */ + if ((self = tport_alloc_secondary(pri, s, 1, &reason)) == NULL) { + SU_DEBUG_3(("%s(%p): incoming secondary on "TPN_FORMAT + " failed. reason = %s\n", __func__, pri, + TPN_ARGS(pri->pri_primary->tp_name), reason)); + return 0; + } + else { + tport_tls_t *tlstp = (tport_tls_t *)self; + tport_tls_primary_t *tlspri = (tport_tls_primary_t *)self->tp_pri; + int events = SU_WAIT_IN|SU_WAIT_ERR|SU_WAIT_HUP; + + SU_CANONIZE_SOCKADDR(su); + + if (/* Name this transport */ + tport_setname(self, pri->pri_protoname, ai, NULL) != -1 + /* Register this secondary */ + && + tport_register_secondary(self, tls_connect, events) != -1) { + + self->tp_conn_orient = 1; + self->tp_is_connected = 0; + + tlstp->tlstp_context = tls_init_slave(tlspri->tlspri_master, s); + + SU_DEBUG_5(("%s(%p): new connection from " TPN_FORMAT "\n", + __func__, (void *)self, TPN_ARGS(self->tp_name))); + + /* Return succesfully */ + return 0; + } + + /* Failure: shutdown socket, */ + tport_close(self); + tport_zap_secondary(self); + self = NULL; + } + + return 0; +} + +static +tport_t *tport_tls_connect(tport_primary_t *pri, + su_addrinfo_t *ai, + tp_name_t const *tpn) +{ + tport_t *self = NULL; + + su_socket_t s, server_socket; + int events = SU_WAIT_CONNECT | SU_WAIT_ERR; + + int err; + unsigned errlevel = 3; + char buf[TPORT_HOSTPORTSIZE]; + char const *what; + + s = su_socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); + if (s == INVALID_SOCKET) + goto sys_error; + + what = "tport_alloc_secondary"; + if ((self = tport_alloc_secondary(pri, s, 0, &what)) == NULL) + goto sys_error; + + self->tp_conn_orient = 1; + + if ((server_socket = pri->pri_primary->tp_socket) != INVALID_SOCKET) { + su_sockaddr_t susa; + socklen_t susalen = sizeof(susa); + + if (getsockname(server_socket, &susa.su_sa, &susalen) < 0) { + SU_DEBUG_3(("%s(%p): getsockname(): %s\n", + __func__, (void *)self, su_strerror(su_errno()))); + } else { + susa.su_port = 0; + if (bind(s, &susa.su_sa, susalen) < 0) { + SU_DEBUG_3(("%s(%p): bind(local-ip): %s\n", + __func__, (void *)self, su_strerror(su_errno()))); + } + } + } + + if (connect(s, ai->ai_addr, (socklen_t)(ai->ai_addrlen)) == SOCKET_ERROR) { + err = su_errno(); + if (!su_is_blocking(err)) + goto sys_error; + } + + if (tport_setname(self, tpn->tpn_proto, ai, tpn->tpn_canon) != -1 + && + tport_register_secondary(self, tls_connect, events) != -1) { + tport_tls_t *tlstp = (tport_tls_t *)self; + tport_tls_primary_t *tlspri = (tport_tls_primary_t *)self->tp_pri; + tlstp->tlstp_context = tls_init_client(tlspri->tlspri_master, s); + } + else + goto sys_error; + + SU_DEBUG_5(("%s(%p): connecting to " TPN_FORMAT "\n", + __func__, (void *)self, TPN_ARGS(self->tp_name))); + + tport_set_secondary_timer(self); + + return self; + +sys_error: + err = errno; + if (SU_LOG_LEVEL >= errlevel) + su_llog(tport_log, errlevel, "%s(%p): %s (pf=%d %s/%s): %s\n", + __func__, (void *)pri, what, ai->ai_family, tpn->tpn_proto, + tport_hostport(buf, sizeof(buf), (void *)ai->ai_addr, 2), + su_strerror(err)); + tport_zap_secondary(self); + su_seterrno(err); + return NULL; +} + From mikej at freeswitch.org Wed Feb 11 08:11:56 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:11:56 -0600 Subject: [Freeswitch-svn] [commit] r11770 - freeswitch/trunk/libs/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:11:56 2009 New Revision: 11770 Log: Mon Jan 5 04:22:01 CST 2009 Pekka Pessi * RELEASE: added Jarod's description of TLS improvements Modified: freeswitch/trunk/libs/sofia-sip/RELEASE Modified: freeswitch/trunk/libs/sofia-sip/RELEASE ============================================================================== --- freeswitch/trunk/libs/sofia-sip/RELEASE (original) +++ freeswitch/trunk/libs/sofia-sip/RELEASE Wed Feb 11 10:11:56 2009 @@ -48,6 +48,8 @@ Contributors to this release ---------------------------- +Jarod Neuner +Michael Jerris +Jarod Neuner has improved certificate validation facilities of TLS +transport. Significant changes include: + +1) The TLS handshake is no longer handled via transparent negotiation. +Certain static methods from tport.c were exposed to make this possible. + +2) Certificate subjects are copied out of the peer certificate before +the first message is sent. The next patch will include code that allows +the stack to reject messages sent to a untrusted peer. + +3) The tport module can now report whether a secondary has a verified +certificate chain and the subjects of the peer certificate. Bugs fixed in this release -------------------------- From mikej at freeswitch.org Wed Feb 11 08:12:35 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:12:35 -0600 Subject: [Freeswitch-svn] [commit] r11771 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:12:35 2009 New Revision: 11771 Log: Mon Jan 5 06:31:12 CST 2009 Pekka Pessi * nua_session.c: default to initiate session refreshes Use local refresher unless remote end explicitly indicates that it takes care of refreshing the session. Bug reported and initial patch by Timo Bruhn. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:12:35 2009 @@ -1 +1 @@ -Wed Feb 11 10:11:23 CST 2009 +Wed Feb 11 10:12:26 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 10:12:35 2009 @@ -4428,10 +4428,9 @@ t->refresher = nua_local_refresher; else if (t->remote.refresher == nua_remote_refresher) t->refresher = nua_remote_refresher; - else if (t->local.refresher == nua_local_refresher) - t->refresher = nua_local_refresher; else - t->refresher = nua_remote_refresher; + /* Default to initiate refreshes */ + t->refresher = nua_local_refresher; t->interval = t->remote.expires; if (t->interval == 0) From mikej at freeswitch.org Wed Feb 11 08:14:05 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:14:05 -0600 Subject: [Freeswitch-svn] [commit] r11772 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:14:05 2009 New Revision: 11772 Log: Mon Jan 5 06:42:09 CST 2009 Pekka Pessi * tport_tls.c: su_home_new() already zeros the allocated memory Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:14:05 2009 @@ -1 +1 @@ -Wed Feb 11 10:12:26 CST 2009 +Wed Feb 11 10:13:45 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 10:14:05 2009 @@ -128,7 +128,6 @@ tls_t *tls_create(int type) { tls_t *tls = su_home_new(sizeof(*tls)); - memset(((void *)tls) + sizeof(su_home_t), 0, sizeof(*tls) - sizeof(su_home_t)); if (tls) tls->type = type == tls_master ? tls_master : tls_slave; From mikej at freeswitch.org Wed Feb 11 08:14:35 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:14:35 -0600 Subject: [Freeswitch-svn] [commit] r11773 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:14:35 2009 New Revision: 11773 Log: Mon Jan 5 06:43:04 CST 2009 Pekka Pessi * tport_tls.c: silences warnings on signedness Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:14:35 2009 @@ -1 +1 @@ -Wed Feb 11 10:13:45 CST 2009 +Wed Feb 11 10:14:24 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 10:14:35 2009 @@ -461,16 +461,18 @@ char name[256]; subject = X509_get_subject_name(cert); + if (subject) { if (X509_NAME_get_text_by_NID(subject, NID_commonName, name, sizeof name) > 0) { + usize_t k, N = su_strlst_len(tls->subject); name[(sizeof name) - 1] = '\0'; - for (i = 0; i < su_strlst_len(tls->subject); i++) - if (strcasecmp(su_strlst_item(tls->subject, i), name) == 0) + for (k = 0; k < N; k++) + if (strcasecmp(su_strlst_item(tls->subject, k), name) == 0) break; - if (i == su_strlst_len(tls->subject)) + if (k == N) su_strlst_dup_append(tls->subject, name); } } From mikej at freeswitch.org Wed Feb 11 08:15:05 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:15:05 -0600 Subject: [Freeswitch-svn] [commit] r11774 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:15:05 2009 New Revision: 11774 Log: Mon Jan 5 06:43:24 CST 2009 Pekka Pessi * tport_type_tls.c: no tport_tls_deliver() yet Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:15:05 2009 @@ -1 +1 @@ -Wed Feb 11 10:14:24 CST 2009 +Wed Feb 11 10:14:53 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 10:15:05 2009 @@ -94,7 +94,9 @@ static int tport_tls_accept(tport_primary_t *pri, int events); static tport_t *tport_tls_connect(tport_primary_t *pri, su_addrinfo_t *ai, tp_name_t const *tpn); +#if notyet static void tport_tls_deliver(tport_t *self, msg_t *msg, su_time_t now); +#endif tport_vtable_t const tport_tls_vtable = { From mikej at freeswitch.org Wed Feb 11 08:15:47 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:15:47 -0600 Subject: [Freeswitch-svn] [commit] r11775 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/sip Message-ID: Author: mikej Date: Wed Feb 11 10:15:46 2009 New Revision: 11775 Log: Thu Jan 8 10:34:22 CST 2009 Pekka Pessi * sip_security.c: allow multiple WWW-Authenticate and Authorization headers Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:15:46 2009 @@ -1 +1 @@ -Wed Feb 11 10:14:53 CST 2009 +Wed Feb 11 10:15:25 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c Wed Feb 11 10:15:46 2009 @@ -128,7 +128,7 @@ */ msg_hclass_t sip_authorization_class[] = -SIP_HEADER_CLASS_AUTH(authorization, "Authorization", single); +SIP_HEADER_CLASS_AUTH(authorization, "Authorization", append); issize_t sip_authorization_d(su_home_t *home, sip_header_t *h, char *s, isize_t slen) { @@ -309,7 +309,7 @@ */ msg_hclass_t sip_www_authenticate_class[] = -SIP_HEADER_CLASS_AUTH(www_authenticate, "WWW-Authenticate", single); +SIP_HEADER_CLASS_AUTH(www_authenticate, "WWW-Authenticate", append); issize_t sip_www_authenticate_d(su_home_t *home, sip_header_t *h, char *s, isize_t slen) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c Wed Feb 11 10:15:46 2009 @@ -128,6 +128,7 @@ sip = sip_object(msg); + TEST_1(sip); TEST_1(!sip_alert_info(sip)); TEST_1(!sip_reply_to(sip)); TEST_1(!sip_p_asserted_identity(sip)); @@ -2283,6 +2284,8 @@ sip_www_authenticate_t *www; su_home_t *home; char const *s; + msg_t *msg; sip_t *sip; + BEGIN(); TEST_1(home = su_home_create()); @@ -2300,6 +2303,29 @@ TEST_1(strlen(s) >= 128); su_home_unref(home); + + TEST_1( + msg = read_message( + MSG_DO_EXTRACT_COPY, + "SIP/2.0 401 Unauthorized" "\r\n" + "Date: Wed, 07 Jan 2009 22:24:39 GMT" "\r\n" + "WWW-Authenticate: Kerberos realm=\"SIP Communications Service\", targetname=\"sip/OCS1.flux.local\", version=3" "\r\n" + "WWW-Authenticate: NTLM realm=\"SIP Communications Service\", targetname=\"OCS1.flux.local\", version=3" "\r\n" + "From: ;epid=1234567890;tag=48BXgr379e85j" "\r\n" + "To: ;transport=tls;tag=B57737091022903031FF204696B79CC4" "\r\n" + "Call-ID: cf12f708-57ac-122c-ad90-6f23d7babf4f" "\r\n" + "CSeq: 109565202 REGISTER" "\r\n" + "Via: SIP/2.0/TLS 192.168.43.1:5069;branch=z9hG4bK47ZUrFK0v5eQa;received=192.168.43.1;ms-received-port=54059;ms-received-cid=E500" "\r\n" + "Content-Length: 0" "\r\n")); + TEST_1(sip = sip_object(msg)); + + TEST_1(www = sip->sip_www_authenticate); + TEST_S(www->au_scheme, "Kerberos"); + TEST_1(www = www->au_next); + TEST_S(www->au_scheme, "NTLM"); + + msg_destroy(msg); + END(); } From mikej at freeswitch.org Wed Feb 11 08:16:20 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:16:20 -0600 Subject: [Freeswitch-svn] [commit] r11776 - freeswitch/trunk/libs/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:16:20 2009 New Revision: 11776 Log: Thu Jan 8 10:48:47 CST 2009 Pekka Pessi * RELEASE: multi-WWW-Authenticate bug Modified: freeswitch/trunk/libs/sofia-sip/RELEASE Modified: freeswitch/trunk/libs/sofia-sip/RELEASE ============================================================================== --- freeswitch/trunk/libs/sofia-sip/RELEASE (original) +++ freeswitch/trunk/libs/sofia-sip/RELEASE Wed Feb 11 10:16:20 2009 @@ -90,3 +90,5 @@ /> - **template**: #9499652 sf.net bug item title +- Accept multiple WWW-Authenticate and Authorization headers. + Bug reported by Andrew Rechenberg. From mikej at freeswitch.org Wed Feb 11 08:16:52 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:16:52 -0600 Subject: [Freeswitch-svn] [commit] r11777 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:16:52 2009 New Revision: 11777 Log: Thu Jan 8 12:04:21 CST 2009 Pekka Pessi * sofia-sip/su_string.h: added Adding locale-independent, NULL-safe string comparison, matching and searching functions: - su_strcmp() - su_strncmp() - su_strcasecmp() - su_strncasecmp() - su_strmatch() - su_strnmatch() - su_casematch() - su_casenmatch() - su_strcasestr() - su_strnspn() - su_strncspn() - su_memspn() - su_memcspn() Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:16:52 2009 @@ -1 +1 @@ -Wed Feb 11 10:15:25 CST 2009 +Wed Feb 11 10:16:40 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am Wed Feb 11 10:16:52 2009 @@ -54,7 +54,7 @@ sofia-sip/su_config.h sofia-sip/su_md5.h \ sofia-sip/su_uniqueid.h sofia-sip/su_bm.h \ sofia-sip/tstdef.h sofia-sip/su_os_nw.h \ - sofia-sip/string0.h \ + sofia-sip/su_string.h sofia-sip/string0.h \ $(OSXHEADERS) nobase_nodist_include_sofia_HEADERS = sofia-sip/su_configure.h @@ -73,11 +73,12 @@ su_os_nw.c \ su_taglist.c su_tag.c su_tag_io.c \ su_log.c su_global_log.c su_default_log.c su_module_debug.h \ - su_md5.c su_uniqueid.c su_bm.c smoothsort.c string0.c $(OSXSOURCES) + su_md5.c su_uniqueid.c su_bm.c smoothsort.c su_string.c string0.c \ + $(OSXSOURCES) EXTRA_libsu_la_SOURCES = \ - memmem.c strtoull.c strcasestr.c \ + memmem.c strtoull.c \ memspn.c memcspn.c memccpy.c \ inet_ntop.c inet_pton.c poll.c getopt.c \ su_tag_ref.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c Wed Feb 11 10:16:52 2009 @@ -22,11 +22,11 @@ * */ -/**@ingroup test_memmem +/**@ingroup test_su_string * * @CFILE test_memmem.c * - * Torture tests for memmem() and strcasestr(). + * Torture tests for various string utility functions. * * @author Pekka Pessi * @@ -35,6 +35,8 @@ #include "config.h" +#include + #include #include #include @@ -45,9 +47,6 @@ void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen); #endif -#if !HAVE_STRCASESTR -char *strcasestr(const char *haystack, const char *needle); -#endif #include @@ -116,38 +115,38 @@ "A case-folding string searching test consisting of a Long String"; char const *s; - s = strcasestr(hs, "sting"); + s = su_strcasestr(hs, "sting"); TEST_S(s, hs + 42); - s = strcasestr(hs, "String"); + s = su_strcasestr(hs, "String"); TEST_S(s, hs + 15); - s = strcasestr(hs, "S"); + s = su_strcasestr(hs, "S"); TEST_S(s, hs + 4); - s = strcasestr(hs, "L"); + s = su_strcasestr(hs, "L"); TEST_S(s, hs + 9); - s = strcasestr(hs, "trings"); + s = su_strcasestr(hs, "trings"); TEST_1(s == NULL); - s = strcasestr(hs, "String"); + s = su_strcasestr(hs, "String"); TEST_S(s, hs + 15); - s = strcasestr(hs, "StRiNg"); + s = su_strcasestr(hs, "StRiNg"); TEST_S(s, hs + 15); - s = strcasestr(hs, "OnG"); + s = su_strcasestr(hs, "OnG"); TEST_S(s, hs + 54); /* Special cases */ - TEST_1(strcasestr(hs, "") == hs); - TEST_1(strcasestr("", "ong") == NULL); - TEST_1(strcasestr("", "OnG") == NULL); - TEST_1(strcasestr("ong", hs) == NULL); - TEST_1(strcasestr("OnG", hs) == NULL); - TEST_1(strcasestr(hs, "Z") == NULL); - TEST_1(strcasestr(hs, "z") == NULL); + TEST_1(su_strcasestr(hs, "") == hs); + TEST_1(su_strcasestr("", "ong") == NULL); + TEST_1(su_strcasestr("", "OnG") == NULL); + TEST_1(su_strcasestr("ong", hs) == NULL); + TEST_1(su_strcasestr("OnG", hs) == NULL); + TEST_1(su_strcasestr(hs, "Z") == NULL); + TEST_1(su_strcasestr(hs, "z") == NULL); } { @@ -219,16 +218,114 @@ char const *s; - s = strcasestr(hs, needle); + s = su_strcasestr(hs, needle); TEST_S(s, hs + 1920); - s = strcasestr(hs, Needle); + s = su_strcasestr(hs, Needle); TEST_S(s, hs + 1920); } END(); } +static int test_casematch(void) +{ + BEGIN(); + + TEST_1(!su_casematch(NULL, "")); + TEST_1(su_casematch(NULL, NULL)); + TEST_1(!su_casematch("", NULL)); + + TEST_1(!su_casenmatch(NULL, "", 1)); + TEST_1(su_casenmatch(NULL, NULL, 1)); + TEST_1(!su_casenmatch("", NULL, 1)); + + TEST_1(su_casenmatch(NULL, "", 0)); + TEST_1(su_casenmatch(NULL, NULL, 0)); + TEST_1(su_casenmatch("", NULL, 0)); + + TEST_1(su_casenmatch("foo", "foo", 3)); + TEST_1(su_casenmatch("FOO", "foo", 3)); + TEST_1(su_casenmatch("foo", "FOO", 3)); + + TEST_1(su_casenmatch("foo", "foo", 4)); + TEST_1(su_casenmatch("FOO", "foo", 4)); + TEST_1(su_casenmatch("foo", "FOO", 4)); + + TEST_1(su_casematch("foo", "foo")); + TEST_1(su_casematch("FOO", "foo")); + TEST_1(su_casematch("foo", "FOO")); + + TEST_1(!su_casematch("foo_", "foo")); + TEST_1(!su_casematch("FOO_", "foo")); + TEST_1(!su_casematch("foo_", "FOO")); + + TEST_1(su_casenmatch("foo\0X", "foo\0z", 5)); + TEST_1(su_casenmatch("FOO\0X", "foo\0z", 5)); + TEST_1(su_casenmatch("foo\0X", "FOO\0z", 5)); + + END(); +} + +static int test_strmatch(void) +{ + BEGIN(); + + TEST_1(!su_strmatch(NULL, "")); + TEST_1(su_strmatch(NULL, NULL)); + TEST_1(!su_strmatch("", NULL)); + + TEST_1(!su_strnmatch(NULL, "", 1)); + TEST_1(su_strnmatch(NULL, NULL, 1)); + TEST_1(!su_strnmatch("", NULL, 1)); + + TEST_1(su_strnmatch(NULL, "", 0)); + TEST_1(su_strnmatch(NULL, NULL, 0)); + TEST_1(su_strnmatch("", NULL, 0)); + + TEST_1(su_strnmatch("foo", "foo", 3)); + TEST_1(!su_strnmatch("FOO", "foo", 3)); + TEST_1(!su_strnmatch("foo", "FOO", 3)); + + TEST_1(su_strnmatch("foo", "foo", 4)); + TEST_1(!su_strnmatch("FOO", "foo", 4)); + TEST_1(!su_strnmatch("foo", "FOO", 4)); + + TEST_1(su_strmatch("foo", "foo")); + TEST_1(!su_strmatch("FOO", "foo")); + TEST_1(!su_strmatch("foo", "FOO")); + + TEST_1(!su_strmatch("foo_", "foo")); + + TEST_1(su_strnmatch("foo\0X", "foo\0z", 5)); + TEST_1(!su_strnmatch("FOO\0X", "foo\0z", 5)); + TEST_1(!su_strnmatch("foo\0X", "FOO\0z", 5)); + + END(); +} + +static int test_strnspn(void) +{ + BEGIN(); + + TEST(su_strnspn("foobar", 3, ""), 0); + TEST(su_strnspn("foobar", 5, "fo"), 3); + TEST(su_strnspn("foobar", 5, "o"), 0); + TEST(su_strnspn("foobar", 5, "f"), 1); + TEST(su_strnspn("", 5, "fo"), 0); + TEST(su_strnspn("foobarf", 5, "fob"), 4); + + TEST(su_strncspn("foobar", 3, ""), 3); + TEST(su_strncspn("foobar", 5, "bach"), 3); + TEST(su_strncspn("foobar", 5, "ri"), 5); + TEST(su_strncspn("foobar", 5, "b"), 3); + TEST(su_strncspn("", 5, "fo"), 0); + TEST(su_strncspn(NULL, 0, "fo"), 0); + TEST(su_strncspn("foobarf", 5, "a"), 4); + + END(); +} + int main(int argc, char *argv[]) { int retval = 0; @@ -247,7 +344,10 @@ retval |= test_pattern(); fflush(stdout); retval |= test_strcasestr(); fflush(stdout); + retval |= test_casematch(); fflush(stdout); + retval |= test_strmatch(); fflush(stdout); + + retval |= test_strnspn(); fflush(stdout); return retval; } - From mikej at freeswitch.org Wed Feb 11 08:17:59 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:17:59 -0600 Subject: [Freeswitch-svn] [commit] r11778 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:17:58 2009 New Revision: 11778 Log: Thu Jan 8 14:11:49 CST 2009 Pekka Pessi * su_string.c: fixed su_strcasestr() Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c Wed Feb 11 10:17:58 2009 @@ -147,6 +147,9 @@ TEST_1(su_strcasestr("OnG", hs) == NULL); TEST_1(su_strcasestr(hs, "Z") == NULL); TEST_1(su_strcasestr(hs, "z") == NULL); + + TEST_S(su_strcasestr("foobar", "OB"), "obar"); + TEST_S(su_strcasestr("FOOBAR", "ob"), "OBAR"); } { From mikej at freeswitch.org Wed Feb 11 08:18:36 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:18:36 -0600 Subject: [Freeswitch-svn] [commit] r11779 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/iptsec libsofia-sip-ua/iptsec/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:18:36 2009 New Revision: 11779 Log: Thu Jan 8 13:04:03 CST 2009 Pekka Pessi * auth_client: do not crash with unknown authentication schemes Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:18:36 2009 @@ -1 +1 @@ -Wed Feb 11 10:16:40 CST 2009 +Wed Feb 11 10:18:18 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Wed Feb 11 10:18:36 2009 @@ -128,11 +128,17 @@ if (!matched) { /* There was no matching authenticator, create a new one */ *cca = ca_create(home, scheme, realm); - if (ca_challenge((*cca), ch, crcl, scheme, realm) < 0) { + + if (*cca == NULL) { + return -1; + } + else if (ca_challenge((*cca), ch, crcl, scheme, realm) < 0) { ca_destroy(home, *cca), *cca = NULL; return -1; } - retval = 1; /* Updated authenticator */ + /* XXX - case w/ unknown authentication scheme */ + else + retval = 1; /* Updated authenticator */ } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h Wed Feb 11 10:18:36 2009 @@ -98,7 +98,8 @@ /** Check if authentication client has been extended. @NEW_1_12_6. */ #define AUTH_CLIENT_IS_EXTENDED(ca) \ - ((ca)->ca_auc->auc_plugin_size > \ + ((ca)->ca_auc && \ + (ca)->ca_auc->auc_plugin_size > \ (int)offsetof(auth_client_plugin_t, auc_clear) \ && (ca)->ca_auc->auc_clear != NULL) From mikej at freeswitch.org Wed Feb 11 08:19:02 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:19:02 -0600 Subject: [Freeswitch-svn] [commit] r11780 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs Message-ID: Author: mikej Date: Wed Feb 11 10:19:02 2009 New Revision: 11780 Log: Thu Jan 8 13:04:57 CST 2009 Pekka Pessi * docs/Doxyfile.aliases: Added @VERSION_1_12_10, @NEW_1_12_10 Also @VERSION_UNRELEASED and @NEW_UNRELEASED. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases Wed Feb 11 10:19:02 2009 @@ -56,5 +56,9 @@ "NEW_1_12_8=@since New in 1.12.8" \ "VERSION_1_12_9=1.12.9" \ "NEW_1_12_9=@since New in 1.12.9" \ + "VERSION_1_12_10=1.12.10" \ + "NEW_1_12_10=@since New in 1.12.10" \ + "VERSION_UNRELEASED=UNRELEASED" \ + "NEW_UNRELEASED=@since Not yet released" \ From mikej at freeswitch.org Wed Feb 11 08:19:47 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:19:47 -0600 Subject: [Freeswitch-svn] [commit] r11781 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:19:47 2009 New Revision: 11781 Log: Thu Jan 8 14:20:45 CST 2009 Pekka Pessi * outbound.c: use default peer info when outbound is created Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:19:47 2009 @@ -1 +1 @@ -Wed Feb 11 10:18:18 CST 2009 +Wed Feb 11 10:19:39 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Wed Feb 11 10:19:47 2009 @@ -216,6 +216,8 @@ su_sprintf(ob->ob_home, "+sip.instance=\"<%s>\"", instance); ob->ob_reg_id = 0; + outbound_peer_info(ob, NULL); + /* Generate a random cookie (used as Call-ID) for us */ su_md5_init(md5); su_guid_generate(guid); From mikej at freeswitch.org Wed Feb 11 08:21:43 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:21:43 -0600 Subject: [Freeswitch-svn] [commit] r11782 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec Message-ID: Author: mikej Date: Wed Feb 11 10:21:43 2009 New Revision: 11782 Log: Fri Jan 9 10:19:27 CST 2009 Pekka Pessi * auth_client.c: updated documentation Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Wed Feb 11 10:21:43 2009 @@ -92,7 +92,7 @@ * @param[in] ch challenge to be processed * @param[in] crcl credential class * - * @retval 1 when challenge was updated + * @retval 1 when at least one challenge was updated * @retval 0 when there was no new challenges * @retval -1 upon an error */ @@ -291,9 +291,10 @@ * * @param[in,out] auc_list list of authenticators * @param[in,out] home memory home used for allocations - * @param[in] data colon-separated authentication data + * @param[in] data colon-separated authentication data * - * @retval 0 when successful + * @retval >0 when successful + * @retval 0 if not authenticator matched with @a data * @retval -1 upon an error */ int auc_credentials(auth_client_t **auc_list, su_home_t *home, @@ -340,15 +341,13 @@ * * scheme:"realm":user:pass * - * @todo The authentication data format sucks. - * * @param[in,out] auc_list list of authenticators * @param[in] scheme scheme to use (NULL, if any) * @param[in] realm realm to use (NULL, if any) * @param[in] user username * @param[in] pass password * - * @retval number of updated clients + * @retval >0 or number of updated clients when successful * @retval 0 when no client was updated * @retval -1 upon an error */ @@ -528,7 +527,7 @@ return 1; } -/** Check if we have all required credentials. +/** Check if there are credentials for all challenges. * * @retval 1 when authorization can proceed * @retval 0 when there is not enough credentials @@ -587,7 +586,7 @@ if (pub == NULL) pub = msg_object(msg); - /* Remove existing credentials */ + /* Remove existing credential headers */ for (ca = *auc_list; ca; ca = ca->ca_next) { msg_header_t **hh = msg_hclass_offset(mc, pub, ca->ca_credential_class); @@ -595,7 +594,7 @@ msg_header_remove(msg, pub, *hh); } - /* Insert new credentials */ + /* Insert new credential headers */ for (; *auc_list; auc_list = &(*auc_list)->ca_next) { su_home_t *home = msg_home(msg); msg_header_t *h = NULL; From mikej at freeswitch.org Wed Feb 11 08:23:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:23:10 -0600 Subject: [Freeswitch-svn] [commit] r11783 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:23:10 2009 New Revision: 11783 Log: Fri Jan 9 10:33:14 CST 2009 Pekka Pessi * nua_session.c: when negotiating session refresher, default to UAC Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:23:10 2009 @@ -1 +1 @@ -Wed Feb 11 10:19:39 CST 2009 +Wed Feb 11 10:23:03 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 10:23:10 2009 @@ -371,9 +371,9 @@ int initial, msg_t *msg, sip_t *sip); -static void session_timer_negotiate(struct session_timer *t); +static void session_timer_negotiate(struct session_timer *t, int uas); -static void session_timer_set(nua_session_usage_t *ss); +static void session_timer_set(nua_session_usage_t *ss, int uas); static int session_timer_check_restart(nua_client_request_t *cr, int status, char const *phrase, @@ -849,6 +849,7 @@ { nua_dialog_usage_t *du = cr->cr_usage; nua_session_usage_t *ss = nua_dialog_usage_private(du); + int uas; if (ss == NULL || sip == NULL) { /* Xyzzy */ @@ -859,7 +860,7 @@ if (session_timer_is_supported(ss->ss_timer)) session_timer_store(ss->ss_timer, sip); - session_timer_set(ss); + session_timer_set(ss, uas = 0); } return nua_session_client_response(cr, status, phrase, sip); @@ -2505,6 +2506,7 @@ nua_session_usage_t *ss = nua_dialog_usage_private(sr->sr_usage); msg_t *msg = nta_incoming_getrequest_ackcancel(irq); char const *recv = NULL; + int uas; if (ss == NULL) return 0; @@ -2568,7 +2570,7 @@ nua_stack_event(nh->nh_nua, nh, msg, nua_i_ack, SIP_200_OK, NULL); signal_call_state_change(nh, ss, 200, "OK", nua_callstate_ready); - session_timer_set(ss); + session_timer_set(ss, uas = 1); nua_server_request_destroy(sr); @@ -3331,6 +3333,7 @@ nua_handle_t *nh = cr->cr_owner; nua_dialog_usage_t *du = cr->cr_usage; nua_session_usage_t *ss = nua_dialog_usage_private(du); + int uas; assert(200 <= status); @@ -3345,7 +3348,7 @@ if (!sr && (!du->du_cr || !du->du_cr->cr_orq)) { session_timer_store(ss->ss_timer, sip); - session_timer_set(ss); + session_timer_set(ss, uas = 0); } } } @@ -3553,6 +3556,7 @@ if (ss && session_timer_is_supported(ss->ss_timer)) { nua_server_request_t *sr0; + int uas; session_timer_add_headers(ss->ss_timer, 0, msg, sip); @@ -3561,7 +3565,7 @@ break; if (!sr0 && (!sr->sr_usage->du_cr || !sr->sr_usage->du_cr->cr_orq)) - session_timer_set(ss); + session_timer_set(ss, uas = 1); } } @@ -4354,7 +4358,8 @@ static int session_timer_add_headers(struct session_timer *t, int initial, - msg_t *msg, sip_t *sip) + msg_t *msg, + sip_t *sip) { unsigned long expires, min; sip_min_se_t min_se[1]; @@ -4376,7 +4381,7 @@ min = t->remote.min_se; if (uas) { - session_timer_negotiate(t); + session_timer_negotiate(t, uas = 1); refresher = t->refresher; expires = t->interval; @@ -4417,8 +4422,8 @@ return 1; } -static -void session_timer_negotiate(struct session_timer *t) +static void +session_timer_negotiate(struct session_timer *t, int uas) { if (!t->local.supported) t->refresher = nua_no_refresher; @@ -4428,8 +4433,11 @@ t->refresher = nua_local_refresher; else if (t->remote.refresher == nua_remote_refresher) t->refresher = nua_remote_refresher; + else if (uas) + /* UAS defaults UAC to refreshing */ + t->refresher = nua_remote_refresher; else - /* Default to initiate refreshes */ + /* UAC refreshes by itself */ t->refresher = nua_local_refresher; t->interval = t->remote.expires; @@ -4452,7 +4460,7 @@ } static void -session_timer_set(nua_session_usage_t *ss) +session_timer_set(nua_session_usage_t *ss, int uas) { nua_dialog_usage_t *du = nua_dialog_usage_public(ss); struct session_timer *t; @@ -4462,7 +4470,7 @@ t = ss->ss_timer; - session_timer_negotiate(t); + session_timer_negotiate(t, uas); if (t->refresher == nua_local_refresher) { unsigned low = t->interval / 2, high = t->interval / 2; From mikej at freeswitch.org Wed Feb 11 08:23:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:23:44 -0600 Subject: [Freeswitch-svn] [commit] r11784 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:23:44 2009 New Revision: 11784 Log: Thu Jan 8 11:55:52 CST 2009 Pekka Pessi * sofia-sip/string0.h: use functions from Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:23:44 2009 @@ -1 +1 @@ -Wed Feb 11 10:23:03 CST 2009 +Wed Feb 11 10:23:36 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h Wed Feb 11 10:23:44 2009 @@ -1,145 +1,47 @@ -/* - * This file is part of the Sofia-SIP package - * - * Copyright (C) 2005 Nokia Corporation. - * - * Contact: Pekka Pessi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - #ifndef STRING0_H /** Defined when is included. */ #define STRING0_H /**@file sofia-sip/string0.h * - * @brief Extra string function. + * @brief Extra string functions. * * String comparison functions accepting NULL pointers: str0cmp(), * str0ncmp(), str0casecmp(), str0ncasecmp(). Also includes span functions * testing at most @a n bytes: strncspn(), strnspn(). + * + * @deprecated Use functions from instead. */ -#ifndef SU_CONFIG_H -#include -#endif - -#include - -SOFIA_BEGIN_DECLS +#include su_inline int str0cmp(char const *a, char const *b) { - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strcmp(a, b); + return su_strcmp(a, b); } su_inline int str0ncmp(char const *a, char const *b, size_t n) { - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strncmp(a, b, n); + return su_strncmp(a, b, n); } su_inline int str0casecmp(char const *a, char const *b) { - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strcasecmp(a, b); + return su_strcasecmp(a, b); } su_inline int str0ncasecmp(char const *a, char const *b, size_t n) { - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strncasecmp(a, b, n); + return su_strncasecmp(a, b, n); } -#if !SU_HAVE_INLINE -SOFIAPUBFUN size_t strnspn(char const *s, size_t size, char const *term); -SOFIAPUBFUN size_t strncspn(char const *s, size_t ssize, char const *reject); -#else su_inline size_t strnspn(char const *s, size_t ssize, char const *term) { - size_t n; - size_t tsize = strlen(term); - - if (tsize == 0) { - return 0; - } - else if (tsize == 1) { - char c, t = term[0]; - for (n = 0; n < ssize && (c = s[n]) && c == t; n++) - ; - } - else if (tsize == 2) { - char c, t1 = term[0], t2 = term[1]; - for (n = 0; n < ssize && (c = s[n]) && (c == t1 || c == t2); n++) - ; - } - else { - size_t i; - char c, t1 = term[0], t2 = term[1]; - for (n = 0; n < ssize && (c = s[n]) && (c == t1 || c == t2); n++) { - for (i = 2; i < tsize; i++) - if (c == term[i]) - return n; - } - } - - return n; -} - -su_inline size_t strncspn(char const *s, size_t ssize, char const *reject) -{ - size_t n; - size_t rsize = strlen(reject); - - if (rsize == 0) { - for (n = 0; n < ssize && s[n]; n++) - ; - } - else if (rsize == 1) { - char c, rej = reject[0]; - for (n = 0; n < ssize && (c = s[n]) && c != rej; n++) - ; - } - else if (rsize == 2) { - char c, rej1 = reject[0], rej2 = reject[1]; - for (n = 0; n < ssize && (c = s[n]) && c != rej1 && c != rej2; n++) - ; - } - else { - size_t i; - char c, rej1 = reject[0], rej2 = reject[1]; - for (n = 0; n < ssize && (c = s[n]) && c != rej1 && c != rej2; n++) { - for (i = 2; i < rsize; i++) - if (c == reject[i]) - return n; - } - } - - return n; + return su_strnspn(s, ssize, term); } +su_inline size_t strncspn(char const *s, size_t ssize, char const *term) +{ + return su_strncspn(s, ssize, term); +} #endif - -SOFIA_END_DECLS - -#endif /* !STRING0_H */ From mikej at freeswitch.org Wed Feb 11 08:27:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:27:51 -0600 Subject: [Freeswitch-svn] [commit] r11785 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:27:51 2009 New Revision: 11785 Log: Thu Jan 8 12:08:14 CST 2009 Pekka Pessi * memspn.c, memcspn.c: use functions from Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memspn.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:27:51 2009 @@ -1 +1 @@ -Wed Feb 11 10:23:36 CST 2009 +Wed Feb 11 10:27:42 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c Wed Feb 11 10:27:51 2009 @@ -32,50 +32,13 @@ #include "config.h" -#include -#include +#include + +size_t memcspn(const void *mem, size_t memlen, + const void *reject, size_t rejectlen); -/**Search memory for bytes not in a given set. - * - * The memcspn() function calculates the length of the memory area @a mem - * which consists entirely of bytes not in @a reject. - * - * @param mem pointer to memory area - *?@param memlen size of @a mem in bytes - * @param reject pointer to table containing bytes to reject - * @param rejectlen size of @a reject table - * - * @return - * The memspn() function returns the number of bytes in the memory area @a - * which consists entirely of bytes not in @a reject. - * @par - * If @a rejectlen is 0, or @a reject is NULL, it returns @a memlen, size of - * the memory area. - */ size_t memcspn(const void *mem, size_t memlen, const void *reject, size_t rejectlen) { - size_t i; - - unsigned char const *m = mem, *r = reject; - - char rejected[UCHAR_MAX + 1]; - - if (rejectlen == 0 || reject == 0) - return memlen; - - if (mem == NULL || memlen == 0) - return 0; - - memset(rejected, 0, sizeof rejected); - - for (i = 0; i < rejectlen; i++) - rejected[r[i]] = 1; - - for (i = 0; i < memlen; i++) - if (rejected[m[i]]) - break; - - return i; + return su_memcspn(mem, memlen, reject, rejectlen); } - Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memspn.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memspn.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memspn.c Wed Feb 11 10:27:51 2009 @@ -34,43 +34,13 @@ #include "config.h" -#include -#include +#include + +size_t memspn(const void *mem, size_t memlen, + const void *accept, size_t acceptlen); -/**Scan memory for a set of bytes. - * - * The memspn() function calculates the length of the memory area @a mem - * which consists entirely of bytes in @a accept. - * - * @param mem pointer to memory area - * @param memlen size of @a mem in bytes - * @param accept pointer to table containing bytes to accept - * @param acceptlen size of @a accept table - * - * @return - * The memspn() function returns the number of bbytes in the memory area @a - * which consists entirely of bytes in @a accept. - */ size_t memspn(const void *mem, size_t memlen, const void *accept, size_t acceptlen) { - size_t i; - - unsigned char const *m = mem, *a = accept; - - char accepted[UCHAR_MAX + 1]; - - if (mem == NULL || memlen == 0 || acceptlen == 0 || accept == NULL) - return 0; - - memset(accepted, 0, sizeof accepted); - - for (i = 0; i < acceptlen; i++) - accepted[a[i]] = 1; - - for (i = 0; i < memlen; i++) - if (!accepted[m[i]]) - break; - - return i; + return su_memspn(mem, memlen, accept, acceptlen); } From mikej at freeswitch.org Wed Feb 11 08:28:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:28:34 -0600 Subject: [Freeswitch-svn] [commit] r11786 - freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static Message-ID: Author: mikej Date: Wed Feb 11 10:28:33 2009 New Revision: 11786 Log: Thu Jan 8 12:12:46 CST 2009 Pekka Pessi * sofia-sip/su_string.h, su_string:c: added to win32 Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp ============================================================================== --- freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp (original) +++ freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp Wed Feb 11 10:28:33 2009 @@ -341,7 +341,7 @@ # End Source File # Begin Source File -SOURCE="..\..\libsofia-sip-ua\su\strcasestr.c" +SOURCE="..\..\libsofia-sip-ua\su\su_string.c" # End Source File # Begin Source File @@ -865,6 +865,10 @@ # End Source File # Begin Source File +SOURCE="..\..\libsofia-sip-ua\su\sofia-sip\su_string.h" +# End Source File +# Begin Source File + SOURCE="..\..\libsofia-sip-ua\su\sofia-sip\su.h" # End Source File # Begin Source File Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj Wed Feb 11 10:28:33 2009 @@ -1395,7 +1395,7 @@ + + From mikej at freeswitch.org Wed Feb 11 08:33:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:33:51 -0600 Subject: [Freeswitch-svn] [commit] r11787 - in freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su: . sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:33:51 2009 New Revision: 11787 Log: add missing files Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_string.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_string.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_string.h Wed Feb 11 10:33:51 2009 @@ -0,0 +1,86 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2005 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef SOFIA_SIP_SU_STRING_H +/** Defined when is included. */ +#define SOFIA_SIP_SU_STRING_H + +/**@file sofia-sip/su_string.h + * + * @brief String functions for Sofia-SIP. + * + * Various string comparison functions also accepting NULL pointer as empty + * string: + * - su_strcmp(), + * - su_strncmp(), + * - su_strcasecmp() (comparison with US-ASCII case folding to lower case), + * - su_strncasecmp() (comparison with US-ASCII case folding to lower case) + * - su_casematch() (match token with US-ASCII case folding to lower case) + * - su_casenmatch() (match token with US-ASCII case folding to lower case) + * + * Also includes span functions testing at most @a n bytes: + * - su_strncspn() + * - su_strnspn(). + */ + +#ifndef SU_CONFIG_H +#include +#endif + +#include + +SOFIA_BEGIN_DECLS + +su_inline int su_strcmp(char const *a, char const *b) +{ + return strcmp(a ? a : "", b ? b : ""); +} + +su_inline int su_strncmp(char const *a, char const *b, size_t n) +{ + return strncmp(a ? a : "", b ? b : "", n); +} + +SOFIAPUBFUN char *su_strcasestr(const char *haystack, const char *needle); + +SOFIAPUBFUN int su_strcasecmp(char const *s1, char const *s2); +SOFIAPUBFUN int su_strncasecmp(char const *s1, char const *s2, size_t n); + +SOFIAPUBFUN int su_strmatch(char const *str, char const *with); +SOFIAPUBFUN int su_strnmatch(char const *str, char const *with, size_t n); + +SOFIAPUBFUN int su_casematch(char const *s1, char const *with); +SOFIAPUBFUN int su_casenmatch(char const *s1, char const *with, size_t n); + +SOFIAPUBFUN size_t su_strnspn(char const *s, size_t size, char const *term); +SOFIAPUBFUN size_t su_strncspn(char const *s, size_t ssize, char const *reject); + +SOFIAPUBFUN size_t su_memspn(const void *mem, size_t memlen, + const void *accept, size_t acceptlen); +SOFIAPUBFUN size_t su_memcspn(const void *mem, size_t memlen, + const void *reject, size_t rejectlen); + +SOFIA_END_DECLS + +#endif /* !SOFIA_SIP_SU_STRING_H */ Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c Wed Feb 11 10:33:51 2009 @@ -0,0 +1,518 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2005 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@internal @file su_string.c + * @brief Various string utility functions. + * + * @author Pekka Pessi + */ + +#include "config.h" + +#include + +#include +#include +#include +#include + +/** ASCII-case-insensitive substring search. + * + * Search for substring ASCII-case-insensitively. + * + */ +char * +su_strcasestr(const char *haystack, + const char *needle) +{ + unsigned char lcn, ucn; + size_t i; + + if (haystack == NULL || needle == NULL) + return NULL; + + lcn = ucn = needle[0]; + if ('A' <= lcn && lcn <= 'Z') + lcn += 'a' - 'A'; + else if ('a' <= ucn && ucn <= 'z') + ucn -= 'a' - 'Z'; + + if (lcn == 0) + return (char *)haystack; + + while (haystack[0] != 0) { + if (lcn == haystack[0] || ucn == haystack[0]) { + for (i = 1; ; i++) { + char n = needle[i], h = haystack[i]; + if (n == 0) + return (char *)haystack; + if (h == 0) + return NULL; + if (n == h) + continue; + if ((n ^ h) != ('A' ^ 'a')) + break; + if ('A' <= n && n <= 'Z') + n += 'a' - 'A'; + else if ('A' <= h && h <= 'Z') + h += 'a' - 'A'; + if (n != h) + break; + } + } + haystack++; + } + + return NULL; /* Not found */ +} + +/** ASCII-case-insensitive comparison. + * + * Compare two strings colliding upper case and lower case ASCII chars. + * Avoid using locale-dependent strcasecmp(). A NULL pointer compares as an + * empty string. + * + * @retval An int less than zero if @a s1 is less than @a s2 + * @retval Zero if @a s1 matches @a s2 + * @retval An int greater than zero if @a s1 is greater than @a s2 + */ +int +su_strcasecmp(char const *s1, + char const *s2) +{ + unsigned char const *A = (unsigned char const *)(s1 ? s1 : ""); + unsigned char const *B = (unsigned char const *)(s2 ? s2 : ""); + + for (;;) { + unsigned char a = *A++, b = *B++; + + int value = (int)a - (int)b; + + if (a == 0) + return value; + + if (value == 0) + continue; + + if ('A' <= a && a <= 'Z') + a += 'a' - 'A'; + + if ('A' <= b && b <= 'Z') + b += 'a' - 'A'; + + value = (int)a - (int)b; + + if (value) + return value; + } +} + +/** ASCII-case-insensitive comparison. + * + * Compare first @a n bytes of two strings colliding upper case and lower + * case ASCII chars. Avoid using locale-dependent strncasecmp(). A NULL + * pointer compares as an empty string. + * + * @retval An int less than zero if first @a n bytes of @a s1 is less than @a s2 + * @retval Zero if first @a n bytes of @a s1 matches @a s2 + * @retval An int greater than zero if first @a n bytes of @a s1 is greater than @a s2 + */ +int +su_strncasecmp(char const *s1, + char const *s2, + size_t n) +{ + unsigned char const *A = (unsigned char const *)(s1 ? s1 : ""); + unsigned char const *B = (unsigned char const *)(s2 ? s2 : ""); + + if (n == 0 || A == B || memcmp(A, B, n) == 0) + return 0; + + for (;;) { + unsigned char a, b; + int value; + + if (n-- == 0) + return 0; + + a = *A++, b = *B++; + + value = a - b; + + if (a == 0) + return value; + if (value == 0) + continue; + + if ('A' <= a && a <= 'Z') + a += 'a' - 'A'; + + if ('A' <= b && b <= 'Z') + b += 'a' - 'A'; + + value = a - b; + + if (value) + return value; + } +} + +/** Check if two strings match. + * + * Compare two strings. Accept NULL arguments: two NULL pointers match each + * other, but otherwise NULL pointer does not match anything else, not even + * empty string. + * + * @param s1 + * + * @retval One if @a s1 matches @a s2 + * @retval Zero if @a s1 does not match @a s2 + */ +int +su_strmatch(char const *s1, char const *s2) +{ + if (s1 == s2) + return 1; + + if (s1 == NULL || s2 == NULL) + return 0; + + return strcmp(s1, s2) == 0; +} + +/** ASCII-case-insensitive string match. + * + * Match two strings colliding upper case and lower case ASCII characters. + * Avoid using locale-dependent strncasecmp(). Accept NULL arguments: two + * NULL pointers match each other, but otherwise NULL pointer does not match + * anything else, not even empty string. + * + * @retval One if first @a n bytes of @a s1 matches @a s2 + * @retval Zero if first @a n bytes of @a s1 do not match @a s2 + */ +int +su_casematch(char const *s1, char const *s2) +{ + if (s1 == s2) + return 1; + + if (s1 == NULL || s2 == NULL) + return 0; + + for (;;) { + unsigned char a = *s1++, b = *s2++; + + if (b == 0) + return a == b; + + if (a == b) + continue; + + if ('A' <= a && a <= 'Z') { + if (a + 'a' - 'A' != b) + return 0; + } + else if ('A' <= b && b <= 'Z') { + if (a != b + 'a' - 'A') + return 0; + } + else + return 0; + } +} + +/** String prefix match. + * + * Match first @a n bytes of two strings. If @a n is 0, match always, even + * if arguments are NULL. Otherwise, accept NULL arguments: two NULL + * pointers match each other. NULL pointer does not match + * anything else, not even empty string. + * + * @retval One if first @a n bytes of @a s1 matches @a s2 + * @retval Zero if first @a n bytes of @a s1 do not match @a s2 + */ +int +su_strnmatch(char const *s1, + char const *s2, + size_t n) +{ + if (n == 0) + return 1; + + if (s1 == s2) + return 1; + + if (s1 == NULL || s2 == NULL) + return 0; + + return strncmp(s1, s2, n) == 0; +} + +/** ASCII-case-insensitive string match. + * + * Compare two strings colliding upper case and lower case ASCII characters. + * Avoid using locale-dependent strncasecmp(). + * + * @retval One if first @a n bytes of @a s1 matches @a s2 + * @retval Zero if first @a n bytes of @a s1 do not match @a s2 + */ +int +su_casenmatch(char const *s1, + char const *s2, + size_t n) +{ + if (n == 0) + return 1; + + if (s1 == s2) + return 1; + + if (s1 == NULL || s2 == NULL) + return 0; + + if (strncmp(s1, s2, n) == 0) + return 1; + + while (n-- > 0) { + unsigned char a = *s1++, b = *s2++; + + if (a == 0 || b == 0) + return a == b; + + if (a == b) + continue; + + if ('A' <= a && a <= 'Z') { + if (a + 'a' - 'A' != b) + return 0; + } + else if ('A' <= b && b <= 'Z') { + if (a != b + 'a' - 'A') + return 0; + } + else + return 0; + } + + return 1; +} + +/** Search a string for a set of characters. + * + * Calculate the length of the initial segment of first @a n bytes of @a s + * which consists entirely of characters in @a accept. + * + * @param s string to search for characters + * @param n limit of search length + * @param accept set of characters to accept + * + * @return + * Number of characters in the prefix of @a s which consists only of + * characters from @a accept. + */ +size_t +su_strnspn(char const *s, size_t n, char const *accept) +{ + size_t len; + size_t asize; + + if (accept == NULL || s == NULL) + return 0; + + asize = strlen(accept); + + if (asize == 0) { + return 0; + } + else if (asize == 1) { + char c, a = accept[0]; + for (len = 0; len < n && (c = s[len]) && c == a; len++) + ; + } + else if (asize == 2) { + char c, a1 = accept[0], a2 = accept[1]; + for (len = 0; len < n && (c = s[len]) && (c == a1 || c == a2); len++) + ; + } + else { + size_t i; + char c, a1 = accept[0], a2 = accept[1]; + + for (len = 0; len < n && (c = s[len]); len++) { + + if (c == a1 || c == a2) + continue; + + for (i = 2; i < asize; i++) { + if (c == accept[i]) + break; + } + + if (i == asize) + break; + } + } + + return len; +} + +/** Search a string for a set of characters. + * + * Calculate the length of the initial segment of first @a n bytes of @a s + * which does not constists of characters in @a reject. + * + * @param s string to search for characters + * @param n limit of search length + * @param reject set of characters to reject + * + * @return + * Number of characters in the prefix of @a s which are not in @a reject. + */ +size_t +su_strncspn(char const *s, size_t n, char const *reject) +{ + size_t len; + size_t rsize; + + if (s == NULL) + return 0; + + if (reject == NULL) + rsize = 0; + else + rsize = strlen(reject); + + if (rsize == 0) { +#if HAVE_STRNLEN + len = strnlen(s, n); +#else + for (len = 0; len < n && s[len]; len++) + ; +#endif + } + else if (rsize == 1) { + char c, rej = reject[0]; + for (len = 0; len < n && (c = s[len]) && c != rej; len++) + ; + } + else if (rsize == 2) { + char c, rej1 = reject[0], rej2 = reject[1]; + for (len = 0; len < n && (c = s[len]) && c != rej1 && c != rej2; len++) + ; + } + else { + size_t i; + char c, rej1 = reject[0], rej2 = reject[1]; + for (len = 0; len < n && (c = s[len]) && c != rej1 && c != rej2; len++) { + for (i = 2; i < rsize; i++) + if (c == reject[i]) + return len; + } + } + + return len; +} + +/**Scan memory for a set of bytes. + * + * Calculates the length of the memory area @a mem which consists entirely +o * of bytes in @a accept. + * + * @param mem pointer to memory area + * @param memlen size of @a mem in bytes + * @param accept pointer to table containing bytes to accept + * @param acceptlen size of @a accept table + * + * @return + * The number of consequtive bytes in the memory area @a which consists + * entirely of bytes in @a accept. + */ +size_t su_memspn(const void *mem, size_t memlen, + const void *accept, size_t acceptlen) +{ + size_t i; + + unsigned char const *m = mem, *a = accept; + + char accepted[UCHAR_MAX + 1]; + + if (mem == NULL || memlen == 0 || acceptlen == 0 || accept == NULL) + return 0; + + memset(accepted, 0, sizeof accepted); + + for (i = 0; i < acceptlen; i++) + accepted[a[i]] = 1; + + for (i = 0; i < memlen; i++) + if (!accepted[m[i]]) + break; + + return i; +} + +/**Search memory for bytes not in a given set. + * + * Calculates the length of the memory area @a mem which consists entirely + * of bytes not in @a reject. + * + * @param mem pointer to memory area + *?@param memlen size of @a mem in bytes + * @param reject pointer to table containing bytes to reject + * @param rejectlen size of @a reject table + * + * @return + * The number of consequtive bytes in the memory area @a which are not in @a + * reject. + * @par + * If @a rejectlen is 0, or @a reject is NULL, it returns @a memlen, size of + * the memory area. + */ +size_t +su_memcspn(const void *mem, size_t memlen, + const void *reject, size_t rejectlen) +{ + size_t i; + + unsigned char const *m = mem, *r = reject; + + char rejected[UCHAR_MAX + 1]; + + if (mem == NULL || memlen == 0) + return 0; + + if (rejectlen == 0 || reject == 0) + return memlen; + + memset(rejected, 0, sizeof rejected); + + for (i = 0; i < rejectlen; i++) + rejected[r[i]] = 1; + + for (i = 0; i < memlen; i++) + if (rejected[m[i]]) + break; + + return i; +} From anthm at freeswitch.org Wed Feb 11 08:36:55 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:36:55 -0600 Subject: [Freeswitch-svn] [commit] r11788 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: anthm Date: Wed Feb 11 10:36:55 2009 New Revision: 11788 Log: clarify warning Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Feb 11 10:36:55 2009 @@ -736,10 +736,16 @@ int rtp_hold_timeout_sec = 0; tech_pvt->read_frame.datalen = 0; - tech_pvt->codec_ms = codec_ms; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, - "Changing codec ptime to %d. I bet you have a linksys/sipura =D\n", tech_pvt->codec_ms); - + "We were told to use ptime %d but what they meant to say was %d\n" + "This issue has so far been identified to happen on the following broken platforms/devices:\n" + "Linksys/Sipura aka Cisco\n" + "ShoreTel\n" + "Sonus/L3\n" + "We will try to fix it but some of the devices on this list are so broken who knows what will happen..\n" + , + (int)tech_pvt->codec_ms, (int)codec_ms); + tech_pvt->codec_ms = codec_ms; switch_core_session_lock_codec_write(session); switch_core_session_lock_codec_read(session); @@ -791,7 +797,8 @@ } tech_pvt->check_frames = MAX_CODEC_CHECK_FRAMES; - + /* inform them of the codec they are actually sending */ + sofia_glue_do_invite(session); switch_core_session_unlock_codec_write(session); switch_core_session_unlock_codec_read(session); From mikej at freeswitch.org Wed Feb 11 08:44:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:44:14 -0600 Subject: [Freeswitch-svn] [commit] r11789 - freeswitch/trunk/libs/win32/sofia Message-ID: Author: mikej Date: Wed Feb 11 10:44:14 2009 New Revision: 11789 Log: add new files to msvc build Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj Wed Feb 11 10:44:14 2009 @@ -274,6 +274,10 @@ > + + @@ -1024,6 +1028,10 @@ > + + Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Wed Feb 11 10:44:14 2009 @@ -275,6 +275,10 @@ > + + @@ -1025,6 +1029,10 @@ > + + From mikej at freeswitch.org Wed Feb 11 08:44:58 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:44:58 -0600 Subject: [Freeswitch-svn] [commit] r11790 - freeswitch/trunk/libs/sofia-sip/open_c/group Message-ID: Author: mikej Date: Wed Feb 11 10:44:58 2009 New Revision: 11790 Log: Thu Jan 8 12:12:55 CST 2009 Pekka Pessi * sofia-sip/su_string.h, su_string:c: added to open_c Modified: freeswitch/trunk/libs/sofia-sip/open_c/group/bld.inf freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp Modified: freeswitch/trunk/libs/sofia-sip/open_c/group/bld.inf ============================================================================== --- freeswitch/trunk/libs/sofia-sip/open_c/group/bld.inf (original) +++ freeswitch/trunk/libs/sofia-sip/open_c/group/bld.inf Wed Feb 11 10:44:58 2009 @@ -87,6 +87,7 @@ ../../libsofia-sip-ua/su/sofia-sip/htable2.h \epoc32\include\osextensions\sofia-sip\htable2.h ../../libsofia-sip-ua/su/sofia-sip/rbtree.h \epoc32\include\osextensions\sofia-sip\rbtree.h ../../libsofia-sip-ua/su/sofia-sip/string0.h \epoc32\include\osextensions\sofia-sip\string0.h +../../libsofia-sip-ua/su/sofia-sip/su_string.h \epoc32\include\osextensions\sofia-sip\su_string.h ../../libsofia-sip-ua/su/sofia-sip/su.h \epoc32\include\osextensions\sofia-sip\su.h ../../libsofia-sip-ua/su/sofia-sip/su_addrinfo.h \epoc32\include\osextensions\sofia-sip\su_addrinfo.h ../../libsofia-sip-ua/su/sofia-sip/su_alloc.h \epoc32\include\osextensions\sofia-sip\su_alloc.h Modified: freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp ============================================================================== --- freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp (original) +++ freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp Wed Feb 11 10:44:58 2009 @@ -64,7 +64,7 @@ SOURCE memcspn.c SOURCE string0.c SOURCE strtoull.c -SOURCE strcasestr.c +SOURCE su_string.c SOURCE getopt.c SOURCE poll.c From mikej at freeswitch.org Wed Feb 11 08:45:24 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:45:24 -0600 Subject: [Freeswitch-svn] [commit] r11791 - freeswitch/trunk/libs/sofia-sip/tests Message-ID: Author: mikej Date: Wed Feb 11 10:45:24 2009 New Revision: 11791 Log: Thu Jan 8 12:13:05 CST 2009 Pekka Pessi * tests: using functions Modified: freeswitch/trunk/libs/sofia-sip/tests/test_call_reject.c freeswitch/trunk/libs/sofia-sip/tests/test_cancel_bye.c freeswitch/trunk/libs/sofia-sip/tests/test_nua.h freeswitch/trunk/libs/sofia-sip/tests/test_proxy.c Modified: freeswitch/trunk/libs/sofia-sip/tests/test_call_reject.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/tests/test_call_reject.c (original) +++ freeswitch/trunk/libs/sofia-sip/tests/test_call_reject.c Wed Feb 11 10:45:24 2009 @@ -1254,7 +1254,7 @@ { (void)arg; - if (len >= 11 && strncasecmp(message, "SIP/2.0 200", 11) == 0) + if (len >= 11 && su_casenmatch(message, "SIP/2.0 200", 11)) return 0; return len; } @@ -1263,7 +1263,7 @@ { (void)arg; - if (len >= 7 && strncasecmp(message, "ACK sip", 7) == 0) + if (len >= 7 && su_casenmatch(message, "ACK sip", 7)) return 0; return len; } Modified: freeswitch/trunk/libs/sofia-sip/tests/test_cancel_bye.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/tests/test_cancel_bye.c (original) +++ freeswitch/trunk/libs/sofia-sip/tests/test_cancel_bye.c Wed Feb 11 10:45:24 2009 @@ -945,7 +945,7 @@ { (void)arg; - if (strncasecmp(message, "ACK sip:", 8) == 0) + if (su_casenmatch(message, "ACK sip:", 8)) ack_sent++; return len; Modified: freeswitch/trunk/libs/sofia-sip/tests/test_nua.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/tests/test_nua.h (original) +++ freeswitch/trunk/libs/sofia-sip/tests/test_nua.h Wed Feb 11 10:45:24 2009 @@ -50,6 +50,7 @@ #include #include #include +#include #include #if __APPLE_CC__ Modified: freeswitch/trunk/libs/sofia-sip/tests/test_proxy.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/tests/test_proxy.c (original) +++ freeswitch/trunk/libs/sofia-sip/tests/test_proxy.c Wed Feb 11 10:45:24 2009 @@ -688,7 +688,7 @@ char const *proto = v->v_protocol; if (v->v_next && - strcasecmp(v->v_host, v->v_next->v_host) == 0 && + su_casematch(v->v_host, v->v_next->v_host) && str0cmp(v->v_port, v->v_next->v_port) == 0 && ((proto == sip_transport_udp && v->v_next->v_protocol == sip_transport_tcp) || @@ -861,7 +861,7 @@ return 0; for (o = t->proxy->domains; o; o = o->next) - if (strcasecmp(host, o->uri->url_host) == 0) + if (su_casematch(host, o->uri->url_host)) break; t->origin = o; @@ -1286,7 +1286,7 @@ sip_via_t *v = sip->sip_via; if (m && v && v->v_received && m->m_url->url_host - && strcasecmp(v->v_received, m->m_url->url_host) + && !su_casematch(v->v_received, m->m_url->url_host) && host_is_ip_address(m->m_url->url_host)) return respond_transaction(t, 406, "Unacceptable Contact", TAG_END()); From mikej at freeswitch.org Wed Feb 11 08:45:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:45:51 -0600 Subject: [Freeswitch-svn] [commit] r11792 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:45:51 2009 New Revision: 11792 Log: Thu Jan 8 12:13:38 CST 2009 Pekka Pessi * su: using Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:45:51 2009 @@ -1 +1 @@ -Wed Feb 11 10:27:42 CST 2009 +Wed Feb 11 10:45:40 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Wed Feb 11 10:45:51 2009 @@ -41,6 +41,7 @@ #include #include +#include #include "su_module_debug.h" #include @@ -1600,7 +1601,7 @@ return ELI_RESOLVER; } - if (hints->li_canonname && strcasecmp(name, hints->li_canonname)) + if (hints->li_canonname && !su_casematch(name, hints->li_canonname)) return 1; if (!(flags & LI_CANONNAME)) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c Wed Feb 11 10:45:51 2009 @@ -139,7 +139,7 @@ } #endif #if HAVE_WIN32 - else if (strcasecmp(name, "wsaevent") == 0) { + else if (su_casematch(name, "wsaevent")) { create = su_wsaevent_port_create; start = su_wsaevent_clone_start; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c Wed Feb 11 10:45:51 2009 @@ -57,6 +57,7 @@ #include #include #include +#include #ifndef HAVE_STRTOULL unsigned longlong strtoull(const char *, char **, int); @@ -1399,10 +1400,10 @@ int retval; int value = 0; - if (strncasecmp(s, "true", 4) == 0 + if (su_casenmatch(s, "true", 4) && strlen(s + 4) == strspn(s + 4, " \t\r\n")) { value = 1, retval = 1; - } else if (strncasecmp(s, "false", 5) == 0 + } else if (su_casenmatch(s, "false", 5) && strlen(s + 5) == strspn(s + 5, " \t\r\n")) { value = 0, retval = 1; } else { From mikej at freeswitch.org Wed Feb 11 08:46:25 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:46:25 -0600 Subject: [Freeswitch-svn] [commit] r11793 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/http Message-ID: Author: mikej Date: Wed Feb 11 10:46:25 2009 New Revision: 11793 Log: Thu Jan 8 12:14:14 CST 2009 Pekka Pessi * http: use functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:46:25 2009 @@ -1 +1 @@ -Wed Feb 11 10:45:40 CST 2009 +Wed Feb 11 10:46:12 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c Wed Feb 11 10:46:25 2009 @@ -42,6 +42,7 @@ #define MSG_HDR_T union http_header_u #include +#include #include #include @@ -52,7 +53,6 @@ #include #include -#include #include #include #include @@ -446,7 +446,7 @@ { http_content_range_t *cr = h->sh_content_range; - if (strncasecmp(s, "bytes", 5)) + if (!su_casenmatch(s, "bytes", 5)) return -1; s += 5; skip_lws(&s); if (s[0] == '*') { @@ -820,7 +820,7 @@ { http_if_range_t *ifr = (http_if_range_t *)h; - if (s[0] == '"' || strncasecmp(s, "W/\"", 3) == 0) { + if (s[0] == '"' || su_casenmatch(s, "W/\"", 3)) { ifr->ifr_tag = s; return 0; } else { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c Wed Feb 11 10:46:25 2009 @@ -33,12 +33,7 @@ #include "config.h" -#include -#include -#include -#include -#include -#include +#include /* Avoid casting http_t to msg_pub_t and http_header_t to msg_header_t */ #define MSG_PUB_T struct http_s @@ -46,6 +41,12 @@ #include "sofia-sip/http_parser.h" +#include +#include +#include +#include +#include + /* ========================================================================== */ /**@HTTP_HEADER http_proxy_connection Proxy-Connection extension header. */ @@ -348,7 +349,7 @@ char *rest; #define LOOKING_AT(s, what) \ - (strncasecmp((s), what, strlen(what)) == 0 && (rest = s + strlen(what))) + (su_casenmatch((s), what, strlen(what)) && (rest = s + strlen(what))) /* Special cases from Netscape spec */ if (LOOKING_AT(s, "expires=")) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c Wed Feb 11 10:46:25 2009 @@ -38,6 +38,7 @@ #define MSG_HDR_T union http_header_u #include +#include #include "sofia-sip/http_parser.h" #include #include @@ -48,7 +49,6 @@ #include #include -#include #include #include #include @@ -143,8 +143,7 @@ */ http->http_transfer_encoding->k_items && http->http_transfer_encoding->k_items[0] && - strcasecmp(http->http_transfer_encoding->k_items[0], - "identity") != 0) { + !su_casematch(http->http_transfer_encoding->k_items[0], "identity")) { http->http_flags |= MSG_FLG_CHUNKS; if (http->http_flags & MSG_FLG_STREAMING) @@ -162,8 +161,7 @@ body_len = http->http_content_length->l_length; /* We cannot parse multipart/byteranges ... */ else if (http->http_content_type && http->http_content_type->c_type && - strcasecmp(http->http_content_type->c_type, "multipart/byteranges") - == 0) + su_casematch(http->http_content_type->c_type, "multipart/byteranges")) return -1; else if (MSG_IS_MAILBOX(flags)) /* message fragments */ body_len = 0; @@ -312,12 +310,12 @@ char const *result; int const version_size = sizeof(http_version_1_1) - 1; - if (strncasecmp(s, http_version_1_1, version_size) == 0 && + if (su_casenmatch(s, http_version_1_1, version_size) && !IS_TOKEN(s[version_size])) { result = http_version_1_1; s += version_size; } - else if (strncasecmp(s, http_version_1_0, version_size) == 0 && + else if (su_casenmatch(s, http_version_1_0, version_size) && !IS_TOKEN(s[version_size])) { result = http_version_1_0; s += version_size; @@ -349,9 +347,9 @@ s[l1 + 1 + l2] = 0; /* Compare again with compacted version */ - if (strcasecmp(s, http_version_1_1) == 0) + if (su_casematch(s, http_version_1_1)) result = http_version_1_1; - else if (strcasecmp(s, http_version_1_0) == 0) + else if (su_casematch(s, http_version_1_0)) result = http_version_1_0; } @@ -452,7 +450,7 @@ int code = http_method_unknown; size_t n = 0; -#define MATCH(s, m) (strncasecmp(s, m, n = sizeof(m) - 1) == 0) +#define MATCH(s, m) (su_casenmatch(s, m, n = sizeof(m) - 1)) if (c >= 'a' && c <= 'z') c += 'A' - 'a'; From mikej at freeswitch.org Wed Feb 11 08:46:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:46:51 -0600 Subject: [Freeswitch-svn] [commit] r11794 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta libsofia-sip-ua/nta/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:46:50 2009 New Revision: 11794 Log: Thu Jan 8 12:38:05 CST 2009 Pekka Pessi * nta: use functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:46:50 2009 @@ -1 +1 @@ -Wed Feb 11 10:46:12 CST 2009 +Wed Feb 11 10:46:42 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 10:46:50 2009 @@ -41,11 +41,14 @@ * @author Pekka Pessi * * @date Created: Tue Jun 13 02:57:51 2000 ppessi + * + * @sa + * @RFC3261, @RFC4320 */ #include "config.h" -#include +#include /** @internal SU message argument structure type */ #define SU_MSG_ARG_T union sm_arg_u @@ -315,7 +318,7 @@ outgoing_queue_t delayed[1]; outgoing_queue_t resolving[1]; - outgoing_queue_t trying[1]; /* Timer F/E */ + outgoing_queue_t trying[1]; /* Timer F / Timer E */ outgoing_queue_t completed[1]; /* Timer K */ outgoing_queue_t terminated[1]; @@ -1126,21 +1129,21 @@ sip_via_t const *v; for (v = agent->sa_public_vias; v; v = v->v_next) { - if (strcasecmp(via->v_host, v->v_host)) + if (!su_casematch(via->v_host, v->v_host)) continue; - if (str0cmp(via->v_port, v->v_port)) + if (!su_strmatch(via->v_port, v->v_port)) continue; - if (strcasecmp(via->v_protocol, v->v_protocol)) + if (!su_casematch(via->v_protocol, v->v_protocol)) continue; return (sip_via_t *)v; } for (v = agent->sa_vias; v; v = v->v_next) { - if (strcasecmp(via->v_host, v->v_host)) + if (!su_casematch(via->v_host, v->v_host)) continue; - if (str0cmp(via->v_port, v->v_port)) + if (!su_strmatch(via->v_port, v->v_port)) continue; - if (strcasecmp(via->v_protocol, v->v_protocol)) + if (!su_casematch(via->v_protocol, v->v_protocol)) continue; return (sip_via_t *)v; } @@ -1570,7 +1573,7 @@ if (algorithm != NONE) agent->sa_algorithm = su_strdup(home, algorithm); - if (str0cmp(sigcomp, agent->sa_sigcomp_options)) { + if (!su_strmatch(sigcomp, agent->sa_sigcomp_options)) { msg_param_t const *l = NULL; char *s = su_strdup(home, sigcomp); char *s1 = su_strdup(home, s), *s2 = s1; @@ -2181,7 +2184,7 @@ if (tpn->tpn_comp && (nta_compressor_vtable == NULL || - strcasecmp(tpn->tpn_comp, nta_compressor_vtable->ncv_name) != 0)) { + !su_casematch(tpn->tpn_comp, nta_compressor_vtable->ncv_name))) { SU_DEBUG_1(("nta(%p): comp=%s not supported for " URL_PRINT_FORMAT "\n", (void *)self, tpn->tpn_comp, URL_PRINT_ARGS(url))); } @@ -2308,11 +2311,11 @@ if (tport_has_ip6(tp)) self->sa_tport_ip6 = 1; #endif - if (strcasecmp(tpn->tpn_proto, "udp") == 0) + if (su_casematch(tpn->tpn_proto, "udp")) self->sa_tport_udp = 1; - else if (strcasecmp(tpn->tpn_proto, "tcp") == 0) + else if (su_casematch(tpn->tpn_proto, "tcp")) self->sa_tport_tcp = 1; - else if (strcasecmp(tpn->tpn_proto, "sctp") == 0) + else if (su_casematch(tpn->tpn_proto, "sctp")) self->sa_tport_sctp = 1; if (tport_has_tls(tp)) self->sa_tport_tls = 1; @@ -2330,7 +2333,7 @@ if (su) { su_inet_ntop(su->su_family, SU_ADDR(su), host, sizeof host); - maddr = use_maddr && strcasecmp(canon, host) != 0; + maddr = use_maddr && !su_casematch(canon, host); port = ntohs(su->su_port); } else { @@ -2340,9 +2343,9 @@ port = 0; } - if (strncasecmp(tpn->tpn_proto, "tls", 3) - ? port == SIP_DEFAULT_PORT - : port == SIPS_DEFAULT_PORT) + if (su_casenmatch(tpn->tpn_proto, "tls", 3) + ? port == SIPS_DEFAULT_PORT + : port == SIP_DEFAULT_PORT) port = 0; snprintf(sport, sizeof sport, ":%u", port); @@ -2471,15 +2474,15 @@ v2 = v1->v_next; if (v2 && - strcasecmp(v1->v_host, v2->v_host) == 0 && - str0casecmp(v1->v_port, v2->v_port) == 0) { + su_casematch(v1->v_host, v2->v_host) && + su_casematch(v1->v_port, v2->v_port)) { char const *p1 = v1->v_protocol, *p2 = v2->v_protocol; - if (strcasecmp(p1, sip_transport_udp)) + if (!su_casematch(p1, sip_transport_udp)) p1 = v2->v_protocol, p2 = v1->v_protocol; - if (strcasecmp(p1, sip_transport_udp) == 0 && - strcasecmp(p2, sip_transport_tcp) == 0) + if (su_casematch(p1, sip_transport_udp) && + su_casematch(p2, sip_transport_tcp)) /* Do not include transport if we have both UDP and TCP */ tp = NULL; } @@ -2541,26 +2544,23 @@ if (branch && branch != v->v_branch) { char const *bvalue = branch + strcspn(branch, "="); if (*bvalue) bvalue++; - if (!v->v_branch || strcasecmp(bvalue, v->v_branch)) + if (!v->v_branch || !su_casematch(bvalue, v->v_branch)) msg_header_replace_param(msg_home(msg), v->v_common, branch); } - if (via->v_protocol != v->v_protocol && - strcasecmp(via->v_protocol, v->v_protocol)) + if (!su_casematch(via->v_protocol, v->v_protocol)) clear = 1, v->v_protocol = via->v_protocol; /* XXX - should we do this? */ if ((!user_via || !v->v_host) && - via->v_host != v->v_host && - str0cmp(via->v_host, v->v_host)) + !su_strmatch(via->v_host, v->v_host)) clear = 1, v->v_host = via->v_host; if ((!user_via || !v->v_port || /* Replace port in user Via only if we use udp and no rport */ (v->v_protocol == sip_transport_udp && !v->v_rport && !orq->orq_stateless)) && - via->v_port != v->v_port && - str0cmp(via->v_port, v->v_port)) + !su_strmatch(via->v_port, v->v_port)) clear = 1, v->v_port = via->v_port; if (clear) @@ -2628,7 +2628,7 @@ SU_DEBUG_7(("nta: selecting scheme %s\n", url->url_scheme)); *scheme = url->url_scheme; - if (strcasecmp(url->url_scheme, "sips") == 0) + if (su_casematch(url->url_scheme, "sips")) tpn->tpn_proto = "tls"; else tpn->tpn_proto = "*"; @@ -2639,11 +2639,11 @@ for (b = (char *)url->url_params; b[0]; b += n) { n = strcspn(b, ";"); - if (n > 10 && strncasecmp(b, "transport=", 10) == 0) + if (n > 10 && su_casenmatch(b, "transport=", 10)) tpn->tpn_proto = b + 10; - else if (n > 5 && strncasecmp(b, "comp=", 5) == 0) + else if (n > 5 && su_casenmatch(b, "comp=", 5)) tpn->tpn_comp = b + 5; - else if (n > 6 && strncasecmp(b, "maddr=", 6) == 0) + else if (n > 6 && su_casenmatch(b, "maddr=", 6)) tpn->tpn_host = b + 6; if (b[n]) @@ -2845,7 +2845,7 @@ return; } - if (str0casecmp(sip->sip_request->rq_version, sip_version_2_0) != 0) { + if (!su_casematch(sip->sip_request->rq_version, sip_version_2_0)) { agent->sa_stats->as_bad_request++; agent->sa_stats->as_bad_message++; @@ -3008,7 +3008,7 @@ return v ? 0 : -1; } - if (str0casecmp(v->v_protocol, tpv->v_protocol)) { + if (!su_strmatch(v->v_protocol, tpv->v_protocol)) { tport_hostport(hostport, TPORT_HOSTPORTSIZE, from, 1); SU_DEBUG_1(("nta: Via check: invalid transport \"%s\" from %s\n", v->v_protocol, hostport)); @@ -3026,7 +3026,7 @@ if (!tport_hostport(hostport, TPORT_HOSTPORTSIZE, from, 0)) return -1; - if (strcasecmp(hostport, v->v_host)) { + if (!su_casematch(hostport, v->v_host)) { size_t rlen; /* Add the "received" field */ memcpy(received, "received=", receivedlen); @@ -3127,9 +3127,9 @@ url->url_port = lv->v_port; return 1; } - if (url->url_port && - strcmp(url->url_port, url_port_default(url->url_type)) == 0) - /* Remove default port */ + if (su_strmatch(url->url_port, url_port_default(url->url_type)) || + su_strmatch(url->url_port, "")) + /* Remove default or empty port */ url->url_port = NULL; return 0; @@ -3196,7 +3196,7 @@ return; } - if (str0casecmp(sip->sip_status->st_version, sip_version_2_0) != 0) { + if (!su_casematch(sip->sip_status->st_version, sip_version_2_0)) { agent->sa_stats->as_bad_response++; agent->sa_stats->as_bad_message++; @@ -3807,7 +3807,6 @@ su_home_t *home = msg_home(msg); sip_t *sip = sip_object(msg); sip_to_t const *to; - sip_cseq_t *cseq; uint32_t seq; url_t reg_url[1]; url_string_t const *original = request_uri; @@ -3865,7 +3864,7 @@ if (!rq || request_uri != (url_string_t *)rq->rq_url || method != rq->rq_method - || str0cmp(method_name, rq->rq_method_name)) + || !su_strmatch(method_name, rq->rq_method_name)) rq = NULL; if (rq == NULL) { @@ -3905,7 +3904,7 @@ sip->sip_from = sip_from_dup(home, leg->leg_local); else if (leg->leg_local && leg->leg_local->a_tag && (!sip->sip_from->a_tag || - strcasecmp(sip->sip_from->a_tag, leg->leg_local->a_tag))) + !su_casematch(sip->sip_from->a_tag, leg->leg_local->a_tag))) sip_from_tag(home, sip->sip_from, leg->leg_local->a_tag); if (sip->sip_from && !sip->sip_from->a_tag) { @@ -3952,14 +3951,14 @@ sip->sip_call_id = sip_call_id_create(home, NULL); } - if ((!sip->sip_cseq || - seq != sip->sip_cseq->cs_seq || - method != sip->sip_cseq->cs_method || - (method == sip_method_unknown && - strcmp(method_name, sip->sip_cseq->cs_method_name) != 0)) && - (!(cseq = sip_cseq_create(home, seq, method, method_name)) || - msg_header_insert(msg, (msg_pub_t *)sip, (msg_header_t *)cseq) < 0)) - return -1; + if (!sip->sip_cseq || + seq != sip->sip_cseq->cs_seq || + method != sip->sip_cseq->cs_method || + !su_strmatch(method_name, sip->sip_cseq->cs_method_name)) { + sip_cseq_t *cseq = sip_cseq_create(home, seq, method, method_name); + if (msg_header_insert(msg, (msg_pub_t *)sip, (msg_header_t *)cseq) < 0) + return -1; + } return 0; } @@ -4391,10 +4390,10 @@ /* If there already is a tag, return NULL if it does not match with new one */ if (leg->leg_local->a_tag) { - if (!tag && str0casecmp(tag, leg->leg_local->a_tag)) - return NULL; - else + if (su_casematch(tag, leg->leg_local->a_tag)) return leg->leg_local->a_tag; + else + return NULL; } if (tag) { @@ -4711,9 +4710,9 @@ return 0; else return - host_cmp(a->url_host, b->url_host) - || str0cmp(a->url_port, b->url_port) - || str0cmp(a->url_user, b->url_user); + host_cmp(a->url_host, b->url_host) || + su_strcmp(a->url_port, b->url_port) || + su_strcmp(a->url_user, b->url_user); } /** Get a leg by dialog. @@ -4836,14 +4835,14 @@ if (!remote_tag != !from_tag && !local_tag != !to_tag) continue; - if (local_tag && to_tag && strcasecmp(local_tag, to_tag) && to_tag[0]) + if (local_tag && to_tag && !su_casematch(local_tag, to_tag) && to_tag[0]) continue; - if (remote_tag && from_tag && strcasecmp(remote_tag, from_tag) && from_tag[0]) + if (remote_tag && from_tag && !su_casematch(remote_tag, from_tag) && from_tag[0]) continue; if (leg_url && request_uri && url_cmp(leg_url, request_uri)) continue; - if (leg_method && method_name && strcasecmp(method_name, leg_method)) + if (leg_method && method_name && !su_casematch(method_name, leg_method)) continue; /* Perfect match if both local and To have tag @@ -4916,7 +4915,7 @@ return leg; } else if (leg->leg_method) { - if (strcasecmp(method_name, leg->leg_method)) + if (!su_casematch(method_name, leg->leg_method)) continue; return leg; } @@ -5657,7 +5656,7 @@ if (tag && strchr(tag, '=')) tag = strchr(tag, '=') + 1; - if (tag && irq->irq_tag && strcasecmp(tag, irq->irq_tag)) + if (tag && irq->irq_tag && !su_casematch(tag, irq->irq_tag)) return NULL; if (!irq->irq_tag) { @@ -5845,7 +5844,7 @@ int is_uas_ack = return_ack && agent->sa_is_a_uas; - if (v->v_branch && strncasecmp(v->v_branch, "z9hG4bK", 7) == 0) + if (v->v_branch && su_casenmatch(v->v_branch, "z9hG4bK", 7)) magic_branch = v->v_branch + 7; else magic_branch = NULL; @@ -5859,13 +5858,13 @@ continue; if (irq->irq_cseq->cs_seq != cseq->cs_seq) continue; - if (str0casecmp(irq->irq_from->a_tag, from->a_tag)) + if (su_strcasecmp(irq->irq_from->a_tag, from->a_tag)) continue; if (is_uas_ack && irq->irq_method == sip_method_invite && 200 <= irq->irq_status && irq->irq_status < 300 && - str0casecmp(irq->irq_tag, to->a_tag) == 0) { + su_casematch(irq->irq_tag, to->a_tag)) { *return_ack = irq; return NULL; } @@ -5878,11 +5877,10 @@ * transaction, except for ACK, where the method of the request * that created the transaction is INVITE. */ - if (irq->irq_via->v_branch && - strcasecmp(irq->irq_via->v_branch + 7, magic_branch) == 0 && - strcasecmp(irq->irq_via->v_host, v->v_host) == 0 && - str0cmp(irq->irq_via->v_port, v->v_port) == 0) { + su_casematch(irq->irq_via->v_branch + 7, magic_branch) && + su_casematch(irq->irq_via->v_host, v->v_host) && + su_strmatch(irq->irq_via->v_port, v->v_port)) { if (irq->irq_method == cseq->cs_method && strcmp(irq->irq_cseq->cs_method_name, cseq->cs_method_name) == 0) @@ -5903,9 +5901,9 @@ /* From tag, Call-ID, and CSeq number has been matched above */ /* Match top Via header field */ - if (str0casecmp(irq->irq_via->v_branch, v->v_branch) != 0 || - strcasecmp(irq->irq_via->v_host, v->v_host) != 0 || - str0cmp(irq->irq_via->v_port, v->v_port) != 0) + if (!su_casematch(irq->irq_via->v_branch, v->v_branch) || + !su_casematch(irq->irq_via->v_host, v->v_host) || + !su_strmatch(irq->irq_via->v_port, v->v_port)) ; /* Match Request-URI */ else if (url_cmp(irq->irq_rq->rq_url, rq->rq_url)) @@ -5913,17 +5911,16 @@ else { /* Match CSeq */ if (irq->irq_method == cseq->cs_method && - strcmp(irq->irq_cseq->cs_method_name, - cseq->cs_method_name) == 0) { + su_strmatch(irq->irq_cseq->cs_method_name, cseq->cs_method_name)) { /* Match To tag */ - if (!str0casecmp(irq->irq_to->a_tag, to->a_tag)) + if (!su_strcasecmp(irq->irq_to->a_tag, to->a_tag)) return irq; /* found */ } else if ( /* Tag set by UAS */ - str0casecmp(irq->irq_tag, to->a_tag) && + su_strcasecmp(irq->irq_tag, to->a_tag) && /* Original tag */ - str0casecmp(irq->irq_to->a_tag, to->a_tag)) + su_strcasecmp(irq->irq_to->a_tag, to->a_tag)) ; else if (return_ack && irq->irq_method == sip_method_invite) return *return_ack = irq, NULL; @@ -7684,13 +7681,13 @@ if (comp == NULL) orq->orq_tpn->tpn_comp = comp; - if (orq->orq_user_via && str0cmp(orq->orq_tpn->tpn_proto, "*") == 0) { + if (orq->orq_user_via && su_strmatch(orq->orq_tpn->tpn_proto, "*")) { char const *proto = sip_via_transport(sip->sip_via); if (proto) orq->orq_tpn->tpn_proto = proto; } if (branch && branch != NONE) { - if (strncasecmp(branch, "branch=", 7) == 0) + if (su_casenmatch(branch, "branch=", 7)) branch = su_strdup(home, branch); else branch = su_sprintf(home, "branch=%s", branch); @@ -7708,7 +7705,7 @@ if (orq->orq_method == sip_method_ack) { /* Find the original INVITE which we are ACKing */ if (ack_branch != NULL && ack_branch != NONE) { - if (strncasecmp(ack_branch, "branch=", 7) == 0) + if (su_casenmatch(ack_branch, "branch=", 7)) orq->orq_branch = su_strdup(home, ack_branch); else orq->orq_branch = su_sprintf(home, "branch=%s", ack_branch); @@ -7803,7 +7800,7 @@ nta_agent_t *sa = orq->orq_agent; tport_t *tp; tp_name_t *tpn = orq->orq_tpn; - int sips = strcasecmp(orq->orq_scheme, "sips") == 0; + int sips = su_casematch(orq->orq_scheme, "sips"); /* Select transport by scheme */ if (sips && strcmp(tpn->tpn_proto, "*") == 0) @@ -7968,14 +7965,14 @@ /* No retries */; /* RFC3261, 18.1.1 */ else if (err == EMSGSIZE && !orq->orq_try_tcp_instead) { - if (strcasecmp(tpn->tpn_proto, "udp") == 0 || - strcasecmp(tpn->tpn_proto, "*") == 0) { + if (su_casematch(tpn->tpn_proto, "udp") || + su_casematch(tpn->tpn_proto, "*")) { outgoing_try_tcp_instead(orq); continue; } } else if (err == ECONNREFUSED && orq->orq_try_tcp_instead) { - if (strcasecmp(tpn->tpn_proto, "tcp") == 0 && msg_size(msg) <= 65535) { + if (su_casematch(tpn->tpn_proto, "tcp") && msg_size(msg) <= 65535) { outgoing_try_udp_instead(orq); continue; } @@ -8145,7 +8142,7 @@ } else if (error == ECONNREFUSED && orq->orq_try_tcp_instead) { /* RFC3261, 18.1.1 */ - if (strcasecmp(tpn->tpn_proto, "tcp") == 0 && msg_size(msg) <= 65535) { + if (su_casematch(tpn->tpn_proto, "tcp") && msg_size(msg) <= 65535) { outgoing_print_tport_error(orq, 5, "retrying with UDP after ", tpn, msg, error); outgoing_try_udp_instead(orq); @@ -8723,7 +8720,7 @@ { orq->orq_completed = 1; - outgoing_reset_timer(orq); /* Timer A/E */ + outgoing_reset_timer(orq); /* Timer A / Timer E */ if (orq->orq_stateless || orq->orq_reliable) return outgoing_terminate(orq); @@ -8890,10 +8887,10 @@ continue; if (orq->orq_method != method && orq->orq_method != method2) continue; - if (str0casecmp(orq->orq_from->a_tag, sip->sip_from->a_tag)) + if (su_strcasecmp(orq->orq_from->a_tag, sip->sip_from->a_tag)) continue; if (orq->orq_to->a_tag && - str0casecmp(orq->orq_to->a_tag, sip->sip_to->a_tag)) + su_strcasecmp(orq->orq_to->a_tag, sip->sip_to->a_tag)) continue; if (orq->orq_method == sip_method_ack) { @@ -8901,7 +8898,7 @@ continue; } - if (v && str0casecmp(orq->orq_branch + strlen("branch="), v->v_branch)) + if (v && !su_casematch(orq->orq_branch + strlen("branch="), v->v_branch)) continue; break; /* match */ @@ -9012,7 +9009,7 @@ return outgoing_duplicate(orq, msg, sip); if (sa->sa_is_a_uas) { - if (str0cmp(sip->sip_to->a_tag, orq->orq_tag) == 0) + if (su_strcasecmp(sip->sip_to->a_tag, orq->orq_tag) == 0) /* Catch retransmission */ return outgoing_duplicate(orq, msg, sip); } @@ -9333,7 +9330,7 @@ if (orq->orq_destroyed) { if (orq->orq_status < 200) orq->orq_status = status; - outgoing_complete(orq); /* Timer D/K */ + outgoing_complete(orq); /* Timer D / Timer K */ return 0; } @@ -9589,13 +9586,13 @@ tport; tport = tport_next(tport)) { tp_name_t const *tpn = tport_name(tport); - if (strcmp(tpname, "*") && strcasecmp(tpn->tpn_proto, tpname)) + if (strcmp(tpname, "*") && !su_casematch(tpn->tpn_proto, tpname)) continue; if (ident && (tpn->tpn_ident == NULL || strcmp(ident, tpn->tpn_ident))) continue; for (j = 0; j < SIPDNS_TRANSPORTS; j++) - if (strcasecmp(tpn->tpn_proto, sipdns_tports[j].name) == 0) + if (su_casematch(tpn->tpn_proto, sipdns_tports[j].name)) break; assert(j < SIPDNS_TRANSPORTS); @@ -10021,8 +10018,8 @@ break; /* Check if NAPTR matches our target */ - if (strncasecmp(na->na_services, "SIP+", 4) && - strncasecmp(na->na_services, "SIPS+", 5)) + if (!su_casenmatch(na->na_services, "SIP+", 4) && + !su_casenmatch(na->na_services, "SIPS+", 5)) /* Not a SIP/SIPS service */ continue; @@ -10036,7 +10033,7 @@ * but comparing the values in the transport list * match with those values that make any sense */ - if (strcasecmp(na->na_services, sr->sr_tports[j]->service) != 0) + if (!su_casematch(na->na_services, sr->sr_tports[j]->service)) continue; tpn->tpn_proto = sr->sr_tports[j]->name; @@ -10721,8 +10718,8 @@ irq->irq_method == sip_method_invite && strcmp(irq->irq_call_id->i_id, i->i_id) == 0 && (irq->irq_to->a_tag == NULL || - str0casecmp(irq->irq_to->a_tag, sip->sip_to->a_tag) == 0) && - str0casecmp(irq->irq_from->a_tag, sip->sip_from->a_tag) == 0) { + su_casematch(irq->irq_to->a_tag, sip->sip_to->a_tag)) && + su_casematch(irq->irq_from->a_tag, sip->sip_from->a_tag)) { nta_reliable_t const *rel; @@ -11146,8 +11143,8 @@ __func__, resp->sip_status->st_status)); return NULL; } - if (str0casecmp(resp->sip_to->a_tag, leg->leg_remote->a_tag) || - str0casecmp(resp->sip_to->a_tag, oorq->orq_to->a_tag)) { + if (su_strcasecmp(resp->sip_to->a_tag, leg->leg_remote->a_tag) || + su_strcasecmp(resp->sip_to->a_tag, oorq->orq_to->a_tag)) { SU_DEBUG_1(("%s: %u response To tag does not agree with dialog tag\n", __func__, resp->sip_status->st_status)); return NULL; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c Wed Feb 11 10:46:50 2009 @@ -219,14 +219,14 @@ if (sip->sip_payload == NULL) return 0; - if (cd == NULL || strcasecmp(cd->cd_type, "session") == 0) { + if (cd == NULL || su_casematch(cd->cd_type, "session")) { sip_accept_t const *ab = session_accepts; char const *c_type; if (c) c_type = c->c_type; else if (sip->sip_payload->pl_len > 3 && - strncasecmp(sip->sip_payload->pl_data, "v=0", 3) == 0) + su_casenmatch(sip->sip_payload->pl_data, "v=0", 3)) /* Missing Content-Type, but it looks like SDP */ c_type = application_sdp; else @@ -234,7 +234,7 @@ ab = NULL, c_type = NULL; for (; ab; ab = ab->ac_next) { - if (strcasecmp(c_type, ab->ac_type) == 0) + if (su_casematch(c_type, ab->ac_type)) break; } @@ -311,7 +311,7 @@ method == sip_method_prack || method == sip_method_update)) { for (ab = acceptable; ab; ab = ab->ac_next) - if (strcasecmp(application_sdp, ab->ac_type) == 0) { + if (su_casematch(application_sdp, ab->ac_type)) { if (return_acceptable) *return_acceptable = ab; return 0; } @@ -322,7 +322,7 @@ continue; for (ab = acceptable; ab; ab = ab->ac_next) - if (strcasecmp(ac->ac_type, ab->ac_type) == 0) { + if (su_casematch(ac->ac_type, ab->ac_type)) { if (return_acceptable) *return_acceptable = ab; return 0; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c Wed Feb 11 10:46:50 2009 @@ -237,8 +237,8 @@ log = su_log_default; while (s < end && *s != '\0') { - size_t n = strncspn(s, end - s, "\r\n"); - size_t crlf = strnspn(s + n, end - s - n, "\r\n"); + size_t n = su_strncspn(s, end - s, "\r\n"); + size_t crlf = su_strnspn(s + n, end - s - n, "\r\n"); if (n < 70) { memcpy(line, s, n); line[n] = '\0'; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c Wed Feb 11 10:46:50 2009 @@ -214,8 +214,8 @@ size_t n, total = 0, crlf = 1, actual; while (s < end && *s != '\0') { - n = strncspn(s, end - s, "\r\n"); - crlf = strnspn(s + n, end - s - n, "\r\n"); + n = su_strncspn(s, end - s, "\r\n"); + crlf = su_strnspn(s + n, end - s - n, "\r\n"); if (prefix) fputs(prefix, stream), total += strlen(prefix); actual = fwrite(s, 1, n + crlf, stream) ; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h Wed Feb 11 10:46:50 2009 @@ -38,7 +38,7 @@ #include #ifndef STRING0_H -#include +#include #endif #ifndef SIP_H Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c Wed Feb 11 10:46:50 2009 @@ -62,7 +62,7 @@ #include #include -#include +#include #include #include @@ -564,7 +564,7 @@ TEST_1(ag->ag_mclass); #if SU_HAVE_IN6 - if (str0cmp(getenv("ipv6"), "true") == 0) { + if (su_strmatch(getenv("ipv6"), "true")) { contact = "sip:[::]:*;comp=sigcomp"; af = AF_INET6, sulen0 = sizeof (struct sockaddr_in6); } @@ -1075,22 +1075,22 @@ TEST_1(v = nta_agent_via(ag->ag_agent)); for (; v; v = v->v_next) { - if (strcasecmp(v->v_protocol, sip_transport_udp) == 0) { + if (su_casematch(v->v_protocol, sip_transport_udp)) { if (udp) v_udp_only = v; udp = 1; if (udp_comp == NULL) udp_comp = v->v_comp; } - else if (strcasecmp(v->v_protocol, sip_transport_tcp) == 0) { + else if (su_casematch(v->v_protocol, sip_transport_tcp)) { tcp = 1; if (tcp_comp == NULL) tcp_comp = v->v_comp; } - else if (strcasecmp(v->v_protocol, sip_transport_sctp) == 0) { + else if (su_casematch(v->v_protocol, sip_transport_sctp)) { sctp = 1; } - else if (strcasecmp(v->v_protocol, sip_transport_tls) == 0) { + else if (su_casematch(v->v_protocol, sip_transport_tls)) { tls = 1; } } @@ -1454,7 +1454,7 @@ TEST_P(ag->ag_latest_leg, ag->ag_default_leg); TEST_1(ag->ag_in_via); - TEST_1(strcasecmp(ag->ag_in_via->v_protocol, "SIP/2.0/UDP") == 0); + TEST_1(su_casematch(ag->ag_in_via->v_protocol, "SIP/2.0/UDP")); su_free(ag->ag_home, ag->ag_in_via), ag->ag_in_via = NULL; } @@ -1787,13 +1787,13 @@ TEST_1(v = nta_agent_via(ag->ag_agent)); for (; v; v = v->v_next) { - if (strcasecmp(v->v_protocol, sip_transport_udp) == 0) + if (su_casematch(v->v_protocol, sip_transport_udp)) udp = 1; - else if (strcasecmp(v->v_protocol, sip_transport_tcp) == 0) + else if (su_casematch(v->v_protocol, sip_transport_tcp)) tcp = 1; - else if (strcasecmp(v->v_protocol, sip_transport_sctp) == 0) + else if (su_casematch(v->v_protocol, sip_transport_sctp)) sctp = 1; - else if (strcasecmp(v->v_protocol, sip_transport_tls) == 0) + else if (su_casematch(v->v_protocol, sip_transport_tls)) tls = 1; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c Wed Feb 11 10:46:50 2009 @@ -59,6 +59,7 @@ #include #include #include +#include #include #include @@ -67,7 +68,6 @@ #include #include #include -#include "sofia-sip/string0.h" extern su_log_t nta_log[]; extern su_log_t tport_log[]; @@ -763,14 +763,14 @@ TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TAG_END()) == 0); TEST_1(v = nta_agent_via(agent)); TEST_1(!v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_tcp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_tcp), 0); TEST_1(m = nta_agent_contact(agent)); TEST_S(m->m_url->url_params, "transport=tcp"); TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TPTAG_SERVER(0), TAG_END()) == 0); TEST_1(v = nta_agent_public_via(agent)); TEST_1(!v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_tcp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_tcp), 0); TEST_1(host_has_domain_invalid(v->v_host)); TEST_1(m = nta_agent_contact(agent)); TEST_S(m->m_url->url_params, "transport=tcp"); @@ -778,14 +778,14 @@ url->url_params = "transport=udp"; TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TAG_END()) == 0); TEST_1(v = nta_agent_via(agent)); TEST_1(v = v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_udp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_udp), 0); TEST_VOID(nta_agent_destroy(agent)); TEST_1(agent = nta_agent_create(ag->ag_root, NONE, NULL, NULL, TAG_END())); TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TAG_END()) == 0); TEST_1(v = nta_agent_via(agent)); TEST_1(!v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_udp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_udp), 0); TEST_1(m = nta_agent_contact(agent)); TEST_S(m->m_url->url_params, "transport=udp"); TEST_VOID(nta_agent_destroy(agent)); @@ -795,9 +795,9 @@ TEST_1(agent = nta_agent_create(ag->ag_root, NONE, NULL, NULL, TAG_END())); TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TAG_END()) == 0); TEST_1(v = nta_agent_via(agent)); - TEST(strcasecmp(v->v_protocol, sip_transport_tcp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_tcp), 0); TEST_1(v = v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_udp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_udp), 0); TEST_1(m = nta_agent_contact(agent)); TEST_1(!m->m_url->url_params); TEST_VOID(nta_agent_destroy(agent)); @@ -807,9 +807,9 @@ TEST_1(agent = nta_agent_create(ag->ag_root, NONE, NULL, NULL, TAG_END())); TEST_1(nta_agent_add_tport(agent, (url_string_t *)url, TAG_END()) == 0); TEST_1(v = nta_agent_via(agent)); - TEST(strcasecmp(v->v_protocol, sip_transport_udp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_udp), 0); TEST_1(v = v->v_next); - TEST(strcasecmp(v->v_protocol, sip_transport_tcp), 0); + TEST(!su_casematch(v->v_protocol, sip_transport_tcp), 0); TEST_1(m = nta_agent_contact(agent)); TEST_1(!m->m_url->url_params); TEST_VOID(nta_agent_destroy(agent)); @@ -866,7 +866,7 @@ /* Test that NULL host and/or port fields of user supplied Via header are - filled in automaticaly */ + filled in automatically */ int api_test_user_via_fillin(agent_t *ag) { su_home_t home[1]; @@ -879,7 +879,7 @@ sip_via_t *via0, *via1; sip_via_t via[1]; static char *via_params[] = { "param1=value1", "param2=value2" }; - int i; + size_t i; BEGIN(); @@ -912,30 +912,30 @@ /* create user Via template to be filled in by NTA */ sip_via_init(via); via->v_protocol = "*"; - for (i = 0; i < sizeof(via_params)/sizeof(via_params[0]); i++) - sip_via_add_param(home,via,via_params[i]); /* add param to the template */ + for (i = 0; i < sizeof(via_params) / sizeof(via_params[0]); i++) + sip_via_add_param(home, via, via_params[i]); /* add param to the template */ /* This creates a delayed response message */ orq1 = nta_outgoing_tcreate(leg, outgoing_callback, ag, NULL, - SIP_METHOD_MESSAGE, - URL_STRING_MAKE("sip:foo.bar;transport=none"), - SIPTAG_FROM_STR(""), - SIPTAG_TO_STR(""), - NTATAG_USER_VIA(1), - SIPTAG_VIA(via), - TAG_END()); + SIP_METHOD_MESSAGE, + URL_STRING_MAKE("sip:foo.bar;transport=none"), + SIPTAG_FROM_STR(""), + SIPTAG_TO_STR(""), + NTATAG_USER_VIA(1), + SIPTAG_VIA(via), + TAG_END()); TEST_1(orq1); TEST_1(msg1 = nta_outgoing_getrequest(orq1)); TEST_1(sip1 = sip_object(msg1)); TEST_1(via1 = sip1->sip_via); /* check that template has been filled correctly */ - TEST_S(via0->v_protocol,via1->v_protocol); - TEST_S(via0->v_host,via1->v_host); - TEST_S(via0->v_port,via1->v_port); + TEST_S(via0->v_protocol, via1->v_protocol); + TEST_S(via0->v_host, via1->v_host); + TEST_S(via0->v_port, via1->v_port); /* check that the parameter has been preserved */ for (i = 0; i < sizeof(via_params)/sizeof(via_params[0]); i++) - TEST_S(via1->v_params[i],via_params[i]); + TEST_S(via1->v_params[i], via_params[i]); TEST_VOID(nta_outgoing_destroy(orq0)); TEST_VOID(nta_outgoing_destroy(orq1)); From mikej at freeswitch.org Wed Feb 11 08:47:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:47:14 -0600 Subject: [Freeswitch-svn] [commit] r11795 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/sdp Message-ID: Author: mikej Date: Wed Feb 11 10:47:14 2009 New Revision: 11795 Log: Thu Jan 8 13:00:38 CST 2009 Pekka Pessi * sdp: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:47:14 2009 @@ -1 +1 @@ -Wed Feb 11 10:46:42 CST 2009 +Wed Feb 11 10:47:06 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c Wed Feb 11 10:47:14 2009 @@ -41,6 +41,7 @@ #include #include +#include #include "sofia-sip/sdp.h" @@ -1156,24 +1157,6 @@ /* ---------------------------------------------------------------------- */ -/* Compare two string pointers */ -su_inline -int str0cmp(char const *a, char const *b) -{ - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strcmp(a, b); -} - -/* Compare two string pointers ignoring case. */ -su_inline -int str0casecmp(char const *a, char const *b) -{ - if (a == NULL) a = ""; - if (b == NULL) b = ""; - return strcasecmp(a, b); -} - /** Compare two session descriptions */ int sdp_session_cmp(sdp_session_t const *a, sdp_session_t const *b) @@ -1191,11 +1174,11 @@ return rv; if ((rv = sdp_origin_cmp(a->sdp_origin, b->sdp_origin))) return rv; - if ((rv = str0cmp(a->sdp_subject, b->sdp_subject))) + if ((rv = su_strcmp(a->sdp_subject, b->sdp_subject))) return rv; - if ((rv = str0cmp(a->sdp_information, b->sdp_information))) + if ((rv = su_strcmp(a->sdp_information, b->sdp_information))) return rv; - if ((rv = str0cmp(a->sdp_uri, b->sdp_uri))) + if ((rv = su_strcmp(a->sdp_uri, b->sdp_uri))) return rv; if ((rv = sdp_list_cmp(a->sdp_emails, b->sdp_emails))) return rv; @@ -1244,9 +1227,9 @@ return a->o_version < b->o_version ? -1 : 1; if (a->o_id != b->o_id) return a->o_id < b->o_id ? -1 : 1; - if ((rv = strcasecmp(a->o_username, b->o_username))) + if ((rv = su_strcasecmp(a->o_username, b->o_username))) return rv; - if ((rv = strcasecmp(a->o_address->c_address, b->o_address->c_address))) + if ((rv = su_strcasecmp(a->o_address->c_address, b->o_address->c_address))) return rv; return 0; @@ -1380,9 +1363,9 @@ if (a->k_method != b->k_method) return a->k_method < b->k_method ? -1 : 1; if (a->k_method == sdp_key_x && - (rv = str0cmp(a->k_method_name, b->k_method_name))) + (rv = su_strcmp(a->k_method_name, b->k_method_name))) return rv; - return str0cmp(a->k_material, b->k_material); + return su_strcmp(a->k_material, b->k_material); } /** Compare two attribute (a=) fields */ @@ -1395,9 +1378,9 @@ if ((a != NULL) != (b != NULL)) return (a != NULL) < (b != NULL) ? -1 : 1; - if ((rv = str0cmp(a->a_name, b->a_name))) + if ((rv = su_strcmp(a->a_name, b->a_name))) return rv; - return str0cmp(a->a_value, b->a_value); + return su_strcmp(a->a_value, b->a_value); } /** Compare two rtpmap structures. */ @@ -1414,7 +1397,7 @@ return a->rm_pt < b->rm_pt ? -1 : 1; /* Case insensitive encoding */ - if ((rv = str0cmp(a->rm_encoding, b->rm_encoding))) + if ((rv = su_strcmp(a->rm_encoding, b->rm_encoding))) return rv; /* Rate */ if (a->rm_rate != b->rm_rate) @@ -1428,13 +1411,13 @@ if (b->rm_params) b_param = b->rm_params; - rv = strcasecmp(a_param, b_param); + rv = su_strcasecmp(a_param, b_param); if (rv) return rv; } - return str0casecmp(a->rm_fmtp, b->rm_fmtp); + return su_strcasecmp(a->rm_fmtp, b->rm_fmtp); } /** Compare two lists. */ @@ -1447,7 +1430,7 @@ return 0; if ((a != NULL) != (b != NULL)) return (a != NULL) < (b != NULL) ? -1 : 1; - if ((rv = str0cmp(a->l_text, b->l_text))) + if ((rv = su_strcmp(a->l_text, b->l_text))) return rv; } @@ -1472,7 +1455,7 @@ if (a->m_type != b->m_type) return a->m_type < b->m_type ? -1 : 1; if (a->m_type == sdp_media_x) - if ((rv = str0cmp(a->m_type_name, b->m_type_name))) + if ((rv = su_strcmp(a->m_type_name, b->m_type_name))) return rv; if (a->m_port != b->m_port) return a->m_port < b->m_port ? -1 : 1; @@ -1487,7 +1470,7 @@ if (a->m_proto != b->m_proto) return a->m_proto < b->m_proto ? -1 : 1; if (a->m_proto == sdp_media_x) - if ((rv = str0cmp(a->m_proto_name, b->m_proto_name))) + if ((rv = su_strcmp(a->m_proto_name, b->m_proto_name))) return rv; if (a->m_mode != b->m_mode) @@ -1502,7 +1485,7 @@ if ((rv = sdp_list_cmp(a->m_format, b->m_format))) return rv; - if ((rv = str0cmp(a->m_information, b->m_information))) + if ((rv = su_strcmp(a->m_information, b->m_information))) return rv; for (ac = a->m_connections, bc = b->m_connections; @@ -1548,7 +1531,7 @@ sdp_attribute_t *sdp_attribute_find(sdp_attribute_t const *a, char const *name) { for (; a; a = a->a_next) { - if (strcasecmp(a->a_name, name) == 0) + if (su_casematch(a->a_name, name)) break; } @@ -1561,13 +1544,13 @@ char const *name) { for (; a; a = a->a_next) { - if (strcasecmp(a->a_name, name) == 0) + if (su_casematch(a->a_name, name)) break; } if (a == 0) for (a = a2; a; a = a->a_next) { - if (strcasecmp(a->a_name, name) == 0) + if (su_casematch(a->a_name, name)) break; } @@ -1578,13 +1561,13 @@ sdp_mode_t sdp_attribute_mode(sdp_attribute_t const *a, sdp_mode_t defmode) { for (; a; a = a->a_next) { - if (strcasecmp(a->a_name, "sendrecv") == 0) + if (su_casematch(a->a_name, "sendrecv")) return sdp_sendrecv; - if (strcasecmp(a->a_name, "inactive") == 0) + if (su_casematch(a->a_name, "inactive")) return sdp_inactive; - if (strcasecmp(a->a_name, "recvonly") == 0) + if (su_casematch(a->a_name, "recvonly")) return sdp_recvonly; - if (strcasecmp(a->a_name, "sendonly") == 0) + if (su_casematch(a->a_name, "sendonly")) return sdp_sendonly; } @@ -1707,7 +1690,7 @@ assert(a->a_name != NULL); assert(a->a_next == NULL); for (; *list; list = &(*list)->a_next) { - if (strcasecmp((*list)->a_name, a->a_name) == 0) + if (su_casematch((*list)->a_name, a->a_name)) break; } @@ -1740,7 +1723,7 @@ return NULL; for (a = *list; a; list = &a->a_next, a = *list) { - if (strcasecmp(name, a->a_name) == 0) + if (su_casematch(name, a->a_name)) break; } @@ -1769,7 +1752,7 @@ type_name = ""; if (type != m->m_type || - (type == sdp_media_x && strcasecmp(m->m_type_name, type_name))) + (type == sdp_media_x && !su_casematch(m->m_type_name, type_name))) return 0; if (proto == sdp_proto_any || m->m_proto == sdp_proto_any) @@ -1779,7 +1762,7 @@ proto_name = ""; if (proto != m->m_proto || - (proto == sdp_proto_x && strcasecmp(m->m_proto_name, proto_name))) + (proto == sdp_proto_x && !su_casematch(m->m_proto_name, proto_name))) return 0; return 1; @@ -1796,16 +1779,16 @@ return 1; if (a->m_type != b->m_type || - (a->m_type == sdp_media_x && - strcasecmp(b->m_type_name, a->m_type_name))) + (a->m_type == sdp_media_x + && !su_casematch(b->m_type_name, a->m_type_name))) return 0; if (a->m_proto == sdp_proto_any || b->m_proto == sdp_proto_any) return 1; if (a->m_proto != b->m_proto || - (a->m_proto == sdp_proto_x && - strcasecmp(b->m_proto_name, a->m_proto_name))) + (a->m_proto == sdp_proto_x + && !su_casematch(b->m_proto_name, a->m_proto_name))) return 0; return 1; @@ -1850,7 +1833,7 @@ (m->m_proto == sdp_proto_rtp || m->m_proto == sdp_proto_srtp || (m->m_proto == sdp_proto_x && m->m_proto_name && - strncasecmp(m->m_proto_name, "RTP/", 4) == 0)); + su_casenmatch(m->m_proto_name, "RTP/", 4))); } /** Check if payload type, rtp rate and parameters match in rtpmaps*/ @@ -1867,7 +1850,7 @@ if (a->rm_rate != b->rm_rate) return 0; - if (strcasecmp(a->rm_encoding, b->rm_encoding)) + if (!su_casematch(a->rm_encoding, b->rm_encoding)) return 0; aparam = a->rm_params; bparam = b->rm_params; @@ -1877,7 +1860,7 @@ if (!aparam) aparam = "1"; if (!bparam) bparam = "1"; - if (strcasecmp(aparam, bparam)) + if (!su_casematch(aparam, bparam)) return 0; return 1; @@ -1900,7 +1883,7 @@ if (rm->rm_rate != list->rm_rate) continue; - if (strcasecmp(rm->rm_encoding, list->rm_encoding) != 0) + if (!su_casematch(rm->rm_encoding, list->rm_encoding)) continue; lparam = rm->rm_params; rparam = list->rm_params; @@ -1909,7 +1892,7 @@ break; if (!lparam) lparam = "1"; if (!rparam) rparam = "1"; - if (strcasecmp(lparam, rparam)) + if (!su_casematch(lparam, rparam)) continue; break; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c Wed Feb 11 10:47:14 2009 @@ -30,11 +30,14 @@ * @author Kai Vehmanen * * @date Created: Fri Feb 18 10:25:08 2000 ppessi + * + * @sa @RFC4566, @RFC2327. */ #include "config.h" #include +#include #include "sofia-sip/sdp.h" @@ -50,12 +53,13 @@ * * SDP parser handle. * - * The SDP parser handle is returned by sdp_parse(). It contains either - * successfully parse SDP session #sdp_session_t or an error message. + * The SDP parser handle returned by sdp_parse() contains either + * a successfully parsed SDP session #sdp_session_t or an error message. * If sdp_session() returns non-NULL, parsing was successful. * * @sa #sdp_session_t, sdp_parse(), sdp_session(), sdp_parsing_error(), - * sdp_sanity_check(), sdp_parser_home(), sdp_parser_free(). + * sdp_sanity_check(), sdp_parser_home(), sdp_parser_free(), @RFC4566, + * @RFC2327. */ struct sdp_parser_s { @@ -129,6 +133,9 @@ * Always a valid parser handle. * * @todo Parser accepts some non-conforming SDP even with #sdp_f_strict. + * + * @sa sdp_session(), sdp_parsing_error(), sdp_sanity_check(), + * sdp_parser_home(), sdp_parser_free(), @RFC4566, @RFC2327. */ sdp_parser_t * sdp_parse(su_home_t *home, char const msg[], issize_t msgsize, int flags) @@ -366,7 +373,7 @@ /* Require that version comes first */ record = next(&message, CRLF, strip); - if (!record || strcmp(record, "v=0")) { + if (!su_strmatch(record, "v=0")) { if (!p->pr_config || !record || record[1] != '=') { parsing_error(p, "bad SDP message"); return; @@ -479,14 +486,14 @@ return c && c->c_nettype == sdp_net_in && - ((c->c_addrtype == sdp_addr_ip4 && strcmp(c->c_address, "0.0.0.0")) || - (c->c_addrtype == sdp_addr_ip6 && strcmp(c->c_address, "::"))); + ((c->c_addrtype == sdp_addr_ip4 && su_strmatch(c->c_address, "0.0.0.0")) || + (c->c_addrtype == sdp_addr_ip6 && su_strmatch(c->c_address, "::"))); } /**Postprocess session description. * - * The function post_session() postprocesses the session description. The - * postprocessing includes setting the session backpointer for each media. + * Postprocessing includes setting the session backpointer for each media, + * doing sanity checks and setting rejected and mode flags. */ static void post_session(sdp_parser_t *p, sdp_session_t *sdp) { @@ -517,12 +524,9 @@ c = sdp_media_connections(m); - if (p->pr_mode_0000 && c) { - if (c->c_nettype == sdp_net_in && - c->c_addrtype == sdp_addr_ip4 && - strcmp(c->c_address, "0.0.0.0") == 0) - /* Reset recvonly flag */ - m->m_mode &= ~sdp_recvonly; + if (p->pr_mode_0000 && sdp_connection_is_inaddr_any(c)) { + /* Reset recvonly flag */ + m->m_mode &= ~sdp_recvonly; } } @@ -815,7 +819,7 @@ *result = c; - if (strncasecmp(r, "IN", 2) == 0) { + if (su_casenmatch(r, "IN", 2)) { char *s; /* nettype is internet */ @@ -824,9 +828,9 @@ /* addrtype */ s = token(&r, SPACE TAB, NULL, NULL); - if (s && strcasecmp(s, "IP4") == 0) + if (su_casematch(s, "IP4")) c->c_addrtype = sdp_addr_ip4; - else if (s && strcasecmp(s, "IP6") == 0) + else if (su_casematch(s, "IP6")) c->c_addrtype = sdp_addr_ip6; else { parsing_error(p, "unknown IN address type: %s", s); @@ -907,9 +911,9 @@ return; } - if (strcmp(name, "CT") == 0) + if (su_casematch(name, "CT")) modifier = sdp_bw_ct, name = NULL; - else if (strcmp(name, "AS") == 0) + else if (su_casematch(name, "AS") == 0) modifier = sdp_bw_as, name = NULL; else modifier = sdp_bw_x; @@ -993,16 +997,17 @@ int n, N; char *s; sdp_repeat_t *r; + int strict = STRICT(p); /** Count number of intervals */ for (N = 0, s = d; *s; ) { - if (!(is_posdigit(*s) || (!STRICT(p) && (*s) == '0'))) + if (!(is_posdigit(*s) || (!strict && (*s) == '0'))) break; do { s++; } while (is_digit(*s)); - if (*s && strchr("dhms", *s)) + if (*s && strchr(strict ? "dhms" : "dhmsDHMS", *s)) s++; N++; - if (!(i = STRICT(p) ? is_space(*s) : strspn(s, SPACE TAB))) + if (!(i = strict ? is_space(*s) : strspn(s, SPACE TAB))) break; s += i; } @@ -1024,10 +1029,10 @@ tt = strtoul(d, &d, 10); switch (*d) { - case 'd': tt *= 24; - case 'h': tt *= 60; - case 'm': tt *= 60; - case 's': d++; + case 'd': case 'D': tt *= 24; + case 'h': case 'H': tt *= 60; + case 'm': case 'M': tt *= 60; + case 's': case 'S': d++; break; } @@ -1152,7 +1157,7 @@ /* These are defined as key-sensitive in RFC 4566 */ #define MATCH(s, tok) \ - (STRICT(p) ? strcmp((s), (tok)) == 0 : strcasecmp((s), (tok)) == 0) + (STRICT(p) ? su_strmatch((s), (tok)) : su_casematch((s), (tok))) if (MATCH(s, "clear")) k->k_method = sdp_key_clear, k->k_method_name = "clear"; @@ -1208,20 +1213,20 @@ else PARSE_CHECK_REST(p, r, "a"); - if (strcasecmp(name, "charset") == 0) { + if (su_casematch(name, "charset")) { p->pr_session->sdp_charset = value; return; } if (p->pr_mode_manual) ; - else if (strcasecmp(name, "inactive") == 0) + else if (su_casematch(name, "inactive")) p->pr_session_mode = sdp_inactive; - else if (strcasecmp(name, "sendonly") == 0) + else if (su_casematch(name, "sendonly")) p->pr_session_mode = sdp_sendonly; - else if (strcasecmp(name, "recvonly") == 0) + else if (su_casematch(name, "recvonly")) p->pr_session_mode = sdp_recvonly; - else if (strcasecmp(name, "sendrecv") == 0) + else if (su_casematch(name, "sendrecv")) p->pr_session_mode = sdp_sendrecv; { @@ -1317,7 +1322,7 @@ return; } - if (!STRICT(p) && strcasecmp(s, "RTP") == 0) + if (!STRICT(p) && su_casematch(s, "RTP")) m->m_proto = sdp_proto_rtp, m->m_proto_name = "RTP/AVP"; else sdp_media_transport(m, s); @@ -1344,44 +1349,51 @@ /** Set media type */ void sdp_media_type(sdp_media_t *m, char const *s) { - if (strcmp(s, "*") == 0) + if (su_strmatch(s, "*")) m->m_type = sdp_media_any, m->m_type_name = "*"; - else if (strcasecmp(s, "audio") == 0) + else if (su_casematch(s, "audio")) m->m_type = sdp_media_audio, m->m_type_name = "audio"; - else if (strcasecmp(s, "video") == 0) + else if (su_casematch(s, "video")) m->m_type = sdp_media_video, m->m_type_name = "video"; - else if (strcasecmp(s, "application") == 0) + else if (su_casematch(s, "application")) m->m_type = sdp_media_application, m->m_type_name = "application"; - else if (strcasecmp(s, "data") == 0) + else if (su_casematch(s, "data")) m->m_type = sdp_media_data, m->m_type_name = "data"; - else if (strcasecmp(s, "control") == 0) + else if (su_casematch(s, "control")) m->m_type = sdp_media_control, m->m_type_name = "control"; - else if (strcasecmp(s, "message") == 0) + else if (su_casematch(s, "message")) m->m_type = sdp_media_message, m->m_type_name = "message"; - else if (strcasecmp(s, "image") == 0) + else if (su_casematch(s, "image")) m->m_type = sdp_media_image, m->m_type_name = "image"; - else if (strcasecmp(s, "red") == 0) + else if (su_casematch(s, "red")) m->m_type = sdp_media_red, m->m_type_name = "red"; else m->m_type = sdp_media_x, m->m_type_name = s; } +/** Set transport protocol. + * + * Set the @m->m_proto to a well-known protocol type as + * well as canonize case of @a m_proto_name. + */ void sdp_media_transport(sdp_media_t *m, char const *s) { - if (strcasecmp(s, "*") == 0) + if (m == NULL || s == NULL) + ; + else if (su_strmatch(s, "*")) m->m_proto = sdp_proto_any, m->m_proto_name = "*"; - else if (strcasecmp(s, "RTP/AVP") == 0) + else if (su_casematch(s, "RTP/AVP")) m->m_proto = sdp_proto_rtp, m->m_proto_name = "RTP/AVP"; - else if (strcasecmp(s, "RTP/SAVP") == 0) + else if (su_casematch(s, "RTP/SAVP")) m->m_proto = sdp_proto_srtp, m->m_proto_name = "RTP/SAVP"; - else if (strcasecmp(s, "udptl") == 0) + else if (su_casematch(s, "udptl")) /* Lower case - be compatible with people living by T.38 examples */ m->m_proto = sdp_proto_udptl, m->m_proto_name = "udptl"; - else if (strcasecmp(s, "UDP") == 0) + else if (su_casematch(s, "UDP")) m->m_proto = sdp_proto_udp, m->m_proto_name = "UDP"; - else if (strcasecmp(s, "TCP") == 0) + else if (su_casematch(s, "TCP")) m->m_proto = sdp_proto_tcp, m->m_proto_name = "TCP"; - else if (strcasecmp(s, "TLS") == 0) + else if (su_casematch(s, "TLS")) m->m_proto = sdp_proto_tls, m->m_proto_name = "TLS"; else m->m_proto = sdp_proto_x, m->m_proto_name = s; @@ -1566,28 +1578,28 @@ if (p->pr_mode_manual) ; - else if (strcasecmp(name, "inactive") == 0) { + else if (su_casematch(name, "inactive")) { m->m_mode = sdp_inactive; return; } - else if (strcasecmp(name, "sendonly") == 0) { + else if (su_casematch(name, "sendonly")) { m->m_mode = sdp_sendonly; return; } - else if (strcasecmp(name, "recvonly") == 0) { + else if (su_casematch(name, "recvonly")) { m->m_mode = sdp_recvonly; return; } - else if (strcasecmp(name, "sendrecv") == 0) { + else if (su_casematch(name, "sendrecv")) { m->m_mode = sdp_sendrecv; return; } - if (rtp && strcasecmp(name, "rtpmap") == 0) { + if (rtp && su_casematch(name, "rtpmap")) { if ((n = parse_rtpmap(p, r, m)) == 0 || n < -1) return; } - else if (rtp && strcasecmp(name, "fmtp") == 0) { + else if (rtp && su_casematch(name, "fmtp")) { if ((n = parse_fmtp(p, r, m)) == 0 || n < -1) return; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c Wed Feb 11 10:47:14 2009 @@ -34,6 +34,7 @@ #include "config.h" #include +#include #include "sofia-sip/sdp.h" @@ -544,10 +545,10 @@ char const *name = a->a_name; char const *value = a->a_value; - if (strcasecmp(name, "inactive") == 0 || - strcasecmp(name, "sendonly") == 0 || - strcasecmp(name, "recvonly") == 0 || - strcasecmp(name, "sendrecv") == 0) + if (su_casematch(name, "inactive") || + su_casematch(name, "sendonly") || + su_casematch(name, "recvonly") || + su_casematch(name, "sendrecv")) continue; sdp_printf(p, "a=%s%s%s" CRLF, name, value ? ":" : "", value ? value : ""); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c Wed Feb 11 10:47:14 2009 @@ -42,6 +42,7 @@ #include #include +#include #include @@ -913,9 +914,9 @@ int i; for (i = 1; argv[i]; i++) { - if (strcmp(argv[i], "-v") == 0) + if (su_strmatch(argv[i], "-v")) tstflags |= tst_verbatim; - else if (strcmp(argv[i], "-a") == 0) + else if (su_strmatch(argv[i], "-a")) tstflags |= tst_abort; else usage(1); From mikej at freeswitch.org Wed Feb 11 08:47:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:47:44 -0600 Subject: [Freeswitch-svn] [commit] r11796 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/iptsec Message-ID: Author: mikej Date: Wed Feb 11 10:47:44 2009 New Revision: 11796 Log: Thu Jan 8 13:50:53 CST 2009 Pekka Pessi * iptsec: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:47:44 2009 @@ -1 +1 @@ -Wed Feb 11 10:47:06 CST 2009 +Wed Feb 11 10:47:34 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Wed Feb 11 10:47:44 2009 @@ -47,7 +47,7 @@ #include #include -#include +#include #include @@ -166,9 +166,9 @@ if (!ca || !ch) return -1; - if (strcasecmp(ca->ca_scheme, scheme)) + if (!su_casematch(ca->ca_scheme, scheme)) return 0; - if (strcmp(ca->ca_realm, realm)) + if (!su_strmatch(ca->ca_realm, realm)) return 0; if (ca->ca_credential_class && @@ -390,13 +390,13 @@ if (!ca || !ca->ca_scheme || !ca->ca_realm) return -1; - if ((scheme != NULL && strcasecmp(scheme, ca->ca_scheme)) || - (realm != NULL && strcmp(realm, ca->ca_realm))) + if ((scheme != NULL && !su_casematch(scheme, ca->ca_scheme)) || + (realm != NULL && !su_strmatch(realm, ca->ca_realm))) return 0; old_user = ca->ca_user, old_pass = ca->ca_pass; - if (str0cmp(user, old_user) == 0 && str0cmp(pass, old_pass) == 0) + if (su_strmatch(user, old_user) && su_strmatch(pass, old_pass)) return 0; new_user = su_strdup(ca->ca_home, user); @@ -440,14 +440,14 @@ continue; if (AUTH_CLIENT_IS_EXTENDED(ca) && ca->ca_clear) continue; - if (!ca->ca_scheme[0] || strcasecmp(ca->ca_scheme, d->ca_scheme)) + if (!ca->ca_scheme[0] || !su_casematch(ca->ca_scheme, d->ca_scheme)) continue; - if (!ca->ca_realm[0] || strcmp(ca->ca_realm, d->ca_realm)) + if (!ca->ca_realm || !su_strmatch(ca->ca_realm, d->ca_realm)) continue; if (!(AUTH_CLIENT_IS_EXTENDED(d) && d->ca_clear) && - d->ca_user && strcmp(d->ca_user, ca->ca_user) == 0 && - d->ca_pass && strcmp(d->ca_pass, ca->ca_pass) == 0) { + su_strmatch(d->ca_user, ca->ca_user) && + su_strmatch(d->ca_pass, ca->ca_pass)) { retval++; break; } @@ -497,8 +497,8 @@ if (!AUTH_CLIENT_IS_EXTENDED(ca)) continue; - if ((scheme != NULL && strcasecmp(scheme, ca->ca_scheme)) || - (realm != NULL && strcmp(realm, ca->ca_realm))) + if ((scheme != NULL && !su_casematch(scheme, ca->ca_scheme)) || + (realm != NULL && !su_strmatch(realm, ca->ca_realm))) continue; match = ca->ca_auc->auc_clear(*auc_list); @@ -990,7 +990,7 @@ for (i = 0; i < MAX_AUC; i++) { if (ca_plugins[i] == NULL || - strcmp(plugin->auc_name, ca_plugins[i]->auc_name) == 0) { + su_strmatch(plugin->auc_name, ca_plugins[i]->auc_name) == 0) { ca_plugins[i] = plugin; return 0; } @@ -1018,7 +1018,7 @@ for (i = 0; i < MAX_AUC; i++) { auc = ca_plugins[i]; - if (!auc || strcasecmp(auc->auc_name, scheme) == 0) + if (!auc || su_casematch(auc->auc_name, scheme)) break; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c Wed Feb 11 10:47:44 2009 @@ -44,7 +44,7 @@ #include #include -#include +#include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c Wed Feb 11 10:47:44 2009 @@ -36,16 +36,13 @@ #include "sofia-sip/auth_common.h" #include "sofia-sip/msg_header.h" +#include #include #include #include #include -#if !HAVE_STRCASESTR -char *strcasestr(char const *haystack, char const *needle); -#endif - su_inline int has_token(char const *qstring, char const *token); /** @@ -92,12 +89,12 @@ if expected is found in parameter value, return non-NULL pointer in *return_value */ for (j = 0; (p = params[j++]);) { - if (strcasecmp(p, fmt) == 0) { + if (su_casematch(p, fmt)) { /* Matched the whole parameter with fmt name=expected */ value = p; break; } - else if (strncasecmp(p, fmt, namelen) || + else if (!su_casenmatch(p, fmt, namelen) || p[namelen] != '=') continue; @@ -109,7 +106,7 @@ value = p; break; } - else if (strcasecmp(p, expected) == 0) { + else if (su_casematch(p, expected)) { /* Parameter value matches with extected value * e.g., qop=auth matches qop=auth */ value = p; @@ -120,7 +117,7 @@ else { /* format is name= , return unquoted parameter value after = */ for (j = 0; (p = params[j++]);) { - if (strncasecmp(p, fmt, len)) + if (!su_casenmatch(p, fmt, len)) continue; if (p[len] == '"') @@ -169,7 +166,8 @@ size_t n = strlen(token); char const *q; - q = strcasestr(qstring, token); + q = su_strcasestr(qstring, token); + return (q && (q[n] == 0 || strchr("\", \t", q[n])) && (q == qstring || strchr("\", \t", q[-1]))); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c Wed Feb 11 10:47:44 2009 @@ -61,6 +61,7 @@ #include #include +#include #include #include @@ -181,7 +182,7 @@ am->am_fake = fake; am->am_remote = url_hdup(am->am_home, (url_t *)remote); am->am_algorithm = algorithm ? su_strdup(am->am_home, algorithm) : "MD5"; - am->am_nextnonce = !algorithm || strcasecmp(algorithm, "MD5") == 0; + am->am_nextnonce = !algorithm || su_casematch(algorithm, "MD5"); if (next_expires == 0) am->am_nextnonce = 0; am->am_qop = su_strdup(am->am_home, qop); @@ -694,11 +695,11 @@ /* Check for qop */ (ar->ar_qop && ((ar->ar_auth && - strcasecmp(ar->ar_qop, "auth") && - strcasecmp(ar->ar_qop, "\"auth\"")) || + !su_casematch(ar->ar_qop, "auth") && + !su_casematch(ar->ar_qop, "\"auth\"")) || (ar->ar_auth_int && - strcasecmp(ar->ar_qop, "auth-int") && - strcasecmp(ar->ar_qop, "\"auth-int\""))) + !su_casematch(ar->ar_qop, "auth-int") && + !su_casematch(ar->ar_qop, "\"auth-int\""))) && (phrase = PA "has invalid qop"))) { assert(phrase); SU_DEBUG_5(("auth_method_digest: 400 %s\n", phrase)); @@ -1249,7 +1250,7 @@ char const *arealm; for (;auth; auth = auth->au_next) { - if (strcasecmp(auth->au_scheme, scheme)) + if (!su_casematch(auth->au_scheme, scheme)) continue; if (!realm) @@ -1290,7 +1291,7 @@ char const *arealm, *aopaque; for (;auth; auth = auth->au_next) { - if (strcasecmp(auth->au_scheme, "Digest")) + if (!su_casematch(auth->au_scheme, "Digest")) continue; if (realm) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c Wed Feb 11 10:47:44 2009 @@ -91,7 +91,7 @@ if (n < 0) return n; - if (ac->ac_stale && strcasecmp(ac->ac_stale, "true") != 0) + if (ac->ac_stale && !su_casematch(ac->ac_stale, "true")) ac->ac_stale = NULL; ac->ac_md5 = md5 != NULL || ac->ac_algorithm == NULL; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c Wed Feb 11 10:47:44 2009 @@ -52,6 +52,7 @@ #include #include +#include #include #include "sofia-sip/auth_module.h" @@ -130,16 +131,16 @@ if (base == NULL) ; - else if (strcasecmp(base, "Basic") == 0) + else if (su_casematch(base, "Basic")) bscheme = auth_scheme_basic; - else if (strcasecmp(base, "Digest") == 0) + else if (su_casematch(base, "Digest")) bscheme = auth_scheme_digest; if (base == NULL || bscheme) { int i; for (i = 0; schemes[i] && i < N; i++) { - if (strncasecmp(schemes[i]->asch_method, method, len) == 0 && + if (su_casenmatch(schemes[i]->asch_method, method, len) && schemes[i]->asch_method[len] == 0) { am = auth_mod_alloc(schemes[i], ta_tags(ta)); if (schemes[i]->asch_init(am, bscheme, root, ta_tags(ta)) == -1) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c Wed Feb 11 10:47:44 2009 @@ -170,7 +170,7 @@ char const *agssapidata, *atargetname; for (;auth; auth = auth_mod_credentials(auth->au_next)) { - if (strcasecmp(auth->au_scheme, "NTLM")) + if (!su_casematch(auth->au_scheme, "NTLM")) continue; if (gssapidata) { @@ -224,11 +224,11 @@ /* Check for qop */ (ar->ar_qop && ((ar->ar_auth && - strcasecmp(ar->ar_qop, "auth") && - strcasecmp(ar->ar_qop, "\"auth\"")) || + !su_casematch(ar->ar_qop, "auth") && + !su_casematch(ar->ar_qop, "\"auth\"")) || (ar->ar_auth_int && - strcasecmp(ar->ar_qop, "auth-int") && - strcasecmp(ar->ar_qop, "\"auth-int\""))) + !su_casematch(ar->ar_qop, "auth-int") && + !su_casematch(ar->ar_qop, "\"auth-int\""))) && (phrase = PA "has invalid qop"))) { assert(phrase); SU_DEBUG_5(("auth_method_ntlm: 400 %s\n", phrase)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Wed Feb 11 10:47:44 2009 @@ -73,6 +73,7 @@ #include #include #include +#include int tstflags; char *argv0; @@ -349,8 +350,11 @@ TEST_SIZE(auth_digest_challenge_get(home, ac, pa->au_params), 6); TEST0(pz = sip_proxy_authorization_make(home, cred)); - TEST_SIZE(auth_digest_response_get(home, ar, pz->au_params), 8); + { + size_t n = auth_digest_response_get(home, ar, pz->au_params); + TEST_SIZE(n, 8); + } ar->ar_md5 = ac->ac_md5 || ac->ac_algorithm == NULL; TEST(auth_digest_sessionkey(ar, sessionkey, "test1"), 0); @@ -702,7 +706,7 @@ if (au->au_params) for (i = 0; au->au_params[i]; i++) { - if (strncasecmp(au->au_params[i], "realm=", 6) == 0) + if (su_casenmatch(au->au_params[i], "realm=", 6)) continue; equal = strchr(au->au_params[i], '='); if (equal) From mikej at freeswitch.org Wed Feb 11 08:48:09 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:48:09 -0600 Subject: [Freeswitch-svn] [commit] r11797 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/soa Message-ID: Author: mikej Date: Wed Feb 11 10:48:09 2009 New Revision: 11797 Log: Thu Jan 8 13:57:46 CST 2009 Pekka Pessi * soa: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:48:09 2009 @@ -1 +1 @@ -Wed Feb 11 10:47:34 CST 2009 +Wed Feb 11 10:47:59 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c Wed Feb 11 10:48:09 2009 @@ -52,7 +52,7 @@ #include #include -#include +#include #include #define NONE ((void *)-1) @@ -172,7 +172,7 @@ return su_seterrno(EINVAL); for (n = soa_namelist; n; n = n->next) { - if (strcasecmp(name, n->basename) == 0) + if (su_casematch(name, n->basename)) return 0; } @@ -197,7 +197,7 @@ size_t baselen = strcspn(name, ":/"); for (n = soa_namelist; n; n = n->next) { - if (strncasecmp(name, n->basename, baselen) == 0) + if (su_casenmatch(name, n->basename, baselen)) break; } @@ -230,7 +230,7 @@ size_t baselen = strcspn(name, ":/"); for (n = soa_namelist; n; n = n->next) { - if (strncasecmp(name, n->basename, baselen) == 0) + if (su_casenmatch(name, n->basename, baselen)) break; } if (n == NULL) @@ -553,7 +553,7 @@ ss->ss_srtp_confidentiality = srtp_confidentiality; ss->ss_srtp_integrity = srtp_integrity; - if (str0casecmp(media_address, ss->ss_address)) { + if (!su_casematch(media_address, ss->ss_address)) { su_free(ss->ss_home, (void *)ss->ss_address); ss->ss_address = su_strdup(ss->ss_home, media_address); change_session = 1; @@ -562,7 +562,7 @@ if (hold == (char const *)1) hold = "*"; - if (str0casecmp(hold, ss->ss_hold)) { + if (!su_casematch(hold, ss->ss_hold)) { su_free(ss->ss_home, (void *)ss->ss_hold); ss->ss_hold = su_strdup(ss->ss_home, hold); change_session = 1; @@ -1924,7 +1924,7 @@ l = &l_video, r = &r_video; else if (m->m_type == sdp_media_image) l = &l_image, r = &r_image; - else if (strcasecmp(m->m_type_name, "message") == 0) + else if (su_casematch(m->m_type_name, "message")) l = &l_chat, r = &r_chat; else continue; @@ -2027,8 +2027,7 @@ else if (sdp_str) { if (str_len == -1) str_len = strlen(sdp_str); - new_version = !ssd->ssd_unparsed || - str0ncmp(sdp_str, ssd->ssd_unparsed, str_len + 1) != 0; + new_version = !su_strnmatch(sdp_str, ssd->ssd_unparsed, str_len + 1); } else return (void)su_seterrno(EINVAL), -1; @@ -2221,7 +2220,7 @@ su_localinfo_t *li; for (li = li0; li; li = li->li_next) { - if (strncasecmp(li->li_canonname, list, n) == 0 && + if (su_casenmatch(li->li_canonname, list, n) && li->li_canonname[n] == '\0') break; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c Wed Feb 11 10:48:09 2009 @@ -62,7 +62,7 @@ #include #include #include -#include +#include #include #include "sofia-sip/soa.h" @@ -72,10 +72,6 @@ #define NONE ((void *)-1) #define XXX assert(!"implemented") -#if !HAVE_STRCASESTR -char *strcasestr(const char *haystack, const char *needle); -#endif - typedef struct soa_static_session { soa_session_t sss_session[1]; @@ -175,7 +171,7 @@ SOATAG_REUSE_REJECTED_REF(reuse_rejected), TAG_END()); - if (n > 0 && str0casecmp(audio_aux, sss->sss_audio_aux)) { + if (n > 0 && !su_casematch(audio_aux, sss->sss_audio_aux)) { char *s = su_strdup(ss->ss_home, audio_aux), *tbf = sss->sss_audio_aux; if (s == NULL && audio_aux != NULL) return -1; @@ -358,7 +354,7 @@ return 0; for (match = auxiliary; - (match = strcasestr(match, codec)); + (match = su_strcasestr(match, codec)); match = match + 1) { if (IS_ALPHANUM(match[clen]) || match[clen] == '-') continue; @@ -1009,8 +1005,8 @@ rm = remote ? remote->sdp_media : NULL, rm_next = NULL; - hold_all = str0cmp(hold, "*") == 0; - inactive_all = str0cmp(hold, "#") == 0; + hold_all = su_strmatch(hold, "*"); + inactive_all = su_strmatch(hold, "#"); i = 0; @@ -1051,13 +1047,13 @@ else if (hold_all) { recv_mode = 0; } - else if (hold && (hold_media = strcasestr(hold, sm->m_type_name))) { + else if (hold && (hold_media = su_strcasestr(hold, sm->m_type_name))) { recv_mode = 0; hold_media += strlen(sm->m_type_name); hold_media += strspn(hold_media, " \t"); if (hold_media[0] == '=') { hold_media += strspn(hold, " \t"); - if (strncasecmp(hold_media, "inactive", strlen("inactive")) == 0) + if (su_casenmatch(hold_media, "inactive", strlen("inactive"))) recv_mode = send_mode = 0; } } From mikej at freeswitch.org Wed Feb 11 08:48:40 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:48:40 -0600 Subject: [Freeswitch-svn] [commit] r11798 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nth Message-ID: Author: mikej Date: Wed Feb 11 10:48:40 2009 New Revision: 11798 Log: Thu Jan 8 14:29:39 CST 2009 Pekka Pessi * nth: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:48:40 2009 @@ -1 +1 @@ -Wed Feb 11 10:47:59 CST 2009 +Wed Feb 11 10:48:33 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c Wed Feb 11 10:48:40 2009 @@ -46,7 +46,7 @@ #include #include -#include +#include /** @internal SU message argument structure type */ #define SU_MSG_ARG_T union sm_arg_u @@ -753,7 +753,7 @@ if (host && (host_cmp(host->h_host, u->url_host) || - str0cmp(host->h_port, u->url_port))) + su_strcmp(host->h_port, u->url_port))) host = NULL; if (host == NULL && u->url_host) { @@ -777,7 +777,7 @@ else if (rq && name && strcmp(name, rq->rq_method_name)) rq = NULL; - if (rq && version && strcasecmp(version, rq->rq_version)) + if (rq && version && !su_casematch(version, rq->rq_version)) rq = NULL; if (!hc->hc_route_url) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c Wed Feb 11 10:48:40 2009 @@ -32,7 +32,7 @@ #include "config.h" -#include +#include #include typedef struct server_s server_t; @@ -592,7 +592,7 @@ for (; (site = *list); list = &site->site_next) { if (host_cmp(host, site->site_url->url_host) == 0 && - str0cmp(port, site->site_url->url_port) == 0) { + su_strcmp(port, site->site_url->url_port) == 0) { break; } } From mikej at freeswitch.org Wed Feb 11 08:49:02 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:49:02 -0600 Subject: [Freeswitch-svn] [commit] r11799 - in freeswitch/trunk/libs/sofia-sip: . utils Message-ID: Author: mikej Date: Wed Feb 11 10:49:01 2009 New Revision: 11799 Log: Thu Jan 8 14:47:09 CST 2009 Pekka Pessi * utils/sip-dig.c: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:49:01 2009 @@ -1 +1 @@ -Wed Feb 11 10:48:33 CST 2009 +Wed Feb 11 10:48:54 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c (original) +++ freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c Wed Feb 11 10:49:01 2009 @@ -141,6 +141,7 @@ #include "sofia-sip/url.h" #include "sofia-sip/su_alloc.h" +#include "sofia-sip/su_string.h" #include "sofia-sip/hostdomain.h" char const name[] = "sip-dig"; @@ -361,7 +362,7 @@ int transport_is_secure(char const *tportname) { - return tportname && strncasecmp(tportname, "tls", 3) == 0; + return su_casenmatch(tportname, "tls", 3); } int prepare_transport(struct dig *dig, char const *tport) @@ -372,7 +373,7 @@ for (j = 0; j < N_TPORT - 1; j++) { if (!tports[j].name) break; - if (strcasecmp(tports[j].name, tport) == 0) + if (su_casematch(tports[j].name, tport)) return 1; } @@ -402,27 +403,27 @@ tports[j].service = service; tports[j].srv = srv; } - else if (strcasecmp(tport, "udp") == 0) { + else if (su_casematch(tport, "udp")) { tports[j].name = "udp"; tports[j].service = "SIP+D2U"; tports[j].srv = "_sip._udp."; } - else if (strcasecmp(tport, "tcp") == 0) { + else if (su_casematch(tport, "tcp")) { tports[j].name = "tcp"; tports[j].service = "SIP+D2T"; tports[j].srv = "_sip._tcp."; } - else if (strcasecmp(tport, "tls") == 0) { + else if (su_casematch(tport, "tls")) { tports[j].name = "tls"; tports[j].service = "SIPS+D2T"; tports[j].srv = "_sips._tcp."; } - else if (strcasecmp(tport, "sctp") == 0) { + else if (su_casematch(tport, "sctp")) { tports[j].name = "sctp"; tports[j].service = "SIP+D2S"; tports[j].srv = "_sip._sctp."; } - else if (strcasecmp(tport, "tls-sctp") == 0) { + else if (su_casematch(tport, "tls-sctp")) { tports[j].name = "tls-sctp"; tports[j].service = "SIPS+D2S"; tports[j].srv = "_sips._sctp."; @@ -451,9 +452,9 @@ for (i = 0; tports[i].name; i++) { if (dig->sips && !transport_is_secure(tports[i].name)) continue; - if (!tport || strcasecmp(tport, tports[i].name) == 0) + if (!tport || su_casematch(tport, tports[i].name)) tcount++; - if (tport2 && strcasecmp(tport2, tports[i].name) == 0) + else if (tport2 && su_casematch(tport2, tports[i].name)) tcount++; } @@ -466,7 +467,7 @@ int i; for (i = 0; tports[i].name; i++) { - if (strcasecmp(tports[i].service, s) == 0) + if (su_casematch(tports[i].service, s)) return tports + i; } @@ -503,13 +504,13 @@ na->na_flags, na->na_services, na->na_regexp, na->na_replace); - if (strcasecmp(na->na_flags, "s") && strcasecmp(na->na_flags, "a")) + if (!su_casematch(na->na_flags, "s") && !su_casematch(na->na_flags, "a")) continue; if (nacount && order != na->na_order) continue; - if (dig->sips && strncasecmp(na->na_services, "SIPS+", 5)) + if (dig->sips && !su_casenmatch(na->na_services, "SIPS+", 5)) continue; if (!transport_by_service(dig->tports, na->na_services)) @@ -530,19 +531,19 @@ continue; if (order != na->na_order) continue; - if (strcasecmp(na->na_flags, "s") && strcasecmp(na->na_flags, "a")) + if (!su_casematch(na->na_flags, "s") && !su_casematch(na->na_flags, "a")) continue; - if (dig->sips && strncasecmp(na->na_services, "SIPS+", 5)) + if (dig->sips && !su_casematch(na->na_services, "SIPS+", 5)) continue; tp = transport_by_service(dig->tports, na->na_services); if (!tp) continue; - if (strcasecmp(na->na_flags, "s") == 0) { + if (su_casematch(na->na_flags, "s")) { scount = dig_srv(dig, tp->name, na->na_replace, weight / nacount); } - else if (strcasecmp(na->na_flags, "a") == 0) { + else if (su_casematch(na->na_flags, "a")) { scount = dig_addr(dig, tp->name, na->na_replace, NULL, weight / nacount); } else @@ -572,7 +573,7 @@ return 0; for (i = 0, n = 0; dig->tports[i].name; i++) { - if (tport && strcasecmp(dig->tports[i].name, tport)) + if (tport && !su_casematch(dig->tports[i].name, tport)) continue; if (dig->sips && !transport_is_secure(dig->tports[i].name)) @@ -799,9 +800,9 @@ su_inet_ntop(af, &answers[i]->sr_a->a_addr, addr, sizeof addr); for (j = 0; tports[j].name; j++) { - if (strcasecmp(tport, tports[j].name) == 0) + if (su_casematch(tport, tports[j].name)) print_result(addr, port, tport, weight, preference); - if (tport2 && strcasecmp(tport2, tports[j].name) == 0) + if (su_casematch(tport2, tports[j].name)) print_result(addr, port, tport2, weight, preference); } } From mikej at freeswitch.org Wed Feb 11 08:49:25 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:49:25 -0600 Subject: [Freeswitch-svn] [commit] r11800 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:49:25 2009 New Revision: 11800 Log: Thu Jan 8 14:52:37 CST 2009 Pekka Pessi * nua: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:49:25 2009 @@ -1 +1 @@ -Wed Feb 11 10:48:54 CST 2009 +Wed Feb 11 10:49:17 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c Wed Feb 11 10:49:25 2009 @@ -55,6 +55,7 @@ #include +#include #include #include "sofia-sip/nua.h" @@ -420,11 +421,11 @@ { if (sip_substate == NULL) return nua_substate_active; - else if (strcasecmp(sip_substate, "terminated") == 0) + else if (su_casematch(sip_substate, "terminated")) return nua_substate_terminated; - else if (strcasecmp(sip_substate, "pending") == 0) + else if (su_casematch(sip_substate, "pending")) return nua_substate_pending; - else /* if (strcasecmp(sip_substate, "active") == 0) */ + else /* if (su_casematch(sip_substate, "active")) */ return nua_substate_active; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include @@ -241,10 +241,10 @@ if (event != o) { if (event == NULL || o == NULL) continue; - if (strcmp(event->o_type, o->o_type)) + if (!su_strmatch(event->o_type, o->o_type)) continue; - if (str0casecmp(event->o_id, o->o_id)) { - if (event->o_id || strcmp(event->o_type, "refer")) + if (!su_casematch(event->o_id, o->o_id)) { + if (event->o_id || !su_strmatch(event->o_type, "refer")) continue; } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c Wed Feb 11 10:49:25 2009 @@ -42,7 +42,7 @@ #include -#include +#include #include #include #include @@ -220,7 +220,7 @@ char const *event = o ? o->o_type : NULL; if (sr->sr_initial || !nua_dialog_usage_get(ds, nua_notify_usage, o)) { - if (event && str0cmp(event, "refer") == 0) + if (su_strmatch(event, "refer")) /* refer event subscription should be initiated with REFER */ return SR_STATUS1(sr, SIP_403_FORBIDDEN); @@ -257,7 +257,7 @@ } else { /* Refresh existing subscription */ - if (str0cmp(event, "refer") == 0) + if (su_strmatch(event, "refer")) expires = NH_PGET(nh, refer_expires); SR_STATUS1(sr, SIP_200_OK); @@ -360,9 +360,9 @@ if (!nu->nu_tag) notify = 1; - else if (snim && !strcasecmp(snim->snim_tag, nu->nu_tag)) + else if (snim && su_casematch(snim->snim_tag, nu->nu_tag)) notify = 0; - else if (sbim && !strcasecmp(snim->snim_tag, nu->nu_tag)) + else if (sbim && su_casematch(snim->snim_tag, nu->nu_tag)) notify = 1, nu->nu_no_body = 1; else #endif @@ -621,7 +621,7 @@ if (cr->cr_usage->du_ready) { snim = sip_suppress_notify_if_match(sip); - if (snim && !strcasecmp(snim->snim_tag, nu->nu_tag)) { + if (snim && su_casematch(snim->snim_tag, nu->nu_tag)) { if (nu->nu_requested > nu->nu_expires) nu->nu_expires = nu->nu_requested; nu->nu_requested = 0; @@ -630,7 +630,7 @@ } sbim = sip_suppress_body_if_match(sip); - if (sbim && !strcasecmp(sbim->sbim_tag, nu->nu_tag)) + if (sbim && su_casematch(sbim->sbim_tag, nu->nu_tag)) nu->nu_no_body = 1; } #endif @@ -915,8 +915,8 @@ if (sr->sr_status < 200 || nu == NULL) { } else if (sr->sr_status < 300 && - /* Application included Refer-Sub: false in response */ - (rs == NULL || str0casecmp("false", rs->rs_value))) { + /* No subscription if Refer-Sub: false in response */ + (rs == NULL || !su_casematch(rs->rs_value, "false"))) { sr->sr_usage->du_ready = 1; nu->nu_expires = sip_now() + NH_PGET(nh, refer_expires); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c Wed Feb 11 10:49:25 2009 @@ -41,7 +41,7 @@ #include -#include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c Wed Feb 11 10:49:25 2009 @@ -32,7 +32,7 @@ #include "config.h" -#include +#include #include #include #include @@ -54,10 +54,6 @@ #include -#if !HAVE_STRCASESTR -char *strcasestr(char const *haystack, char const *needle); -#endif - /* ====================================================================== */ /* Helper macros and functions for handling #nua_handle_preferences_t. */ @@ -113,7 +109,7 @@ char const pn[] = " " PACKAGE_NAME "/"; size_t pnlen = strlen(pn + 1); - return strncasecmp(s, pn + 1, pnlen) == 0 || strcasestr(s, pn); + return su_casenmatch(s, pn + 1, pnlen) || su_strcasestr(s, pn); } /* ====================================================================== */ @@ -964,7 +960,7 @@ /* NUTAG_REGISTRAR(registrar) */ else if (tag == nutag_registrar) { NHP_SET_STR_BY_URL(nhp, char, registrar, value); - if (NHP_ISSET(nhp, registrar) && !str0cmp(nhp->nhp_registrar, "*")) + if (NHP_ISSET(nhp, registrar) && su_strmatch(nhp->nhp_registrar, "*")) NHP_SET_STR(nhp, registrar, 0); } /* NUTAG_INSTANCE(instance) */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c Wed Feb 11 10:49:25 2009 @@ -41,7 +41,7 @@ #include -#include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #define TP_CLIENT_T struct register_usage -#include +#include #include #include #include @@ -1163,13 +1163,13 @@ if (contact1 && (url_is_string(contact1) - ? strncasecmp(contact1->us_str, "sips:", 5) == 0 + ? su_casenmatch(contact1->us_str, "sips:", 5) : contact1->us_url->url_type == url_sips)) name1 = "sips"; if (contact2 && (url_is_string(contact2) - ? strncasecmp(contact2->us_str, "sips:", 5) == 0 + ? su_casenmatch(contact2->us_str, "sips:", 5) : contact2->us_url->url_type == url_sips)) name2 = "sips"; @@ -1379,11 +1379,11 @@ if (protocol) { /* Try to pair vias if we have both udp and tcp */ for (prev = vv; *prev; prev = &(*prev)->v_next) { - if (strcasecmp(protocol, (*prev)->v_protocol)) + if (!su_casematch(protocol, (*prev)->v_protocol)) continue; - if (strcasecmp(v->v_host, (*prev)->v_host)) + if (!su_casematch(v->v_host, (*prev)->v_host)) continue; - if (str0cmp(v->v_port, (*prev)->v_port)) + if (!su_strmatch(v->v_port, (*prev)->v_port)) continue; break; } @@ -2023,7 +2023,7 @@ } if (transport) { - if (strncasecmp(transport, "SIP/2.0/", 8) == 0) + if (su_casenmatch(transport, "SIP/2.0/", 8)) transport += 8; /* Make transport parameter lowercase */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 10:49:25 2009 @@ -39,7 +39,7 @@ #include -#include +#include #include #include #include @@ -4337,9 +4337,9 @@ if (x->x_refresher) { int uas = sip->sip_request != NULL; - if (strcasecmp(x->x_refresher, "uac") == 0) + if (su_casenmatch(x->x_refresher, "uac", (sizeof "uac"))) t->remote.refresher = uas ? nua_remote_refresher : nua_local_refresher; - else if (strcasecmp(x->x_refresher, "uas") == 0) + else if (su_casenmatch(x->x_refresher, "uas", (sizeof "uas"))) t->remote.refresher = uas ? nua_local_refresher : nua_remote_refresher; } else if (t->remote.require) { @@ -4533,7 +4533,7 @@ else if (ct->c_type == NULL) SU_DEBUG_3(("nua: empty %s, assuming %s\n", "Content-Type", SDP_MIME_TYPE)); - else if (strcasecmp(ct->c_type, SDP_MIME_TYPE)) { + else if (!su_casematch(ct->c_type, SDP_MIME_TYPE)) { SU_DEBUG_5(("nua: unknown %s: %s\n", "Content-Type", ct->c_type)); return 0; } @@ -4545,7 +4545,7 @@ if (!matching_content_type) { /* Make sure we got SDP */ - if (pl->pl_len < 3 || strncasecmp(pl->pl_data, "v=0", 3)) + if (pl->pl_len < 3 || !su_casenmatch(pl->pl_data, "v=0", 3)) return 0; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c Wed Feb 11 10:49:25 2009 @@ -44,7 +44,7 @@ #include -#include +#include #include #include #include @@ -547,7 +547,8 @@ /* Check for forked subscription. */ if (ds->ds_remote_tag && ds->ds_remote_tag[0] && - str0cmp(ds->ds_remote_tag, sr->sr_request.sip->sip_from->a_tag)) { + su_strcasecmp(ds->ds_remote_tag, + sr->sr_request.sip->sip_from->a_tag)) { sip_contact_t const *m = NULL; m = nua_stack_get_contact(sr->sr_owner->nh_nua->nua_registrations); @@ -611,18 +612,18 @@ else substate = nua_substate_active, what = "active"; } - else if (strcasecmp(subs->ss_substate, what = "terminated") == 0) { + else if (su_casematch(subs->ss_substate, what = "terminated")) { substate = nua_substate_terminated; reason = subs->ss_reason; - if (str0casecmp(reason, "deactivated") == 0 || - str0casecmp(reason, "probation") == 0) + if (su_casematch(reason, "deactivated") || + su_casematch(reason, "probation")) substate = nua_substate_embryonic; } - else if (strcasecmp(subs->ss_substate, what = "pending") == 0) { + else if (su_casematch(subs->ss_substate, what = "pending")) { substate = nua_substate_pending; } - else /* if (strcasecmp(subs->ss_substate, what = "active") == 0) */ { + else /* if (su_casematch(subs->ss_substate, what = "active")) */ { /* Any extended state is considered as active */ what = subs->ss_substate; substate = nua_substate_active; @@ -670,10 +671,10 @@ } else if (substate == nua_substate_embryonic) { if (subs && subs->ss_reason) { - if (str0casecmp(subs->ss_reason, "deactivated") == 0) { + if (su_casematch(subs->ss_reason, "deactivated")) { retry = 0; /* retry immediately */ } - else if (str0casecmp(subs->ss_reason, "probation") == 0) { + else if (su_casematch(subs->ss_reason, "probation")) { retry = 30; if (subs->ss_retry_after) retry = strtoul(subs->ss_retry_after, NULL, 10); @@ -913,7 +914,7 @@ else if (status < 300) { sip_refer_sub_t const *rs = sip_refer_sub(sip); - if (rs && strcasecmp("false", rs->rs_value) == 0) + if (rs && su_casematch("false", rs->rs_value)) cr->cr_terminated = 1; if (!cr->cr_terminated) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Wed Feb 11 10:49:25 2009 @@ -263,7 +263,7 @@ prefs->interval = interval; prefs->stream_interval = stream_interval; -#define MATCH(v) (len == sizeof(#v) - 1 && strncasecmp(#v, s, len) == 0) +#define MATCH(v) (len == sizeof(#v) - 1 && su_casenmatch(#v, s, len)) if (options) { for (s = options; s[0]; s++) if (s[0] == '-') s[0] = '_'; @@ -280,9 +280,9 @@ size_t len = span_token(s); int value = 1; - if (len > 3 && strncasecmp(s, "no_", 3) == 0) + if (len > 3 && su_casenmatch(s, "no_", 3)) value = 0, s += 3, len -= 3; - else if (len > 4 && strncasecmp(s, "not_", 4) == 0) + else if (len > 4 && su_casenmatch(s, "not_", 4)) value = 0, s += 4, len -= 4; if (len == 0) @@ -527,7 +527,7 @@ nat_port = ob->ob_nat_port; if (nat_detected && host_cmp(received, nat_detected) == 0) { - if (nat_port && strcasecmp(rport, nat_port) == 0) + if (nat_port && su_casematch(rport, nat_port)) return 1; if (!v->v_rport || !v->v_rport[0]) return 1; @@ -1030,7 +1030,7 @@ sip->sip_request->rq_method == sip_method_options && sip->sip_accept && sip->sip_accept->ac_type && - strcasecmp(sip->sip_accept->ac_type, outbound_content_type) == 0; + su_casematch(sip->sip_accept->ac_type, outbound_content_type); } /** Answer to the connectivity probe OPTIONS */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Wed Feb 11 10:49:25 2009 @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -982,21 +983,21 @@ tpn->tpn_host, tpn->tpn_port); assert(v != NULL); - if (strncasecmp(tpn->tpn_proto, "tls", 3)) { + if (!su_casenmatch(tpn->tpn_proto, "tls", 3)) { m = sip_contact_format(s2->home, "", tpn->tpn_host, tpn->tpn_port, tpn->tpn_proto); - if (s2->udp.contact == NULL && strcasecmp(tpn->tpn_proto, "udp") == 0) { + if (s2->udp.contact == NULL && su_casematch(tpn->tpn_proto, "udp")) { s2->udp.tport = tport_ref(tp); s2->udp.contact = m; } - if (s2->tcp.contact == NULL && strcasecmp(tpn->tpn_proto, "tcp") == 0) { + if (s2->tcp.contact == NULL && su_casematch(tpn->tpn_proto, "tcp")) { s2->tcp.tport = tport_ref(tp); s2->tcp.contact = m; } } - else if (strcasecmp(tpn->tpn_proto, "tls")) { + else if (!su_casematch(tpn->tpn_proto, "tls")) { m = sip_contact_format(s2->home, "", tpn->tpn_host, tpn->tpn_port, From mikej at freeswitch.org Wed Feb 11 08:49:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:49:51 -0600 Subject: [Freeswitch-svn] [commit] r11801 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/bnf Message-ID: Author: mikej Date: Wed Feb 11 10:49:51 2009 New Revision: 11801 Log: Thu Jan 8 14:55:01 CST 2009 Pekka Pessi * bnf: using Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:49:51 2009 @@ -1 +1 @@ -Wed Feb 11 10:49:17 CST 2009 +Wed Feb 11 10:49:44 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am Wed Feb 11 10:49:51 2009 @@ -26,7 +26,7 @@ COVERAGE_INPUT = $(libbnf_la_SOURCES) $(include_sofia_HEADERS) -LDADD = libbnf.la +LDADD = libbnf.la ../su/libsu.la torture_bnf_LDFLAGS = -static Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c Wed Feb 11 10:49:51 2009 @@ -34,6 +34,7 @@ #include "config.h" #include "sofia-sip/bnf.h" +#include "sofia-sip/su_string.h" #include #include @@ -795,12 +796,12 @@ return n >= 9 /* strlen("localhost") */ && - strncasecmp(host, "localhost", 9) == 0 && + su_casenmatch(host, "localhost", 9) && (n == 9 || ((n == 10 || /* localhost. */ n == 21 || /* strlen("localhost.localdomain") */ n == 22) && /* strlen("localhost.localdomain.") */ - strncasecmp(host + 9, ".localdomain.", n - 9) == 0)); + su_casenmatch(host + 9, ".localdomain.", n - 9))); } /** Return true if @a string has domain name in "invalid." domain. @@ -815,9 +816,9 @@ if (string[n - 1] == '.') /* .invalid. perhaps? */ n--; if (n == 7 /* strlen("invalid") */) - return strncasecmp(string, invalid + 1, 7) == 0; + return su_casenmatch(string, invalid + 1, 7); else - return strncasecmp(string + n - 8, invalid, 8) == 0; + return su_casenmatch(string + n - 8, invalid, 8); } return 0; @@ -913,7 +914,7 @@ retval = memcmp(a6, b6, asize); } else { - retval = strcasecmp(a, b); + retval = su_strcasecmp(a, b); } } From mikej at freeswitch.org Wed Feb 11 08:50:29 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:50:29 -0600 Subject: [Freeswitch-svn] [commit] r11802 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/msg Message-ID: Author: mikej Date: Wed Feb 11 10:50:29 2009 New Revision: 11802 Log: Thu Jan 8 14:56:49 CST 2009 Pekka Pessi * msg: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:50:29 2009 @@ -1 +1 @@ -Wed Feb 11 10:49:44 CST 2009 +Wed Feb 11 10:50:12 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c Wed Feb 11 10:50:29 2009 @@ -42,6 +42,7 @@ #include #include +#include #include #include @@ -238,7 +239,7 @@ if (time_d(&s, &hour, &min, &sec) < 0) return -1; if (*s) { tz = s; skip_token(&s); skip_lws(&s); - if (strncasecmp(tz, "GMT", 3) && strncasecmp(tz, "UCT", 3)) + if (!su_casenmatch(tz, "GMT", 3) && !su_casenmatch(tz, "UCT", 3)) return -1; } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c Wed Feb 11 10:50:29 2009 @@ -47,6 +47,7 @@ #include #include +#include #include "msg_internal.h" #include "sofia-sip/msg_parser.h" @@ -351,7 +352,7 @@ /* long form */ for (hr = NULL; (hc = mc->mc_hash[i].hr_class); i = (i + 1) % N) { - if (m == hc->hc_len && strncasecmp(s, hc->hc_name, m) == 0) { + if (m == hc->hc_len && su_casenmatch(s, hc->hc_name, m)) { hr = &mc->mc_hash[i]; break; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c Wed Feb 11 10:50:29 2009 @@ -38,14 +38,8 @@ #define _GNU_SOURCE 1 -#include -#include -#include -#include -#include -#include - #include +#include #include "msg_internal.h" #include "sofia-sip/msg.h" @@ -54,16 +48,18 @@ #include #include +#include +#include +#include +#include +#include +#include + #if !HAVE_MEMMEM void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen); #endif -size_t memspn(const void *mem, size_t memlen, - const void *accept, size_t acceptlen); -size_t memcspn(const void *mem, size_t memlen, - const void *reject, size_t rejectlen); - /** Protocol version of MIME */ char const msg_mime_version_1_0[] = "MIME/1.0"; @@ -154,7 +150,7 @@ * argument to msg_multipart_parse() function: * @code * if (sip->sip_content_type && - * strncasecmp(sip->sip_content_type, "multipart/", 10) == 0) { + * su_casenmatch(sip->sip_content_type, "multipart/", 10)) { * msg_multipart_t *mp; * * if (sip->sip_multipart) @@ -316,7 +312,7 @@ /* Boundary looks like LF -- string SP* [CR] LF */ if (memcmp("--", p, 2) == 0) { /* We can be at boundary beginning, there is no CR LF */ - m = 2 + memspn(p + 2, len - 2, bchars, bchars_len); + m = 2 + su_memspn(p + 2, len - 2, bchars, bchars_len); if (m + 2 >= len) return NULL; crlf = p[m] == '\r' ? 1 + (p[m + 1] == '\n') : (p[m] == '\n'); @@ -336,7 +332,7 @@ /* Look for LF -- */ for (;(p = memmem(p, end - p, LF "--", 3)); p += 3) { len = end - p; - m = 3 + memspn(p + 3, len - 3, bchars, bchars_len); + m = 3 + su_memspn(p + 3, len - 3, bchars, bchars_len); if (m + 2 >= len) return NULL; crlf = p[m] == '\r' ? 1 + (p[m + 1] == '\n') : (p[m] == '\n'); @@ -1146,7 +1142,7 @@ if (name == NULL) { ac->ac_q = NULL; } - else if (namelen == 1 && strncasecmp(name, "q", 1) == 0) { + else if (namelen == 1 && su_casenmatch(name, "q", 1)) { /* XXX - check for invalid value? */ ac->ac_q = value; } @@ -1233,7 +1229,7 @@ if (name == NULL) { aa->aa_q = NULL; } - else if (namelen == 1 && strncasecmp(name, "q", 1) == 0) { + else if (namelen == 1 && su_casenmatch(name, "q", 1)) { aa->aa_q = value; } @@ -1523,10 +1519,10 @@ cd->cd_handling = NULL, cd->cd_required = 0, cd->cd_optional = 0; } else if (namelen == strlen("handling") && - strncasecmp(name, "handling", namelen) == 0) { + su_casenmatch(name, "handling", namelen)) { cd->cd_handling = value; - cd->cd_required = strcasecmp(value, "required") == 0; - cd->cd_optional = strcasecmp(value, "optional") == 0; + cd->cd_required = su_casematch(value, "required"); + cd->cd_optional = su_casematch(value, "optional"); } return 0; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c Wed Feb 11 10:50:29 2009 @@ -47,6 +47,7 @@ #include #include +#include #include "msg_internal.h" #include "sofia-sip/msg_parser.h" @@ -871,7 +872,7 @@ } } else { - if (strncasecmp(maybe, param, plen) == 0 && + if (su_casenmatch(maybe, param, plen) && (maybe[plen] == '=' || maybe[plen] == 0)) break; } @@ -1212,7 +1213,7 @@ for (i = 0; params[i]; i++) { msg_param_t param = params[i]; - if (strncasecmp(param, token, n) == 0) { + if (su_casenmatch(param, token, n)) { if (param[n] == '=') return param + n + 1; else if (param[n] == 0) @@ -1246,7 +1247,7 @@ for (i = 0; params[i]; i++) { msg_param_t param = params[i]; - if (strncasecmp(param, token, n) == 0) { + if (su_casenmatch(param, token, n)) { if (param[n] == '=') return params + i; else if (param[n] == 0 || token[n - 1] == '=') @@ -1295,7 +1296,7 @@ for (i = 0; params[i]; i++) { msg_param_t maybe = params[i]; - if (!(strncasecmp(maybe, param, n))) { + if (su_casenmatch(maybe, param, n)) { if (maybe[n] == '=' || maybe[n] == 0) { params[i] = param; return 1; @@ -1327,7 +1328,7 @@ for (i = 0; params[i]; i++) { msg_param_t maybe = params[i]; - if (strncasecmp(maybe, param, n) == 0) { + if (su_casenmatch(maybe, param, n)) { if (maybe[n] == '=' || maybe[n] == 0) { /* Remove */ do { @@ -1415,10 +1416,10 @@ for (i = 0; d[i]; i++) { if ((prune == 1 && - strncasecmp(p, d[i], nlen) == 0 + su_casenmatch(p, d[i], nlen) && (d[i][nlen] == '=' || d[i][nlen] == '\0')) || - (prune == 2 && strcasecmp(p, d[i]) == 0) + (prune == 2 && su_casematch(p, d[i])) || (prune == 3 && strcmp(p, d[i]) == 0)) return 1; @@ -1649,7 +1650,7 @@ if (*a == NULL || *b == NULL) return (*a != NULL) - (*b != NULL); nlen = strcspn(*a, "="); - if ((c = strncasecmp(*a, *b, nlen))) + if ((c = su_strncasecmp(*a, *b, nlen))) return c; if ((c = strcmp(*a + nlen, *b + nlen))) return c; From mikej at freeswitch.org Wed Feb 11 08:50:53 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:50:53 -0600 Subject: [Freeswitch-svn] [commit] r11803 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:50:52 2009 New Revision: 11803 Log: Thu Jan 8 15:00:46 CST 2009 Pekka Pessi * tport: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:50:52 2009 @@ -1 +1 @@ -Wed Feb 11 10:50:12 CST 2009 +Wed Feb 11 10:50:46 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c Wed Feb 11 10:50:52 2009 @@ -37,7 +37,7 @@ #include "config.h" -#include +#include #include #include #include @@ -1404,7 +1404,7 @@ continue; if (vtable->vtp_public != public) continue; - if (strcasecmp(vtable->vtp_name, protoname)) + if (!su_casematch(protoname, vtable->vtp_name)) continue; assert(vtable->vtp_pri_size >= sizeof (tport_primary_t)); @@ -1798,8 +1798,7 @@ for (i = 0, N = 0; transports[i] && N < TPORT_N; i++) { su_addrinfo_t *ai = &hints[N]; - if (strcasecmp(transports[i], protocol) != 0 && - strcmp(protocol, tpn_any) != 0) + if (!su_casematch(protocol, transports[i]) && !su_strmatch(protocol, "*")) continue; /* Resolve protocol, skip unknown transport protocols. */ @@ -2418,25 +2417,25 @@ hints->ai_canonname = (char *)proto; #if HAVE_TLS - if (strcasecmp(proto, "tls") == 0) + if (su_casematch(proto, "tls")) proto = "tcp"; #endif #if HAVE_SCTP - if (strcasecmp(proto, "sctp") == 0) { + if (su_casematch(proto, "sctp")) { hints->ai_protocol = IPPROTO_SCTP; hints->ai_socktype = SOCK_STREAM; return 0; } #endif - if (strcasecmp(proto, "udp") == 0) { + if (su_casematch(proto, "udp")) { hints->ai_protocol = IPPROTO_UDP; hints->ai_socktype = SOCK_DGRAM; return 0; } - if (strcasecmp(proto, "tcp") == 0) { + if (su_casematch(proto, "tcp")) { hints->ai_protocol = IPPROTO_TCP; hints->ai_socktype = SOCK_STREAM; return 0; @@ -4327,7 +4326,7 @@ { if (proto && strcmp(proto, tpn_any) != 0) { for (; self; self = tport_next(self)) - if (strcasecmp(proto, self->tp_protoname) == 0) + if (su_casematch(proto, self->tp_protoname)) break; } @@ -4381,7 +4380,7 @@ continue; #endif } - if (proto && strcasecmp(proto, tp->tp_protoname)) + if (proto && !su_casematch(proto, tp->tp_protoname)) continue; if (comp && comp != tp->tp_name->tpn_comp) { @@ -4515,9 +4514,10 @@ SU_DEBUG_7(("tport(%p): found %p by name " TPN_FORMAT "\n", (void *)self, (void *)sub, TPN_ARGS(tpn))); } - else if ((strcasecmp(canon, sub->tp_canon) && - strcasecmp(host, sub->tp_host)) || - strcmp(port, sub->tp_port)) + else if (!su_casematch(port, sub->tp_port)) + continue; + else if (!su_casematch(canon, sub->tp_canon) && + !su_casematch(host, sub->tp_host)) continue; return (tport_t *)sub; @@ -4635,9 +4635,9 @@ for (b = (char *)url->url_params; b[0]; b += n) { n = strcspn(b, ";"); - if (n > 10 && strncasecmp(b, "transport=", 10) == 0) + if (n > 10 && su_casenmatch(b, "transport=", 10)) tpn->tpn_proto = b + 10; - else if (n > 6 && strncasecmp(b, "maddr=", 6) == 0) + else if (n > 6 && su_casenmatch(b, "maddr=", 6)) tpn->tpn_host = b + 6; if (b[n]) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c Wed Feb 11 10:50:52 2009 @@ -36,7 +36,7 @@ #include "tport_internal.h" -#include +#include #include #include #include @@ -245,7 +245,7 @@ break; } - n = strncspn(s, end - s, "\r\n"); + n = su_strncspn(s, end - s, "\r\n"); if (linelen + n > MAX_LINELEN) { n = MAX_LINELEN - linelen; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c Wed Feb 11 10:50:52 2009 @@ -38,7 +38,7 @@ #include "tport.h" -#include +#include #include #include #include @@ -146,8 +146,7 @@ { if (master_sc == NULL || master_sc->sc_cc == NULL || - compression == NULL || - strcasecmp(compression, tport_sigcomp_name)) + !su_casematch(compression, tport_sigcomp_name)) return NULL; return tport_sigcomp_name; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c Wed Feb 11 10:50:52 2009 @@ -34,7 +34,7 @@ #include "tport_internal.h" #include -#include +#include tport_comp_vtable_t const *tport_comp_vtable = NULL; @@ -48,7 +48,7 @@ /** Canonize compression string */ char const *tport_canonize_comp(char const *comp) { - if (tport_comp_vtable && comp && strcasecmp(comp, tport_sigcomp_name) == 0) + if (tport_comp_vtable && su_casematch(comp, tport_sigcomp_name)) return tport_sigcomp_name; return NULL; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 10:50:52 2009 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 10:50:52 2009 @@ -48,7 +48,7 @@ #include #include #include -#include +#include #if HAVE_FUNC #elif HAVE_FUNCTION From mikej at freeswitch.org Wed Feb 11 08:51:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:51:14 -0600 Subject: [Freeswitch-svn] [commit] r11804 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nea Message-ID: Author: mikej Date: Wed Feb 11 10:51:14 2009 New Revision: 11804 Log: Thu Jan 8 15:03:28 CST 2009 Pekka Pessi * nea: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:51:14 2009 @@ -1 +1 @@ -Wed Feb 11 10:50:46 CST 2009 +Wed Feb 11 10:51:07 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.c Wed Feb 11 10:51:14 2009 @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -518,14 +519,14 @@ nea->nea_notify_received = 1; nea->nea_callback(nea, nea->nea_context, sip); - if (strcasecmp(ss->ss_substate, "terminated") == 0) { + if (su_casematch(ss->ss_substate, "terminated")) { nta_leg_destroy(nea->nea_leg), nea->nea_leg = NULL; nea->nea_state = nea_terminated; - if (str0casecmp(ss->ss_reason, "deactivated") == 0) { + if (su_casematch(ss->ss_reason, "deactivated")) { nea->nea_state = nea_embryonic; nea->nea_deadline = sip_now(); - } else if (str0casecmp(ss->ss_reason, "probation") == 0) { + } else if (su_casematch(ss->ss_reason, "probation")) { sip_time_t retry = sip_now() + NEA_TIMER_DELTA; if (ss->ss_retry_after) @@ -541,9 +542,9 @@ return 200; } } - else if (strcasecmp(ss->ss_substate, "pending") == 0) + else if (su_casematch(ss->ss_substate, "pending")) nea->nea_state = nea_pending; - else if (strcasecmp(ss->ss_substate, "active") == 0) + else if (su_casematch(ss->ss_substate, "active")) nea->nea_state = nea_active; else nea->nea_state = nea_extended; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c Wed Feb 11 10:51:14 2009 @@ -752,7 +752,7 @@ /* Check if the payload type already exists */ for (i = 0; (evv = ev->ev_views[i]); i++) - if (str0casecmp(cts, evv->evv_content_type->c_type) == 0) + if (su_casematch(cts, evv->evv_content_type->c_type)) break; if (private && evv == NULL) /* No private view without primary view. */ @@ -916,7 +916,7 @@ /* Check if the payload type already exists */ for (i = 0; ev->ev_views[i]; i++) - if (str0casecmp(content_type, ev->ev_views[i]->evv_content_type->c_type) == 0) + if (su_casematch(content_type, ev->ev_views[i]->evv_content_type->c_type)) break; for (evv = ev->ev_views[i]; evv; evv = evv->evv_next) @@ -1805,10 +1805,10 @@ type = evv->evv_content_type->c_type; - if ((strcasecmp(ac->ac_type, type) == 0) || - (strcasecmp(ac->ac_subtype, "*") == 0 && - strncasecmp(ac->ac_type, type, - ac->ac_subtype - ac->ac_type) == 0)) { + if ((su_casematch(ac->ac_type, type)) || + (su_casematch(ac->ac_subtype, "*") && + su_casenmatch(ac->ac_type, type, + ac->ac_subtype - ac->ac_type))) { if (evv_maybe == NULL) evv_maybe = evv; } @@ -2290,7 +2290,7 @@ tl_gets(ta_args(ta), NEATAG_REASON_REF(reason), TAG_END()); - rejected = reason && strcasecmp(reason, "rejected") == 0; + rejected = su_casematch(reason, "rejected"); if (state == nea_terminated && embryonic && rejected && s->s_irq) retval = 0, s->s_rejected = 1; From mikej at freeswitch.org Wed Feb 11 08:51:45 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:51:45 -0600 Subject: [Freeswitch-svn] [commit] r11805 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Wed Feb 11 10:51:44 2009 New Revision: 11805 Log: Thu Jan 8 15:12:28 CST 2009 Pekka Pessi * sresolv: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:51:44 2009 @@ -1 +1 @@ -Wed Feb 11 10:51:07 CST 2009 +Wed Feb 11 10:51:28 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c Wed Feb 11 10:51:44 2009 @@ -41,6 +41,7 @@ #define SRES_CONTEXT_T struct context #include "sofia-sip/sresolv.h" +#include "sofia-sip/su_string.h" char const name[] = "sip_resolve"; @@ -121,7 +122,7 @@ switch (na->na_flags[0]) { case 's': /* srv */ - if (strncasecmp("SIP+", na->na_services, 4)) + if (!su_casenmatch("SIP+", na->na_services, 4)) /* Something else but SIP */ break; query_srv(sr, na->na_replace); @@ -129,7 +130,7 @@ return; case 'a': - if (strncasecmp("SIP+", na->na_services, 4)) + if (!su_casenmatch("SIP+", na->na_services, 4)) /* Something else but SIP */ break; query_a(sr, na->na_replace); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c Wed Feb 11 10:51:44 2009 @@ -83,6 +83,7 @@ #include #include +#include #include #include "sofia-sip/htable.h" @@ -1572,8 +1573,8 @@ { sres_soa_record_t const *A = aa->sr_soa, *B = bb->sr_soa; D = A->soa_serial - B->soa_serial; if (D) return D; - D = strcasecmp(A->soa_mname, B->soa_mname); if (D) return D; - D = strcasecmp(A->soa_rname, B->soa_rname); if (D) return D; + D = su_strcasecmp(A->soa_mname, B->soa_mname); if (D) return D; + D = su_strcasecmp(A->soa_rname, B->soa_rname); if (D) return D; D = A->soa_refresh - B->soa_refresh; if (D) return D; D = A->soa_retry - B->soa_retry; if (D) return D; D = A->soa_expire - B->soa_expire; if (D) return D; @@ -1591,7 +1592,7 @@ D = A->a6_prelen - B->a6_prelen; if (D) return D; D = !A->a6_prename - !B->a6_prename; if (D == 0 && A->a6_prename && B->a6_prename) - D = strcasecmp(A->a6_prename, B->a6_prename); if (D) return D; + D = su_strcasecmp(A->a6_prename, B->a6_prename); if (D) return D; return memcmp(&A->a6_suffix, &B->a6_suffix, sizeof A->a6_suffix); } case sres_type_aaaa: @@ -2251,7 +2252,7 @@ len = strcspn(b, " \t"); value = b + len; value += strspn(value, " \t"); -#define MATCH(token) (len == strlen(token) && strncasecmp(token, b, len) == 0) +#define MATCH(token) (len == strlen(token) && su_casenmatch(token, b, len)) if (MATCH("nameserver")) { if (sres_parse_nameserver(c, value) < 0) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c Wed Feb 11 10:51:44 2009 @@ -64,6 +64,7 @@ #include #include +#include #include #include @@ -209,7 +210,7 @@ now <= (*rr_iter)->rr_expires && (type == sres_qtype_any || rr->sr_type == type) && rr->sr_name != NULL && - strcasecmp(rr->sr_name, domain) == 0) + su_casematch(rr->sr_name, domain)) rr_count++; } @@ -236,7 +237,7 @@ now <= (*rr_iter)->rr_expires && (type == sres_qtype_any || rr->sr_type == type) && rr->sr_name != NULL && - strcasecmp(rr->sr_name, domain) == 0) { + su_casematch(rr->sr_name, domain)) { SU_DEBUG_9(("rr found in cache: %s %02d\n", rr->sr_name, rr->sr_type)); @@ -335,7 +336,7 @@ if (!!or->sr_name != !!rr->sr_name) continue; if (or->sr_name != rr->sr_name && - strcasecmp(or->sr_name, rr->sr_name) != 0) + !su_casematch(or->sr_name, rr->sr_name)) continue; if (rr->sr_type != sres_type_soa /* There can be only one */ && sres_record_compare(or, rr)) @@ -526,13 +527,13 @@ if (rr && rr->sr_name && sres_type_srv == rr->sr_type && - strcasecmp(rr->sr_name, domain) == 0) { + su_casematch(rr->sr_name, domain)) { (*iter)->rr_expires = expires; if ((port == 0 || rr->sr_srv->srv_port == port) && rr->sr_srv->srv_target && - strcasecmp(rr->sr_srv->srv_target, target) == 0) { + su_casematch(rr->sr_srv->srv_target, target)) { /* record found --> change priority of server */ rr->sr_srv->srv_priority = priority; ret++; From mikej at freeswitch.org Wed Feb 11 08:52:15 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:52:15 -0600 Subject: [Freeswitch-svn] [commit] r11806 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/sip libsofia-sip-ua/sip/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 10:52:15 2009 New Revision: 11806 Log: Thu Jan 8 15:13:56 CST 2009 Pekka Pessi * sip: using functions Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:52:15 2009 @@ -1 +1 @@ -Wed Feb 11 10:51:28 CST 2009 +Wed Feb 11 10:52:05 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c Wed Feb 11 10:52:15 2009 @@ -41,7 +41,7 @@ #define MSG_HDR_T union sip_header_u #include -#include +#include #include "sofia-sip/sip_parser.h" #include @@ -940,7 +940,7 @@ if (name == NULL) { a->a_tag = NULL; } - else if (namelen == strlen("tag") && !strncasecmp(name, "tag", namelen)) { + else if (namelen == strlen("tag") && su_casenmatch(name, "tag", namelen)) { a->a_tag = value; } @@ -983,7 +983,7 @@ value = tag; if (a->a_tag) { - if (strcasecmp(a->a_tag, value) == 0) + if (su_casematch(a->a_tag, value)) return 0; else return -1; @@ -1456,12 +1456,12 @@ m->m_q = NULL; m->m_expires = NULL; } - else if (namelen == 1 && strncasecmp(name, "q", 1) == 0) { + else if (namelen == 1 && su_casenmatch(name, "q", 1)) { /* XXX - check for invalid value? */ m->m_q = value; } else if (namelen == strlen("expires") && - !strncasecmp(name, "expires", namelen)) { + su_casenmatch(name, "expires", namelen)) { m->m_expires = value; } @@ -2086,7 +2086,7 @@ af->af_duration = NULL; } else if (namelen == strlen("duration") && - !strncasecmp(name, "duration", namelen)) { + su_casenmatch(name, "duration", namelen)) { af->af_duration = value; } @@ -2635,7 +2635,7 @@ v->v_rport = NULL; v->v_comp = NULL; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(ttl)) { v->v_ttl = value; @@ -2761,7 +2761,7 @@ if (v->v_rport && !v->v_maddr /* multicast */) { if (v->v_protocol == sip_transport_udp || - strcasecmp(v->v_protocol, sip_transport_udp) == 0) + su_casematch(v->v_protocol, sip_transport_udp)) port = v->v_rport, *using_rport = 0; else if (*using_rport) port = v->v_rport; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c Wed Feb 11 10:52:15 2009 @@ -205,7 +205,7 @@ *s = '\0', s += span_lws(s + 1) + 1; /* Kludge: support PoC IS spec with a typo... */ - if (strncasecmp(s, "*,", 2) == 0) + if (su_casenmatch(s, "*,", 2)) s[1] = ';', kludge = 0; else if (s[0] != '*' && s[0] != '<') { /* Kludge: missing URL - */ @@ -346,7 +346,7 @@ cp->cp_require = 0; cp->cp_explicit = 0; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) #if nomore else if (MATCH(q)) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c Wed Feb 11 10:52:15 2009 @@ -159,7 +159,7 @@ if (name == NULL) { o->o_id = NULL; } - else if (namelen == strlen("id") && !strncasecmp(name, "id", namelen)) { + else if (namelen == strlen("id") && su_casenmatch(name, "id", namelen)) { o->o_id = value; } @@ -373,7 +373,7 @@ ss->ss_retry_after = NULL; ss->ss_expires = NULL; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(reason)) { ss->ss_reason = value; @@ -498,9 +498,9 @@ if (pub->pub_params) for (i = 0; pub->pub_params[i]; i++) { - if (strncasecmp(pub->pub_params[i], "stream=", strlen("stream=")) == 0) + if (su_casenmatch(pub->pub_params[i], "stream=", strlen("stream="))) pub->pub_stream = pub->pub_params[i] + strlen("stream="); - else if (strncasecmp(pub->pub_params[i], "type=", strlen("type=")) == 0) + else if (su_casenmatch(pub->pub_params[i], "type=", strlen("type="))) pub->pub_type = pub->pub_params[i] + strlen("type="); } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c Wed Feb 11 10:52:15 2009 @@ -132,10 +132,10 @@ * Update parameter in a @CallInfo object. * */ -static -int sip_call_info_update(msg_common_t *h, - char const *name, isize_t namelen, - char const *value) +static int +sip_call_info_update(msg_common_t *h, + char const *name, isize_t namelen, + char const *value) { sip_call_info_t *ci = (sip_call_info_t *)h; @@ -143,7 +143,7 @@ ci->ci_purpose = NULL; } else if (namelen == strlen("purpose") && - !strncasecmp(name, "purpose", namelen)) { + su_casenmatch(name, "purpose", namelen)) { ci->ci_purpose = value; } @@ -1213,7 +1213,7 @@ rpid->rpid_privacy = NULL; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(screen)) rpid->rpid_screen = value; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c Wed Feb 11 10:52:15 2009 @@ -425,21 +425,21 @@ msg_param_t feature = require->k_items[i++]; for (j = 0; slist[j]; j++) - if (strcasecmp(feature, slist[j]) == 0) { + if (su_casematch(feature, slist[j])) { feature = NULL; break; } if (feature) for (j = 0; rlist[j]; j++) - if (strcasecmp(feature, rlist[j]) == 0) { + if (su_casematch(feature, rlist[j])) { feature = NULL; break; } if (feature) for (j = 0; prlist[j]; j++) - if (strcasecmp(feature, prlist[j]) == 0) { + if (su_casematch(feature, prlist[j])) { feature = NULL; break; } @@ -478,7 +478,7 @@ for (; supported; supported = supported->k_next) if (supported->k_items) for (i = 0; supported->k_items[i]; i++) - if (strcasecmp(feature, supported->k_items[i]) == 0) + if (su_casematch(feature, supported->k_items[i])) return 1; return 0; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c Wed Feb 11 10:52:15 2009 @@ -39,6 +39,7 @@ #define MSG_HDR_T union sip_header_u #include +#include #include "sofia-sip/sip_parser.h" #include @@ -231,7 +232,7 @@ char const *result; size_t const version_size = sizeof(sip_version_2_0) - 1; - if (strncasecmp(s, sip_version_2_0, version_size) == 0 && + if (su_casenmatch(s, sip_version_2_0, version_size) && !IS_TOKEN(s[version_size])) { result = sip_version_2_0; s += version_size; @@ -260,7 +261,7 @@ s[l1 + 1 + l2] = 0; /* Compare again with compacted version */ - if (strcasecmp(s, sip_version_2_0) == 0) + if (su_casematch(s, sip_version_2_0)) result = sip_version_2_0; } @@ -459,10 +460,10 @@ char *s = *ss; #define TRANSPORT_MATCH(t) \ - (strncasecmp(s+7, t+7, sizeof(t)-8) == 0 && (IS_LWS(s[sizeof(t)])) \ + (su_casenmatch(s + 7, t + 7, (sizeof t) - 8) && (IS_LWS(s[sizeof(t)])) \ && (transport = t, s += sizeof(t) - 1)) - if (strncasecmp(s, "SIP/2.0", 7) != 0 || + if (!su_casenmatch(s, "SIP/2.0", 7) || (!TRANSPORT_MATCH(sip_transport_udp) && !TRANSPORT_MATCH(sip_transport_tcp) && !TRANSPORT_MATCH(sip_transport_sctp) && @@ -502,13 +503,13 @@ pt[pt_len] = '\0'; /* extra whitespace? */ - if (!strcasecmp(transport, sip_transport_udp)) + if (su_casematch(transport, sip_transport_udp)) transport = sip_transport_udp; - else if (!strcasecmp(transport, sip_transport_tcp)) + else if (su_casematch(transport, sip_transport_tcp)) transport = sip_transport_tcp; - else if (!strcasecmp(transport, sip_transport_sctp)) + else if (su_casematch(transport, sip_transport_sctp)) transport = sip_transport_sctp; - else if (!strcasecmp(transport, sip_transport_tls)) + else if (su_casematch(transport, sip_transport_tls)) transport = sip_transport_tls; } } @@ -526,10 +527,10 @@ transport == sip_transport_tcp || transport == sip_transport_sctp || transport == sip_transport_tls || - strcasecmp(transport, sip_transport_udp) == 0 || - strcasecmp(transport, sip_transport_tcp) == 0 || - strcasecmp(transport, sip_transport_sctp) == 0 || - strcasecmp(transport, sip_transport_tls) == 0) + su_casematch(transport, sip_transport_udp) || + su_casematch(transport, sip_transport_tcp) || + su_casematch(transport, sip_transport_sctp) || + su_casematch(transport, sip_transport_tls)) return 0; return MSG_STRING_SIZE(transport); @@ -546,13 +547,13 @@ *dd = s; else if (s == sip_transport_tls) *dd = s; - else if (strcasecmp(s, sip_transport_udp) == 0) + else if (su_casematch(s, sip_transport_udp)) *dd = sip_transport_udp; - else if (strcasecmp(s, sip_transport_tcp) == 0) + else if (su_casematch(s, sip_transport_tcp)) *dd = sip_transport_tcp; - else if (strcasecmp(s, sip_transport_sctp) == 0) + else if (su_casematch(s, sip_transport_sctp)) *dd = sip_transport_sctp; - else if (strcasecmp(s, sip_transport_tls) == 0) + else if (su_casematch(s, sip_transport_tls)) *dd = sip_transport_tls; else MSG_STRING_DUP(*pp, *dd, s); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c Wed Feb 11 10:52:15 2009 @@ -67,8 +67,8 @@ if (old_type == sp_init) { if (s[0] == '\0' || - strcasecmp(s, "TRUE") == 0 || - strcasecmp(s, "\"TRUE\"") == 0) { + su_casematch(s, "TRUE") || + su_casematch(s, "\"TRUE\"")) { /* Boolean */ sp->sp_type = sp_literal; sp->sp_literal.spl_value = "TRUE"; @@ -76,8 +76,8 @@ *return_negation = 0; *in_out_s = s + strlen(s); return 1; - } else if (strcasecmp(s, "FALSE") == 0 || - strcasecmp(s, "\"FALSE\"") == 0) { + } else if (su_casematch(s, "FALSE") || + su_casematch(s, "\"FALSE\"")) { /* Boolean */ sp->sp_type = sp_literal; sp->sp_literal.spl_value = "FALSE"; @@ -213,8 +213,8 @@ case sp_literal: return a->sp_literal.spl_length == b->sp_literal.spl_length && - strncasecmp(a->sp_literal.spl_value, b->sp_literal.spl_value, - a->sp_literal.spl_length) == 0; + su_casenmatch(a->sp_literal.spl_value, b->sp_literal.spl_value, + a->sp_literal.spl_length); case sp_string: return a->sp_string.sps_length == b->sp_string.sps_length && @@ -307,7 +307,7 @@ int sip_is_callerpref(char const *param) { #define MATCH(s) \ - (strncasecmp(param + 1, s + 1, strlen(s) - 1) == 0 && \ + (su_casenmatch(param + 1, s + 1, strlen(s) - 1) && \ (param[strlen(s)] == '=' || param[strlen(s)] == '\0')) int xor = 0, base = 0; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c Wed Feb 11 10:52:15 2009 @@ -160,7 +160,7 @@ re->re_cause = NULL; re->re_text = NULL; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(cause)) { re->re_cause = value; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c Wed Feb 11 10:52:15 2009 @@ -289,7 +289,7 @@ if (name == NULL) { b->b_cid = NULL; } - else if (namelen == strlen("cid") && !strncasecmp(name, "cid", namelen)) { + else if (namelen == strlen("cid") && su_casenmatch(name, "cid", namelen)) { b->b_cid = value; } @@ -425,7 +425,7 @@ rp->rp_from_tag = NULL; rp->rp_early_only = 0; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(to-tag)) { rp->rp_to_tag = value; @@ -502,8 +502,8 @@ if (msg_token_d(&s, &rs->rs_value) < 0) return -1; - if (strcasecmp(rs->rs_value, "false") && - strcasecmp(rs->rs_value, "true")) + if (!su_casematch(rs->rs_value, "false") && + !su_casematch(rs->rs_value, "true")) return -1; if (*s) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c Wed Feb 11 10:52:15 2009 @@ -525,7 +525,7 @@ sa->sa_d_qop = NULL; sa->sa_d_ver = NULL; } -#define MATCH(s) (namelen == strlen(#s) && !strncasecmp(name, #s, strlen(#s))) +#define MATCH(s) (namelen == strlen(#s) && su_casenmatch(name, #s, strlen(#s))) else if (MATCH(q)) { sa->sa_q = value; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c Wed Feb 11 10:52:15 2009 @@ -154,7 +154,7 @@ x->x_refresher = NULL; } else if (namelen == strlen("refresher") && - !strncasecmp(name, "refresher", namelen)) { + su_casenmatch(name, "refresher", namelen)) { x->x_refresher = value; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c Wed Feb 11 10:52:15 2009 @@ -450,15 +450,15 @@ if (n == 0) break; - if (n == 4 && strncasecmp(hnv, "body", 4) == 0) + if (n == 4 && su_casenmatch(hnv, "body", 4)) t = siptag_payload, hc = sip_payload_class; else { for (j = 0; (t = sip_tag_list[j]); j++) { hc = (msg_hclass_t *)sip_tag_list[j]->tt_magic; - if (n == 1 && strncasecmp(hnv, hc->hc_short, 1) == 0) + if (n == 1 && su_casenmatch(hnv, hc->hc_short, 1)) break; else if (n == (size_t)hc->hc_len && - strncasecmp(hnv, hc->hc_name, n) == 0) + su_casenmatch(hnv, hc->hc_name, n)) break; } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c Wed Feb 11 10:52:15 2009 @@ -39,7 +39,7 @@ #include #include -#include +#include #include "sofia-sip/sip_parser.h" #include @@ -59,8 +59,7 @@ #include #include -/** - * Compare two SIP addresses ( @From or @To headers). +/**Compare two SIP addresses ( @From or @To headers). * * @retval nonzero if matching. * @retval zero if not matching. @@ -69,13 +68,13 @@ { return (a->a_tag == NULL || b->a_tag == NULL || - strcmp(a->a_tag, b->a_tag) == 0) + su_casematch(a->a_tag, b->a_tag)) && - str0casecmp(a->a_host, b->a_host) == 0 + su_casematch(a->a_host, b->a_host) && - str0cmp(a->a_user, b->a_user) == 0 + su_strmatch(a->a_user, b->a_user) && - str0cmp(a->a_url->url_scheme, b->a_url->url_scheme); + su_strmatch(a->a_url->url_scheme, b->a_url->url_scheme); } @@ -164,7 +163,7 @@ tp = v->v_protocol; if (tp == sip_transport_udp || - strcasecmp(tp, sip_transport_udp) == 0) /* Default is UDP */ + su_casematch(tp, sip_transport_udp)) /* Default is UDP */ tp = NULL; return sip_contact_create_from_via_with_transport(home, v, user, tp); @@ -253,7 +252,7 @@ port = NULL; } - if (transport && strncasecmp(transport, "SIP/2.0/", 8) == 0) + if (su_casenmatch(transport, "SIP/2.0/", 8)) transport += 8; /* Make transport parameter lowercase */ @@ -292,8 +291,8 @@ /* transport name starts with TLS or SIP/2.0/TLS */ return - strncasecmp(transport_name, "TLS", 3) == 0 || - strncasecmp(transport_name, sip_transport_tls, 11) == 0; + su_casenmatch(transport_name, "TLS", 3) || + su_casenmatch(transport_name, sip_transport_tls, 11); } /**Perform sanity check on a SIP message @@ -339,9 +338,10 @@ if (sip->sip_request->rq_method != sip->sip_cseq->cs_method) return -1; + if (sip->sip_request->rq_method == sip_method_unknown && - str0casecmp(sip->sip_request->rq_method_name, - sip->sip_cseq->cs_method_name)) + !su_strmatch(sip->sip_request->rq_method_name, + sip->sip_cseq->cs_method_name)) return -1; } @@ -810,10 +810,10 @@ if (s == NULL || v == NULL) return (s == NULL) - (v == NULL); - if ((retval = str0cmp(s->sa_mec, v->sa_mec))) + if ((retval = su_strcmp(s->sa_mec, v->sa_mec))) return retval; - digest = strcasecmp(s->sa_mec, "Digest") == 0; + digest = su_casematch(s->sa_mec, "Digest"); s_params = s->sa_params, v_params = v->sa_params; @@ -828,13 +828,13 @@ for (i = 0, j = 0;; i++, j++) { if (digest && v_params[j] && - strncasecmp(v_params[j], "d-ver=", 6) == 0) { + su_casenmatch(v_params[j], "d-ver=", 6)) { if (return_d_ver) *return_d_ver = v_params[j] + strlen("d-ver="); j++; } - retval = str0cmp(s_params[i], v_params[j]); + retval = su_strcmp(s_params[i], v_params[j]); if (retval || s_params[i] == NULL || v_params[j] == NULL) break; @@ -861,7 +861,7 @@ for (s = server; s; s = s->sa_next) { for (c = client; c; c = c->sa_next) { - if (str0cmp(s->sa_mec, c->sa_mec) == 0) + if (su_strmatch(s->sa_mec, c->sa_mec)) return c; } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h Wed Feb 11 10:52:15 2009 @@ -60,6 +60,10 @@ #include #endif +#ifndef SOFIA_SIP_SU_STRING_H +#include +#endif + SOFIA_BEGIN_DECLS /* --------------------------------------------------------------------------- Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c Wed Feb 11 10:52:15 2009 @@ -36,7 +36,7 @@ #include "config.h" #include -#include +#include #include #include @@ -62,7 +62,7 @@ t = ((31 + 27) * 24) * 60 * 60; delta = (365 * 24 + 6) * 60 * 60; - if (str0cmp(av[1], "-v") == 0) + if (su_strmatch(av[1], "-v")) verbatim = 1, av++; if ((s = av[1])) { From rupa at freeswitch.org Wed Feb 11 08:52:29 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:52:29 -0600 Subject: [Freeswitch-svn] [commit] r11807 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Wed Feb 11 10:52:29 2009 New Revision: 11807 Log: add support for pre_order on the profile, cleanup show profiles command Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Wed Feb 11 10:52:29 2009 @@ -107,6 +107,7 @@ char *name; uint16_t id; char *order_by; + char *pre_order; char *custom_sql; }; typedef struct profile_obj profile_t; @@ -402,7 +403,10 @@ if(profile->id > 0) { sql_stream.write_function(&sql_stream, "AND lcr_profile=%d ", profile->id); } - sql_stream.write_function(&sql_stream, "ORDER BY digits DESC%s", profile->order_by); + sql_stream.write_function(&sql_stream, "ORDER BY %s%s digits DESC%s", + profile->pre_order, + switch_strlen_zero(profile->pre_order)? "" : ",", + profile->order_by); if(db_random) { sql_stream.write_function(&sql_stream, ", %s", db_random); } @@ -482,37 +486,51 @@ memset(profile, 0, sizeof(profile_t)); profile->name = "global_default"; profile->order_by = ", rate"; + profile->pre_order = ""; globals.default_profile = profile; switch_core_hash_init(&globals.profile_hash, globals.pool); if((x_profiles = switch_xml_child(cfg, "profiles"))) { for (x_profile = switch_xml_child(x_profiles, "profile"); x_profile; x_profile = x_profile->next) { char *name = (char *) switch_xml_attr_soft(x_profile, "name"); + char *comma = ", "; switch_stream_handle_t order_by = { 0 }; + switch_stream_handle_t pre_order = { 0 }; + switch_stream_handle_t *thisorder = NULL; char *id_s = NULL; char *custom_sql = NULL; int argc, x = 0; char *argv[4] = { 0 }; SWITCH_STANDARD_STREAM(order_by); + SWITCH_STANDARD_STREAM(pre_order); + for (param = switch_xml_child(x_profile, "param"); param; param = param->next) { char *var, *val; var = (char *) switch_xml_attr_soft(param, "name"); val = (char *) switch_xml_attr_soft(param, "value"); - if (!strcasecmp(var, "order_by") && !switch_strlen_zero(val)) { + if ((!strcasecmp(var, "order_by") || !strcasecmp(var, "pre_order")) && !switch_strlen_zero(val)) { + if(!strcasecmp(var, "order_by")) { + thisorder = &order_by; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hit var of order_by\n"); + } else if(!strcasecmp(var, "pre_order")) { + thisorder = &pre_order; + comma = ""; /* don't want leading comma */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hit var of pre_order\n"); + } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "param val is %s\n", val); if ((argc = switch_separate_string(val, ',', argv, (sizeof(argv) / sizeof(argv[0]))))) { for (x=0; xwrite_function(thisorder, "%s quality DESC", comma); } else if(!strcasecmp(argv[x], "reliability")) { - order_by.write_function(&order_by, ", reliability DESC"); + thisorder->write_function(thisorder, "%s reliability DESC", comma); } else { - order_by.write_function(&order_by, ", %s", argv[x]); + thisorder->write_function(thisorder, "%s %s", comma, argv[x]); } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "arg #%d is empty\n", x); @@ -520,11 +538,11 @@ } } else { if (!strcasecmp(val, "quality")) { - order_by.write_function(&order_by, ", quality DESC"); + thisorder->write_function(thisorder, "%s quality DESC", comma); } else if(!strcasecmp(val, "reliability")) { - order_by.write_function(&order_by, ", reliability DESC"); + thisorder->write_function(thisorder, "%s reliability DESC", comma); } else { - order_by.write_function(&order_by, ", %s", val); + thisorder->write_function(thisorder, "%s %s", comma, val); } } } else if (!strcasecmp(var, "id") && !switch_strlen_zero(val)) { @@ -547,6 +565,13 @@ /* default to rate */ profile->order_by = ", rate"; } + if(!switch_strlen_zero((char *)pre_order.data)) { + profile->pre_order = switch_core_strdup(globals.pool, (char *)pre_order.data); + } else { + /* default to rate */ + profile->order_by = ", rate"; + } + if(!switch_strlen_zero(id_s)) { profile->id = (uint16_t)atoi(id_s); } @@ -565,6 +590,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Loaded lcr profile %s.\n", profile->name); } switch_safe_free(order_by.data); + switch_safe_free(pre_order.data); } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "No lcr profiles defined.\n"); @@ -821,9 +847,13 @@ profile = (profile_t *) val; stream->write_function(stream, "Name:\t\t%s\n", profile->name); - stream->write_function(stream, "ID:\t\t%d\n", profile->id); - stream->write_function(stream, "order by:\t%s\n", profile->order_by); - if(!switch_strlen_zero(profile->custom_sql)) { + if(switch_strlen_zero(profile->custom_sql)) { + stream->write_function(stream, "ID:\t\t%d\n", profile->id); + stream->write_function(stream, "order by:\t%s\n", profile->order_by); + if(!switch_strlen_zero(profile->pre_order)) { + stream->write_function(stream, "pre_order:\t%s\n", profile->pre_order); + } + } else { stream->write_function(stream, "custom sql:\t%s\n", profile->custom_sql); } stream->write_function(stream, "\n"); From mikej at freeswitch.org Wed Feb 11 08:52:40 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:52:40 -0600 Subject: [Freeswitch-svn] [commit] r11808 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 10:52:40 2009 New Revision: 11808 Log: Fri Jan 9 13:26:53 CST 2009 Paulo Pizarro * nta.c: do not restart timer E when provisional response is received According to the (informational) RFC 4321 section 1.2 Timer E is not altered during the transition to Proceeding. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:52:40 2009 @@ -1 +1 @@ -Wed Feb 11 10:52:05 CST 2009 +Wed Feb 11 10:52:32 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 10:52:40 2009 @@ -9027,10 +9027,14 @@ if (status < 200) { /* @RFC3261 17.1.2.1: * retransmissions continue for unreliable transports, - * but at an interval of T2 - */ - if (!orq->orq_reliable) - outgoing_set_timer(orq, sa->sa_t2); + * but at an interval of T2. + * + * @RFC4321 1.2: + * Note that Timer E is not altered during the transition + * to Proceeding. + */ + if (!orq->orq_reliable) + orq->orq_interval = sa->sa_t2; } else if (!outgoing_complete(orq)) { if (orq->orq_sigcomp_zap && orq->orq_tport && orq->orq_cc) From mikej at freeswitch.org Wed Feb 11 08:53:18 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:53:18 -0600 Subject: [Freeswitch-svn] [commit] r11809 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:53:18 2009 New Revision: 11809 Log: Fri Jan 9 13:51:56 CST 2009 Pekka Pessi * su_string.c: it is A. Not a Z. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:53:18 2009 @@ -1 +1 @@ -Wed Feb 11 10:52:32 CST 2009 +Wed Feb 11 10:53:10 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_string.c Wed Feb 11 10:53:18 2009 @@ -56,7 +56,7 @@ if ('A' <= lcn && lcn <= 'Z') lcn += 'a' - 'A'; else if ('a' <= ucn && ucn <= 'z') - ucn -= 'a' - 'Z'; + ucn -= 'a' - 'A'; if (lcn == 0) return (char *)haystack; From mikej at freeswitch.org Wed Feb 11 08:53:50 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:53:50 -0600 Subject: [Freeswitch-svn] [commit] r11810 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/iptsec Message-ID: Author: mikej Date: Wed Feb 11 10:53:49 2009 New Revision: 11810 Log: Fri Jan 9 14:51:02 CST 2009 Pekka Pessi * auth_client.c: auc_has_authorization() is happy if one scheme is supported If there was multiple challenges with different authentication schemes, auc_has_authorization() required that all were supported (and used) before authentication could proceed. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:53:49 2009 @@ -1 +1 @@ -Wed Feb 11 10:53:10 CST 2009 +Wed Feb 11 10:53:44 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Wed Feb 11 10:53:49 2009 @@ -81,6 +81,8 @@ static int ca_clear_credentials(auth_client_t *ca); +static int ca_has_authorization(auth_client_t const *ca); + /** Initialize authenticators. * @@ -175,8 +177,10 @@ ca->ca_credential_class != credential_class) return 0; - if (!ca->ca_auc) + if (!ca->ca_auc) { + ca->ca_credential_class = credential_class; return 1; + } if (ca->ca_auc->auc_challenge) stale = ca->ca_auc->auc_challenge(ca, ch); @@ -536,22 +540,43 @@ */ int auc_has_authorization(auth_client_t **auc_list) { - auth_client_t const *ca; + auth_client_t const *ca, *other; if (auc_list == NULL) return 0; - /* Make sure every challenge has credentials */ for (ca = *auc_list; ca; ca = ca->ca_next) { - if (!ca->ca_user || !ca->ca_pass || !ca->ca_credential_class) - return 0; - if (AUTH_CLIENT_IS_EXTENDED(ca) && ca->ca_clear) - return 0; + if (!ca_has_authorization(ca)) { + /* + * Check if we have another challenge with same realm but different + * scheme + */ + for (other = *auc_list; other; other = ca->ca_next) { + if (ca == other) + continue; + if (ca->ca_credential_class == other->ca_credential_class && + su_strcmp(ca->ca_realm, other->ca_realm) == 0 && + ca_has_authorization(other)) + break; + } + + if (!other) + return 0; + } } return 1; } +static int +ca_has_authorization(auth_client_t const *ca) +{ + return ca->ca_credential_class && + ca->ca_auc && + ca->ca_user && ca->ca_pass && + !(AUTH_CLIENT_IS_EXTENDED(ca) && ca->ca_clear); +} + /**Authorize a request. * * The function auc_authorization() is used to add correct authentication @@ -603,6 +628,8 @@ if (!ca->ca_auc) continue; + if (!ca_has_authorization(ca)) + continue; if (ca->ca_auc->auc_authorize(ca, home, method, url, body, &h) < 0) return -1; @@ -653,6 +680,8 @@ if (!ca->ca_auc) continue; + if (!ca_has_authorization(ca)) + continue; if (ca->ca_auc->auc_authorize(ca, home, method, url, body, &h) < 0) return -1; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Wed Feb 11 10:53:49 2009 @@ -1093,6 +1093,29 @@ auth_mod_destroy(am); deinit_as(as); aucs = NULL; + /* Test client with two challenges */ + au = sip_www_authenticate_make( + NULL, + "Digest realm=\"test-realm\", " + "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", " + "opaque=\"5ccc069c403ebaf9f0171e9517f40e41\""); + au->au_next = sip_www_authenticate_make( + NULL, + "Not-Digest realm=\"test-realm\", " + "zip=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", " + "zap=\"5ccc069c403ebaf9f0171e9517f40e41\""); + + TEST_1(auc_challenge(&aucs, home, (msg_auth_t *)au, + sip_authorization_class) >= 1); + TEST_1(auc_all_credentials(&aucs, "Digest", "\"test-realm\"", + "user", "pass")); + msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization); + TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, + (url_t *)"sip:surf3 at ims3.so.noklab.net", + sip->sip_payload), 1); + TEST_1(sip->sip_authorization); + aucs = NULL; + /* Test asynchronous operation */ aucs = NULL; TEST_1(am = auth_mod_create(root, From mikej at freeswitch.org Wed Feb 11 08:54:20 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:54:20 -0600 Subject: [Freeswitch-svn] [commit] r11811 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:54:20 2009 New Revision: 11811 Log: Mon Jan 12 08:27:07 CST 2009 Pekka Pessi * su_port.c: added #include Making poll mechanism name matching case-insensitive. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:54:20 2009 @@ -1 +1 @@ -Wed Feb 11 10:53:44 CST 2009 +Wed Feb 11 10:54:13 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c Wed Feb 11 10:54:20 2009 @@ -44,8 +44,8 @@ #define su_port_s su_virtual_port_s #include "su_port.h" +#include -#include #include /** Create the default su_port_t implementation. */ @@ -115,25 +115,25 @@ if (name == NULL) ; #if HAVE_EPOLL - else if (strcmp(name, "epoll") == 0) { + else if (su_casematch(name, "epoll")) { create = su_epoll_port_create; start = su_epoll_clone_start; } #endif #if HAVE_KQUEUE - else if (strcmp(name, "kqueue") == 0) { + else if (su_casematch(name, "kqueue")) { create = su_kqueue_port_create; start = su_kqueue_clone_start; } #endif #if HAVE_SYS_DEVPOLL_H - else if (strcmp(name, "devpoll") == 0) { + else if (su_casematch(name, "devpoll")) { create = su_devpoll_port_create; start = su_devpoll_clone_start; } #endif #if HAVE_POLL_PORT - else if (strcmp(name, "poll") == 0) { + else if (su_casematch(name, "poll")) { create = su_poll_port_create; start = su_poll_clone_start; } @@ -144,7 +144,7 @@ start = su_wsaevent_clone_start; } #elif HAVE_SELECT - else if (strcmp(name, "select") == 0) { + else if (su_casematch(name, "select")) { create = su_select_port_create; start = su_select_clone_start; } From mikej at freeswitch.org Wed Feb 11 08:54:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:54:44 -0600 Subject: [Freeswitch-svn] [commit] r11812 - in freeswitch/trunk/libs/sofia-sip: . utils Message-ID: Author: mikej Date: Wed Feb 11 10:54:44 2009 New Revision: 11812 Log: Mon Jan 12 08:29:14 CST 2009 Pekka Pessi * sip-dig.c: using su_casenmatch() to match NAPTR service Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:54:44 2009 @@ -1 +1 @@ -Wed Feb 11 10:54:13 CST 2009 +Wed Feb 11 10:54:37 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c (original) +++ freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c Wed Feb 11 10:54:44 2009 @@ -533,7 +533,7 @@ continue; if (!su_casematch(na->na_flags, "s") && !su_casematch(na->na_flags, "a")) continue; - if (dig->sips && !su_casematch(na->na_services, "SIPS+", 5)) + if (dig->sips && !su_casenmatch(na->na_services, "SIPS+", 5)) continue; tp = transport_by_service(dig->tports, na->na_services); From mikej at freeswitch.org Wed Feb 11 08:55:11 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:55:11 -0600 Subject: [Freeswitch-svn] [commit] r11813 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:55:11 2009 New Revision: 11813 Log: Tue Jan 13 14:59:50 CST 2009 Pekka Pessi * nua_session.c: send answer in ACK if offer was sent in 200 OK to re-INVITE Thanks for Liu Yang for reporting the problem. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 10:55:11 2009 @@ -1 +1 @@ -Wed Feb 11 10:54:37 CST 2009 +Wed Feb 11 10:55:01 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 10:55:11 2009 @@ -1294,7 +1294,7 @@ while (sip->sip_supported) sip_header_remove(msg, sip, (sip_header_t*)sip->sip_supported); - if (ss == NULL || ss->ss_state >= nua_callstate_ready) + if (ss == NULL || ss->ss_state > nua_callstate_ready) ; else if (cr->cr_offer_recv && !cr->cr_answer_sent) { if (nh->nh_soa == NULL) { @@ -1312,7 +1312,7 @@ } } - if (ss == NULL || ss->ss_state >= nua_callstate_ready || reason) + if (ss == NULL || ss->ss_state > nua_callstate_ready || reason) ; else if (nh->nh_soa && soa_is_complete(nh->nh_soa)) { /* signal SOA that O/A round(s) is (are) complete */ From mikej at freeswitch.org Wed Feb 11 08:55:27 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:55:27 -0600 Subject: [Freeswitch-svn] [commit] r11814 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf Message-ID: Author: mikej Date: Wed Feb 11 10:55:27 2009 New Revision: 11814 Log: Tue Jan 13 15:03:25 CST 2009 Pekka Pessi * torture_bnf.c: added some host_is_domain() cases Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c Wed Feb 11 10:55:27 2009 @@ -320,6 +320,11 @@ TEST(host_has_domain_invalid("valid."), 0); TEST(host_has_domain_invalid("1-.invalid."), 0); + TEST(host_is_domain("127.0.0.1"), 0); + TEST(host_is_domain("3.com"), 1); + TEST(host_is_domain("127.0.0.com"), 1); + TEST(host_is_domain("actra.0.1"), 0); + /* Invalid IP4 address (extra leading zeros) */ TEST_1(!host_cmp("127.0.0.1", "127.0.0.01")); /* Invalid reference (extra leading zeros) */ From mikej at freeswitch.org Wed Feb 11 08:56:03 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:56:03 -0600 Subject: [Freeswitch-svn] [commit] r11815 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua libsofia-sip-ua-glib rules Message-ID: Author: mikej Date: Wed Feb 11 10:56:03 2009 New Revision: 11815 Log: Tue Jan 13 10:10:10 CST 2009 Pekka Pessi * rules/silent.am: silence. at last. Modified: freeswitch/trunk/libs/sofia-sip/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/Makefile.am freeswitch/trunk/libs/sofia-sip/rules/sofia.am Modified: freeswitch/trunk/libs/sofia-sip/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/Makefile.am Wed Feb 11 10:56:03 2009 @@ -7,8 +7,8 @@ AUTOMAKE_OPTIONS = foreign 1.7 -SUBDIRS = libsofia-sip-ua $(GLIB_SUBDIRS) utils packages tests -DIST_SUBDIRS = libsofia-sip-ua libsofia-sip-ua-glib utils packages \ +SUBDIRS = s2check libsofia-sip-ua $(GLIB_SUBDIRS) utils packages tests +DIST_SUBDIRS = s2check libsofia-sip-ua libsofia-sip-ua-glib utils packages \ tests win32 open_c # note: when glib devel files are not available, make should not @@ -66,6 +66,9 @@ PHONY = built-sources clean-built-sources valcheck doxygen manpages +# s2check depends on generated headers within libsofia-sip-ua +all check: built-sources + if HAVE_LCOV include $(top_srcdir)/rules/lcov.am Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am Wed Feb 11 10:56:03 2009 @@ -50,6 +50,8 @@ include $(top_srcdir)/rules/lcov.am endif +include $(top_srcdir)/rules/silent.am + .PHONY = $(PHONY) CLEANFILES = docs/*.doxytags Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/Makefile.am Wed Feb 11 10:56:03 2009 @@ -107,4 +107,6 @@ include $(top_srcdir)/rules/lcov.am endif +include $(top_srcdir)/rules/silent.am + .PHONY: $(PHONY) Modified: freeswitch/trunk/libs/sofia-sip/rules/sofia.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/rules/sofia.am (original) +++ freeswitch/trunk/libs/sofia-sip/rules/sofia.am Wed Feb 11 10:56:03 2009 @@ -68,3 +68,5 @@ if HAVE_LCOV include $(top_srcdir)/rules/lcov.am endif + +include $(top_srcdir)/rules/silent.am From mikej at freeswitch.org Wed Feb 11 08:56:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:56:33 -0600 Subject: [Freeswitch-svn] [commit] r11816 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:56:33 2009 New Revision: 11816 Log: Tue Jan 13 15:19:02 CST 2009 Pekka Pessi * check_session.c: renamed test case 2.3.3 as 2.6.3 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 10:56:33 2009 @@ -48,10 +48,11 @@ #include /* define XXX as 1 in order to see all failing test cases */ +#ifndef XXX #define XXX (0) +#endif /* ====================================================================== */ -/* Call cases */ static nua_t *nua; static soa_session_t *soa = NULL; @@ -1005,6 +1006,7 @@ /* ---------------------------------------------------------------------- */ /* 2.3 - Session timers */ +/* Wait for invite from NUA */ static void invite_timer_round(nua_handle_t *nh, char const *session_expires) { @@ -1077,70 +1079,6 @@ } END_TEST -START_TEST(call_2_3_3) -{ - nua_handle_t *nh; - struct message *response; - - s2_case("2.3.3", "Handling re-INVITE without SDP gracefully", - "NUA receives INVITE, " - "re-INVITE without SDP (w/o NUTAG_REFRESH_WITHOUT_SDP(), " - "re-INVITE without SDP (using NUTAG_REFRESH_WITHOUT_SDP(), " - "sends BYE."); - - nh = invite_to_nua( - TAG_END()); - - s2_request_to(dialog, SIP_METHOD_INVITE, NULL, - SIPTAG_USER_AGENT_STR("evil (evil) evil"), - TAG_END()); - - nua_respond(nh, SIP_200_OK, TAG_END()); - - fail_unless(s2_check_callstate(nua_callstate_completed)); - - response = s2_wait_for_response(200, SIP_METHOD_INVITE); - - fail_if(!response); - s2_update_dialog(dialog, response); - fail_if(!response->sip->sip_content_type); - s2_free_message(response); - - fail_if(s2_request_to(dialog, SIP_METHOD_ACK, NULL, TAG_END())); - - fail_unless(s2_check_event(nua_i_ack, 200)); - fail_unless(s2_check_callstate(nua_callstate_ready)); - - s2_fast_forward(10); - - nua_set_hparams(nh, NUTAG_REFRESH_WITHOUT_SDP(1), TAG_END()); - fail_unless(s2_check_event(nua_r_set_params, 200)); - - s2_request_to(dialog, SIP_METHOD_INVITE, NULL, - SIPTAG_USER_AGENT_STR("evil (evil) evil"), - TAG_END()); - - nua_respond(nh, SIP_200_OK, TAG_END()); - - fail_unless(s2_check_callstate(nua_callstate_completed)); - - response = s2_wait_for_response(200, SIP_METHOD_INVITE); - - fail_if(!response); - s2_update_dialog(dialog, response); - fail_if(response->sip->sip_content_type); - s2_free_message(response); - - fail_if(s2_request_to(dialog, SIP_METHOD_ACK, NULL, TAG_END())); - - fail_unless(s2_check_event(nua_i_ack, 200)); - fail_unless(s2_check_callstate(nua_callstate_ready)); - - bye_by_nua(nh, TAG_END()); - - nua_handle_destroy(nh); -} -END_TEST TCase *session_timer_tcase(void) @@ -1150,7 +1088,6 @@ { tcase_add_test(tc, call_2_3_1); tcase_add_test(tc, call_2_3_2); - tcase_add_test(tc, call_2_3_3); } return tc; } @@ -1603,15 +1540,80 @@ } END_TEST +START_TEST(call_2_6_3) +{ + nua_handle_t *nh; + struct message *response; + + s2_case("2.6.3", "Handling re-INVITE without SDP gracefully", + "NUA receives INVITE, " + "re-INVITE without SDP (w/o NUTAG_REFRESH_WITHOUT_SDP(), " + "re-INVITE without SDP (using NUTAG_REFRESH_WITHOUT_SDP(), " + "sends BYE."); + + nh = invite_to_nua( + TAG_END()); + + s2_request_to(dialog, SIP_METHOD_INVITE, NULL, + SIPTAG_USER_AGENT_STR("evil (evil) evil"), + TAG_END()); + + nua_respond(nh, SIP_200_OK, TAG_END()); + + fail_unless(s2_check_callstate(nua_callstate_completed)); + + response = s2_wait_for_response(200, SIP_METHOD_INVITE); + + fail_if(!response); + s2_update_dialog(dialog, response); + fail_if(!response->sip->sip_content_type); + s2_free_message(response); + + fail_if(s2_request_to(dialog, SIP_METHOD_ACK, NULL, TAG_END())); + + fail_unless(s2_check_event(nua_i_ack, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + + s2_fast_forward(10); + + nua_set_hparams(nh, NUTAG_REFRESH_WITHOUT_SDP(1), TAG_END()); + fail_unless(s2_check_event(nua_r_set_params, 200)); + + s2_request_to(dialog, SIP_METHOD_INVITE, NULL, + SIPTAG_USER_AGENT_STR("evil (evil) evil"), + TAG_END()); + + nua_respond(nh, SIP_200_OK, TAG_END()); + + fail_unless(s2_check_callstate(nua_callstate_completed)); + + response = s2_wait_for_response(200, SIP_METHOD_INVITE); + + fail_if(!response); + s2_update_dialog(dialog, response); + fail_if(response->sip->sip_content_type); + s2_free_message(response); + + fail_if(s2_request_to(dialog, SIP_METHOD_ACK, NULL, TAG_END())); + + fail_unless(s2_check_event(nua_i_ack, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + + bye_by_nua(nh, TAG_END()); + + nua_handle_destroy(nh); +} +END_TEST -TCase *invite_glare_tcase(void) +TCase *reinvite_tcase(void) { - TCase *tc = tcase_create("2.6 - INVITE glare"); + TCase *tc = tcase_create("2.6 - re-INVITEs"); tcase_add_checked_fixture(tc, call_setup, call_teardown); { tcase_add_test(tc, call_2_6_1); tcase_add_test(tc, call_2_6_2); + tcase_add_test(tc, call_2_6_3); } return tc; } @@ -3040,7 +3042,7 @@ suite_add_tcase(suite, session_timer_tcase()); suite_add_tcase(suite, invite_100rel_tcase()); suite_add_tcase(suite, invite_precondition_tcase()); - suite_add_tcase(suite, invite_glare_tcase()); + suite_add_tcase(suite, reinvite_tcase()); suite_add_tcase(suite, invite_error_tcase()); suite_add_tcase(suite, termination_tcase()); suite_add_tcase(suite, destroy_tcase()); From mikej at freeswitch.org Wed Feb 11 08:56:57 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:56:57 -0600 Subject: [Freeswitch-svn] [commit] r11817 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 10:56:57 2009 New Revision: 11817 Log: Tue Jan 13 15:19:59 CST 2009 Pekka Pessi * check_session.c: added a test case for sending re-INVITE w/o offer Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 10:56:57 2009 @@ -1605,6 +1605,43 @@ } END_TEST +START_TEST(call_2_6_4) +{ + nua_handle_t *nh; + struct message *invite, *ack; + + s2_case("2.6.4", "re-INVITEs w/o SDP", + "NUA sends re-INVITE w/o SDP, " + "receives SDP w/ offer, " + "sends ACK w/ answer, " + "sends BYE."); + + /* Bug reported by Liu Yang 2009-01-11 */ + nh = invite_to_nua(TAG_END()); + + nua_invite(nh, SIPTAG_PAYLOAD_STR(""), TAG_END()); + fail_unless(s2_check_callstate(nua_callstate_calling)); + invite = s2_wait_for_request(SIP_METHOD_INVITE); + fail_if(!invite); + fail_if(invite->sip->sip_content_type); + soa_generate_offer(soa, 1, NULL); + respond_with_sdp(invite, dialog, SIP_200_OK, TAG_END()); + s2_free_message(invite); + + ack = s2_wait_for_request(SIP_METHOD_ACK); + fail_if(!ack); + process_answer(ack); + s2_free_message(ack); + + fail_unless(s2_check_event(nua_r_invite, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + + bye_by_nua(nh, TAG_END()); + + nua_handle_destroy(nh); +} +END_TEST + TCase *reinvite_tcase(void) { TCase *tc = tcase_create("2.6 - re-INVITEs"); @@ -1614,6 +1651,7 @@ tcase_add_test(tc, call_2_6_1); tcase_add_test(tc, call_2_6_2); tcase_add_test(tc, call_2_6_3); + tcase_add_test(tc, call_2_6_4); } return tc; } From mikej at freeswitch.org Wed Feb 11 08:57:36 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:57:36 -0600 Subject: [Freeswitch-svn] [commit] r11818 - freeswitch/trunk/libs/sofia-sip/rules Message-ID: Author: mikej Date: Wed Feb 11 10:57:36 2009 New Revision: 11818 Log: add missing file Added: freeswitch/trunk/libs/sofia-sip/rules/silent.am Added: freeswitch/trunk/libs/sofia-sip/rules/silent.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/rules/silent.am Wed Feb 11 10:57:36 2009 @@ -0,0 +1,49 @@ +# Silent compilation w/ Automake 1.9 or 1.10 +# ---------------------------------------------------------- + +# Automake 1.9.6 is not clever enough to override suffix rules within if +# if SOFIA_COMPILE_SILENT + +SOFIA_SILENT=@ + +LIBTOOL_FLAGS = --silent + +# From Automake 1.9.6 - +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(LIBTOOL_FLAGS) \ + $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) + +LINK = ${SOFIA_SILENT}test ${SOFIA_SILENT} != @ || echo ' LINK $@'; \ + $(LIBTOOL) --tag=CC --mode=link $(LIBTOOL_FLAGS) \ + $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ + +# Rules from depend2.am (GENERIC = TRUE, SUBDIROBJ = FALSE, %FASTDEP% = am_fastdepCC) silenced. +.c.o: + @test ${SOFIA_SILENT} != @ || echo ' COMPILE $@' +if am__fastdepCC + ${SOFIA_SILENT}if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +else +if AMDEP + ${SOFIA_SILENT}source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + ${SOFIA_SILENT}DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + ${SOFIA_SILENT}$(COMPILE) -c -o $@ $< +endif + +.c.lo: + @test ${SOFIA_SILENT} != @ || echo ' LTCOMPILE $@' +if am__fastdepCC + ${SOFIA_SILENT}if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +else +if AMDEP + ${SOFIA_SILENT}source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ + ${SOFIA_SILENT}DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +endif + ${SOFIA_SILENT}$(LTCOMPILE) -c -o $@ $< +endif + +# endif From mikej at freeswitch.org Wed Feb 11 08:57:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:57:55 -0600 Subject: [Freeswitch-svn] [commit] r11819 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 10:57:55 2009 New Revision: 11819 Log: Tue Jan 13 16:20:06 CST 2009 Pekka Pessi * su_localinfo.c: using SU_LOCALINFO_TEST Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Wed Feb 11 10:57:55 2009 @@ -67,7 +67,11 @@ #include #endif -#if HAVE_GETIFADDRS +#if SU_LOCALINFO_TEST + +#undef USE_LOCALINFO0 + +#elif HAVE_GETIFADDRS #define USE_LOCALINFO0 1 #define localinfo0 bsd_localinfo @@ -81,6 +85,7 @@ static int win_localinfo(su_localinfo_t const *, su_localinfo_t **); #else +/* No localinfo0(), use localinfo4() and localinfo6() */ #undef USE_LOCALINFO0 static int localinfo4(su_localinfo_t const *, su_localinfo_t **); @@ -90,9 +95,13 @@ #endif +static int li_scope4(uint32_t ip4); +static int li_scope6(struct in6_addr const *ip6); + +#if !SU_LOCALINFO_TEST + static int li_name(su_localinfo_t const*, int, su_sockaddr_t const*, char **); static void li_sort(su_localinfo_t *i, su_localinfo_t **rresult); -static int li_scope4(uint32_t ip4); /** @brief Request local address information. * @@ -196,8 +205,13 @@ *hh = *hints; if (hh->li_canonname) hh->li_flags |= LI_CANONNAME; +#if 0 + /* hints->li_ifname is used to select by interface, + li_ifname is returned with LI_IFNAME flag + */ if ((hh->li_flags & LI_IFNAME) && hh->li_ifname == NULL) return ELI_BADHINTS; +#endif } switch (hh->li_family) { @@ -255,6 +269,8 @@ return error; } +#endif + /** Free local address information. * * Free a list of su_localinfo_t structures obtained with su_getlocalinfo() @@ -415,16 +431,17 @@ extern int su_get_local_ip_addr(su_sockaddr_t *su); #endif -#if USE_LOCALINFO0 +#if SU_LOCALINFO_TEST +#elif USE_LOCALINFO0 +/* no localinfo4 */ #elif HAVE_IFCONF #if __APPLE_CC__ /** Build a list of local IPv4 addresses and append it to *rresult. */ static int localinfo4(su_localinfo_t const *hints, su_localinfo_t **rresult) { - su_localinfo_t *tbf = NULL, **lli = &tbf; - su_localinfo_t *li = NULL, *li_first = NULL; + su_localinfo_t *li = NULL; su_sockaddr_t *su; int error = ELI_NOADDRESS; char *canonname = NULL; @@ -453,8 +470,8 @@ } - li = calloc(1, sizeof(su_localinfo_t)); - sa = calloc(1, sizeof(su_sockaddr_t)); + li = calloc(1, (sizeof *li) + (sizeof *sa)); + sa = (void *)(li + 1); error = getsockname(s, (struct sockaddr *) sa, &salen); if (error < 0 && errno == SOCKET_ERROR) { @@ -511,8 +528,7 @@ err: if (canonname) free(canonname); - if (li_first) free(li_first); - su_freelocalinfo(tbf); + if (li) free(li); su_close(s); return error; @@ -772,8 +788,7 @@ li->li_addrlen = su_sockaddr_size(su); li->li_addr = su; li->li_canonname = canonname; - if (hints->li_flags & LI_IFNAME) - li->li_ifname = if_name; + li->li_ifname = if_name; canonname = NULL; li_first = NULL; @@ -917,8 +932,8 @@ #endif -#if USE_LOCALINFO0 || !SU_HAVE_IN6 - +#if USE_LOCALINFO0 || !SU_HAVE_IN6 || SU_LOCALINFO_TEST +/* No localinfo6() */ #elif HAVE_PROC_NET_IF_INET6 /** Build a list of local IPv6 addresses and append it to *return_result. */ static @@ -1128,8 +1143,9 @@ } #endif - -#if HAVE_GETIFADDRS +#if !USE_LOCALINFO0 +/* no localinfo0() or bsd_localinfo() */ +#elif HAVE_GETIFADDRS #include @@ -1455,6 +1471,7 @@ } #elif HAVE_SIO_ADDRESS_LIST_QUERY + static int localinfo0(su_localinfo_t const *hints, su_localinfo_t **rresult) { @@ -1572,6 +1589,8 @@ } #endif +#if !SU_LOCALINFO_TEST + static int li_name(su_localinfo_t const *hints, int gni_flags, @@ -1639,6 +1658,8 @@ } } +#endif + /**Get local IP address. * * @deprecated From mikej at freeswitch.org Wed Feb 11 08:59:20 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:59:20 -0600 Subject: [Freeswitch-svn] [commit] r11820 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 10:59:20 2009 New Revision: 11820 Log: Tue Jan 13 16:20:56 CST 2009 Pekka Pessi * TPTAG_TLS_VERIFY_PEER() added in 1.12.10 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c Wed Feb 11 10:59:20 2009 @@ -291,6 +291,8 @@ * * Use with tport_tbind(), nua_create(), nta_agent_create(), * nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create(). + * + * @NEW_1_12_10. */ tag_typedef_t tptag_tls_verify_peer = UINTTAG_TYPEDEF(tls_verify_peer); From mikej at freeswitch.org Wed Feb 11 08:59:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 10:59:44 -0600 Subject: [Freeswitch-svn] [commit] r11821 - freeswitch/trunk/libs/sofia-sip/m4 Message-ID: Author: mikej Date: Wed Feb 11 10:59:44 2009 New Revision: 11821 Log: Tue Jan 13 16:21:44 CST 2009 Pekka Pessi * sac-su2.m4: check for strnlen(), do not check for strcasestr() Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 ============================================================================== --- freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 (original) +++ freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Wed Feb 11 10:59:44 2009 @@ -530,6 +530,7 @@ socketpair gethostname gethostbyname getipnodebyname \ poll epoll_create kqueue select if_nameindex \ signal alarm \ + strnlen \ getaddrinfo getnameinfo freeaddrinfo gai_strerror getifaddrs \ getline getdelim getpass]) # getline getdelim getpass are _GNU_SOURCE stuff @@ -548,7 +549,7 @@ [Define to 1 if you have if_nameindex().]) fi -SAC_REPLACE_FUNCS([memmem memccpy memspn memcspn strcasestr strtoull \ +SAC_REPLACE_FUNCS([memmem memccpy memspn memcspn strtoull \ inet_ntop inet_pton poll]) if test $ac_cv_func_signal = yes ; then From mikej at freeswitch.org Wed Feb 11 09:00:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:00:16 -0600 Subject: [Freeswitch-svn] [commit] r11822 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport Message-ID: Author: mikej Date: Wed Feb 11 11:00:16 2009 New Revision: 11822 Log: Tue Jan 13 16:22:39 CST 2009 Pekka Pessi * tport_type_tls.c, tport_tls.c: added Jarod Neuner as one of authors Cleaned whitespace, too. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:00:16 2009 @@ -1 +1 @@ -Wed Feb 11 10:55:01 CST 2009 +Wed Feb 11 11:00:10 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 11:00:16 2009 @@ -27,8 +27,7 @@ * * @author Mikko Haataja * @author Pekka Pessi - * - * Copyright 2001, 2002 Nokia Research Center. All rights reserved. + * @author Jarod Neuner * */ @@ -696,7 +695,7 @@ int events = su_wait_events(w, self->tp_socket); int error; - SU_DEBUG_7(("%s(%p): events%s%s%s%s\n", __func__, (void *)self, + SU_DEBUG_7(("%s(%p): events%s%s%s%s\n", __func__, (void *)self, events & (SU_WAIT_CONNECT) ? " CONNECTING" : "", events & SU_WAIT_IN ? " NEGOTIATING" : "", events & SU_WAIT_ERR ? " ERROR" : "", @@ -722,7 +721,7 @@ } if ((tls = tlstp->tlstp_context) == NULL) { - SU_DEBUG_3(("%s(%p): Error: no TLS context data for connected socket.\n", + SU_DEBUG_3(("%s(%p): Error: no TLS context data for connected socket.\n", __func__, tlstp)); tport_close(self); tport_set_secondary_timer(self); @@ -746,7 +745,7 @@ case SSL_ERROR_WANT_WRITE: /* OpenSSL is waiting for the peer to receive handshake data */ self->tp_events = SU_WAIT_IN | SU_WAIT_ERR | SU_WAIT_HUP | SU_WAIT_OUT; - su_root_eventmask(mr->mr_root, self->tp_index, + su_root_eventmask(mr->mr_root, self->tp_index, self->tp_socket, self->tp_events); return 0; @@ -761,7 +760,7 @@ self->tp_events = SU_WAIT_IN | SU_WAIT_ERR | SU_WAIT_HUP; if ((su_wait_create(wait, self->tp_socket, self->tp_events) == -1) || - ((self->tp_index = su_root_register(mr->mr_root, wait, tport_wakeup, + ((self->tp_index = su_root_register(mr->mr_root, wait, tport_wakeup, self, 0)) == -1)) { tport_close(self); tport_set_secondary_timer(self); @@ -773,7 +772,7 @@ self->tp_is_connected = 1; self->tp_verified = tls->verified; self->tp_subjects = tls->subject == NULL ? NULL : - su_strlst_dup(self->tp_home, tls->subject); + su_strlst_dup(self->tp_home, tls->subject); if (tport_has_queued(self)) tport_send_event(self); @@ -788,7 +787,7 @@ { char errbuf[64]; ERR_error_string_n(status, errbuf, 64); - SU_DEBUG_3(("%s(%p): TLS setup failed (%s)\n", + SU_DEBUG_3(("%s(%p): TLS setup failed (%s)\n", __func__, self, errbuf)); } break; @@ -801,4 +800,3 @@ return 0; } - Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 11:00:16 2009 @@ -31,6 +31,7 @@ * @author Tat Chan * @author Kai Vehmanen * @author Martti Mela + * @author Jarod Neuner * * @date Split here: Fri Mar 24 08:45:49 EET 2006 ppessi * @date Originally Created: Thu Jul 20 12:54:32 2000 ppessi @@ -554,7 +555,7 @@ /* Alloc a new transport object, then register socket events with it */ if ((self = tport_alloc_secondary(pri, s, 1, &reason)) == NULL) { SU_DEBUG_3(("%s(%p): incoming secondary on "TPN_FORMAT - " failed. reason = %s\n", __func__, pri, + " failed. reason = %s\n", __func__, pri, TPN_ARGS(pri->pri_primary->tp_name), reason)); return 0; } @@ -622,12 +623,12 @@ socklen_t susalen = sizeof(susa); if (getsockname(server_socket, &susa.su_sa, &susalen) < 0) { - SU_DEBUG_3(("%s(%p): getsockname(): %s\n", + SU_DEBUG_3(("%s(%p): getsockname(): %s\n", __func__, (void *)self, su_strerror(su_errno()))); } else { susa.su_port = 0; if (bind(s, &susa.su_sa, susalen) < 0) { - SU_DEBUG_3(("%s(%p): bind(local-ip): %s\n", + SU_DEBUG_3(("%s(%p): bind(local-ip): %s\n", __func__, (void *)self, su_strerror(su_errno()))); } } @@ -651,7 +652,7 @@ SU_DEBUG_5(("%s(%p): connecting to " TPN_FORMAT "\n", __func__, (void *)self, TPN_ARGS(self->tp_name))); - + tport_set_secondary_timer(self); return self; @@ -660,11 +661,10 @@ err = errno; if (SU_LOG_LEVEL >= errlevel) su_llog(tport_log, errlevel, "%s(%p): %s (pf=%d %s/%s): %s\n", - __func__, (void *)pri, what, ai->ai_family, tpn->tpn_proto, + __func__, (void *)pri, what, ai->ai_family, tpn->tpn_proto, tport_hostport(buf, sizeof(buf), (void *)ai->ai_addr, 2), su_strerror(err)); tport_zap_secondary(self); su_seterrno(err); return NULL; } - From mikej at freeswitch.org Wed Feb 11 09:00:43 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:00:43 -0600 Subject: [Freeswitch-svn] [commit] r11823 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:00:42 2009 New Revision: 11823 Log: Tue Jan 13 16:23:09 CST 2009 Pekka Pessi * su_inet_ntop(), su_inet_pton(): added in 1.12.9 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c Wed Feb 11 11:00:42 2009 @@ -44,6 +44,22 @@ * author: * Paul Vixie, 1996. */ + +/** inet_ntop() replacement. + * + * Convert a network format address to presentation format. + * + * @param af[in] address family + * @param src[in] network address to convert + * @param dst[out] return-value string + * @param size[in] maximum lenght of @a dst string + * + * @return Pointer to presentation format address (`dst'), or NULL (see errno). + * + * @author Paul Vixie, 1996. + * + * @NEW_1_12_9 + */ const char * su_inet_ntop(int af, void const *src, char *dst, size_t size) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c Wed Feb 11 11:00:42 2009 @@ -44,6 +44,25 @@ * author: * Paul Vixie, 1996. */ + +/** inet_pton() replacement. + * + * Convert from presentation format in @a src (which usually means ASCII printable) + * to network format in @a dst (which is usually some kind of binary format). + * + * @param af[in] address family + * @param src[in] string containing address to convert + * @param dst[out] return-value network address + * (struct in_addr or struct in_addr6) + * + * @retval 1 if the address was valid for the specified address family + * @retval 0 if the address wasn't valid (`dst' is untouched in this case) + * @retval -1 if some other error occurred (`dst' is untouched in this case, too) + * + * @author Paul Vixie, 1996. + * + * @NEW_1_12_9 + */ int su_inet_pton(int af, const char * src, void * dst) { From mikej at freeswitch.org Wed Feb 11 09:01:12 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:01:12 -0600 Subject: [Freeswitch-svn] [commit] r11824 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:01:12 2009 New Revision: 11824 Log: Tue Jan 13 16:23:40 CST 2009 Pekka Pessi * NUTAG_REFRESH_WITHOUT_SDP(): added in 1.12.10 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c Wed Feb 11 11:01:12 2009 @@ -1152,6 +1152,8 @@ * @sa #nua_r_update, NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(), * NUTAG_SESSION_REFRESHER(), NUTAG_UPDATE_REFRESH(), @RFC4028, * @SessionExpires, @MinSE + * + * @NEW_1_12_10 */ tag_typedef_t nutag_refresh_without_sdp = BOOLTAG_TYPEDEF(refresh_without_sdp); From mikej at freeswitch.org Wed Feb 11 09:01:43 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:01:43 -0600 Subject: [Freeswitch-svn] [commit] r11825 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 11:01:43 2009 New Revision: 11825 Log: Wed Jan 14 06:35:56 CST 2009 Pekka Pessi * nta_tag.c: updated tag documentation NTATAG_GRAYLIST added in 1.12,8, NTATAG_MAX_PROCEEDING() in 1.12.9, NTATAG_TLS_RPORT() in 1.12.10 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c Wed Feb 11 11:01:43 2009 @@ -418,6 +418,7 @@ * @par Values * - Maximum acceptable size of a queue (size_t). * + * @NEW_1_12_9 */ tag_typedef_t ntatag_max_proceeding = USIZETAG_TYPEDEF(max_proceeding); @@ -665,6 +666,8 @@ * - 600 (graylist server for 10 minutes) * * @sa NTATAG_BLACKLIST(), NTATAG_TIMEOUT_408() + * + * @NEW_1_12_8 */ tag_typedef_t ntatag_graylist = UINTTAG_TYPEDEF(graylist); @@ -1334,6 +1337,8 @@ * - 0 - do not use "rport" parameter * * @sa @RFC3581, NTATAG_CLIENT_RPORT(), NTATAG_TCP_RPORT(), NTATAG_TLS_RPORT(), @Via + * + * @since Tag type and NTATAG_SERVER_RPORT(2) was added in @VERSION_1_12_9. */ tag_typedef_t ntatag_server_rport = INTTAG_TYPEDEF(server_rport); @@ -1376,6 +1381,8 @@ * on client side * * @sa @RFC3581, NTATAG_CLIENT_RPORT(), NTATAG_SERVER_RPORT(), @Via + * + * @NEW_1_12_10 */ tag_typedef_t ntatag_tls_rport = BOOLTAG_TYPEDEF(tls_rport); From mikej at freeswitch.org Wed Feb 11 09:02:00 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:02:00 -0600 Subject: [Freeswitch-svn] [commit] r11826 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg Message-ID: Author: mikej Date: Wed Feb 11 11:02:00 2009 New Revision: 11826 Log: Thu Jan 15 06:48:04 CST 2009 Pekka Pessi * msg_parser.c: msg_header_add_format() added in 1.12.10 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c Wed Feb 11 11:02:00 2009 @@ -2736,6 +2736,8 @@ * * Parse result from printf-formatted params as a given header field and add * result to the message. + * + * @NEW_1_12_10 */ int msg_header_add_format(msg_t *msg, msg_pub_t *pub, From mikej at freeswitch.org Wed Feb 11 09:02:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:02:34 -0600 Subject: [Freeswitch-svn] [commit] r11827 - in freeswitch/trunk/libs/sofia-sip: . s2check Message-ID: Author: mikej Date: Wed Feb 11 11:02:34 2009 New Revision: 11827 Log: Thu Jan 15 08:40:56 CST 2009 Pekka Pessi * s2check: added Added: freeswitch/trunk/libs/sofia-sip/s2check/ freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am freeswitch/trunk/libs/sofia-sip/s2check/s2_localinfo.c freeswitch/trunk/libs/sofia-sip/s2check/s2check.h freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c Modified: freeswitch/trunk/libs/sofia-sip/configure.ac Modified: freeswitch/trunk/libs/sofia-sip/configure.ac ============================================================================== --- freeswitch/trunk/libs/sofia-sip/configure.ac (original) +++ freeswitch/trunk/libs/sofia-sip/configure.ac Wed Feb 11 11:02:34 2009 @@ -337,6 +337,7 @@ libsofia-sip-ua/url/Doxyfile libsofia-sip-ua/url/Makefile libsofia-sip-ua/features/sofia-sip/sofia_features.h +s2check/Makefile libsofia-sip-ua-glib/Makefile libsofia-sip-ua-glib/su-glib/Makefile libsofia-sip-ua-glib/su-glib/Doxyfile Added: freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am Wed Feb 11 11:02:34 2009 @@ -0,0 +1,37 @@ +# +# Makefile.am for Sofia-SIP module and unit testing +# +# Copyright (C) 2009 Nokia Corporation +# Contact: Pekka Pessi +# Licensed under LGPL. See file COPYING. + +# ---------------------------------------------------------------------- +# Header paths + +INCLUDES = $(INTERNAL_INCLUDES) + +# ---------------------------------------------------------------------- +# Build targets + +noinst_LIBRARIES = libs2.a + +# ---------------------------------------------------------------------- +# Rules for building the targets + +libs2_a_SOURCES = s2check.h s2tcase.c \ + s2_localinfo.h s2_localinfo.c + +# ---------------------------------------------------------------------- +# Install and distribution rules + +EXTRA_DIST = + +# ---------------------------------------------------------------------- +# Tests + +TESTS = + +# ---------------------------------------------------------------------- +# Sofia specific rules + +include $(top_srcdir)/rules/sofia.am Added: freeswitch/trunk/libs/sofia-sip/s2check/s2_localinfo.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2_localinfo.c Wed Feb 11 11:02:34 2009 @@ -0,0 +1,205 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@CFILE s2_localinfo.c + * + * @brief s2_localinfo() stub returning well-known addresses for testing. + * + * @author Pekka Pessi + */ + +#include "config.h" + +#include +#include +#include + +#include +#include + +#define SU_LOCALINFO_TEST 1 + +#define su_getlocalinfo s2_getlocalinfo +#define su_freelocalinfo s2_freelocalinfo +#define su_gli_strerror s2_gli_strerror +#define su_copylocalinfo s2_copylocalinfo +#define su_sockaddr_scope s2_sockaddr_scope +#define su_getlocalip s2_getlocalip + +#include "su_localinfo.c" + +static char const *default_ifaces[] = { + "lo0\0" "127.0.0.1\0" "::1\0", + NULL +}; + +static char const **ifaces = default_ifaces; + +void s2_localinfo_ifaces(char const **replace_ifaces) +{ + ifaces = replace_ifaces; +} + +int +s2_getlocalinfo(su_localinfo_t const *hints, + su_localinfo_t **return_localinfo) +{ + int error = 0, ip4 = 0, ip6 = 0, i; + su_localinfo_t *result = NULL, **rr = &result; + su_localinfo_t hh[1] = {{ 0 }}; + + assert(return_localinfo); + + *return_localinfo = NULL; + + if (hints) { + /* Copy hints so that it can be modified */ + *hh = *hints; + if (hh->li_canonname) + hh->li_flags |= LI_CANONNAME; + } + + hints = hh; + + switch (hh->li_family) { +#if SU_HAVE_IN6 + case AF_INET6: + if (hh->li_flags & LI_V4MAPPED) + ip6 = ip4 = 1, hh->li_family = 0; + else + ip6 = 1; + break; +#endif + + case AF_INET: + ip4 = 1; + break; + + case 0: + ip6 = ip4 = 1; + break; + + default: + return -1; + } + + for (i = 0; ifaces[i]; i++) { + char const *iface = ifaces[i], *address = iface; + su_sockaddr_t su[1]; + + for (;(address += strlen(address) + 1)[0];) { + su_localinfo_t *li = NULL; + int scope = 0; + + memset(su, 0, sizeof su); + + if (0) + ; +#if SU_HAVE_IN6 + else if (ip4 && + (hints->li_flags & LI_V4MAPPED) != 0 && + host_is_ip4_address(address)) { + int32_t mapped; + su->su_len = (sizeof su->su_sin6); + su_inet_pton(su->su_family = AF_INET6, + address, + &mapped); + ((int32_t*)&su->su_sin6.sin6_addr)[2] = htonl(0xffff); + ((int32_t*)&su->su_sin6.sin6_addr)[3] = mapped; + scope = li_scope4(mapped); + } + else if (ip6 && host_is_ip6_address(address)) { + su->su_len = (sizeof su->su_sin6); + su_inet_pton(su->su_family = AF_INET6, + address, + &su->su_sin6.sin6_addr); + scope = li_scope6(&su->su_sin6.sin6_addr); + } +#endif + else if (ip4 && host_is_ip4_address(address)) { + su->su_len = (sizeof su->su_sin); + su_inet_pton(su->su_family = AF_INET, + address, + &su->su_sin.sin_addr); + scope = li_scope4(su->su_sin.sin_addr.s_addr); + } + else + continue; + + if (scope == 0) + continue; + if (hints->li_scope && (hints->li_scope & scope) == 0) + continue; + if (hints->li_index && hints->li_index != i + 1) + continue; + if (hints->li_ifname && strcmp(hints->li_ifname, iface) != 0) + continue; + if (hints->li_family && hints->li_family != su->su_family) + continue; + if (hints->li_canonname && !su_casematch(address, hints->li_canonname)) + continue; + + li = calloc(1, (sizeof *li) + (sizeof *su) + strlen(iface) + 1); + li->li_family = su->su_family; + li->li_scope = scope; + li->li_index = i + 1; + li->li_addrlen = su_sockaddr_size(su); + li->li_addr = memcpy((li + 1), su, (sizeof *su)); + if (hints->li_flags & LI_IFNAME) + li->li_ifname = strcpy((char *)li->li_addr + li->li_addrlen, iface); + + if ((hints->li_flags & LI_CANONNAME) || hints->li_canonname) { + li->li_flags |= LI_NUMERIC; + li->li_canonname = su_strdup(NULL, address); + } + +#define LI_MAPPED(li) \ + ((li)->li_family == AF_INET6 && \ + (IN6_IS_ADDR_V4MAPPED(&(li)->li_addr->su_sin6.sin6_addr) || \ + IN6_IS_ADDR_V4COMPAT(&(li)->li_addr->su_sin6.sin6_addr))) + + /* Insert according to scope, mappedness and family */ + for (rr = &result; *rr; rr = &(*rr)->li_next) { + if ((*rr)->li_scope < li->li_scope) + break; +#if SU_HAVE_IN6 + if (LI_MAPPED(*rr) > LI_MAPPED(li)) + break; +#endif + if ((*rr)->li_family < li->li_family) + break; + } + li->li_next = *rr; + *rr = li; + } + } + + *return_localinfo = result; + + if (result == NULL) + error = ELI_NOADDRESS; + + return error; +} + Added: freeswitch/trunk/libs/sofia-sip/s2check/s2check.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2check.h Wed Feb 11 11:02:34 2009 @@ -0,0 +1,50 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef S2CHECK_H +/** Defined when has been included. */ +#define S2CHECK_H + +/**@internal @file s2check.h + * + * @brief Check-based testing + * + * @author Pekka Pessi + */ + +#include + +SOFIA_BEGIN_DECLS + +#undef tcase_add_test +/* Redirect tcase_add_test() to our function */ +#define tcase_add_test(tc, tf) s2_tcase_add_test(tc, tf, "" #tf "") + +void s2_tcase_add_test(TCase *, TFun, char const *name); + + + +SOFIA_END_DECLS + +#endif /* S2CHECK_H */ Added: freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c Wed Feb 11 11:02:34 2009 @@ -0,0 +1,104 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#include "config.h" + +#if HAVE_CHECK + +#if HAVE_FNMATCH_H +#include +#endif + +static char const * const default_patterns[] = { "*", NULL }; +static char const * const *test_patterns = default_patterns; + +#undef tcase_add_test + +/** tcase_add_test() replacement. + * + * A special version of tcase_add_test() that inserts test function into + * tcase only if its name matches given pattern. + */ +void s2_tcase_add_test(TCase *tc, TFun tf, char const *name) +{ + char const * const *patterns; + +#if HAVE_FNMATCH_H + for (patterns = test_patterns; *patterns; patterns++) { + if (!fnmatch(*patterns, name, 0)) { + if (strcmp(*patterns, "*")) { + printf("%s: running\n", name); + } + tcase_add_test(tc, tf, name, 0, 0, 1); + return; + } + } +#else + for (patterns = test_patterns; *patterns; patterns++) { + if (!strcmp(*patterns, name) || !strcmp(*patterns, "*")) { + if (strcmp(*patterns, "*")) { + printf("%s: running\n", name); + } + tcase_add_test(tc, tf, name, 0, 0, 1); + return; + } + } +#endif +} + +/** Select tests based on pattern. + * + * Allow easy selection of test cases to run. Pattern can be a shell glob, + * or consists of multiple comma-separated patterns. + */ +void s2_select_tests(char const *pattern) +{ + size_t i; + char *cases, *s, **patterns; + + if (!pattern) + return; + + cases = strdup(pattern); + + /* Count commas */ + for (i = 2, s = cases; (s = strchr(s, ',')); s++) + i++; + + patterns = calloc(i, sizeof *patterns); + + /* Split by commas */ + for (i = 0, s = cases;; i++) { + patterns[i] = s; + if (s == NULL) + break; + s = strchr(s, ','); + if (s) + *s++ = '\0'; + } + + test_patterns = (char const * const *)patterns; +} + +#endif /* HAVE_CHECK */ From mikej at freeswitch.org Wed Feb 11 09:02:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:02:55 -0600 Subject: [Freeswitch-svn] [commit] r11828 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs Message-ID: Author: mikej Date: Wed Feb 11 11:02:55 2009 New Revision: 11828 Log: Thu Jan 15 09:33:08 CST 2009 Pekka Pessi * Doxyfile.aliases: added @NEW_1_12_11, @VERSION_1_12_11 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases Wed Feb 11 11:02:55 2009 @@ -58,6 +58,8 @@ "NEW_1_12_9=@since New in 1.12.9" \ "VERSION_1_12_10=1.12.10" \ "NEW_1_12_10=@since New in 1.12.10" \ + "VERSION_1_12_11=1.12.11" \ + "NEW_1_12_11=@since New in 1.12.11" \ "VERSION_UNRELEASED=UNRELEASED" \ "NEW_UNRELEASED=@since Not yet released" \ From mikej at freeswitch.org Wed Feb 11 09:03:30 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:03:30 -0600 Subject: [Freeswitch-svn] [commit] r11829 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/sip Message-ID: Author: mikej Date: Wed Feb 11 11:03:30 2009 New Revision: 11829 Log: Thu Jan 15 09:38:34 CST 2009 Bernhard Suttner * sip_util.c: fix 484 respose to REFER in sip_response_terminates_dialog() Asterisk (v 1.2.7.1) does response with 484 if a client does send a refer with a @ReferTo header to an unknown number. This is therefore not fundamentally wrong and the dialog should not be destroyed! Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:03:30 2009 @@ -1 +1 @@ -Wed Feb 11 11:00:10 CST 2009 +Wed Feb 11 11:03:24 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c Wed Feb 11 11:03:30 2009 @@ -1164,14 +1164,25 @@ return 0; case 484: /* Address Incomplete */ - case 485: /* Ambiguous */ /** @par 484 Address Incomplete and 485 Ambiguous Similar to 404 and 410, these responses came to a request whose Request-URI was provided by the peer in a @Contact header field. Something has gone fundamentally wrong, and the dialog and all of its usages are destroyed. - */ + + Asterisk (v 1.2.7.1) does response with 484 if a client does send a refer + with a @ReferTo header to an unknown number. This is therefore not + fundamentally wrong and the dialog should not be destroyed! + */ + if (method == sip_method_refer) + { + *return_graceful_terminate_usage = 0; + return 0; + } + + case 485: /* Ambiguous */ + return terminate_dialog; case 486: /** @par 486 Busy Here From mikej at freeswitch.org Wed Feb 11 09:03:59 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:03:59 -0600 Subject: [Freeswitch-svn] [commit] r11830 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/tport libsofia-sip-ua/tport/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:03:59 2009 New Revision: 11830 Log: Thu Jan 15 09:50:45 CST 2009 Jarod Neuner * TLS Subject Checking in tport sofia-sip/tport.h: * tport_delivered_from_subjects() returns type (su_strlst_t const *) * Export tport_subject_search() sofia-sip/tport_tag.h + tport_tag.c: * Remove TPTAG_TLS_VERIFY_PEER() - Depreciated. Use TPTAG_TLS_VERIFY_POLICY instead. - Binary Compatibility is preserved. * Add TPTAG_TLS_VERIFY_POLICY() - tport can verify incoming and/or outgoing connections, using: 1) Certificate Signatures only - or - 2) Certificate Signatures and Certificate Subjects * Add TPTAG_TLS_VERIFY_DEPTH() - Restrict certificate chain verification to a set length. * Add TPTAG_TLS_VERIFY_DATE() - Disable notBefore/notAfter checking (application: embedded devices) * Add TPTAG_TLS_VERIFY_SUBJECTS() - Incoming connections must present client certificates with subjects that match an item in this list. - Intended Use: Proxy Authentication * Replaced TPTAG_TRUSTED() with TPTAG_X509_SUBJECT() - Commented out for future use. - Intended Use: SIP User Identities in Server Certificates. * Add appropriate doxygen documentation. tport.c * Add tport_subject_search() - Subject can be a hostname, IP Address, or a URI. - Valid subject examples include: example.com alice at example.com sip:alice at example.com sips:alice at example.com * tport_by_addrinfo() matches tpn_canon against the subject list of reusable TLS connections. tport_tls.h: * Add tls_init_secondary() * Remove tls_init_slave() & tls_init_client() tport_tls.c: * tls_verify_cb() supports TPTAG_TLS_VERIFY_DATE() * tls_post_connection_check() verifies certificate subjects. * tls_init_secondary() - Replaces tls_init_slave(), tls_init_client(), and tls_clone(). tport_type_tls.c: * Removed erroneous reference to tport_tls_deliver() * Fix a memory leak caused by duplicate calls to tls_clone(). * Populate the (tport_t *)->tp_subjects field with peer certificate data for new secondary connections. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:03:59 2009 @@ -1 +1 @@ -Wed Feb 11 11:03:24 CST 2009 +Wed Feb 11 11:03:50 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h Wed Feb 11 11:03:59 2009 @@ -339,7 +339,11 @@ tp_name_t name[1]); /** Return TLS Subjects provided by the source transport */ -TPORT_DLL su_strlst_t *tport_delivered_from_subjects(tport_t *tp, msg_t const *msg); +TPORT_DLL su_strlst_t const *tport_delivered_from_subjects(tport_t *tp, + msg_t const *msg); + +/** Check if the given subject string is found in su_strlst_t */ +TPORT_DLL int tport_subject_search(char const *, su_strlst_t const *); /** Check if transport named is already resolved */ TPORT_DLL int tport_name_is_resolved(tp_name_t const *); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h Wed Feb 11 11:03:59 2009 @@ -186,18 +186,59 @@ TPORT_DLL extern tag_typedef_t tptag_tls_version_ref; #define TPTAG_TLS_VERSION_REF(x) tptag_tls_version_ref, tag_uint_vr(&(x)) +enum tport_tls_verify_policy { + TPTLS_VERIFY_NONE = 0x0, + TPTLS_VERIFY_INCOMING = 0x1, + TPTLS_VERIFY_IN = 0x1, + TPTLS_VERIFY_OUTGOING = 0x2, + TPTLS_VERIFY_OUT = 0x2, + TPTLS_VERIFY_ALL = 0x3, + TPTLS_VERIFY_SUBJECTS_IN = 0x5, /* 0x4 | TPTLS_VERIFY_INCOMING */ + TPTLS_VERIFY_SUBJECTS_OUT = 0xA, /* 0x8 | TPTLS_VERIFY_OUTGOING */ + TPTLS_VERIFY_SUBJECTS_ALL = 0xF, +}; + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_policy; +#define TPTAG_TLS_VERIFY_POLICY(x) tptag_tls_verify_policy, tag_uint_v((x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_policy_ref; +#define TPTAG_TLS_VERIFY_POLICY_REF(x) tptag_tls_verify_policy_ref, tag_uint_vr(&(x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_depth; +#define TPTAG_TLS_VERIFY_DEPTH(x) tptag_tls_verify_depth, tag_uint_v((x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_depth_ref; +#define TPTAG_TLS_VERIFY_DEPTH_REF(x) \ + tptag_tls_verify_depth_ref, tag_uint_vr(&(x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_date; +#define TPTAG_TLS_VERIFY_DATE(x) tptag_tls_verify_date, tag_uint_v((x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_date_ref; +#define TPTAG_TLS_VERIFY_DATE_REF(x) \ + tptag_tls_verify_date_ref, tag_uint_vr(&(x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_subjects; +#define TPTAG_TLS_VERIFY_SUBJECTS(x) tptag_tls_verify_subjects, tag_cptr_v((x)) + +TPORT_DLL extern tag_typedef_t tptag_tls_verify_subjects_ref; +#define TPTAG_TLS_VERIFY_SUBJECTS_REF(x) \ + tptag_tls_verify_subjects_ref, tag_cptr_vr(&(x), (x)) + +/* TPTAG_TLS_VERIFY_PEER is depreciated - Use TPTAG_TLS_VERIFY_POLICY */ TPORT_DLL extern tag_typedef_t tptag_tls_verify_peer; -#define TPTAG_TLS_VERIFY_PEER(x) tptag_tls_verify_peer, tag_uint_v((x)) +#define TPTAG_TLS_VERIFY_PEER(x) TPTAG_TLS_VERIFY_POLICY( (x) ? \ + TPTLS_VERIFY_ALL : TPTLS_VERIFY_NONE) TPORT_DLL extern tag_typedef_t tptag_tls_verify_peer_ref; #define TPTAG_TLS_VERIFY_PEER_REF(x) tptag_tls_verify_peer_ref, tag_uint_vr(&(x)) #if 0 -TPORT_DLL extern tag_typedef_t tptag_trusted; -#define TPTAG_TRUSTED(x) tptag_trusted, tag_bool_v((x)) +TPORT_DLL extern tag_typedef_t tport_x509_subject; +#define TPTAG_X509_SUBJECT(x) tptag_x509_subject, tag_str_v((x)) -TPORT_DLL extern tag_typedef_t tptag_trusted_ref; -#define TPTAG_TRUSTED_REF(x) tptag_trusted_ref, tag_bool_vr(&(x)) +TPORT_DLL extern tag_typedef_t tptag_x509_subject_ref; +#define TPTAG_X509_SUBJECT_REF(x) tptag_x509_subject_ref, tag_str_vr(&(x)) #endif TPORT_DLL extern tag_typedef_t tptag_debug_drop; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c Wed Feb 11 11:03:59 2009 @@ -273,7 +273,7 @@ /** Return true if transport certificate verified successfully */ int tport_is_verified(tport_t const *self) { - return tport_has_tls(self) && self->tp_verified; + return tport_has_tls(self) && self->tp_is_connected && self->tp_verified; } /** Return true if transport is being updated. */ @@ -1465,8 +1465,8 @@ * * @TAGS * TPTAG_SERVER(), TPTAG_PUBLIC(), TPTAG_IDENT(), TPTAG_HTTP_CONNECT(), - * TPTAG_CERTIFICATE(), TPTAG_TLS_VERSION(), TPTAG_TLS_VERIFY_PEER, and tags used with - * tport_set_params(), especially TPTAG_QUEUESIZE(). + * TPTAG_CERTIFICATE(), TPTAG_TLS_VERSION(), TPTAG_TLS_VERIFY_POLICY, and + * tags used with tport_set_params(), especially TPTAG_QUEUESIZE(). */ int tport_tbind(tport_t *self, tp_name_t const *tpn, @@ -3045,7 +3045,7 @@ } /** Return TLS Subjects provided by the source transport */ -su_strlst_t *tport_delivered_from_subjects(tport_t *tp, msg_t const *msg) +su_strlst_t const *tport_delivered_from_subjects(tport_t *tp, msg_t const *msg) { if (tp && msg && msg == tp->tp_master->mr_delivery->d_msg) { tport_t *tp_sec = tp->tp_master->mr_delivery->d_tport; @@ -3069,6 +3069,57 @@ return 0; } +/** Search for subject in list of TLS Certificate subjects */ +int +tport_subject_search(char const *subject, su_strlst_t const *lst) +{ + int idx, ilen; + const char *subjuri; + + if (!subject || su_strmatch(tpn_any, subject)) + return 1; + + if (!lst) + return 0; + + /* Check if subject is a URI */ + if (su_casenmatch(subject,"sip:",4) || su_casenmatch(subject,"sips:",5)) + subjuri = subject + su_strncspn(subject,5,":") + 1; + else + subjuri = NULL; + + ilen = su_strlst_len(lst); + + for (idx = 0; idx < ilen; idx++) { + const char *lsturi, *lststr; + + lststr = su_strlst_item(lst, idx); + + /* check if lststr is a URI (sips URI is an unacceptable cert subject) */ + if (su_casenmatch(lststr,"sip:",4)) + lsturi = lststr + su_strncspn(lststr,4,":") + 1; + else + lsturi = NULL; + + + /* Match two SIP Server Identities */ + if (host_cmp(subjuri ? subjuri : subject, lsturi ? lsturi : lststr) == 0) + return 1; +#if 0 + /* XXX - IETF drafts forbid wildcard certs */ + if (!subjuri && !lsturi && su_strnmatch("*.", lststr, 2)) { + size_t urioffset = su_strncspn(subject, 64, "."); + if (urioffset) { + if (su_casematch(subject + urioffset, lststr+1)) + return 1; + } + } +#endif + } + + return 0; +} + /** Allocate message for N bytes, * return message buffer as a iovec */ @@ -3152,7 +3203,7 @@ * * @TAGS * TPTAG_MTU(), TPTAG_REUSE(), TPTAG_CLOSE_AFTER(), TPTAG_SDWN_AFTER(), - * TPTAG_FRESH(), TPTAG_COMPARTMENT(). + * TPTAG_FRESH(), TPTAG_COMPARTMENT(), TPTAG_X509_SUBJECT() */ tport_t *tport_tsend(tport_t *self, msg_t *msg, @@ -4581,6 +4632,13 @@ if (tport_is_shutdown(sub)) continue; + if (tport_has_tls(sub) && !su_casematch(tpn->tpn_canon, sub->tp_name->tpn_canon)) { + if (!tport_is_verified(sub)) + continue; + if (!tport_subject_search(tpn->tpn_canon, sub->tp_subjects)) + continue; + } + if (comp != sub->tp_name->tpn_comp) continue; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h Wed Feb 11 11:03:59 2009 @@ -181,8 +181,10 @@ su_strlst_t *tp_subjects; /**< Transport Subjects. * - * Subject Name(s) provided by the - * peer in a TLS connection (if secondary). + * Subject Name(s) provided by the peer + * in a TLS connection (if secondary). + * or matched against incoming + * connections (if primary). */ #define tp_protoname tp_name->tpn_proto Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c Wed Feb 11 11:03:59 2009 @@ -281,20 +281,137 @@ tag_typedef_t tptag_tls_version = UINTTAG_TYPEDEF(tls_version); /**@def TPTAG_TLS_VERIFY_PEER(x) + * @par Depreciated: + * Alias for TPTAG_TLS_VERIFY_POLICY(TPTLS_VERIFY_IN|TPTLS_VERIFY_OUT) + * + * @NEW_1_12_10. + */ +tag_typedef_t tptag_tls_verify_peer = UINTTAG_TYPEDEF(tls_verify_peer); + +/**@def TPTAG_TLS_VERIFY_POLICY(x) * * The verification of certificates can be controlled: - * 0: no verify certificates; - * 1: on server mode, the certificate returned by client is checked - * if fail the TLS/SSL handshake is immediately terminated; - * 1: on client mode, the server certificate is verified - * if fail the TLS/SSL handshake is immediately terminated; + * @par Values: + * - #TPTLS_VERIFY_NONE: + * Do not verify Peer Certificates. + * - #TPTLS_VERIFY_IN: + * Drop incoming connections which fail signature verification + * against trusted certificate authorities. Peers must provide a + * certificate during the initial TLS Handshake. + * - #TPTLS_VERIFY_OUT: + * Drop outgoing connections which fail signature verification + * against trusted certificate authorities. + * - #TPTLS_VERIFY_ALL: + * Alias for (TPTLS_VERIFY_IN|TPTLS_VERIFY_OUT) + * - #TPTLS_VERIFY_SUBJECTS_IN: + * Match the certificate subject on incoming connections against + * a provided list. If no match is found, the connection is + * rejected. If no list is provided, subject checking is bypassed. + * Note: Implies #TPTLS_VERIFY_IN. + * - #TPTLS_VERIFY_SUBJECTS_OUT: + * Match the certificate subject on outgoing connections against + * a provided list. If no match is found, the connection is + * rejected. + * Note: Implies #TPTLS_VERIFY_OUT. + * - #TPTLS_VERIFY_SUBJECTS_ALL: + * Alias for (TPTLS_VERIFY_SUBJECTS_IN|TPTLS_VERIFY_SUBJECTS_OUT) * - * Use with tport_tbind(), nua_create(), nta_agent_create(), - * nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create(). + * @par Used with + * tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), + * nth_engine_create(), initial nth_site_create(), + * TPTAG_TLS_VERIFY_SUBJECTS(), TPTAG_TLS_VERIFY_DEPTH(). * - * @NEW_1_12_10. + * @NEW_1_12_11. */ -tag_typedef_t tptag_tls_verify_peer = UINTTAG_TYPEDEF(tls_verify_peer); +tag_typedef_t tptag_tls_verify_policy = UINTTAG_TYPEDEF(tls_verify_policy); + +/**@def TPTAG_TLS_VERIFY_DEPTH(x) + * + * Define the maximum length of a valid certificate chain. + * + * @par Default + * 2 + * + * @par Used with + * tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), + * nth_engine_create(), or initial nth_site_create(). + * + * @par Parameter Type: + * unsigned int + * + * @NEW_1_12_11. + */ +tag_typedef_t tptag_tls_verify_depth = UINTTAG_TYPEDEF(tls_verify_depth); + +/**@def TPTAG_TLS_VERIFY_DATE(x) + * + * Enable/Disable verification of notBefore and notAfter parameters of + * X.509 Certificates. + * + * @par Default + * Enabled + * + * @par Values + * - 0 - Disable date verification. + * - Non-Zero - Enable date verification. + * + * @par Used with + * tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), + * nth_engine_create(), or initial nth_site_create(). + * + * @par Parameter Type: + * unsigned int + * + * @par Note + * This tag should be only used on devices which lack accurate timekeeping. + * + * @NEW_1_12_11. + */ +tag_typedef_t tptag_tls_verify_date = UINTTAG_TYPEDEF(tls_verify_date); + +/**@def TPTAG_TLS_VERIFY_SUBJECTS(x) + * + * Incoming TLS connections must provide a trusted X.509 certificate. + * The character strings provided with this tag are matched against + * the subjects from the trusted certificate. If a match is not found, + * the connection is automatically rejected. + * + * @par Used with + * tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), + * nth_engine_create(), initial nth_site_create(), + * TPTLS_VERIFY_SUBJECTS_IN + * + * @par Parameter Type: + * void const * (actually su_strlst_t const *) + * + * @par Values + * - SIP Identity - sip:example.com or sip:username at example.com + * - DNS - sip.example.com + * - IP Address - Both IPv4 and IPv6 Supported + * + * @NEW_1_12_11. + */ +tag_typedef_t tptag_tls_verify_subjects = PTRTAG_TYPEDEF(tls_verify_subjects); + +#if 0 +/**@def TPTAG_X509_SUBJECT(x) + * + * Requires that a message be sent over a TLS transport with trusted X.509 + * certificate. The character string provided must match against a subject + * from the trusted certificate. + * + * @par Used with + * tport_tsend(), TPTLS_VERIFY_SUBJECTS_OUT + * + * @par Parameter Type: + * char const * + * + * @par Values + * - Refer to TPTAG_TLS_VERIFY_SUBJECTS() + * + * @note Not Implemented. + */ +#endif /**@def TPTAG_QUEUESIZE(x) * Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 11:03:59 2009 @@ -56,7 +56,6 @@ #include #include #include -#include #if HAVE_SIGPIPE #include @@ -65,6 +64,7 @@ #include "tport_tls.h" char const tls_version[] = OPENSSL_VERSION_TEXT; +int tls_ex_data_idx = -1; /* see SSL_get_ex_new_index(3ssl) */ enum { tls_master = 0, tls_slave = 1}; @@ -75,9 +75,12 @@ BIO *bio_con; unsigned int type:1, accept:1, - verify_outgoing:1, verify_incoming:1, - verified:1; + verify_outgoing:1, + verify_subj_in:1, + verify_subj_out:1, + verify_date:1, + x509_verified:1; /* Receiving */ int read_events; @@ -90,7 +93,7 @@ size_t write_buffer_len; /* Host names */ - su_strlst_t *subject; + su_strlst_t *subjects; }; enum { tls_buffer_size = 16384 }; @@ -162,13 +165,44 @@ X509 *cert = X509_STORE_CTX_get_current_cert(store); int depth = X509_STORE_CTX_get_error_depth(store); int err = X509_STORE_CTX_get_error(store); + int sslidx = SSL_get_ex_data_X509_STORE_CTX_idx(); + SSL *ssl = X509_STORE_CTX_get_ex_data(store, sslidx); + tls_t *tls = SSL_get_ex_data(ssl, tls_ex_data_idx); + + assert(tls); + +#define TLS_VERIFY_CB_CLEAR_ERROR(OK,ERR,STORE) \ + do {\ + OK = 1;\ + ERR = X509_V_OK;\ + X509_STORE_CTX_set_error(STORE,ERR);\ + } while (0) + + if (tls->accept && !tls->verify_incoming) + TLS_VERIFY_CB_CLEAR_ERROR(ok, err, store); + else if (!tls->accept && !tls->verify_outgoing) + TLS_VERIFY_CB_CLEAR_ERROR(ok, err, store); + else switch (err) { + case X509_V_ERR_CERT_NOT_YET_VALID: + case X509_V_ERR_CERT_HAS_EXPIRED: + case X509_V_ERR_CRL_NOT_YET_VALID: + case X509_V_ERR_CRL_HAS_EXPIRED: + if (!tls->verify_date) + TLS_VERIFY_CB_CLEAR_ERROR(ok, err, store); + + default: + break; + } + + if (!ok) { + SU_DEBUG_3(("-Error with certificate at depth: %i\n", depth)); + X509_NAME_oneline(X509_get_issuer_name(cert), data, 256); + SU_DEBUG_3((" issuer = %s\n", data)); + X509_NAME_oneline(X509_get_subject_name(cert), data, 256); + SU_DEBUG_3((" subject = %s\n", data)); + SU_DEBUG_3((" err %i:%s\n", err, X509_verify_cert_error_string(err))); + } - SU_DEBUG_1(("-Error with certificate at depth: %i\n", depth)); - X509_NAME_oneline(X509_get_issuer_name(cert), data, 256); - SU_DEBUG_1((" issuer = %s\n", data)); - X509_NAME_oneline(X509_get_subject_name(cert), data, 256); - SU_DEBUG_1((" subject = %s\n", data)); - SU_DEBUG_1((" err %i:%s\n", err, X509_verify_cert_error_string(err))); } return ok; @@ -178,11 +212,14 @@ int tls_init_context(tls_t *tls, tls_issues_t const *ti) { static int initialized = 0; + int verify; if (!initialized) { initialized = 1; SSL_library_init(); SSL_load_error_strings(); + tls_ex_data_idx = SSL_get_ex_new_index(0, \ + "sofia-sip private data", NULL, NULL, NULL); if (ti->randFile && !RAND_load_file(ti->randFile, 1024 * 1024)) { @@ -267,13 +304,20 @@ return -1; } - SSL_CTX_set_verify_depth(tls->ctx, ti->verify_depth); - - SSL_CTX_set_verify(tls->ctx, - ti->verify_peer == 1 ? SSL_VERIFY_PEER : SSL_VERIFY_NONE, - tls_verify_cb); + /* corresponds to (enum tport_tls_verify_policy) */ + tls->verify_incoming = (ti->policy & 0x1) ? 1 : 0; + tls->verify_outgoing = (ti->policy & 0x2) ? 1 : 0; + tls->verify_subj_in = (ti->policy & 0x4) ? tls->verify_incoming : 0; + tls->verify_subj_out = (ti->policy & 0x8) ? tls->verify_outgoing : 0; + tls->verify_date = (ti->verify_date) ? 1 : 0; + + if (tls->verify_incoming) + verify = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT; + else + verify = SSL_VERIFY_NONE; - tls->verify_incoming = tls->verify_outgoing = ti->verify_peer ? 1 : 0; + SSL_CTX_set_verify_depth(tls->ctx, ti->verify_depth); + SSL_CTX_set_verify(tls->ctx, verify, tls_verify_cb); if (!SSL_CTX_set_cipher_list(tls->ctx, ti->cipher)) { SU_DEBUG_1(("%s: error setting cipher list\n", "tls_init_context")); @@ -360,13 +404,20 @@ return tls; } -tls_t *tls_clone(tls_t *master, int sock, int accept) +tls_t *tls_init_secondary(tls_t *master, int sock, int accept) { tls_t *tls = tls_create(tls_slave); if (tls) { tls->ctx = master->ctx; + tls->type = master->type; tls->accept = accept ? 1 : 0; + tls->verify_outgoing = master->verify_outgoing; + tls->verify_incoming = master->verify_incoming; + tls->verify_subj_out = master->verify_subj_out; + tls->verify_subj_in = master->verify_subj_in; + tls->verify_date = master->verify_date; + tls->x509_verified = master->x509_verified; if (!(tls->read_buffer = su_alloc(tls->home, tls_buffer_size))) su_home_unref(tls->home), tls = NULL; @@ -380,7 +431,7 @@ tls->con = SSL_new(tls->ctx); if (tls->con == NULL) { - tls_log_errors(1, "tls_clone", 0); + tls_log_errors(1, "tls_init_secondary", 0); tls_free(tls); errno = EIO; return NULL; @@ -388,26 +439,15 @@ SSL_set_bio(tls->con, tls->bio_con, tls->bio_con); SSL_set_mode(tls->con, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); + SSL_set_ex_data(tls->con, tls_ex_data_idx, tls); su_setblocking(sock, 0); return tls; } -tls_t *tls_init_slave(tls_t *master, int sock) -{ - int accept; - return tls_clone(master, sock, accept = 1); -} - -tls_t *tls_init_client(tls_t *master, int sock) -{ - int accept; - return tls_clone(master, sock, accept = 0); -} - -static -int tls_post_connection_check(tls_t *tls) +su_inline +int tls_post_connection_check(tport_t *self, tls_t *tls) { X509 *cert; int extcount; @@ -416,13 +456,22 @@ if (!tls) return -1; cert = SSL_get_peer_certificate(tls->con); - if (!cert) - return X509_V_OK; + if (!cert) { + SU_DEBUG_7(("%s(%p): Peer did not provide X.509 Certificate.\n", + __func__, self)); + if (self->tp_accepted && tls->verify_incoming) + return X509_V_ERR_CERT_UNTRUSTED; + else if (!self->tp_accepted && tls->verify_outgoing) + return X509_V_ERR_CERT_UNTRUSTED; + else + return X509_V_OK; + } - extcount = X509_get_ext_count(cert); + tls->subjects = su_strlst_create(tls->home); + if (!tls->subjects) + return X509_V_ERR_OUT_OF_MEM; - if (!tls->subject) - tls->subject = su_strlst_create(tls->home); + extcount = X509_get_ext_count(cert); /* Find matching subjectAltName.DNS */ for (i = 0; i < extcount; i++) { @@ -446,13 +495,11 @@ for (j = 0; j < sk_CONF_VALUE_num(values); j++) { value = sk_CONF_VALUE_value(values, j); if (strcmp(value->name, "DNS") == 0) - su_strlst_dup_append(tls->subject, value->value); - else if (strcmp(value->name, "URI") == 0) { - char *uri = su_strlst_dup_append(tls->subject, value->value); - char const *url = strchr(uri, ':'); - if (url++) - su_strlst_append(tls->subject, url); - } + su_strlst_dup_append(tls->subjects, value->value); + if (strcmp(value->name, "IP") == 0) + su_strlst_dup_append(tls->subjects, value->value); + else if (strcmp(value->name, "URI") == 0) + su_strlst_dup_append(tls->subjects, value->value); } } @@ -465,15 +512,15 @@ if (subject) { if (X509_NAME_get_text_by_NID(subject, NID_commonName, name, sizeof name) > 0) { - usize_t k, N = su_strlst_len(tls->subject); + usize_t k, N = su_strlst_len(tls->subjects); name[(sizeof name) - 1] = '\0'; for (k = 0; k < N; k++) - if (strcasecmp(su_strlst_item(tls->subject, k), name) == 0) + if (su_casematch(su_strlst_item(tls->subjects, k), name) == 0) break; - if (k == N) - su_strlst_dup_append(tls->subject, name); + if (k >= N) + su_strlst_dup_append(tls->subjects, name); } } } @@ -482,13 +529,64 @@ error = SSL_get_verify_result(tls->con); - if (error == X509_V_OK) - tls->verified = 1; + if (cert && error == X509_V_OK) + tls->x509_verified = 1; + + if (tport_log->log_level >= 7) { + int i, len = su_strlst_len(tls->subjects); + for (i=0; i < len; i++) + SU_DEBUG_7(("%s(%p): Peer Certificate Subject %i: %s\n", \ + __func__, self, i, su_strlst_item(tls->subjects, i))); + if (i == 0) + SU_DEBUG_7(("%s(%p): Peer Certificate provided no usable subjects.\n", + __func__, self)); + } + + /* Verify incoming connections */ + if (self->tp_accepted) { + if (!tls->verify_incoming) + return X509_V_OK; + + if (!tls->x509_verified) + return error; + + if (tls->verify_subj_in) { + su_strlst_t const *subjects = self->tp_pri->pri_primary->tp_subjects; + int i, items; + + items = subjects ? su_strlst_len(subjects) : 0; + if (items == 0) + return X509_V_OK; + + for (i=0; i < items; i++) { + if (tport_subject_search(su_strlst_item(subjects, i), tls->subjects)) + return X509_V_OK; + } + SU_DEBUG_3(("%s(%p): Peer Subject Mismatch (incoming connection)\n", \ + __func__, self)); + + return X509_V_ERR_CERT_UNTRUSTED; + } + } + /* Verify outgoing connections */ + else { + char const *subject = self->tp_canon; + if (!tls->verify_outgoing) + return X509_V_OK; + + if (!tls->x509_verified || !subject) + return error; + + if (tls->verify_subj_out) { + if (tport_subject_search(subject, tls->subjects)) + return X509_V_OK; /* Subject match found in verified certificate chain */ + SU_DEBUG_3(("%s(%p): Peer Subject Mismatch (%s)\n", \ + __func__, self, subject)); + + return X509_V_ERR_CERT_UNTRUSTED; + } + } - if (tls->accept && !tls->verify_incoming) - return X509_V_OK; - else if (!tls->accept && !tls->verify_outgoing) - return X509_V_OK; return error; } @@ -547,7 +645,7 @@ if (0) SU_DEBUG_1(("tls_read(%p) called on %s (events %u)\n", (void *)tls, - tls->accept ? "server" : "client", + tls->type ? "master" : "slave", tls->read_events)); if (tls->read_buffer_len) @@ -607,7 +705,7 @@ if (0) SU_DEBUG_1(("tls_write(%p, %p, "MOD_ZU") called on %s\n", (void *)tls, buf, size, - tls && tls->type == tls_slave ? "server" : "client")); + tls && tls->type == tls_slave ? "master" : "slave")); if (tls == NULL || buf == NULL) { errno = EINVAL; @@ -731,7 +829,7 @@ if (self->tp_is_connected == 0) { int ret, status; - ret = tls->accept ? SSL_accept(tls->con) : SSL_connect(tls->con); + ret = self->tp_accepted ? SSL_accept(tls->con) : SSL_connect(tls->con); status = SSL_get_error(tls->con, ret); switch (status) { @@ -751,7 +849,8 @@ case SSL_ERROR_NONE: /* TLS Handshake complete */ - if ( tls_post_connection_check(tls) == X509_V_OK ) { + status = tls_post_connection_check(self, tls); + if ( status == X509_V_OK ) { su_wait_t wait[1] = {SU_WAIT_INIT}; tport_master_t *mr = self->tp_master; @@ -770,9 +869,8 @@ tls->read_events = SU_WAIT_IN; tls->write_events = 0; self->tp_is_connected = 1; - self->tp_verified = tls->verified; - self->tp_subjects = tls->subject == NULL ? NULL : - su_strlst_dup(self->tp_home, tls->subject); + self->tp_verified = tls->x509_verified; + self->tp_subjects = tls->subjects; if (tport_has_queued(self)) tport_send_event(self); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h Wed Feb 11 11:03:59 2009 @@ -50,9 +50,9 @@ extern char const tls_version[]; typedef struct tls_issues_s { - int verify_peer; /* 0: no verify certificate, * - * 1: if fail the TLS/SSL handshake is terminated. */ - int verify_depth; /* if 0, then do nothing */ + unsigned policy; /* refer to tport_tag.h, tport_tls_verify_policy */ + unsigned verify_depth;/* if 0, revert to default (2) */ + unsigned verify_date; /* if 0, notBefore and notAfter dates are ignored */ int configured; /* If non-zero, complain about certificate errors */ char *cert; /* CERT file name. File format is PEM */ char *key; /* Private key file. PEM format */ @@ -78,8 +78,7 @@ } tport_tls_primary_t; tls_t *tls_init_master(tls_issues_t *tls_issues); -tls_t *tls_init_slave(tls_t *tls_master, int sock); -tls_t *tls_init_client(tls_t *tls_master, int sock); +tls_t *tls_init_secondary(tls_t *tls_master, int sock, int accept); void tls_free(tls_t *tls); int tls_get_socket(tls_t *tls); ssize_t tls_read(tls_t *tls); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 11:03:59 2009 @@ -95,9 +95,6 @@ static int tport_tls_accept(tport_primary_t *pri, int events); static tport_t *tport_tls_connect(tport_primary_t *pri, su_addrinfo_t *ai, tp_name_t const *tpn); -#if notyet -static void tport_tls_deliver(tport_t *self, msg_t *msg, su_time_t now); -#endif tport_vtable_t const tport_tls_vtable = { @@ -171,6 +168,10 @@ char const *path = NULL; unsigned tls_version = 1; unsigned tls_verify = 0; + unsigned tls_policy = TPTLS_VERIFY_NONE; + unsigned tls_depth = 0; + unsigned tls_date = 1; + su_strlst_t const *tls_subjects = NULL; su_home_t autohome[SU_HOME_AUTO_SIZE(1024)]; tls_issues_t ti = {0}; @@ -183,6 +184,10 @@ TPTAG_CERTIFICATE_REF(path), TPTAG_TLS_VERSION_REF(tls_version), TPTAG_TLS_VERIFY_PEER_REF(tls_verify), + TPTAG_TLS_VERIFY_POLICY_REF(tls_policy), + TPTAG_TLS_VERIFY_DEPTH_REF(tls_depth), + TPTAG_TLS_VERIFY_DATE_REF(tls_date), + TPTAG_TLS_VERIFY_SUBJECTS_REF(tls_subjects), TAG_END()); if (!path) { @@ -193,8 +198,9 @@ } if (path) { - ti.verify_peer = tls_verify; - ti.verify_depth = 2; + ti.policy = tls_policy | (tls_verify ? TPTLS_VERIFY_ALL : 0); + ti.verify_depth = tls_depth; + ti.verify_date = tls_date; ti.configured = path != tbf; ti.randFile = su_sprintf(autohome, "%s/%s", path, "tls_seed.dat"); ti.key = su_sprintf(autohome, "%s/%s", path, "agent.pem"); @@ -225,6 +231,8 @@ return *return_culprit = "tls_init_master", -1; } + if (tls_subjects) + pri->pri_primary->tp_subjects = su_strlst_dup(pri->pri_home, tls_subjects); pri->pri_has_tls = 1; return 0; @@ -247,11 +255,9 @@ if (tport_tcp_init_secondary(self, socket, accepted, return_reason) < 0) return -1; - if (accepted) { - tlstp->tlstp_context = tls_init_slave(master, socket); - if (!tlstp->tlstp_context) - return *return_reason = "tls_init_slave", -1; - } + tlstp->tlstp_context = tls_init_secondary(master, socket, accepted); + if (!tlstp->tlstp_context) + return *return_reason = "tls_init_slave", -1; return 0; } @@ -439,20 +445,12 @@ msg_iovec_t iov[], size_t iovlen) { - tport_tls_primary_t *tlspri = (tport_tls_primary_t *)self->tp_pri; tport_tls_t *tlstp = (tport_tls_t *)self; enum { TLSBUFSIZE = 2048 }; size_t i, j, n, m, size = 0; ssize_t nerror; int oldmask, mask; - if (tlstp->tlstp_context == NULL) { - tls_t *master = tlspri->tlspri_master; - tlstp->tlstp_context = tls_init_client(master, self->tp_socket); - if (!tlstp->tlstp_context) - return -1; - } - oldmask = tls_events(tlstp->tlstp_context, self->tp_events); #if 0 @@ -560,8 +558,6 @@ return 0; } else { - tport_tls_t *tlstp = (tport_tls_t *)self; - tport_tls_primary_t *tlspri = (tport_tls_primary_t *)self->tp_pri; int events = SU_WAIT_IN|SU_WAIT_ERR|SU_WAIT_HUP; SU_CANONIZE_SOCKADDR(su); @@ -575,8 +571,6 @@ self->tp_conn_orient = 1; self->tp_is_connected = 0; - tlstp->tlstp_context = tls_init_slave(tlspri->tlspri_master, s); - SU_DEBUG_5(("%s(%p): new connection from " TPN_FORMAT "\n", __func__, (void *)self, TPN_ARGS(self->tp_name))); @@ -640,14 +634,9 @@ goto sys_error; } - if (tport_setname(self, tpn->tpn_proto, ai, tpn->tpn_canon) != -1 - && - tport_register_secondary(self, tls_connect, events) != -1) { - tport_tls_t *tlstp = (tport_tls_t *)self; - tport_tls_primary_t *tlspri = (tport_tls_primary_t *)self->tp_pri; - tlstp->tlstp_context = tls_init_client(tlspri->tlspri_master, s); - } - else + if (tport_setname(self, tpn->tpn_proto, ai, tpn->tpn_canon) == -1) + goto sys_error; + else if (tport_register_secondary(self, tls_connect, events) == -1) goto sys_error; SU_DEBUG_5(("%s(%p): connecting to " TPN_FORMAT "\n", From mikej at freeswitch.org Wed Feb 11 09:05:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:05:16 -0600 Subject: [Freeswitch-svn] [commit] r11831 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 11:05:16 2009 New Revision: 11831 Log: Thu Jan 15 12:06:00 CST 2009 Pekka Pessi * nta.c: when sending ACK to [3456]XX, copy the To header as-is from the response Problem reported by Paulo Pizarro. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:05:16 2009 @@ -1 +1 @@ -Wed Feb 11 11:03:50 CST 2009 +Wed Feb 11 11:05:09 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 11:05:16 2009 @@ -7001,7 +7001,7 @@ static void outgoing_ack(nta_outgoing_t *orq, sip_t *sip); static msg_t *outgoing_ackmsg(nta_outgoing_t *, sip_method_t, char const *, - tagi_t const *tags); + tag_type_t tag, tag_value_t value, ...); static void outgoing_retransmit(nta_outgoing_t *orq); static void outgoing_trying(nta_outgoing_t *orq); static void outgoing_timeout(nta_outgoing_t *orq, uint32_t now); @@ -7307,7 +7307,7 @@ TAG_END()); if (!cancel_408) - msg = outgoing_ackmsg(orq, SIP_METHOD_CANCEL, ta_args(ta)); + msg = outgoing_ackmsg(orq, SIP_METHOD_CANCEL, ta_tags(ta)); else msg = NULL; @@ -9193,7 +9193,6 @@ { nta_outgoing_t *ack; msg_t *ackmsg; - sip_t *acksip; assert(orq); @@ -9205,13 +9204,9 @@ assert(sip->sip_status->st_status >= 300); assert(orq->orq_tport); - ackmsg = outgoing_ackmsg(orq, SIP_METHOD_ACK, NULL); - acksip = sip_object(ackmsg); - - if (acksip) { - if (sip->sip_to->a_tag && !acksip->sip_to->a_tag) - sip_to_tag(msg_home(ackmsg), acksip->sip_to, sip->sip_to->a_tag); + ackmsg = outgoing_ackmsg(orq, SIP_METHOD_ACK, SIPTAG_TO(sip->sip_to), TAG_END()); + if (ackmsg) { if ((ack = outgoing_create(orq->orq_agent, NULL, NULL, NULL, orq->orq_tpn, ackmsg, NTATAG_BRANCH_KEY(sip->sip_via->v_branch), @@ -9227,7 +9222,7 @@ /** Generate messages for hop-by-hop ACK or CANCEL. */ msg_t *outgoing_ackmsg(nta_outgoing_t *orq, sip_method_t m, char const *mname, - tagi_t const *tags) + tag_type_t tag, tag_value_t value, ...) { msg_t *msg = nta_msg_create(orq->orq_agent, 0); su_home_t *home = msg_home(msg); @@ -9238,8 +9233,12 @@ if (!sip) return NULL; - if (tags) { - sip_add_tl(msg, sip, TAG_NEXT(tags)); + if (tag) { + ta_list ta; + + ta_start(ta, tag, value); + + sip_add_tl(msg, sip, ta_tags(ta)); /* Bug sf.net # 173323: * Ensure that request-URI, topmost Via, From, To, Call-ID, CSeq, * Max-Forward, Route, Accept-Contact, Reject-Contact and @@ -9247,7 +9246,7 @@ */ if (sip->sip_from) sip_header_remove(msg, sip, (void *)sip->sip_from); - if (sip->sip_to) + if (sip->sip_to && m != sip_method_ack) sip_header_remove(msg, sip, (void *)sip->sip_to); if (sip->sip_call_id) sip_header_remove(msg, sip, (void *)sip->sip_call_id); @@ -9263,12 +9262,15 @@ sip_header_remove(msg, sip, (void *)sip->sip_via); if (sip->sip_max_forwards) sip_header_remove(msg, sip, (void *)sip->sip_max_forwards); + + ta_end(ta); } sip->sip_request = sip_request_create(home, m, mname, (url_string_t *)orq->orq_url, NULL); - sip_add_dup(msg, sip, (sip_header_t *)old->sip_to); + if (sip->sip_to == NULL) + sip_add_dup(msg, sip, (sip_header_t *)old->sip_to); sip_add_dup(msg, sip, (sip_header_t *)old->sip_from); sip_add_dup(msg, sip, (sip_header_t *)old->sip_call_id); sip_add_dup(msg, sip, (sip_header_t *)old->sip_route); From mikej at freeswitch.org Wed Feb 11 09:05:32 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:05:32 -0600 Subject: [Freeswitch-svn] [commit] r11832 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:05:32 2009 New Revision: 11832 Log: Thu Jan 15 12:06:29 CST 2009 Pekka Pessi * check_session.c: make sure To header in ACK to [3456]XX is copied from response Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 11:05:32 2009 @@ -1663,7 +1663,7 @@ START_TEST(call_3_1_1) { nua_handle_t *nh; - struct message *invite; + struct message *invite, *ack; s2_case("3.1.1", "Call failure", "Call fails with 403 response"); nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), @@ -1676,10 +1676,15 @@ invite = s2_wait_for_request(SIP_METHOD_INVITE); fail_if(!invite); - s2_respond_to(invite, NULL, SIP_403_FORBIDDEN, TAG_END()); + s2_respond_to(invite, NULL, SIP_403_FORBIDDEN, + SIPTAG_TO_STR("UAS Changed "), + TAG_END()); s2_free_message(invite); - fail_unless(s2_check_request(SIP_METHOD_ACK)); + ack = s2_wait_for_request(SIP_METHOD_ACK); + fail_if(!ack); + fail_if(strcmp(ack->sip->sip_to->a_display, "UAS Changed")); + s2_free_message(ack); fail_unless(s2_check_event(nua_r_invite, 403)); fail_unless(s2_check_callstate(nua_callstate_terminated)); From mikej at freeswitch.org Wed Feb 11 09:06:01 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:06:01 -0600 Subject: [Freeswitch-svn] [commit] r11833 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta libsofia-sip-ua/nta/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:06:00 2009 New Revision: 11833 Log: Fri Jan 16 07:22:08 CST 2009 Pekka Pessi * nta: added nta_leg_client_reroute() nta_leg_client_route() did not catch actually RFC 3261 section 12.1.2 feel and spirit, not to speak about letter. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:06:00 2009 @@ -1 +1 @@ -Wed Feb 11 11:05:09 CST 2009 +Wed Feb 11 11:05:49 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 11:06:00 2009 @@ -363,6 +363,7 @@ #else unsigned leg_loose_route : 1; /**< Topmost route in set is LR */ #endif + unsigned leg_route_set : 1; /**< Route set has been saved */ unsigned leg_local_is_to : 1; /**< Backwards-compatibility. */ unsigned leg_tagged : 1; /**< Tagged after creation. * @@ -3970,7 +3971,8 @@ static int leg_route(nta_leg_t *leg, sip_record_route_t const *route, sip_record_route_t const *reverse, - sip_contact_t const *contact); + sip_contact_t const *contact, + int reroute); static int leg_callback_default(nta_leg_magic_t*, nta_leg_t*, nta_incoming_t*, sip_t const *); #define HTABLE_HASH_LEG(leg) ((leg)->leg_hash) @@ -4469,24 +4471,55 @@ /** Save target and route set at UAC side. * - * @sa nta_leg_server_route(), @RFC3261 section 12.1.2 + * @sa nta_leg_client_reroute(), nta_leg_server_route(), @RFC3261 section 12.1.2 + * + * @bug Allows modifying the route set after initial transaction, if initial + * transaction had no @RecordRoute headers. + * + * @deprecated Use nta_leg_client_reroute() instead. */ int nta_leg_client_route(nta_leg_t *leg, sip_record_route_t const *route, sip_contact_t const *contact) { - return leg_route(leg, NULL, route, contact); + return leg_route(leg, NULL, route, contact, 0); +} + +/** Save target and route set at UAC side. + * + * If @a initial is true, the route set is modified even if it has been set + * earlier. + * + * @param leg pointer to dialog leg + * @param route @RecordRoute headers from response + * @param contact @Contact header from response + * @param initial true if response to initial transaction + * + * @sa nta_leg_client_route(), nta_leg_server_route(), @RFC3261 section 12.1.2 + * + * @NEW_1_12_11 + */ +int nta_leg_client_reroute(nta_leg_t *leg, + sip_record_route_t const *route, + sip_contact_t const *contact, + int initial) +{ + return leg_route(leg, NULL, route, contact, initial ? 2 : 1); } /** Save target and route set at UAS side. * - * @sa nta_leg_client_route(), @RFC3261 section 12.1.1 + * @param leg pointer to dialog leg + * @param route @RecordRoute headers from request + * @param contact @Contact header from request + * + * @sa nta_leg_client_reroute(), @RFC3261 section 12.1.1 */ int nta_leg_server_route(nta_leg_t *leg, sip_record_route_t const *route, sip_contact_t const *contact) { - return leg_route(leg, route, NULL, contact); + return leg_route(leg, route, NULL, contact, 1); } /** Return route components. */ @@ -4940,15 +4973,21 @@ * * Sets the leg route and contact using the @RecordRoute and @Contact * headers. + * + * @param reroute - allow rerouting + * - if 1, follow @RFC3261 semantics + * - if 2, response to initial transaction) */ static int leg_route(nta_leg_t *leg, sip_record_route_t const *route, sip_record_route_t const *reverse, - sip_contact_t const *contact) + sip_contact_t const *contact, + int reroute) { su_home_t *home = leg->leg_home; - sip_route_t *r, r0[1]; + sip_route_t *r, r0[1], *old; + int route_is_set; if (!leg) return -1; @@ -4958,7 +4997,9 @@ sip_route_init(r0); - if (leg->leg_route) { + route_is_set = reroute ? leg->leg_route_set : leg->leg_route != NULL; + + if (route_is_set && reroute <= 1) { r = leg->leg_route; } else if (route) { @@ -5023,8 +5064,14 @@ } #endif + old = leg->leg_route; leg->leg_route = r; + if (old && old != r) + msg_header_free(leg->leg_home, (msg_header_t *)old); + + leg->leg_route_set = 1; + return 0; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h Wed Feb 11 11:06:00 2009 @@ -216,12 +216,15 @@ /** Get remote request sequence number. @NEW_1_12_9 */ SOFIAPUBFUN uint32_t nta_leg_get_rseq(nta_leg_t const *leg); -/** Set UAC route. */ SOFIAPUBFUN int nta_leg_client_route(nta_leg_t *leg, sip_record_route_t const *route, sip_contact_t const *contact); -/** Set UAS route */ +SOFIAPUBFUN int nta_leg_client_reroute(nta_leg_t *leg, + sip_record_route_t const *route, + sip_contact_t const *contact, + int initial); + SOFIAPUBFUN int nta_leg_server_route(nta_leg_t *leg, sip_record_route_t const *route, sip_contact_t const *contact); From mikej at freeswitch.org Wed Feb 11 09:07:09 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:07:09 -0600 Subject: [Freeswitch-svn] [commit] r11834 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:07:09 2009 New Revision: 11834 Log: Fri Jan 16 07:42:29 CST 2009 Pekka Pessi * nua: fixed problems with route set handling RFC 3261 allows the route set changes while dialog is in early state. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:07:09 2009 @@ -1 +1 @@ -Wed Feb 11 11:05:49 CST 2009 +Wed Feb 11 11:06:56 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 11:07:09 2009 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -1007,8 +1008,10 @@ /* 2.3 - Session timers */ /* Wait for invite from NUA */ -static void invite_timer_round(nua_handle_t *nh, - char const *session_expires) +static struct message * +invite_timer_round(nua_handle_t *nh, + char const *session_expires, + sip_record_route_t *rr) { struct message *invite, *ack; @@ -1019,17 +1022,27 @@ invite, dialog, SIP_200_OK, SIPTAG_SESSION_EXPIRES_STR(session_expires), SIPTAG_REQUIRE_STR("timer"), + SIPTAG_RECORD_ROUTE(rr), TAG_END()); s2_free_message(invite); fail_unless(s2_check_event(nua_r_invite, 200)); fail_unless(s2_check_callstate(nua_callstate_ready)); ack = s2_wait_for_request(SIP_METHOD_ACK); - s2_free_message(ack); + if (rr == NULL) + s2_free_message(ack); + return ack; } START_TEST(call_2_3_1) { nua_handle_t *nh; + sip_record_route_t rr[1]; + struct message *ack; + + sip_record_route_init(rr); + *rr->r_url = *s2->contact->m_url; + rr->r_url->url_user = "record"; + rr->r_url->url_params = "lr"; s2_case("2.3.1", "Incoming call with call timers", "NUA receives INVITE, " @@ -1043,9 +1056,11 @@ TAG_END()); s2_fast_forward(300); - invite_timer_round(nh, "300;refresher=uac"); + ack = invite_timer_round(nh, "300;refresher=uac", rr); + fail_if(ack->sip->sip_route && + su_strmatch(ack->sip->sip_route->r_url->url_user, "record")); s2_fast_forward(300); - invite_timer_round(nh, "300;refresher=uac"); + invite_timer_round(nh, "300;refresher=uac", NULL); bye_by_nua(nh, TAG_END()); @@ -1069,9 +1084,9 @@ TAG_END()); s2_fast_forward(300); - invite_timer_round(nh, "300"); + invite_timer_round(nh, "300", NULL); s2_fast_forward(300); - invite_timer_round(nh, "300"); + invite_timer_round(nh, "300", NULL); bye_by_nua(nh, TAG_END()); @@ -1098,8 +1113,9 @@ START_TEST(call_2_4_1) { nua_handle_t *nh; - struct message *invite, *prack; + struct message *invite, *prack, *ack; int with_sdp; + sip_record_route_t rr[1]; s2_case("2.4.1", "Call with 100rel", "NUA sends INVITE, " @@ -1107,6 +1123,11 @@ "receives 180, sends PRACK, receives 200 for it, " "receives 200, send ACK."); + sip_record_route_init(rr); + *rr->r_url = *s2->contact->m_url; + rr->r_url->url_user = "record"; + rr->r_url->url_params = "lr"; + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); invite = invite_sent_by_nua( @@ -1116,6 +1137,7 @@ prack = respond_with_100rel(invite, dialog, with_sdp = 1, SIP_183_SESSION_PROGRESS, + SIPTAG_RECORD_ROUTE(rr), TAG_END()); s2_respond_to(prack, dialog, SIP_200_OK, TAG_END()); s2_free_message(prack), prack = NULL; @@ -1125,16 +1147,26 @@ prack = respond_with_100rel(invite, dialog, with_sdp = 0, SIP_180_RINGING, TAG_END()); + fail_unless(prack->sip->sip_route != NULL); + fail_unless(su_strmatch(prack->sip->sip_route->r_url->url_user, "record")); + s2_respond_to(prack, dialog, SIP_200_OK, TAG_END()); s2_free_message(prack), prack = NULL; fail_unless(s2_check_callstate(nua_callstate_proceeding)); fail_unless(s2_check_event(nua_r_prack, 200)); - s2_respond_to(invite, dialog, SIP_200_OK, TAG_END()); + /* Change the record-route */ + rr->r_url->url_user = "record2"; + s2_respond_to(invite, dialog, SIP_200_OK, + SIPTAG_RECORD_ROUTE(rr), + TAG_END()); s2_free_message(invite); fail_unless(s2_check_event(nua_r_invite, 200)); fail_unless(s2_check_callstate(nua_callstate_ready)); - fail_unless(s2_check_request(SIP_METHOD_ACK)); + ack = s2_wait_for_request(SIP_METHOD_ACK); + fail_if(!ack); + fail_unless(su_strmatch(ack->sip->sip_route->r_url->url_user, "record2")); + s2_free_message(ack); bye_to_nua(nh, TAG_END()); @@ -2314,7 +2346,7 @@ TAG_END()); s2_fast_forward(300); - invite_timer_round(nh, "300"); + invite_timer_round(nh, "300", NULL); nua_bye(nh, TAG_END()); @@ -2358,7 +2390,7 @@ TAG_END()); s2_fast_forward(300); - invite_timer_round(nh, "300"); + invite_timer_round(nh, "300", NULL); s2_fast_forward(300); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c Wed Feb 11 11:07:09 2009 @@ -104,13 +104,16 @@ * @param ds dialog state * @param sip SIP message containing response used to update dialog * @param rtag if true, set remote tag within the leg + * @param initial if true, @a sip is response to initial transaction */ void nua_dialog_uac_route(nua_owner_t *own, nua_dialog_state_t *ds, sip_t const *sip, - int rtag) + int rtag, + int initial) { int established = nua_dialog_is_established(ds); + int status = sip->sip_status->st_status; if (!established && sip->sip_to->a_tag) ds->ds_remote_tag = su_strdup(own, sip->sip_to->a_tag); @@ -118,7 +121,11 @@ if (ds->ds_leg == NULL) return; - nta_leg_client_route(ds->ds_leg, sip->sip_record_route, sip->sip_contact); + if (initial && status >= 200) + nta_leg_client_reroute(ds->ds_leg, sip->sip_record_route, sip->sip_contact, 1); + else + nta_leg_client_reroute(ds->ds_leg, sip->sip_record_route, sip->sip_contact, 0); + ds->ds_route = ds->ds_route || sip->sip_record_route || sip->sip_contact; if (rtag && !established && sip->sip_to->a_tag) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h Wed Feb 11 11:07:09 2009 @@ -299,6 +299,7 @@ unsigned cr_dialog:1; /**< Request can initiate dialog */ /* Current state */ + unsigned cr_initial:1; /**< Initial request of a dialog */ unsigned cr_acked:1; /**< Final response to the request has been ACKed */ unsigned cr_waiting:1; /**< Request is waiting */ unsigned cr_challenged:1; /**< Request was challenged */ @@ -411,7 +412,7 @@ }; void nua_dialog_uac_route(nua_owner_t *, nua_dialog_state_t *ds, - sip_t const *sip, int rtag); + sip_t const *sip, int rtag, int initial); void nua_dialog_uas_route(nua_owner_t *, nua_dialog_state_t *ds, sip_t const *sip, int rtag); void nua_dialog_store_peer_info(nua_owner_t *, nua_dialog_state_t *ds, Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 11:07:09 2009 @@ -732,9 +732,12 @@ if (sr->sr_usage == du && sr->sr_method == sip_method_invite && nua_server_request_is_pending(sr)) return nua_client_return(cr, SIP_491_REQUEST_PENDING, msg); + cr->cr_initial = 0; } - else + else { du = nua_dialog_usage_add(nh, nh->nh_ds, nua_session_usage, NULL); + cr->cr_initial = 1; + } if (!du) return -1; @@ -884,7 +887,7 @@ if (!nua_dialog_is_established(nh->nh_ds)) { nta_outgoing_t *tagged; - nua_dialog_uac_route(nh, nh->nh_ds, sip, 1); + nua_dialog_uac_route(nh, nh->nh_ds, sip, 1, 1); nua_dialog_store_peer_info(nh, nh->nh_ds, sip); /* Tag the INVITE request */ @@ -1188,7 +1191,6 @@ } nua_client_request_ref(cr); - error = nua_invite_client_ack(cr, tags); if (error < 0) { @@ -1238,6 +1240,8 @@ assert(cr->cr_orq); assert(cr->cr_method == sip_method_invite); + cr->cr_initial = 0; + if (!ds->ds_leg) { /* XXX - fix nua_dialog_usage_remove_at() instead! */ nua_client_request_clean(cr); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c Wed Feb 11 11:07:09 2009 @@ -2876,7 +2876,7 @@ else { if (sip) { if (cr->cr_contactize) - nua_dialog_uac_route(nh, nh->nh_ds, sip, 1); + nua_dialog_uac_route(nh, nh->nh_ds, sip, 1, cr->cr_initial); nua_dialog_store_peer_info(nh, nh->nh_ds, sip); } From mikej at freeswitch.org Wed Feb 11 09:07:59 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:07:59 -0600 Subject: [Freeswitch-svn] [commit] r11835 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/soa Message-ID: Author: mikej Date: Wed Feb 11 11:07:59 2009 New Revision: 11835 Log: Fri Jan 16 13:27:39 CST 2009 Pekka Pessi * soa: fixed restoring state after failed offer Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:07:59 2009 @@ -1 +1 @@ -Wed Feb 11 11:06:56 CST 2009 +Wed Feb 11 11:07:52 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c Wed Feb 11 11:07:59 2009 @@ -938,7 +938,7 @@ * * User SDP is used as basis for SDP Offer/Answer negotiation. It can * be very minimal template, consisting just m= line containing media name, - * transport protocol port number and list of supported codecs. + * transport protocol, port number and list of supported codecs. * * The SDP used as an offer or answer (generated by soa_generate_answer() or * soa_generate_offer()) is known as local SDP and it is available @@ -1703,13 +1703,10 @@ (void)completed; - if (!l_sdp) - return -1; - - soa_set_activity(ss, l_sdp->sdp_media, soa_activity_session); - ss->ss_offer_sent = 0; + soa_set_activity(ss, l_sdp ? l_sdp->sdp_media : NULL, soa_activity_session); + return 0; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c Wed Feb 11 11:07:59 2009 @@ -84,6 +84,11 @@ /** Mapping from session SDP m= lines to user SDP m= lines */ int *sss_s2u; + /** State kept from SDP before current offer */ + struct { + int *u2s, *s2u; + } sss_previous; + /** Our latest offer or answer */ sdp_session_t *sss_latest; } @@ -886,6 +891,7 @@ return 0; } +static int *u2s_alloc(su_home_t *home, int const *u2s) { if (u2s) { @@ -1318,6 +1324,8 @@ } soa_description_free(ss, ss->ss_previous); + su_free(ss->ss_home, sss->sss_previous.u2s), sss->sss_previous.u2s = NULL; + su_free(ss->ss_home, sss->sss_previous.s2u), sss->sss_previous.s2u = NULL; if (u2s) { u2s = u2s_alloc(ss->ss_home, u2s); @@ -1358,10 +1366,18 @@ if (action == generate_offer) { /* Keep a copy of previous session state */ + int *previous_u2s = u2s_alloc(ss->ss_home, sss->sss_u2s); + int *previous_s2u = u2s_alloc(ss->ss_home, sss->sss_s2u); + + if ((sss->sss_u2s && !previous_u2s) || (sss->sss_s2u && !previous_s2u)) + goto internal_error; + *ss->ss_previous = *ss->ss_local; memset(ss->ss_local, 0, (sizeof *ss->ss_local)); ss->ss_previous_user_version = ss->ss_local_user_version; ss->ss_previous_remote_version = ss->ss_local_remote_version; + sss->sss_previous.u2s = previous_u2s; + sss->sss_previous.s2u = previous_s2u; } SU_DEBUG_7(("soa_static(%p, %s): %s\n", (void *)ss, by, @@ -1374,6 +1390,8 @@ memset(ss->ss_previous, 0, (sizeof *ss->ss_previous)); ss->ss_previous_user_version = 0; ss->ss_previous_remote_version = 0; + su_free(ss->ss_home, sss->sss_previous.u2s), sss->sss_previous.u2s = NULL; + su_free(ss->ss_home, sss->sss_previous.s2u), sss->sss_previous.s2u = NULL; } su_free(ss->ss_home, u2s), su_free(ss->ss_home, s2u); @@ -1467,21 +1485,26 @@ static int soa_static_process_reject(soa_session_t *ss, soa_callback_f *completed) { + soa_static_session_t *sss = (soa_static_session_t *)ss; struct soa_description d[1]; - if (ss->ss_previous_user_version) { - *d = *ss->ss_local; - *ss->ss_local = *ss->ss_previous; - ss->ss_local_user_version = ss->ss_previous_user_version; - ss->ss_local_remote_version = ss->ss_previous_remote_version; - - memset(ss->ss_previous, 0, (sizeof *ss->ss_previous)); - soa_description_free(ss, d); - ss->ss_previous_user_version = 0; - ss->ss_previous_remote_version = 0; - } + soa_base_process_reject(ss, NULL); + + *d = *ss->ss_local; + *ss->ss_local = *ss->ss_previous; + ss->ss_local_user_version = ss->ss_previous_user_version; + ss->ss_local_remote_version = ss->ss_previous_remote_version; + + memset(ss->ss_previous, 0, (sizeof *ss->ss_previous)); + soa_description_free(ss, d); + su_free(ss->ss_home, sss->sss_previous.u2s), sss->sss_previous.u2s = NULL; + su_free(ss->ss_home, sss->sss_previous.s2u), sss->sss_previous.s2u = NULL; + ss->ss_previous_user_version = 0; + ss->ss_previous_remote_version = 0; - return soa_base_process_reject(ss, NULL); + su_free(ss->ss_home, sss->sss_latest), sss->sss_latest = NULL; + + return 0; } static int soa_static_activate(soa_session_t *ss, char const *option) @@ -1496,6 +1519,19 @@ static void soa_static_terminate(soa_session_t *ss, char const *option) { - soa_description_free(ss, ss->ss_user); + soa_static_session_t *sss = (soa_static_session_t *)ss; + + soa_description_free(ss, ss->ss_local); + su_free(ss->ss_home, sss->sss_u2s), sss->sss_u2s = NULL; + su_free(ss->ss_home, sss->sss_s2u), sss->sss_s2u = NULL; + + soa_description_free(ss, ss->ss_previous); + ss->ss_previous_user_version = 0; + ss->ss_previous_remote_version = 0; + su_free(ss->ss_home, sss->sss_previous.u2s), sss->sss_previous.u2s = NULL; + su_free(ss->ss_home, sss->sss_previous.s2u), sss->sss_previous.s2u = NULL; + + su_free(ss->ss_home, sss->sss_latest), sss->sss_latest = NULL; + soa_base_terminate(ss, option); } From mikej at freeswitch.org Wed Feb 11 09:08:41 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:08:41 -0600 Subject: [Freeswitch-svn] [commit] r11836 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:08:41 2009 New Revision: 11836 Log: Fri Jan 16 13:37:43 CST 2009 Pekka Pessi * nua: fixed problem handling re-SUBSCRIBE when it creates new dialog Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:08:41 2009 @@ -1 +1 @@ -Wed Feb 11 11:07:52 CST 2009 +Wed Feb 11 11:08:29 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c Wed Feb 11 11:08:41 2009 @@ -43,6 +43,8 @@ #include #endif +#include "test_s2.h" + static char const * const default_patterns[] = { "*", NULL }; static char const * const *test_patterns = default_patterns; @@ -80,6 +82,10 @@ Suite *suite = suite_create("Unit tests for Sofia-SIP UA Engine"); SRunner *runner; + s2_tester = "check_nua"; + if (getenv("CHECK_NUA_VERBOSE")) + s2_start_stop = strtoul(getenv("CHECK_NUA_VERBOSE"), NULL, 10); + if (getenv("CHECK_NUA_CASES")) { size_t i; char *s, **patterns; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h Wed Feb 11 11:08:41 2009 @@ -10,6 +10,7 @@ void check_session_cases(Suite *suite); void check_register_cases(Suite *suite); +void check_simple_cases(Suite *suite); #endif Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c Wed Feb 11 11:08:41 2009 @@ -54,12 +54,13 @@ static void register_setup(void) { - nua = s2_nua_setup(TAG_END()); + nua = s2_nua_setup("register", TAG_END()); } static void register_pingpong_setup(void) { - nua = s2_nua_setup(TPTAG_PINGPONG(20000), + nua = s2_nua_setup("register with pingpong", + TPTAG_PINGPONG(20000), TPTAG_KEEPALIVE(10000), TAG_END()); tport_set_params(s2->tcp.tport, TPTAG_PONG2PING(1), TAG_END()); @@ -68,6 +69,7 @@ static void register_teardown(void) { + s2_teardown_started("register"); nua_shutdown(nua); fail_unless(s2_check_event(nua_r_shutdown, 200)); s2_nua_teardown(); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 11:08:41 2009 @@ -63,9 +63,8 @@ static void call_setup(void) { - s2_case("0.1.1", "Setup for Call Tests", ""); - - nua = s2_nua_setup(SIPTAG_ORGANIZATION_STR("Pussy Galore's Flying Circus"), + nua = s2_nua_setup("call", + SIPTAG_ORGANIZATION_STR("Pussy Galore's Flying Circus"), NUTAG_OUTBOUND("no-options-keepalive, no-validate"), TAG_END()); @@ -85,7 +84,7 @@ static void call_teardown(void) { - s2_case("0.1.2", "Teardown Call Test Setup", ""); + s2_teardown_started("call"); mark_point(); @@ -3078,6 +3077,7 @@ static void options_teardown(void) { + s2_teardown_started("options"); call_teardown(); } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c Wed Feb 11 11:08:41 2009 @@ -1973,8 +1973,7 @@ static void nua_client_request_destroy(nua_client_request_t *cr); static int nua_client_init_request0(nua_client_request_t *cr); static int nua_client_request_try(nua_client_request_t *cr); -static int nua_client_request_sendmsg(nua_client_request_t *cr, - msg_t *msg, sip_t *sip); +static int nua_client_request_sendmsg(nua_client_request_t *cr); static void nua_client_restart_after(su_root_magic_t *magic, su_timer_t *timer, nua_client_request_t *cr); @@ -2416,23 +2415,6 @@ (sip_header_t *)sip->sip_from) < 0) { return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); } - - if (cr->cr_dialog) { - ds->ds_leg = nta_leg_tcreate(nua->nua_nta, - nua_stack_process_request, nh, - SIPTAG_CALL_ID(sip->sip_call_id), - SIPTAG_FROM(sip->sip_from), - SIPTAG_TO(sip->sip_to), - SIPTAG_CSEQ(sip->sip_cseq), - TAG_END()); - if (!ds->ds_leg) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - - if (!sip->sip_from->a_tag && - sip_from_tag(msg_home(msg), sip->sip_from, - nta_leg_tag(ds->ds_leg, NULL)) < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - } } else { if (ds->ds_route) @@ -2540,15 +2522,17 @@ if (nua_client_request_queue(cr)) return 0; + if (nua_dialog_is_reporting(cr->cr_owner->nh_ds)) return 0; + return nua_client_request_try(cr); } return 0; } -/** Create a request message and send it. +/** Send a request message. * * If an error occurs, send error event to the application. * @@ -2558,26 +2542,11 @@ static int nua_client_request_try(nua_client_request_t *cr) { - int error = -1; - msg_t *msg = msg_copy(cr->cr_msg); - sip_t *sip = sip_object(msg); - - cr->cr_answer_recv = 0, cr->cr_offer_sent = 0; - cr->cr_offer_recv = 0, cr->cr_answer_sent = 0; - - if (msg && sip) { - error = nua_client_request_sendmsg(cr, msg, sip); - if (!error) - return 0; - - if (error == -1) - msg_destroy(msg); - } + int error = nua_client_request_sendmsg(cr); if (error < 0) error = nua_client_response(cr, NUA_ERROR_AT(__FILE__, __LINE__), NULL); - assert(error > 0); return error; } @@ -2585,13 +2554,10 @@ * * @retval 0 if request is pending * @retval >=1 if error event has been sent - * @retval -1 if error occurred but event has not been sent, - and @a msg has not been destroyed - * @retval -2 if error occurred, event has not been sent, - * but @a msg has been destroyed + * @retval < 0 if no error event has been sent */ static -int nua_client_request_sendmsg(nua_client_request_t *cr, msg_t *msg, sip_t *sip) +int nua_client_request_sendmsg(nua_client_request_t *cr) { nua_handle_t *nh = cr->cr_owner; nua_dialog_state_t *ds = nh->nh_ds; @@ -2599,9 +2565,36 @@ char const *name = cr->cr_method_name; url_string_t const *url = (url_string_t *)cr->cr_target; nta_leg_t *leg; + msg_t *msg; + sip_t *sip; + int error; assert(cr->cr_orq == NULL); + cr->cr_offer_sent = cr->cr_answer_recv = 0; + cr->cr_offer_recv = cr->cr_answer_sent = 0; + + if (!ds->ds_leg && cr->cr_dialog) { + ds->ds_leg = nta_leg_tcreate(nh->nh_nua->nua_nta, + nua_stack_process_request, nh, + SIPTAG_CALL_ID(cr->cr_sip->sip_call_id), + SIPTAG_FROM(cr->cr_sip->sip_from), + SIPTAG_TO(cr->cr_sip->sip_to), + SIPTAG_CSEQ(cr->cr_sip->sip_cseq), + TAG_END()); + if (!ds->ds_leg) + return -1; + } + + if (cr->cr_sip->sip_from && ds->ds_leg) { + if (cr->cr_sip->sip_from->a_tag == NULL) { + if (sip_from_tag(msg_home(cr->cr_msg), cr->cr_sip->sip_from, + nta_leg_tag(ds->ds_leg, NULL)) < 0) { + return -1; + } + } + } + cr->cr_retry_count++; if (ds->ds_leg) @@ -2609,6 +2602,11 @@ else leg = nh->nh_nua->nua_dhandle->nh_ds->ds_leg; /* Default leg */ + msg = msg_copy(cr->cr_msg), sip = sip_object(msg); + + if (msg == NULL) + return -1; + if (nua_dialog_is_established(ds)) { while (sip->sip_route) sip_route_remove(msg, sip); @@ -2639,8 +2637,10 @@ * generated based on the dialog information and added to the request. * If the dialog has a route, it is added to the request, too. */ - if (nta_msg_request_complete(msg, leg, method, name, url) < 0) + if (nta_msg_request_complete(msg, leg, method, name, url) < 0) { + msg_destroy(msg); return -1; + } /**@MaxForwards header (with default value set by NTATAG_MAX_FORWARDS()) is * also added now, if it does not exist. @@ -2716,16 +2716,23 @@ cr->cr_contactize && !cr->cr_has_contact && !ds->ds_ltarget, - !ds->ds_route) < 0) + !ds->ds_route) < 0) { + msg_destroy(msg); return -1; + } } cr->cr_wait_for_cred = 0; if (cr->cr_methods->crm_send) - return cr->cr_methods->crm_send(cr, msg, sip, NULL); + error = cr->cr_methods->crm_send(cr, msg, sip, NULL); + else + error = nua_base_client_request(cr, msg, sip, NULL); - return nua_base_client_request(cr, msg, sip, NULL); + if (error != 0 && error != -2) + msg_destroy(msg); + + return error; } /**Add tags to request message and send it, @@ -2793,9 +2800,10 @@ } /** Callback for nta client transaction */ -int nua_client_orq_response(nua_client_request_t *cr, - nta_outgoing_t *orq, - sip_t const *sip) +int +nua_client_orq_response(nua_client_request_t *cr, + nta_outgoing_t *orq, + sip_t const *sip) { int status; char const *phrase; @@ -3090,11 +3098,8 @@ int status, char const *phrase) { nua_handle_t *nh = cr->cr_owner; - nua_dialog_state_t *ds = nh->nh_ds; nta_outgoing_t *orq; int error = -1, terminated, graceful; - msg_t *msg = NULL; - sip_t *sip = NULL; if (cr->cr_retry_count > NH_PGET(nh, retry_count)) return 0; @@ -3102,32 +3107,10 @@ orq = cr->cr_orq, cr->cr_orq = NULL; assert(orq); terminated = cr->cr_terminated, cr->cr_terminated = 0; graceful = cr->cr_graceful, cr->cr_graceful = 0; - cr->cr_offer_sent = cr->cr_answer_recv = 0; - cr->cr_offer_recv = cr->cr_answer_sent = 0; - if (!ds->ds_leg && cr->cr_dialog) { - sip_t const *sip = cr->cr_sip; - ds->ds_leg = nta_leg_tcreate(nh->nh_nua->nua_nta, - nua_stack_process_request, nh, - SIPTAG_CALL_ID(sip->sip_call_id), - SIPTAG_FROM(sip->sip_from), - SIPTAG_TO(sip->sip_to), - SIPTAG_CSEQ(sip->sip_cseq), - TAG_END()); - } - - if (ds->ds_leg || !cr->cr_dialog) { - msg = msg_copy(cr->cr_msg); - sip = sip_object(msg); - } - - if (msg && sip) { - cr->cr_restarting = 1; - error = nua_client_request_sendmsg(cr, msg, sip); - cr->cr_restarting = 0; - if (error !=0 && error != -2) - msg_destroy(msg); - } + cr->cr_restarting = 1; + error = nua_client_request_sendmsg(cr); + cr->cr_restarting = 0; if (error) { cr->cr_graceful = graceful; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Wed Feb 11 11:08:41 2009 @@ -52,6 +52,9 @@ #include #include +char const *s2_tester = "s2_tester"; +int s2_start_stop; + /* -- Module types ------------------------------------------------------ */ struct tp_magic_s @@ -207,6 +210,19 @@ return retval; } +int s2_check_substate(struct event *e, enum nua_substate state) +{ + int retval = 0; + tagi_t const *tagi; + + tagi = tl_find(e->data->e_tags, nutag_substate); + if (tagi) { + retval = (tag_value_t)state == tagi->t_value; + } + + return retval; +} + static void s2_nua_callback(nua_event_t event, int status, char const *phrase, @@ -371,6 +387,22 @@ return m != NULL; } +void +s2_save_uas_dialog(struct dialog *d, sip_t *sip) +{ + if (d && !d->local) { + assert(sip->sip_request); + d->local = sip_from_dup(d->home, sip->sip_to); + if (d->local->a_tag == NULL) + sip_from_tag(d->home, d->local, s2_generate_tag(d->home)); + d->remote = sip_to_dup(d->home, sip->sip_from); + d->call_id = sip_call_id_dup(d->home, sip->sip_call_id); + d->rseq = sip->sip_cseq->cs_seq; + /* d->route = sip_route_dup(d->home, sip->sip_record_route); */ + d->target = sip_contact_dup(d->home, sip->sip_contact); + } +} + struct message * s2_respond_to(struct message *m, struct dialog *d, int status, char const *phrase, @@ -386,6 +418,8 @@ assert(m); assert(m->msg); assert(m->tport); assert(100 <= status && status < 700); + s2_save_uas_dialog(d, m->sip); + ta_start(ta, tag, value); reply = s2_msg(0); sip = sip_object(reply); home = msg_home(reply); @@ -414,13 +448,7 @@ } } - if (d && !d->local) { - d->local = sip_from_dup(d->home, sip->sip_to); - d->remote = sip_to_dup(d->home, sip->sip_from); - d->call_id = sip_call_id_dup(d->home, sip->sip_call_id); - d->rseq = sip->sip_cseq->cs_seq; - /* d->route = sip_route_dup(d->home, sip->sip_record_route); */ - d->target = sip_contact_dup(d->home, m->sip->sip_contact); + if (d && !d->contact) { d->contact = sip_contact_dup(d->home, sip->sip_contact); } @@ -806,6 +834,9 @@ char const *description) { _s2case = number; + + if (s2_start_stop) + printf("%s - starting %s %s\n", s2_tester, number, title); } /* ---------------------------------------------------------------------- */ @@ -875,10 +906,14 @@ }}; /** Basic setup for test cases */ -void s2_setup_base(char const *hostname) +void s2_setup_base(char const *label, char const *hostname) { assert(s2 == NULL); + if (s2_start_stop > 1) { + printf("%s - setup %s test case\n", s2_tester, label ? label : "next"); + } + su_init(); s2 = su_home_new(sizeof *s2); @@ -897,6 +932,7 @@ s2->hostname = hostname; s2->tid = (unsigned long)time(NULL) * 510633671UL; + } SOFIAPUBVAR su_log_t nua_log[]; @@ -1489,22 +1525,43 @@ va_end(va0); } +static char const *s2_teardown_label = NULL; + +void +s2_teardown_started(char const *label) +{ + if (!s2_teardown_label) { + s2_teardown_label = label; + if (s2_start_stop > 1) { + printf("%s - tearing down %s test case\n", s2_tester, label); + } + } +} + void s2_teardown(void) { s2 = NULL; su_deinit(); + + if (s2_start_stop > 1) { + printf("%s - %s test case tore down\n", s2_tester, + s2_teardown_label ? s2_teardown_label : "previous"); + } + + s2_teardown_label = NULL; } /* ====================================================================== */ #include -nua_t *s2_nua_setup(tag_type_t tag, tag_value_t value, ...) +nua_t *s2_nua_setup(char const *label, + tag_type_t tag, tag_value_t value, ...) { ta_list ta; - s2_setup_base(NULL); + s2_setup_base(label, NULL); s2_setup_dns(); s2_setup_logs(0); @@ -1618,4 +1675,3 @@ s2->registration->nh = NULL; } } - Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Wed Feb 11 11:08:41 2009 @@ -102,6 +102,8 @@ msg_t *invite; /* latest invite sent */ }; +extern char const *s2_tester; +extern int s2_start_stop; extern struct tester *s2; extern tp_stack_class_t const s2_stack[1]; @@ -144,8 +146,12 @@ struct message *s2_wait_for_request(sip_method_t method, char const *name); int s2_check_request(sip_method_t method, char const *name); +int s2_check_substate(struct event *e, enum nua_substate state); + #define SIP_METHOD_UNKNOWN sip_method_unknown, NULL +void s2_save_uas_dialog(struct dialog *d, sip_t *sip); + struct message *s2_respond_to(struct message *m, struct dialog *d, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...); @@ -161,15 +167,16 @@ void s2_flush_all(void); -void s2_setup_base(char const *hostname); +void s2_setup_base(char const *label, char const *hostname); void s2_setup_logs(int level); void s2_setup_tport(char const * const *protocols, tag_type_t tag, tag_value_t value, ...); void s2_teardown(void); -nua_t *s2_nua_setup(tag_type_t tag, tag_value_t value, ...); -void s2_nua_teardown(void); +nua_t *s2_nua_setup(char const *label, tag_type_t tag, tag_value_t value, ...); +void s2_teardown_started(char const *label); +void s2_nua_teardown(void); void s2_register_setup(void); void s2_register_teardown(void); From mikej at freeswitch.org Wed Feb 11 09:09:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:09:14 -0600 Subject: [Freeswitch-svn] [commit] r11837 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:09:14 2009 New Revision: 11837 Log: Fri Jan 16 13:42:21 CST 2009 Pekka Pessi * torture_heap.c: fixed warnings from function declarations Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c Wed Feb 11 11:09:14 2009 @@ -127,7 +127,7 @@ su_smoothsort(array, r, N, int_less, int_swap); } -int test_smooth_sort() +int test_smooth_sort(void) { BEGIN(); @@ -179,7 +179,7 @@ END(); } -int test_value() +int test_value(void) { BEGIN(); @@ -302,7 +302,7 @@ END(); } -int test_ref() +int test_ref(void) { BEGIN(); @@ -467,7 +467,7 @@ END(); } -int test_triplet() +int test_triplet(void) { BEGIN(); From mikej at freeswitch.org Wed Feb 11 09:09:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:09:44 -0600 Subject: [Freeswitch-svn] [commit] r11838 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf Message-ID: Author: mikej Date: Wed Feb 11 11:09:44 2009 New Revision: 11838 Log: Fri Jan 16 13:42:36 CST 2009 Pekka Pessi * torture_bnf.c: fixed warnings from function declarations Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c Wed Feb 11 11:09:44 2009 @@ -49,7 +49,7 @@ char const name[] = "torture_bnf"; -int count_bnf(int bnf_flags) +static int count_bnf(int bnf_flags) { int i, n; @@ -60,7 +60,7 @@ return n; } -int bnf_test(void) +static int bnf_test(void) { BEGIN(); TEST_1(IS_TOKEN('a')); @@ -92,7 +92,7 @@ END(); } -int ip_test(void) +static int ip_test(void) { BEGIN(); char *s; @@ -249,7 +249,7 @@ #include -int host_test(void) +static int host_test(void) { BEGIN(); @@ -347,7 +347,7 @@ END(); } -void usage(int exitcode) +static void usage(int exitcode) { fprintf(stderr, "usage: %s [-v] [-a]\n", name); exit(exitcode); From mikej at freeswitch.org Wed Feb 11 09:10:01 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:10:01 -0600 Subject: [Freeswitch-svn] [commit] r11839 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec Message-ID: Author: mikej Date: Wed Feb 11 11:10:01 2009 New Revision: 11839 Log: Fri Jan 16 13:42:45 CST 2009 Pekka Pessi * test_auth_digest.c: fixed warnings from function declarations Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c Wed Feb 11 11:10:01 2009 @@ -98,7 +98,7 @@ tv->tv_sec += offset; } -int test_digest() +int test_digest(void) { char challenge[] = "Digest " "realm=\"garage.sr.ntc.nokia.com\", " @@ -476,7 +476,7 @@ } /* Test digest authentication client and server */ -int test_digest_client() +int test_digest_client(void) { BEGIN(); @@ -1196,7 +1196,7 @@ "\n"; /* Test digest authentication client and server */ -int test_module_io() +int test_module_io(void) { auth_mod_t *am, am0[1]; auth_passwd_t *apw, *apw2; From mikej at freeswitch.org Wed Feb 11 09:10:38 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:10:38 -0600 Subject: [Freeswitch-svn] [commit] r11840 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:10:38 2009 New Revision: 11840 Log: Wed Jan 21 11:53:25 CST 2009 Pekka Pessi * nua: added check_etsi.c with ETSI test cases Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am Wed Feb 11 11:10:38 2009 @@ -45,6 +45,7 @@ check_nua_SOURCES = check_nua.c check_nua.h \ check_session.c check_register.c \ + check_etsi.c \ test_s2.h test_s2.c check_nua_LDADD = $(nua_libs) @CHECK_LIBS@ Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Wed Feb 11 11:10:38 2009 @@ -0,0 +1,271 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2008 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@CFILE check_session.c + * + * @brief NUA module tests for SIP session handling + * + * @author Pekka Pessi + * + * @copyright (C) 2008 Nokia Corporation. + */ + +#include "config.h" + +#include "check_nua.h" + +#include "test_s2.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +/* ====================================================================== */ + +static nua_t *nua; +static soa_session_t *soa = NULL; +static struct dialog *d1 = NULL; +static struct dialog *d2 = NULL; + +#define CRLF "\r\n" + +static void etsi_setup(void) +{ + nua = s2_nua_setup("ETSI", + NUTAG_OUTBOUND("no-options-keepalive, no-validate"), + TAG_END()); + + soa = soa_create(NULL, s2->root, NULL); + + fail_if(!soa); + + soa_set_params(soa, + SOATAG_USER_SDP_STR("m=audio 5008 RTP/AVP 8 0" CRLF + "m=video 5010 RTP/AVP 34" CRLF), + TAG_END()); + + d1 = su_home_new(sizeof *d1); fail_if(!d1); + d2 = su_home_new(sizeof *d2); fail_if(!d2); +} + +static void etsi_teardown(void) +{ + s2_teardown_started("ETSI"); + + mark_point(); + + nua_shutdown(nua); + fail_unless(s2_check_event(nua_r_shutdown, 200)); + + s2_nua_teardown(); +} + +static void save_sdp_to_soa(struct message *message) +{ + sip_payload_t *pl; + char const *body; + isize_t bodylen; + + fail_if(!message); + + fail_if(!message->sip->sip_content_length); + fail_if(!message->sip->sip_content_type); + fail_if(strcmp(message->sip->sip_content_type->c_type, + "application/sdp")); + + fail_if(!message->sip->sip_payload); + pl = message->sip->sip_payload; + body = pl->pl_data, bodylen = pl->pl_len; + + fail_if(soa_set_remote_sdp(soa, NULL, body, (issize_t)bodylen) < 0); +} + +static void process_offer(struct message *message) +{ + save_sdp_to_soa(message); + fail_if(soa_generate_answer(soa, NULL) < 0); +} + +static void +respond_with_sdp(struct message *request, + struct dialog *dialog, + int status, char const *phrase, + tag_type_t tag, tag_value_t value, ...) +{ + ta_list ta; + + char const *body; + isize_t bodylen; + + fail_if(soa_get_local_sdp(soa, NULL, &body, &bodylen) != 1); + + ta_start(ta, tag, value); + s2_respond_to(request, dialog, status, phrase, + SIPTAG_CONTENT_TYPE_STR("application/sdp"), + SIPTAG_PAYLOAD_STR(body), + SIPTAG_CONTENT_DISPOSITION_STR("session"), + ta_tags(ta)); + ta_end(ta); +} + +static struct message * +invite_sent_by_nua(nua_handle_t *nh, + tag_type_t tag, tag_value_t value, ...) +{ + ta_list ta; + ta_start(ta, tag, value); + nua_invite(nh, SOATAG_USER_SDP_STR("m=audio 5004 RTP/AVP 0 8"), + ta_tags(ta)); + ta_end(ta); + + fail_unless(s2_check_callstate(nua_callstate_calling)); + + return s2_wait_for_request(SIP_METHOD_INVITE); +} + +static void +bye_by_nua(struct dialog *dialog, nua_handle_t *nh, + tag_type_t tag, tag_value_t value, ...) +{ + ta_list ta; + struct message *bye; + + ta_start(ta, tag, value); + nua_bye(nh, ta_tags(ta)); + ta_end(ta); + + bye = s2_wait_for_request(SIP_METHOD_BYE); + fail_if(!bye); + s2_respond_to(bye, dialog, SIP_200_OK, TAG_END()); + s2_free_message(bye); + fail_unless(s2_check_event(nua_r_bye, 200)); + fail_unless(s2_check_callstate(nua_callstate_terminated)); +} + +/* ====================================================================== */ +/* 6 - ETSI cases */ + +/* 6.1 Call Control - Originating Endpoint - Call Establishment */ + +START_TEST(SIP_CC_OE_CE_V_019) +{ + nua_handle_t *nh; + struct message *invite; + + s2_case("6.1.1", "SIP_CC_OE_CE_V_019", + "Ensure that the IUT when an INVITE client transaction " + "is in the Calling state, on receipt of Success (200 OK) " + "responses differing only on the tag in the To header, " + "sends an ACK request with a To header identical to the " + "received one for each received Success (200 OK) responses."); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + + invite = invite_sent_by_nua(nh, TAG_END()); + + process_offer(invite); + + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + + fail_unless(s2_check_event(nua_r_invite, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + respond_with_sdp(invite, d2, SIP_200_OK, TAG_END()); + s2_free_message(invite); + + fail_unless(s2_check_event(nua_i_fork, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + bye_by_nua(d1, nh, TAG_END()); + + nua_handle_destroy(nh); +} +END_TEST + + +START_TEST(SIP_CC_OE_CE_TI_008) +{ + nua_handle_t *nh; + struct message *invite; + + s2_case("6.1.2", "SIP_CC_OE_CE_TI_008", + "If an unreliable transport is used, ensure that the IUT, " + "when an INVITE client transaction is in the Completed state, " + "on receipt of final responses that matches the transaction, " + "still answer with an ACK request until timer D set to at " + "least 32 second expires."); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + + invite = invite_sent_by_nua(nh, TAG_END()); + + process_offer(invite); + + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + + fail_unless(s2_check_event(nua_r_invite, 200)); + fail_unless(s2_check_callstate(nua_callstate_ready)); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + s2_fast_forward(32); + + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + s2_free_message(invite); + fail_if(s2_check_request_timeout(SIP_METHOD_ACK, 500)); + + bye_by_nua(d1, nh, TAG_END()); + + nua_handle_destroy(nh); +} +END_TEST + +TCase *sip_cc_oe_ce_tcase(void) +{ + TCase *tc = tcase_create("6.1 - ETSI CC OE - Call Establishment"); + tcase_add_checked_fixture(tc, etsi_setup, etsi_teardown); + { + tcase_add_test(tc, SIP_CC_OE_CE_TI_008); + tcase_add_test(tc, SIP_CC_OE_CE_V_019); + } + return tc; +} + +/* ====================================================================== */ + +void check_etsi_cases(Suite *suite) +{ + suite_add_tcase(suite, sip_cc_oe_ce_tcase()); +} Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c Wed Feb 11 11:10:38 2009 @@ -111,6 +111,7 @@ check_register_cases(suite); check_session_cases(suite); + check_etsi_cases(suite); runner = srunner_create(suite); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h Wed Feb 11 11:10:38 2009 @@ -10,6 +10,7 @@ void check_session_cases(Suite *suite); void check_register_cases(Suite *suite); +void check_etsi_cases(Suite *suite); void check_simple_cases(Suite *suite); #endif Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Wed Feb 11 11:10:38 2009 @@ -359,7 +359,14 @@ struct message * s2_wait_for_request(sip_method_t method, char const *name) { + return s2_wait_for_request_timeout(method, name, -1); +} + +struct message * +s2_wait_for_request_timeout(sip_method_t method, char const *name, int timeout) +{ struct message *m; + int t = timeout; for (;;) { for (m = s2->received; m; m = m->next) { @@ -374,6 +381,8 @@ } su_root_step(s2->root, 100); + if (timeout != -1 && ((t -= 100) <= 0)) + break; } return NULL; @@ -387,6 +396,14 @@ return m != NULL; } +int +s2_check_request_timeout(sip_method_t method, char const *name, int timeout) +{ + struct message *m = s2_wait_for_request_timeout(method, name, timeout); + s2_free_message(m); + return m != NULL; +} + void s2_save_uas_dialog(struct dialog *d, sip_t *sip) { Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Wed Feb 11 11:10:38 2009 @@ -144,7 +144,10 @@ struct message *s2_next_request(void); struct message *s2_wait_for_request(sip_method_t method, char const *name); +struct message *s2_wait_for_request_timeout(sip_method_t, char const *, + int timeout); int s2_check_request(sip_method_t method, char const *name); +int s2_check_request_timeout(sip_method_t method, char const *, int timeout); int s2_check_substate(struct event *e, enum nua_substate state); From mikej at freeswitch.org Wed Feb 11 09:11:01 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:11:01 -0600 Subject: [Freeswitch-svn] [commit] r11841 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:11:01 2009 New Revision: 11841 Log: Wed Jan 21 11:54:35 CST 2009 Pekka Pessi * check_etsi.c: disabled failing test case for now Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Wed Feb 11 11:11:01 2009 @@ -50,6 +50,13 @@ /* ====================================================================== */ +/* define XXX as 1 in order to see all failing test cases */ +#ifndef XXX +#define XXX (0) +#endif + +/* ====================================================================== */ + static nua_t *nua; static soa_session_t *soa = NULL; static struct dialog *d1 = NULL; @@ -258,7 +265,7 @@ tcase_add_checked_fixture(tc, etsi_setup, etsi_teardown); { tcase_add_test(tc, SIP_CC_OE_CE_TI_008); - tcase_add_test(tc, SIP_CC_OE_CE_V_019); + if (XXX) tcase_add_test(tc, SIP_CC_OE_CE_V_019); } return tc; } From mikej at freeswitch.org Wed Feb 11 09:11:20 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:11:20 -0600 Subject: [Freeswitch-svn] [commit] r11842 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:11:20 2009 New Revision: 11842 Log: Wed Jan 21 14:32:32 CST 2009 Pekka Pessi * check_nua: fiddled with some timing issues Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Wed Feb 11 11:11:20 2009 @@ -244,6 +244,8 @@ fail_unless(s2_check_callstate(nua_callstate_ready)); fail_unless(s2_check_request(SIP_METHOD_ACK)); + s2_fast_forward(5); + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 11:11:20 2009 @@ -2391,7 +2391,7 @@ s2_fast_forward(300); invite_timer_round(nh, "300", NULL); - s2_fast_forward(300); + s2_fast_forward(140); nua_bye(nh, TAG_END()); @@ -2403,7 +2403,7 @@ s2_free_message(bye); fail_unless(s2_check_event(nua_r_bye, 407)); - s2_fast_forward(300); + s2_fast_forward(160); nua_authenticate(nh, NUTAG_AUTH(s2_auth_credentials), TAG_END()); bye = s2_wait_for_request(SIP_METHOD_BYE); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Wed Feb 11 11:11:20 2009 @@ -125,6 +125,8 @@ _su_time = _su_time_fast_forwarder; time_offset += seconds; + + su_root_step(s2->root, 0); } /* -- NUA events -------------------------------------------------------- */ From mikej at freeswitch.org Wed Feb 11 09:11:38 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:11:38 -0600 Subject: [Freeswitch-svn] [commit] r11843 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:11:38 2009 New Revision: 11843 Log: Wed Jan 21 14:49:03 CST 2009 Pekka Pessi * check_nua: added test check_simple.c, test cases for SIMPLE Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am Wed Feb 11 11:11:38 2009 @@ -43,9 +43,11 @@ COVERAGE_INPUT = $(libnua_la_SOURCES) $(include_sofia_HEADERS) +# ---------------------------------------------------------------------- + check_nua_SOURCES = check_nua.c check_nua.h \ check_session.c check_register.c \ - check_etsi.c \ + check_etsi.c check_simple.c \ test_s2.h test_s2.c check_nua_LDADD = $(nua_libs) @CHECK_LIBS@ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c Wed Feb 11 11:11:38 2009 @@ -112,6 +112,7 @@ check_register_cases(suite); check_session_cases(suite); check_etsi_cases(suite); + check_simple_cases(suite); runner = srunner_create(suite); From mikej at freeswitch.org Wed Feb 11 09:12:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:12:33 -0600 Subject: [Freeswitch-svn] [commit] r11844 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Wed Feb 11 11:12:33 2009 New Revision: 11844 Log: Fri Jan 23 11:13:41 CST 2009 Pekka Pessi * sresolv: caching SRES_RECORD_ERR in case a CNAME is returned, too Tracing the CNAMEs when doing cache lookups. Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:12:33 2009 @@ -1 +1 @@ -Wed Feb 11 11:08:29 CST 2009 +Wed Feb 11 11:12:10 CST 2009 Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c Wed Feb 11 11:12:33 2009 @@ -0,0 +1,522 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2008 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@CFILE check_events.c + * + * @brief NUA module tests for SIP events + * + * @author Pekka Pessi + * + * @copyright (C) 2008 Nokia Corporation. + */ + +#include "config.h" + +#include "check_nua.h" + +#include "test_s2.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +/* define XXX as 1 in order to see all failing test cases */ +#ifndef XXX +#define XXX (0) +#endif + +/* ====================================================================== */ + +static nua_t *nua; +static soa_session_t *soa = NULL; +static struct dialog *dialog = NULL; + +#define CRLF "\r\n" + +void s2_dialog_setup(void) +{ + nua = s2_nua_setup("simple", + SIPTAG_ORGANIZATION_STR("Pussy Galore's Flying Circus"), + NUTAG_OUTBOUND("no-options-keepalive, no-validate"), + TAG_END()); + + soa = soa_create(NULL, s2->root, NULL); + + fail_if(!soa); + + soa_set_params(soa, + SOATAG_USER_SDP_STR("m=audio 5008 RTP/AVP 8 0" CRLF + "m=video 5010 RTP/AVP 34" CRLF), + TAG_END()); + + dialog = su_home_new(sizeof *dialog); fail_if(!dialog); + + s2_register_setup(); +} + +void s2_dialog_teardown(void) +{ + s2_teardown_started("simple"); + + s2_register_teardown(); + + nua_shutdown(nua); + + fail_unless(s2_check_event(nua_r_shutdown, 200)); + + s2_nua_teardown(); +} + + +static char const presence_open[] = + "\n" + "\n" + " \n" + " open\n" + " sip:bob at example.org\n" + " \n" + "\n"; + +static char const presence_closed[] = + "\n" + "\n" + " \n" + " closed\n" + " \n" + "\n"; + +static char const *event_type = "presence"; +static char const *event_mime_type = "application/pidf+xml"; +static char const *event_state = presence_open; +static char const *subscription_state = "active;expires=600"; + +static struct event * +respond_to_subscribe(struct message *subscribe, + nua_event_t expect_event, + enum nua_substate expect_substate, + int status, char const *phrase, + tag_type_t tag, tag_value_t value, ...) +{ + struct event *event; + ta_list ta; + + ta_start(ta, tag, value); + s2_respond_to(subscribe, dialog, status, phrase, + ta_tags(ta)); + ta_end(ta); + + event = s2_wait_for_event(expect_event, status); fail_if(!event); + fail_unless(s2_check_substate(event, expect_substate)); + return event; +} + +static struct event * +notify_to_nua(enum nua_substate expect_substate, + tag_type_t tag, tag_value_t value, ...) +{ + struct event *event; + struct message *response; + ta_list ta; + + ta_start(ta, tag, value); + fail_if(s2_request_to(dialog, SIP_METHOD_NOTIFY, NULL, + SIPTAG_CONTENT_TYPE_STR(event_mime_type), + SIPTAG_PAYLOAD_STR(event_state), + ta_tags(ta))); + ta_end(ta); + + response = s2_wait_for_response(200, SIP_METHOD_NOTIFY); + fail_if(!response); + s2_free_message(response); + + event = s2_wait_for_event(nua_i_notify, 200); fail_if(!event); + fail_unless(s2_check_substate(event, expect_substate)); + + return event; +} + +static int send_notify_before_response = 0; + +static struct event * +subscription_by_nua(nua_handle_t *nh, + enum nua_substate current, + tag_type_t tag, tag_value_t value, ...) +{ + struct message *subscribe; + struct event *notify, *event; + ta_list ta; + enum nua_substate substate = nua_substate_active; + char const *substate_str = subscription_state; + char const *expires = "600"; + + subscribe = s2_wait_for_request(SIP_METHOD_SUBSCRIBE); + if (event_type) + fail_if(!subscribe->sip->sip_event || + strcmp(event_type, subscribe->sip->sip_event->o_type)); + + if (subscribe->sip->sip_expires && subscribe->sip->sip_expires->ex_delta == 0) { + substate = nua_substate_terminated; + substate_str = "terminated;reason=timeout"; + expires = "0"; + } + + ta_start(ta, tag, value); + + if (send_notify_before_response) { + s2_save_uas_dialog(dialog, subscribe->sip); + notify = notify_to_nua(substate, + SIPTAG_EVENT(subscribe->sip->sip_event), + SIPTAG_SUBSCRIPTION_STATE_STR(substate_str), + ta_tags(ta)); + event = respond_to_subscribe(subscribe, nua_r_subscribe, substate, + SIP_200_OK, + SIPTAG_EXPIRES_STR(expires), + TAG_END()); + s2_free_event(event); + } + else { + event = respond_to_subscribe(subscribe, nua_r_subscribe, current, + SIP_202_ACCEPTED, + SIPTAG_EXPIRES_STR(expires), + TAG_END()); + s2_free_event(event); + notify = notify_to_nua(substate, + SIPTAG_EVENT(subscribe->sip->sip_event), + SIPTAG_SUBSCRIPTION_STATE_STR(substate_str), + ta_tags(ta)); + } + + s2_free_message(subscribe); + + return notify; +} + +static void +unsubscribe_by_nua(nua_handle_t *nh, tag_type_t tag, tag_value_t value, ...) +{ + struct message *subscribe, *response; + struct event *event; + + nua_unsubscribe(nh, TAG_END()); + subscribe = s2_wait_for_request(SIP_METHOD_SUBSCRIBE); + + s2_respond_to(subscribe, dialog, SIP_200_OK, SIPTAG_EXPIRES_STR("0"), TAG_END()); + + event = s2_wait_for_event(nua_r_unsubscribe, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_active)); + s2_free_event(event); + + fail_if(s2_request_to(dialog, SIP_METHOD_NOTIFY, NULL, + SIPTAG_EVENT(subscribe->sip->sip_event), + SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=tiemout"), + SIPTAG_CONTENT_TYPE_STR(event_mime_type), + SIPTAG_PAYLOAD_STR(event_state), + TAG_END())); + + event = s2_wait_for_event(nua_i_notify, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_terminated)); + s2_free_event(event); + + response = s2_wait_for_response(200, SIP_METHOD_NOTIFY); + fail_if(!response); + s2_free_message(response); s2_free_message(subscribe); +} + +/* ====================================================================== */ +/* 6 - Subscribe/notify */ + +START_TEST(subscribe_6_1_1) +{ + nua_handle_t *nh; + struct event *notify; + s2_case("6.1.1", "Basic subscription", + "NUA sends SUBSCRIBE, waits for NOTIFY, sends un-SUBSCRIBE"); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_free_event(notify); + unsubscribe_by_nua(nh, TAG_END()); + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(subscribe_6_1_2) +{ + nua_handle_t *nh; + struct message *subscribe, *response; + struct event *notify, *event; + + s2_case("6.1.2", "Basic subscription with refresh", + "NUA sends SUBSCRIBE, waits for NOTIFY, " + "sends re-SUBSCRIBE, waits for NOTIFY, " + "sends un-SUBSCRIBE"); + + send_notify_before_response = 1; + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_free_event(notify); + + /* Wait for refresh */ + s2_fast_forward(600); + subscribe = s2_wait_for_request(SIP_METHOD_SUBSCRIBE); + s2_respond_to(subscribe, dialog, SIP_200_OK, + SIPTAG_EXPIRES_STR("600"), + TAG_END()); + + event = s2_wait_for_event(nua_r_subscribe, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_active)); + s2_free_event(event); + + fail_if(s2_request_to(dialog, SIP_METHOD_NOTIFY, NULL, + SIPTAG_EVENT(subscribe->sip->sip_event), + SIPTAG_SUBSCRIPTION_STATE_STR("active;expires=600"), + SIPTAG_CONTENT_TYPE_STR(event_mime_type), + SIPTAG_PAYLOAD_STR(event_state), + TAG_END())); + event = s2_wait_for_event(nua_i_notify, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_active)); + s2_free_event(event); + response = s2_wait_for_response(200, SIP_METHOD_NOTIFY); + fail_if(!response); + s2_free_message(response); + + unsubscribe_by_nua(nh, TAG_END()); + + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(subscribe_6_1_3) +{ + nua_handle_t *nh; + struct message *response; + struct event *notify, *event; + + s2_case("6.1.3", "Subscription terminated by notifier", + "NUA sends SUBSCRIBE, waits for NOTIFY, " + "gets NOTIFY terminating the subscription,"); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_free_event(notify); + + fail_if(s2_request_to(dialog, SIP_METHOD_NOTIFY, NULL, + SIPTAG_EVENT_STR(event_type), + SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=noresource"), + TAG_END())); + event = s2_wait_for_event(nua_i_notify, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_terminated)); + s2_free_event(event); + response = s2_wait_for_response(200, SIP_METHOD_NOTIFY); + fail_if(!response); + s2_free_message(response); + + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(subscribe_6_1_4) +{ + nua_handle_t *nh; + struct message *response; + struct event *notify, *event; + + s2_case("6.1.4", "Subscription terminated by notifier, re-established", + "NUA sends SUBSCRIBE, waits for NOTIFY, " + "gets NOTIFY terminating the subscription,"); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_free_event(notify); + + fail_if(s2_request_to(dialog, SIP_METHOD_NOTIFY, NULL, + SIPTAG_EVENT_STR(event_type), + SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=deactivated"), + TAG_END())); + event = s2_wait_for_event(nua_i_notify, 200); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_embryonic)); + s2_free_event(event); + response = s2_wait_for_response(200, SIP_METHOD_NOTIFY); + fail_if(!response); + s2_free_message(response); + + su_home_unref((void *)dialog), dialog = su_home_new(sizeof *dialog); fail_if(!dialog); + + s2_fast_forward(5); + /* nua re-establishes the subscription */ + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_free_event(notify); + + /* Unsubscribe with nua_subscribe() Expires: 0 */ + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), SIPTAG_EXPIRES_STR("0"), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_active, TAG_END()); + s2_free_event(notify); + + nua_handle_destroy(nh); +} +END_TEST + +TCase *subscribe_tcase(void) +{ + TCase *tc = tcase_create("6.1 - Basic SUBSCRIBE_"); + tcase_add_checked_fixture(tc, s2_dialog_setup, s2_dialog_teardown); + { + tcase_add_test(tc, subscribe_6_1_1); + tcase_add_test(tc, subscribe_6_1_2); + tcase_add_test(tc, subscribe_6_1_3); + tcase_add_test(tc, subscribe_6_1_4); + } + return tc; +} + +START_TEST(fetch_6_2_1) +{ + nua_handle_t *nh; + struct event *notify; + + s2_case("6.2.1", "Event fetch - NOTIFY after 202", + "NUA sends SUBSCRIBE with Expires 0, waits for NOTIFY"); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), SIPTAG_EXPIRES_STR("0"), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_check_substate(notify, nua_substate_terminated); + s2_free_event(notify); + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(fetch_6_2_2) +{ + nua_handle_t *nh; + struct event *notify; + + s2_case("6.2.2", "Event fetch - NOTIFY before 200", + "NUA sends SUBSCRIBE with Expires 0, waits for NOTIFY"); + + send_notify_before_response = 1; + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), SIPTAG_EXPIRES_STR("0"), TAG_END()); + notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); + s2_check_substate(notify, nua_substate_terminated); + s2_free_event(notify); + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(fetch_6_2_3) +{ + nua_handle_t *nh; + struct message *subscribe; + struct event *event; + + s2_case("6.2.3", "Event fetch - no NOTIFY", + "NUA sends SUBSCRIBE with Expires 0, waits for NOTIFY, times out"); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + nua_subscribe(nh, SIPTAG_EVENT_STR(event_type), SIPTAG_EXPIRES_STR("0"), TAG_END()); + subscribe = s2_wait_for_request(SIP_METHOD_SUBSCRIBE); + s2_respond_to(subscribe, dialog, SIP_202_ACCEPTED, + SIPTAG_EXPIRES_STR("0"), TAG_END()); + s2_free_message(subscribe); + + event = s2_wait_for_event(nua_r_subscribe, 202); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_embryonic)); + s2_free_event(event); + + s2_fast_forward(600); + + event = s2_wait_for_event(nua_i_notify, 408); fail_if(!event); + fail_unless(s2_check_substate(event, nua_substate_terminated)); + s2_free_event(event); + + nua_handle_destroy(nh); +} +END_TEST + + +TCase *fetch_tcase(void) +{ + TCase *tc = tcase_create("6.2 - Event fetch"); + tcase_add_checked_fixture(tc, s2_dialog_setup, s2_dialog_teardown); + { + tcase_add_test(tc, fetch_6_2_1); + tcase_add_test(tc, fetch_6_2_2); + tcase_add_test(tc, fetch_6_2_3); + } + return tc; +} + +/* ====================================================================== */ + +/* Test case template */ + +START_TEST(empty) +{ + s2_case("0.0.0", "Empty test case", + "Detailed explanation for empty test case."); + + tport_set_params(s2->master, TPTAG_LOG(1), TAG_END()); + s2_setup_logs(7); + s2_setup_logs(0); + tport_set_params(s2->master, TPTAG_LOG(0), TAG_END()); +} + +END_TEST + +static TCase *empty_tcase(void) +{ + TCase *tc = tcase_create("0 - Empty"); + tcase_add_checked_fixture(tc, s2_dialog_setup, s2_dialog_teardown); + tcase_add_test(tc, empty); + + return tc; +} + +/* ====================================================================== */ + +void check_simple_cases(Suite *suite) +{ + suite_add_tcase(suite, subscribe_tcase()); + suite_add_tcase(suite, fetch_tcase()); + + if (0) /* Template */ + suite_add_tcase(suite, empty_tcase()); +} + Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com Wed Feb 11 11:12:33 2009 @@ -42,6 +42,11 @@ SRV 4 50 5051 sip02 SRV 5 10 5061 sip01 +cloop CNAME cloop0 +cloop0 CNAME cloop1 +cloop1 CNAME cloop2 +cloop2 CNAME cloop0 + sip CNAME sip00 subnet A6 0 3ff0:0:: Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c Wed Feb 11 11:12:33 2009 @@ -495,7 +495,9 @@ static char const *sres_toplevel(char buf[], size_t bsize, char const *domain); -static sres_record_t *sres_create_record(sres_resolver_t *, sres_message_t *m); +static sres_record_t *sres_create_record(sres_resolver_t *, + sres_message_t *m, + int nth); static sres_record_t *sres_init_rr_soa(sres_cache_t *cache, sres_soa_record_t *, @@ -3539,7 +3541,7 @@ total = errorcount + m->m_ancount + m->m_nscount + m->m_arcount; - answers = su_zalloc(chome, (total + 1) * sizeof answers[0]); + answers = su_zalloc(chome, (total + 2) * sizeof answers[0]); if (!answers) return -1; @@ -3548,7 +3550,7 @@ if (i < errorcount) rr = error = sres_create_error_rr(res->res_cache, query, err); else - rr = sres_create_record(res, m); + rr = sres_create_record(res, m, i - errorcount); if (!rr) { SU_DEBUG_5(("sres_create_record: %s\n", m->m_error)); @@ -3565,12 +3567,31 @@ } if (i < total) { + SU_DEBUG_5(("sres_decode_msg: %s\n", "less records than promised")); for (i = 0; i < total; i++) sres_cache_free_record(res->res_cache, answers[i]); su_free(chome, answers); return -1; } + if (m->m_ancount > 0 && errorcount == 0 && query->q_type < sres_qtype_tsig) { + char b0[8], b1[8]; + for (i = 0; i < m->m_ancount; i++) { + if (query->q_type == answers[i]->sr_type) + break; + } + + if (i == m->m_ancount) { + /* The queried request was not found. CNAME? */ + SU_DEBUG_5(("sres_decode_msg: sent query %s, got %s\n", + sres_record_type(query->q_type, b0), + sres_record_type(answers[0]->sr_type, b1))); + rr = sres_create_error_rr(res->res_cache, query, err = SRES_RECORD_ERR); + memmove(answers + 1, answers, (sizeof answers[0]) * total++); + answers[errorcount++] = rr; + } + } + for (i = 0; i < total; i++) { rr = answers[i]; @@ -3591,7 +3612,7 @@ static sres_record_t * -sres_create_record(sres_resolver_t *res, sres_message_t *m) +sres_create_record(sres_resolver_t *res, sres_message_t *m, int nth) { sres_cache_t *cache = res->res_cache; sres_record_t *sr, sr0[1]; @@ -3614,7 +3635,11 @@ name[len] = 0; - SU_DEBUG_9(("RR received %s %s %s %d rdlen=%d\n", name, + SU_DEBUG_9(("%s RR received %s %s %s %d rdlen=%d\n", + nth < m->m_ancount ? "ANSWER" : + nth < m->m_ancount + m->m_nscount ? "AUTHORITY" : + "ADDITIONAL", + name, sres_record_type(sr->sr_type, btype), sres_record_class(sr->sr_class, bclass), sr->sr_ttl, sr->sr_rdlen)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c Wed Feb 11 11:12:33 2009 @@ -169,15 +169,98 @@ su_home_unref(cache->cache_home); } +struct frame { + struct frame *previous; + char const *domain; +}; + +/** Count or get matching records from cache */ +static int +sres_cache_get0(sres_htable_t *htable, + sres_rr_hash_entry_t **iter, + uint16_t type, + char const *domain, + time_t now, + sres_record_t **cached, + int len, + struct frame *previous) +{ + sres_cname_record_t *cname = NULL; + int dcount = 0, derrorcount = 0, ccount = 0; + + for (; iter && *iter; iter = sres_htable_next(htable, iter)) { + sres_record_t *rr = (*iter)->rr; + + if (rr == NULL) + continue; + if (now > (*iter)->rr_expires) + continue; + if (rr->sr_name == NULL) + continue; + if (!su_casematch(rr->sr_name, domain)) + continue; + + if (rr->sr_type == type || type == sres_qtype_any) { + if (rr->sr_status == SRES_RECORD_ERR && type == sres_qtype_any) + continue; + if (cached) { + if (dcount >= len) + return -1; + cached[dcount] = rr, rr->sr_refcount++; + } + dcount++; + if (rr->sr_status) + derrorcount++; + } + + if (type != sres_type_cname && rr->sr_type == sres_type_cname) { + if (rr->sr_status == 0) + cname = rr->sr_cname; + } + } + + if (cname && dcount == derrorcount) { + /* Nothing found, trace CNAMEs */ + struct frame *f, frame = { previous, domain }; + unsigned hash = sres_hash_key(domain = cname->cn_cname); + + if (cached) { + if (dcount >= len) + return -1; + cached[dcount] = (sres_record_t *)cname; + cname->cn_record->r_refcount++; + } + dcount++; + + /* Check for cname loops */ + for (f = previous; f; f = f->previous) { + if (su_casematch(domain, f->domain)) + break; + } + + if (f == NULL) { + ccount = sres_cache_get0(htable, sres_htable_hash(htable, hash), + type, domain, now, + cached ? cached + dcount : NULL, + cached ? len - dcount : 0, + &frame); + } + if (ccount < 0) + return ccount; + } + + return dcount + ccount; +} + /** Get a list of matching records from cache. */ int sres_cache_get(sres_cache_t *cache, uint16_t type, char const *domain, sres_record_t ***return_cached) { - sres_record_t **result = NULL, *rr = NULL; - sres_rr_hash_entry_t **rr_iter, **rr_iter2; - int result_size, rr_count = 0; + sres_record_t **result = NULL; + sres_rr_hash_entry_t **slot; + int result_size, i, j; unsigned hash; time_t now; char b[8]; @@ -198,28 +281,16 @@ time(&now); /* First pass: just count the number of rr:s for array allocation */ - rr_iter2 = sres_htable_hash(cache->cache_hash, hash); - - /* Find the domain records from the hash table */ - for (rr_iter = rr_iter2; - rr_iter && *rr_iter; - rr_iter = sres_htable_next(cache->cache_hash, rr_iter)) { - rr = (*rr_iter)->rr; - - if (rr != NULL && - now <= (*rr_iter)->rr_expires && - (type == sres_qtype_any || rr->sr_type == type) && - rr->sr_name != NULL && - su_casematch(rr->sr_name, domain)) - rr_count++; - } + slot = sres_htable_hash(cache->cache_hash, hash); - if (rr_count == 0) { + i = sres_cache_get0(cache->cache_hash, slot, type, domain, now, + NULL, 0, NULL); + if (i <= 0) { UNLOCK(cache); return 0; } - result_size = (sizeof *result) * (rr_count + 1); + result_size = (sizeof *result) * (i + 1); result = su_zalloc(cache->cache_home, result_size); if (result == NULL) { UNLOCK(cache); @@ -227,35 +298,30 @@ } /* Second pass: add the rr pointers to the allocated array */ - - for (rr_iter = rr_iter2, rr_count = 0; - rr_iter && *rr_iter; - rr_iter = sres_htable_next(cache->cache_hash, rr_iter)) { - rr = (*rr_iter)->rr; - - if (rr != NULL && - now <= (*rr_iter)->rr_expires && - (type == sres_qtype_any || rr->sr_type == type) && - rr->sr_name != NULL && - su_casematch(rr->sr_name, domain)) { - SU_DEBUG_9(("rr found in cache: %s %02d\n", - rr->sr_name, rr->sr_type)); - - result[rr_count++] = rr; - rr->sr_refcount++; + j = sres_cache_get0(cache->cache_hash, slot, type, domain, now, + result, i, NULL); + if (i != j) { + /* Uh-oh. */ + SU_DEBUG_9(("%s(%p, %s, \"%s\") got %d != %d\n", "sres_cache_get", + (void *)cache, sres_record_type(type, b), domain, i, j)); + for (i = 0; i < result_size; i++) { + if (result[i]) + result[i]->sr_refcount--; } + su_free(cache->cache_home, result); + return 0; } - result[rr_count] = NULL; + result[i] = NULL; UNLOCK(cache); SU_DEBUG_9(("%s(%p, %s, \"%s\") returned %d entries\n", "sres_cache_get", - (void *)cache, sres_record_type(type, b), domain, rr_count)); + (void *)cache, sres_record_type(type, b), domain, i)); *return_cached = result; - return rr_count; + return i; } sres_record_t * Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c Wed Feb 11 11:12:33 2009 @@ -90,6 +90,10 @@ #include #endif +#include + +extern su_log_t sresolv_log[]; + char const name[] = "test_sresolv"; struct sres_context_s @@ -982,24 +986,133 @@ int test_cname(sres_context_t *ctx) { sres_resolver_t *res = ctx->resolver; - sres_record_t **result; - const sres_cname_record_t *rr; + sres_record_t **result, *sr; + const sres_cname_record_t *cn; char const *domain = "sip.example.com"; BEGIN(); + TEST_1(sres_query(res, test_answer, ctx, sres_type_naptr, domain)); + TEST_RUN(ctx); + + TEST_1(result = ctx->result); + TEST_1(sr = result[0]); + TEST_1(sr->sr_record->r_status == SRES_RECORD_ERR); + TEST_1(cn = result[1]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "sip00.example.com."); + + sres_free_answers(res, ctx->result), ctx->result = NULL; + + TEST_1(result = sres_cached_answers(res, sres_type_naptr, domain)); + TEST_1(sr = result[0]); + TEST_1(sr->sr_record->r_status == SRES_RECORD_ERR); + TEST_1(cn = result[1]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "sip00.example.com."); + + sres_free_answers(res, result), ctx->result = NULL; + + TEST_1(result = sres_cached_answers(res, sres_qtype_any, domain)); + TEST_1(cn = result[0]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "sip00.example.com."); + /* We might have A record, or then not */ + + sres_free_answers(res, result), ctx->result = NULL; + + TEST_1(sres_query(res, test_answer, ctx, sres_type_a, domain)); + TEST_RUN(ctx); + + TEST_1(result = ctx->result); + TEST_1(cn = result[0]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "sip00.example.com."); + TEST_1(sr = result[1]); + TEST(sr->sr_record->r_class, sres_class_in); + TEST(sr->sr_record->r_type, sres_type_a); + + sres_free_answers(res, ctx->result), ctx->result = NULL; + + TEST_1(result = sres_cached_answers(res, sres_type_a, domain)); + TEST_1(cn = result[0]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "sip00.example.com."); + TEST_1(sr = result[1]); + TEST(sr->sr_record->r_class, sres_class_in); + TEST(sr->sr_record->r_type, sres_type_a); + + sres_free_answers(res, result); + + domain = "cloop.example.com"; + TEST_1(sres_query(res, test_answer, ctx, sres_type_a, domain)); TEST_RUN(ctx); TEST_1(result = ctx->result); - TEST_1(rr = result[0]->sr_cname); - TEST(rr->cn_record->r_class, sres_class_in); - TEST(rr->cn_record->r_type, sres_type_cname); - TEST(rr->cn_record->r_ttl, 60); - TEST_S(rr->cn_cname, "sip00.example.com."); + TEST_1(sr = result[0]); + TEST_1(sr->sr_record->r_status == SRES_RECORD_ERR); + TEST_1(cn = result[1]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop0.example.com."); + TEST_1(cn = result[2]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop1.example.com."); + TEST_1(cn = result[3]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop2.example.com."); + TEST_1(cn = result[4]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop0.example.com."); + TEST_1(result[5] == NULL); sres_free_answers(res, ctx->result), ctx->result = NULL; + TEST_1(result = sres_cached_answers(res, sres_type_a, domain)); + TEST_1(sr = result[0]); + TEST_1(sr->sr_record->r_status == SRES_RECORD_ERR); + TEST_1(cn = result[1]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop0.example.com."); + TEST_1(cn = result[2]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop1.example.com."); + TEST_1(cn = result[3]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop2.example.com."); + TEST_1(cn = result[4]->sr_cname); + TEST(cn->cn_record->r_class, sres_class_in); + TEST(cn->cn_record->r_type, sres_type_cname); + TEST(cn->cn_record->r_ttl, 60); + TEST_S(cn->cn_cname, "cloop0.example.com."); + TEST_1(result[5] == NULL); + + sres_free_answers(res, result); + END(); } @@ -1892,10 +2005,6 @@ exit(exitcode); } -#include - -extern su_log_t sresolv_log[]; - int main(int argc, char **argv) { int i; From mikej at freeswitch.org Wed Feb 11 09:13:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:13:16 -0600 Subject: [Freeswitch-svn] [commit] r11845 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:13:16 2009 New Revision: 11845 Log: Wed Jan 21 10:38:08 CST 2009 Pekka Pessi * msg_multipart_s: fixed mp_len type The msg_multipart_s should follow msg_pub_s layout. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h Wed Feb 11 11:13:16 2009 @@ -163,7 +163,7 @@ msg_multipart_t *mp_next; /**< Next part in multipart body */ /* Preamble for this part */ char *mp_data; /**< Boundary string. */ - usize_t mp_len; /**< Length of boundary (mp_data).*/ + unsigned mp_len; /**< Length of boundary (mp_data).*/ unsigned mp_flags; msg_error_t *mp_error; From mikej at freeswitch.org Wed Feb 11 09:13:36 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:13:36 -0600 Subject: [Freeswitch-svn] [commit] r11846 - freeswitch/trunk/libs/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:13:36 2009 New Revision: 11846 Log: Mon Jan 26 09:45:30 CST 2009 Pekka Pessi * RELEASE: msg_multipart_t::mp_len from usize_t to unsigned Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/RELEASE Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:13:36 2009 @@ -1 +1 @@ -Wed Feb 11 11:12:10 CST 2009 +Wed Feb 11 11:13:29 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/RELEASE ============================================================================== --- freeswitch/trunk/libs/sofia-sip/RELEASE (original) +++ freeswitch/trunk/libs/sofia-sip/RELEASE Wed Feb 11 11:13:36 2009 @@ -25,6 +25,9 @@ libsofia-sip-ua: - **template**: Added foobar() function (sofia-sip/foobar.h). +- The mp_len type was changed from usize_t to unsigned. + The change is binary-incompatible on 64-bit platforms when compiled with + the configure opetion --disable-size-compat - This release is ABI/API compatible with applications linked against any 1.12.x release. However, applications built against this release won't work against an older library. The ABI has been tested with the nua module From mikej at freeswitch.org Wed Feb 11 09:14:06 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:14:06 -0600 Subject: [Freeswitch-svn] [commit] r11847 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:14:06 2009 New Revision: 11847 Log: Wed Jan 28 13:34:54 CST 2009 Pekka Pessi * nua_dialog.c: avoid debug output with nua_dialog_usage_set_refresh_at() Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:14:06 2009 @@ -1 +1 @@ -Wed Feb 11 11:13:29 CST 2009 +Wed Feb 11 11:13:59 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c Wed Feb 11 11:14:06 2009 @@ -543,7 +543,7 @@ du->du_refquested = now; - nua_dialog_usage_set_refresh_at(du, target); + du->du_refresh = target; } /** Set absolute refresh time */ From mikej at freeswitch.org Wed Feb 11 09:14:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:14:33 -0600 Subject: [Freeswitch-svn] [commit] r11848 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:14:33 2009 New Revision: 11848 Log: Wed Jan 28 11:52:34 CST 2009 Pekka Pessi * su_timer.c: using heap (instead of red-black tree) for keeping timers sorted Re-recorded 20070704230449-65a35-f0434c75b0f58a069806e81942c0d5e0821dc9d3 Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:14:33 2009 @@ -1 +1 @@ -Wed Feb 11 11:13:59 CST 2009 +Wed Feb 11 11:14:27 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:14:33 2009 @@ -32,7 +32,17 @@ #include "config.h" -#include "su_port.h" +#include +#include + +typedef union { + void *private; + /* Use for debugging */ + struct timers_priv { size_t _size, _used; struct su_timer_s * _heap[2]; } *actual; +} su_timer_heap_t; + +#define SU_TIMER_QUEUE_T su_timer_heap_t + #include "sofia-sip/su.h" #include "sofia-sip/su_wait.h" #include "sofia-sip/su_alloc.h" @@ -144,8 +154,8 @@ struct su_timer_s { /** Pointers within red-black tree */ - su_timer_t *sut_left, *sut_right, *sut_parent; su_task_r sut_task; /**< Task reference */ + size_t sut_heap_index; /**< Timer is set (inserted in heap) */ su_time_t sut_when; /**< When timer should be waken up next time */ su_duration_t sut_duration; /**< Timer duration */ su_timer_f sut_wakeup; /**< Function to call when waken up */ @@ -153,9 +163,6 @@ su_time_t sut_run; /**< When this timer was last waken up */ unsigned sut_woken; /**< Timer has waken up this many times */ unsigned short sut_running; /**< Timer is running */ - - unsigned char sut_black; /**< Black node */ - unsigned char sut_set; /**< Timer is set (inserted in tree) */ }; /** Timer running status */ @@ -165,35 +172,35 @@ run_for_ever = 2 /**< Do not compensate */ }; -#define SU_TIMER_IS_SET(sut) ((sut)->sut_set) +#define SU_TIMER_IS_SET(sut) ((sut)->sut_heap_index != 0) + +HEAP_DECLARE(su_inline, su_timer_queue_t, timers_, su_timer_t *); + +su_inline void timers_set(su_timer_t **array, size_t index, su_timer_t *t) +{ + array[t->sut_heap_index = index] = t; +} + +su_inline int timers_less(su_timer_t *a, su_timer_t *b) +{ + return + a->sut_when.tv_sec < b->sut_when.tv_sec || + (a->sut_when.tv_sec == b->sut_when.tv_sec && + a->sut_when.tv_usec < b->sut_when.tv_usec); +} + +su_inline void *timers_alloc(void *argument, void *memory, size_t size) +{ + (void)argument; + + if (size) + return realloc(memory, size); + else + return free(memory), NULL; +} -/* Accessor macros for rbtree */ -#define LEFT(sut) ((sut)->sut_left) -#define RIGHT(sut) ((sut)->sut_right) -#define PARENT(sut) ((sut)->sut_parent) -#define SET_RED(sut) ((sut)->sut_black = 0) -#define SET_BLACK(sut) ((sut)->sut_black = 1) -#define CMP(a, b) SU_TIME_CMP((a)->sut_when, (b)->sut_when) -#define IS_RED(sut) ((sut) && (sut)->sut_black == 0) -#define IS_BLACK(sut) (!(sut) || (sut)->sut_black == 1) -#define COPY_COLOR(dst, src) ((dst)->sut_black = (src)->sut_black) -#define INSERT(sut) ((sut)->sut_set = 1) -#define REMOVE(sut) ((sut)->sut_set = 0, \ - (sut)->sut_left = (sut)->sut_right = (sut)->sut_parent = NULL) - -RBTREE_PROTOS(su_inline, timers, su_timer_t); - -su_inline int timers_append(su_timer_queue_t *, su_timer_t *); -su_inline void timers_remove(su_timer_queue_t *, su_timer_t *); -su_inline su_timer_t *timers_succ(su_timer_t const *); -su_inline su_timer_t *timers_prec(su_timer_t const *); -su_inline su_timer_t *timers_first(su_timer_t const *); -su_inline su_timer_t *timers_last(su_timer_t const *); - -RBTREE_BODIES(su_inline, timers, su_timer_t, - LEFT, RIGHT, PARENT, - IS_RED, SET_RED, IS_BLACK, SET_BLACK, COPY_COLOR, - CMP, INSERT, REMOVE); +HEAP_BODIES(su_inline, su_timer_queue_t, timers_, su_timer_t *, + timers_less, timers_set, timers_alloc, NULL); /**@internal Set the timer. * @@ -207,34 +214,30 @@ su_time_t when, su_duration_t offset) { + int retval; + + assert(timers); + + if (timers == NULL) + return -1; + if (SU_TIMER_IS_SET(t)) - timers_remove(timers, t); + timers_remove(timers[0], t->sut_heap_index)->sut_heap_index = 0; t->sut_wakeup = wakeup; t->sut_arg = arg; t->sut_when = su_time_add(when, offset); - return timers_append(timers, t); -} - -/**@internal Reset the timer. - * - * @retval 0 when successful (always) - */ -su_inline int -su_timer_reset0(su_timer_queue_t *timers, - su_timer_t *t) -{ - if (SU_TIMER_IS_SET(t)) - timers_remove(timers, t); - - t->sut_wakeup = NULL; - t->sut_arg = NULL; - t->sut_running = reset; + if (timers_is_full(timers[0])) { + timers_resize(NULL, timers, 0); + assert(!timers_is_full(timers[0])); + if (timers_is_full(timers[0])) + return -1; + } - memset(&t->sut_run, 0, sizeof(t->sut_run)); + retval = timers_add(timers[0], t); assert(retval == 0); - return 0; + return retval; } /**@internal Validate timer @a t and return pointer to per-port timer tree. @@ -255,12 +258,6 @@ return NULL; } - timers = su_task_timers(t->sut_task); - - if (timers == NULL) - SU_DEBUG_1(("%s(%p): %s\n", caller, (void *)t, - "invalid timer")); - if (use_sut_duration && t->sut_duration == 0) { assert(t->sut_duration > 0); SU_DEBUG_1(("%s(%p): %s\n", caller, (void *)t, @@ -268,6 +265,17 @@ return NULL; } + timers = su_task_timers(t->sut_task); + + if (timers == NULL) { + SU_DEBUG_1(("%s(%p): %s\n", caller, (void *)t, "invalid timer")); + return NULL; + } + else if (timers_is_full(timers[0]) && timers_resize(NULL, timers, 0) == -1) { + SU_DEBUG_1(("%s(%p): %s\n", caller, (void *)t, "timer queue failed")); + return NULL; + } + return timers; } @@ -308,9 +316,7 @@ void su_timer_destroy(su_timer_t *t) { if (t) { - su_timer_queue_t *timers = su_task_timers(t->sut_task); - if (timers) - su_timer_reset0(timers, t); + su_timer_reset(t); su_task_deinit(t->sut_task); su_free(NULL, t); } @@ -471,7 +477,16 @@ if (timers == NULL) return -1; - return su_timer_reset0(timers, t); + if (SU_TIMER_IS_SET(t)) + timers_remove(timers[0], t->sut_heap_index)->sut_heap_index = 0; + + t->sut_wakeup = NULL; + t->sut_arg = NULL; + t->sut_running = reset; + + memset(&t->sut_run, 0, sizeof(t->sut_run)); + + return 0; } /** @internal Check for expired timers in queue. @@ -495,16 +510,20 @@ su_timer_f f; int n = 0; - if (!*timers) - return n; + if (timers_used(timers[0]) == 0) + return 0; + + while ((t = timers_get(timers[0], 1))) { + if (SU_TIME_CMP(t->sut_when, now) > 0) { + su_duration_t at = su_duration(t->sut_when, now); - for (;;) { - t = timers_first(*timers); + if (at < *timeout) + *timeout = at; - if (t == NULL || SU_TIME_CMP(t->sut_when, now) > 0) break; + } - timers_remove(timers, t); + timers_remove(timers[0], 1)->sut_heap_index = 0; f = t->sut_wakeup; t->sut_wakeup = NULL; assert(f); @@ -534,13 +553,6 @@ } } - if (t) { - su_duration_t at = su_duration(t->sut_when, now); - - if (at < *timeout) - *timeout = at; - } - return n; } @@ -548,9 +560,16 @@ /** Calculate duration in milliseconds until next timer expires. */ su_duration_t su_timer_next_expires(su_timer_t const * t, su_time_t now) { + su_timer_queue_t *timers; + su_duration_t tout; - t = timers_first(t); + if (!t) + return SU_DURATION_MAX; + + timers = su_task_timers(t->sut_task); + + t = timers ? timers_get(timers[0], 1) : NULL; if (!t) return SU_DURATION_MAX; @@ -573,23 +592,29 @@ */ int su_timer_reset_all(su_timer_queue_t *timers, su_task_r task) { - su_timer_t *t, *t_next; + size_t i; int n = 0; - if (!timers || !*timers) + if (!timers) return 0; - for (t = timers_first(*timers); t; t = t_next) { - t_next = timers_succ(t); + timers_sort(timers[0]); + + for (i = timers_used(timers[0]); i > 0; i--) { + su_timer_t *t = timers_get(timers[0], i); if (su_task_cmp(task, t->sut_task)) continue; - n++; - timers_remove(timers, t); + timers_remove(timers[0], i)->sut_heap_index = 0; + su_free(NULL, t); + n++; } + if (!timers_used(timers[0])) + free(timers->private), timers->private = NULL; + return n; } @@ -605,3 +630,4 @@ { return t ? su_task_root(t->sut_task) : NULL; } + From mikej at freeswitch.org Wed Feb 11 09:14:57 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:14:57 -0600 Subject: [Freeswitch-svn] [commit] r11849 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:14:57 2009 New Revision: 11849 Log: Wed Jan 28 12:00:26 CST 2009 Pekka Pessi * su_timer.c: no more type-punning Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:14:57 2009 @@ -1 +1 @@ -Wed Feb 11 11:14:27 CST 2009 +Wed Feb 11 11:14:50 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:14:57 2009 @@ -33,12 +33,15 @@ #include "config.h" #include -#include +#include "sofia-sip/heap.h" typedef union { void *private; /* Use for debugging */ - struct timers_priv { size_t _size, _used; struct su_timer_s * _heap[2]; } *actual; + struct timers_priv { + size_t _size, _used; + struct su_timer_s * _heap[2]; + } *actual; } su_timer_heap_t; #define SU_TIMER_QUEUE_T su_timer_heap_t From mikej at freeswitch.org Wed Feb 11 09:15:37 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:15:37 -0600 Subject: [Freeswitch-svn] [commit] r11850 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:15:37 2009 New Revision: 11850 Log: Wed Jan 28 12:01:13 CST 2009 Pekka Pessi * su_timer.c: timers_remove() now set sut_heap_index to 0 Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:15:37 2009 @@ -1 +1 @@ -Wed Feb 11 11:14:50 CST 2009 +Wed Feb 11 11:15:31 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:15:37 2009 @@ -225,7 +225,7 @@ return -1; if (SU_TIMER_IS_SET(t)) - timers_remove(timers[0], t->sut_heap_index)->sut_heap_index = 0; + timers_remove(timers[0], t->sut_heap_index); t->sut_wakeup = wakeup; t->sut_arg = arg; @@ -481,7 +481,7 @@ return -1; if (SU_TIMER_IS_SET(t)) - timers_remove(timers[0], t->sut_heap_index)->sut_heap_index = 0; + timers_remove(timers[0], t->sut_heap_index); t->sut_wakeup = NULL; t->sut_arg = NULL; @@ -526,7 +526,7 @@ break; } - timers_remove(timers[0], 1)->sut_heap_index = 0; + timers_remove(timers[0], 1); f = t->sut_wakeup; t->sut_wakeup = NULL; assert(f); @@ -609,7 +609,7 @@ if (su_task_cmp(task, t->sut_task)) continue; - timers_remove(timers[0], i)->sut_heap_index = 0; + timers_remove(timers[0], i); su_free(NULL, t); n++; From mikej at freeswitch.org Wed Feb 11 09:16:05 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:16:05 -0600 Subject: [Freeswitch-svn] [commit] r11851 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:16:05 2009 New Revision: 11851 Log: Wed Jan 28 12:02:55 CST 2009 Pekka Pessi * su_timer.c: removed redundant checks Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:16:05 2009 @@ -1 +1 @@ -Wed Feb 11 11:15:31 CST 2009 +Wed Feb 11 11:15:57 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:16:05 2009 @@ -156,7 +156,6 @@ */ struct su_timer_s { - /** Pointers within red-black tree */ su_task_r sut_task; /**< Task reference */ size_t sut_heap_index; /**< Timer is set (inserted in heap) */ su_time_t sut_when; /**< When timer should be waken up next time */ @@ -219,8 +218,6 @@ { int retval; - assert(timers); - if (timers == NULL) return -1; @@ -343,9 +340,6 @@ { su_timer_queue_t *timers = su_timer_tree(t, 0, "su_timer_set_interval"); - if (t == NULL) - return -1; - return su_timer_set0(timers, t, wakeup, arg, su_now(), interval); } @@ -367,9 +361,6 @@ { su_timer_queue_t *timers = su_timer_tree(t, 1, "su_timer_set"); - if (timers == NULL) - return -1; - return su_timer_set0(timers, t, wakeup, arg, su_now(), t->sut_duration); } @@ -391,9 +382,6 @@ { su_timer_queue_t *timers = su_timer_tree(t, 0, "su_timer_set_at"); - if (timers == NULL) - return -1; - return su_timer_set0(timers, t, wakeup, arg, when, 0); } From mikej at freeswitch.org Wed Feb 11 09:16:44 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:16:44 -0600 Subject: [Freeswitch-svn] [commit] r11852 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su libsofia-sip-ua/su/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:16:44 2009 New Revision: 11852 Log: Wed Jan 28 12:06:06 CST 2009 Pekka Pessi * sofia-sip/su_wait.h: added su_timer_deferrable(), su_task_wakeup(), su_root_set_max_defer(), su_root_get_max_defer() and su_task_deferrable(). Added implementation to different main-loop implementations in libsofia-sip-ua/su. Fixed su_task_is_running(). In libsofia-sip-ua/su, added tests for deferred timers. In libsofia-sip-ua-glib/su-glib/su_source.c, added su_source_wakeup() and su_source_is_running(). Using su_base_port_send() instead of su_source_send(). Using su_base_port_deferable() and su_base_port_max_defer(), too. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_root.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:16:44 2009 @@ -1 +1 @@ -Wed Feb 11 11:15:57 CST 2009 +Wed Feb 11 11:16:35 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h Wed Feb 11 11:16:44 2009 @@ -484,6 +484,9 @@ SOFIAPUBFUN int su_root_obtain(su_root_t *root); SOFIAPUBFUN int su_root_has_thread(su_root_t *root); +SOFIAPUBFUN int su_root_set_max_defer(su_root_t *, su_duration_t max_defer); +SOFIAPUBFUN su_duration_t su_root_get_max_defer(su_root_t const *self); + /* Timers */ SOFIAPUBFUN su_timer_t *su_timer_create(su_task_r const, su_duration_t msec) __attribute__((__malloc__)); @@ -503,10 +506,10 @@ SOFIAPUBFUN int su_timer_expire(su_timer_queue_t * const, su_duration_t *tout, su_time_t now); +SOFIAPUBFUN int su_timer_deferrable(su_timer_t *t, int value); /* Tasks */ -/** NULL task. */ SOFIAPUBVAR su_task_r const su_task_null; SOFIAPUBFUN _su_task_r su_task_init(su_task_r task); @@ -519,6 +522,9 @@ SOFIAPUBFUN su_root_t *su_task_root(su_task_r const self); SOFIAPUBFUN su_timer_queue_t *su_task_timers(su_task_r const self); +SOFIAPUBFUN su_timer_queue_t *su_task_deferrable(su_task_r const task); + +SOFIAPUBFUN int su_task_wakeup(su_task_r const task); SOFIAPUBFUN int su_task_execute(su_task_r const task, int (*function)(void *), void *arg, Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c Wed Feb 11 11:16:44 2009 @@ -73,6 +73,8 @@ if (self) { self->sup_vtable = vtable; self->sup_tail = &self->sup_head; + self->sup_max_defer = 15 * 1000; + return su_port_obtain(self); } @@ -149,7 +151,6 @@ /** @internal Send a message to the port. * - * @retval 1 if port thread needs to be woken * @retval 0 if there are other messages in queue, too * @retval -1 upon an error */ @@ -167,7 +168,10 @@ su_port_unlock(self, "su_port_send"); - return wakeup; + if (wakeup > 0) + su_port_wakeup(self); + + return 0; } else { su_msg_destroy(rmsg); @@ -317,12 +321,12 @@ */ void su_base_port_run(su_port_t *self) { - su_duration_t tout = 0; + su_duration_t tout = 0, tout2 = 0; assert(su_port_own_thread(self)); for (self->sup_running = 1; self->sup_running;) { - tout = 2000; + tout = self->sup_max_defer; if (self->sup_prepoll) self->sup_prepoll(self->sup_pp_magic, self->sup_pp_root); @@ -330,8 +334,11 @@ if (self->sup_head) self->sup_vtable->su_port_getmsgs(self); - if (self->sup_timers) - su_timer_expire(&self->sup_timers, &tout, su_now()); + if (self->sup_timers || self->sup_deferrable) { + su_time_t now = su_now(); + su_timer_expire(&self->sup_timers, &tout, now); + su_timer_expire(&self->sup_deferrable, &tout2, now); + } if (!self->sup_running) break; @@ -349,13 +356,13 @@ { int i; int timers = 0, messages = 0, events = 0; - su_duration_t tout = 0, tout0; + su_duration_t tout = 0, tout2 = 0; su_time_t started = su_now(), woken = started, bedtime = woken; assert(su_port_own_thread(self)); for (self->sup_running = 1; self->sup_running;) { - tout = 2000; + tout = self->sup_max_defer; timers = 0, messages = 0; @@ -365,8 +372,12 @@ if (self->sup_head) messages = self->sup_vtable->su_port_getmsgs(self); - if (self->sup_timers) - timers = su_timer_expire(&self->sup_timers, &tout, su_now()); + if (self->sup_timers || self->sup_deferrable) { + su_time_t now = su_now(); + timers = + su_timer_expire(&self->sup_timers, &tout, now) + + su_timer_expire(&self->sup_deferrable, &tout2, now); + } if (!self->sup_running) break; @@ -404,6 +415,16 @@ self->sup_running = 0; } +/** @internal + * Check if port is running. + * + * @param self pointer to port + */ +int su_base_port_is_running(su_port_t const *self) +{ + return self->sup_running != 0; +} + /** @internal Block until wait object is signaled or timeout. * * This function waits for wait objects and the timers associated with @@ -435,6 +456,9 @@ if (self->sup_timers) su_timer_expire(&self->sup_timers, &tout, now); + if (self->sup_deferrable) + su_timer_expire(&self->sup_deferrable, &tout, now); + /* if there are messages do a quick wait */ if (self->sup_head) tout = 0; @@ -444,15 +468,27 @@ else tout = SU_WAIT_FOREVER; - if (self->sup_head) + if (self->sup_head) { if (self->sup_vtable->su_port_getmsgs(self)) { /* Check for wait events that may have been generated by messages */ if (self->sup_vtable->su_port_wait_events(self, 0)) tout = 0; } + } - if (self->sup_timers) - su_timer_expire(&self->sup_timers, &tout, su_now()); + if (self->sup_timers || self->sup_deferrable) { + su_duration_t tout2 = SU_WAIT_FOREVER; + + now = su_now(); + su_timer_expire(&self->sup_timers, &tout, now); + su_timer_expire(&self->sup_deferrable, &tout2, now); + + if (tout == SU_WAIT_FOREVER && tout2 != SU_WAIT_FOREVER) { + if (tout2 < self->sup_max_defer) + tout2 = self->sup_max_defer; + tout = tout2; + } + } if (self->sup_head) tout = 0; @@ -501,6 +537,22 @@ return &self->sup_timers; } +su_timer_queue_t *su_base_port_deferrable(su_port_t *self) +{ + return &self->sup_deferrable; +} + +int su_base_port_max_defer(su_port_t *self, + su_duration_t *return_duration, + su_duration_t *set_duration) +{ + if (set_duration && *set_duration > 0) + self->sup_max_defer = *set_duration; + if (return_duration) + *return_duration = self->sup_max_defer; + return 0; +} + /* ====================================================================== * Clones */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c Wed Feb 11 11:16:44 2009 @@ -127,7 +127,7 @@ su_base_port_incref, su_devpoll_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_devpoll_port_register, su_devpoll_port_unregister, su_devpoll_port_deregister, @@ -148,6 +148,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_devpoll_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c Wed Feb 11 11:16:44 2009 @@ -122,7 +122,7 @@ su_base_port_incref, su_epoll_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_epoll_port_register, su_epoll_port_unregister, su_epoll_port_deregister, @@ -143,6 +143,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_epoll_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c Wed Feb 11 11:16:44 2009 @@ -119,7 +119,7 @@ su_base_port_incref, su_kqueue_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_kqueue_port_register, su_kqueue_port_unregister, su_kqueue_port_deregister, @@ -140,6 +140,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_kqueue_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c Wed Feb 11 11:16:44 2009 @@ -204,6 +204,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; /* XXX - mela static void su_osx_port_destroy(su_port_t *self); */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c Wed Feb 11 11:16:44 2009 @@ -120,7 +120,7 @@ su_base_port_incref, su_poll_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_poll_port_register, su_poll_port_unregister, su_poll_port_deregister, @@ -141,6 +141,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_poll_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Wed Feb 11 11:16:44 2009 @@ -150,6 +150,14 @@ int (*su_port_execute)(su_task_r const task, int (*function)(void *), void *arg, int *return_value); + + /* >= 1.12.11 */ + su_timer_queue_t *(*su_port_deferrable)(su_port_t *port); + int (*su_port_max_defer)(su_port_t *port, + su_duration_t *return_duration, + su_duration_t *set_duration); + int (*su_port_wakeup)(su_port_t *port); + int (*su_port_is_running)(su_port_t const *port); } su_port_vtable_t; SOFIAPUBFUN su_port_t *su_port_create(void) @@ -244,6 +252,12 @@ return base->sup_vtable->su_port_send(self, rmsg); } +su_inline +int su_port_wakeup(su_port_t *self) +{ + su_virtual_port_t *base = (su_virtual_port_t *)self; + return base->sup_vtable->su_port_wakeup(self); +} su_inline int su_port_register(su_port_t *self, @@ -372,7 +386,7 @@ } su_inline -su_timer_t **su_port_timers(su_port_t *self) +su_timer_queue_t *su_port_timers(su_port_t *self) { su_virtual_port_t *base = (su_virtual_port_t *)self; return base->sup_vtable->su_port_timers(self); @@ -399,6 +413,41 @@ return base->sup_vtable->su_port_getmsgs_from(self, cloneport); } +/** Extension from >= 1.12.11 */ + +su_inline +su_timer_queue_t *su_port_deferrable(su_port_t *self) +{ + su_virtual_port_t *base = (su_virtual_port_t *)self; + + if (base == NULL) + return (void *)(errno = EFAULT), NULL; + + return base->sup_vtable->su_port_deferrable(self); +} + +su_inline +int su_port_max_defer(su_port_t *self, + su_duration_t *return_duration, + su_duration_t *set_duration) +{ + su_virtual_port_t *base = (su_virtual_port_t *)self; + + if (base == NULL) + return (errno = EFAULT), -1; + + return base->sup_vtable->su_port_max_defer(self, + return_duration, + set_duration); +} + +su_inline +int su_port_is_running(su_port_t const *self) +{ + su_virtual_port_t *base = (su_virtual_port_t *)self; + return base && base->sup_vtable->su_port_is_running(self); +} + SOFIAPUBFUN void su_port_wait(su_clone_r rclone); SOFIAPUBFUN int su_port_execute(su_task_r const task, @@ -427,7 +476,9 @@ su_msg_t *sup_head, **sup_tail; /* Timer list */ - su_timer_queue_t sup_timers; + su_timer_queue_t sup_timers, sup_deferrable; + + su_duration_t sup_max_defer; /**< Maximum time to defer */ unsigned sup_running; /**< In su_root_run() loop? */ } su_base_port_t; @@ -468,7 +519,7 @@ SOFIAPUBFUN int su_base_port_remove_prepoll(su_port_t *self, su_root_t *root); -SOFIAPUBFUN su_timer_t **su_base_port_timers(su_port_t *self); +SOFIAPUBFUN su_timer_queue_t *su_base_port_timers(su_port_t *self); SOFIAPUBFUN int su_base_port_multishot(su_port_t *self, int multishot); @@ -479,6 +530,14 @@ su_root_deinit_f deinit); SOFIAPUBFUN void su_base_port_wait(su_clone_r rclone); +SOFIAPUBFUN su_timer_queue_t *su_base_port_deferrable(su_port_t *self); + +SOFIAPUBFUN int su_base_port_max_defer(su_port_t *self, + su_duration_t *return_duration, + su_duration_t *set_duration); + +SOFIAPUBFUN int su_base_port_is_running(su_port_t const *self); + /* ---------------------------------------------------------------------- */ #if SU_HAVE_PTHREADS @@ -493,7 +552,7 @@ pthread_t sup_tid; pthread_mutex_t sup_obtained[1]; -#if 0 +#if 0 /* Pausing and resuming are not used */ pthread_mutex_t sup_runlock[1]; pthread_cond_t sup_resume[1]; short sup_paused; /**< True if thread is paused */ @@ -535,7 +594,6 @@ int (*function)(void *), void *arg, int *return_value); - #if 0 SOFIAPUBFUN int su_pthread_port_pause(su_port_t *self); SOFIAPUBFUN int su_pthread_port_resume(su_port_t *self); @@ -570,6 +628,7 @@ su_port_vtable_t const *); SOFIAPUBFUN void su_socket_port_deinit(su_socket_port_t *self); SOFIAPUBFUN int su_socket_port_send(su_port_t *self, su_msg_r rmsg); +SOFIAPUBFUN int su_socket_port_wakeup(su_port_t *self); SOFIA_END_DECLS Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c Wed Feb 11 11:16:44 2009 @@ -315,6 +315,9 @@ task->sut_root->sur_magic = arg->magic; task->sut_root->sur_deinit = arg->deinit; + su_root_set_max_defer(task->sut_root, + su_root_get_max_defer(arg->parent)); + if (arg->init(task->sut_root, arg->magic) == 0) { su_pthread_port_return_to_parent(arg, 0), arg = NULL; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_root.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_root.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_root.c Wed Feb 11 11:16:44 2009 @@ -86,6 +86,8 @@ * - su_root_run() [Do not call from cloned task] * - su_root_break() [Do not call from cloned task] * - su_root_step() [Do not call from cloned task] + * - su_root_get_max_defer() + * - su_root_set_max_defer() * - su_root_task() * * New tasks can be created via su_clone_start() function. @@ -127,6 +129,7 @@ * Tasks */ +/** NULL task. */ su_task_r const su_task_null = SU_TASK_R_INIT; #define SU_TASK_ZAP(t, f) \ @@ -259,13 +262,13 @@ * * @retval true (nonzero) if task is not stopped, * @retval zero if it is null or stopped. + * + * @note A task sharing thread with another task is considered stopped when + * ever the the main task is stopped. */ int su_task_is_running(su_task_r const task) { - return - task && - task->sut_port && - task->sut_root; + return task && task->sut_root && su_port_is_running(task->sut_port); } /** @internal @@ -318,14 +321,43 @@ * * @param task task handle * - * @return A timer list of the task. If there are no timers, it returns - * NULL. + * @return A timer list of the task. */ su_timer_queue_t *su_task_timers(su_task_r const task) { return task->sut_port ? su_port_timers(task->sut_port) : NULL; } +/**Return the queue for deferrable timers associated with given task. + * + * @param task task handle + * + * @return A timer list of the task. + * + * @NEW_1_12_11 + */ +su_timer_queue_t *su_task_deferrable(su_task_r const task) +{ + return task ? su_port_deferrable(task->sut_port) : NULL; +} + +/** Wakeup a task. + * + * Wake up a task. This function is mainly useful when using deferrable + * timers executed upon wakeup. + * + * @param task task handle + * + * @retval 0 if succesful + * @retval -1 upon an error + * + * @NEW_1_12_11 + */ +int su_task_wakeup(su_task_r const task) +{ + return task ? su_port_wakeup(task->sut_port) : -1; +} + /** Execute the @a function by @a task thread. * * @retval 0 if successful @@ -447,6 +479,10 @@ unregistered = su_port_unregister_all(port, self); reset = su_timer_reset_all(su_task_timers(self->sur_task), self->sur_task); + if (su_task_deferrable(self->sur_task)) + reset += su_timer_reset_all(su_task_deferrable(self->sur_task), + self->sur_task); + if (unregistered || reset) SU_DEBUG_1(("su_root_destroy: " "%u registered waits, %u timers\n", @@ -601,6 +637,56 @@ return su_port_unregister(self->sur_port, self, wait, callback, arg); } +/** Set maximum defer time. + * + * The deferrable timers can be deferred until the task is otherwise + * activated, however, they are deferred no longer than the maximum defer + * time. The maximum defer time determines also the maximum time during + * which task waits for events while running. The maximum defer time is 15 + * seconds by default. + * + * Cloned tasks inherit the maximum defer time. + * + * @param self pointer to root object + * @param max_defer maximum defer time in milliseconds + * + * @retval 0 when successful + * @retval -1 upon an error + * + * @sa su_timer_deferrable() + * + * @NEW_1_12_11 + */ +int su_root_set_max_defer(su_root_t *self, su_duration_t max_defer) +{ + if (!self) + return -1; + + return su_port_max_defer(self->sur_port, &max_defer, &max_defer); +} + +/** Get maximum defer time. + * + * The deferrable timers can be deferred until the task is otherwise + * activated, however, they are deferred no longer than the maximum defer + * time. The maximum defer time is 15 seconds by default. + * + * @param root pointer to root object + * + * @return Maximum defer time + * + * @NEW_1_12_7 + */ +su_duration_t su_root_get_max_defer(su_root_t const *self) +{ + su_duration_t max_defer = SU_WAIT_MAX; + + if (self != NULL) + su_port_max_defer(self->sur_port, &max_defer, NULL); + + return max_defer; +} + /** Remove a su_wait_t registration. * * The function su_root_deregister() deregisters a su_wait_t object. The Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c Wed Feb 11 11:16:44 2009 @@ -139,7 +139,7 @@ su_base_port_incref, su_select_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_select_port_register, su_select_port_unregister, su_select_port_deregister, @@ -160,6 +160,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_select_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c Wed Feb 11 11:16:44 2009 @@ -179,23 +179,17 @@ su_pthread_port_deinit(self); } -/** @internal Send a message to the port. */ -int su_socket_port_send(su_port_t *self, su_msg_r rmsg) +/** @internal Wake up the port. */ +int su_socket_port_wakeup(su_port_t *self) { - int wakeup = su_base_port_send(self, rmsg); + assert(self->sup_mbox[SU_MBOX_SEND] != INVALID_SOCKET); - if (wakeup < 0) - return -1; - - if (wakeup) { - assert(self->sup_mbox[SU_MBOX_SEND] != INVALID_SOCKET); - - if (send(self->sup_mbox[SU_MBOX_SEND], "X", 1, 0) == -1) { + if (!su_pthread_port_own_thread(self) && + send(self->sup_mbox[SU_MBOX_SEND], "X", 1, 0) == -1) { #if HAVE_SOCKETPAIR - if (su_errno() != EWOULDBLOCK) + if (su_errno() != EWOULDBLOCK) #endif - su_perror("su_msg_send: send()"); - } + su_perror("su_msg_send: send()"); } return 0; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:16:44 2009 @@ -164,7 +164,9 @@ su_timer_arg_t *sut_arg; /**< Pointer to argument data */ su_time_t sut_run; /**< When this timer was last waken up */ unsigned sut_woken; /**< Timer has waken up this many times */ - unsigned short sut_running; /**< Timer is running */ + + unsigned sut_running:2;/**< Timer is running */ + unsigned sut_deferrable:1;/**< Timer can be deferrable */ }; /** Timer running status */ @@ -246,9 +248,9 @@ * @retval NULL upon an error */ static -su_timer_queue_t *su_timer_tree(su_timer_t const *t, - int use_sut_duration, - char const *caller) +su_timer_queue_t *su_timer_queue(su_timer_t const *t, + int use_sut_duration, + char const *caller) { su_timer_queue_t *timers; @@ -265,7 +267,10 @@ return NULL; } - timers = su_task_timers(t->sut_task); + if (t->sut_deferrable) + timers = su_task_deferrable(t->sut_task); + else + timers = su_task_timers(t->sut_task); if (timers == NULL) { SU_DEBUG_1(("%s(%p): %s\n", caller, (void *)t, "invalid timer")); @@ -285,7 +290,7 @@ * Allocate and initialize an instance of su_timer_t. * * @param task a task for root object with which the timer will be associated - * @param msec the default duration of the timer + * @param msec the default duration of the timer in milliseconds * * @return A pointer to allocated timer instance, NULL on error. */ @@ -307,6 +312,7 @@ return retval; } + /** Destroy a timer. * * Deinitialize and free an instance of su_timer_t. @@ -322,6 +328,7 @@ } } + /** Set the timer for the given @a interval. * * Sets (starts) the given timer to expire after the specified duration. @@ -338,7 +345,7 @@ su_timer_arg_t *arg, su_duration_t interval) { - su_timer_queue_t *timers = su_timer_tree(t, 0, "su_timer_set_interval"); + su_timer_queue_t *timers = su_timer_queue(t, 0, "su_timer_set_interval"); return su_timer_set0(timers, t, wakeup, arg, su_now(), interval); } @@ -359,7 +366,7 @@ su_timer_f wakeup, su_timer_arg_t *arg) { - su_timer_queue_t *timers = su_timer_tree(t, 1, "su_timer_set"); + su_timer_queue_t *timers = su_timer_queue(t, 1, "su_timer_set"); return su_timer_set0(timers, t, wakeup, arg, su_now(), t->sut_duration); } @@ -380,7 +387,7 @@ su_wakeup_arg_t *arg, su_time_t when) { - su_timer_queue_t *timers = su_timer_tree(t, 0, "su_timer_set_at"); + su_timer_queue_t *timers = su_timer_queue(t, 0, "su_timer_set_at"); return su_timer_set0(timers, t, wakeup, arg, when, 0); } @@ -407,7 +414,7 @@ su_timer_f wakeup, su_timer_arg_t *arg) { - su_timer_queue_t *timers = su_timer_tree(t, 1, "su_timer_run"); + su_timer_queue_t *timers = su_timer_queue(t, 1, "su_timer_run"); su_time_t now; if (timers == NULL) @@ -440,7 +447,7 @@ su_timer_f wakeup, su_timer_arg_t *arg) { - su_timer_queue_t *timers = su_timer_tree(t, 1, "su_timer_set_for_ever"); + su_timer_queue_t *timers = su_timer_queue(t, 1, "su_timer_set_for_ever"); su_time_t now; if (timers == NULL) @@ -463,7 +470,7 @@ */ int su_timer_reset(su_timer_t *t) { - su_timer_queue_t *timers = su_timer_tree(t, 0, "su_timer_reset"); + su_timer_queue_t *timers = su_timer_queue(t, 0, "su_timer_reset"); if (timers == NULL) return -1; @@ -508,7 +515,7 @@ if (SU_TIME_CMP(t->sut_when, now) > 0) { su_duration_t at = su_duration(t->sut_when, now); - if (at < *timeout) + if (at < *timeout || *timeout < 0) *timeout = at; break; @@ -622,3 +629,31 @@ return t ? su_task_root(t->sut_task) : NULL; } + +/** Change timer as deferrable (or as undeferrable). + * + * A deferrable timer is executed after the given timeout, however, the task + * tries to avoid being woken up only because the timeout. Deferable timers + * have their own queue and timers there are ignored when calculating the + * timeout for epoll()/select()/whatever unless the timeout would exceed the + * maximum defer time. The maximum defer time is 15 seconds by default, but + * it can be modified by su_root_set_max_defer(). + * + * @param t pointer to the timer + * @param value make timer deferrable if true, undeferrable if false + * + * @return 0 if succesful, -1 upon an error + * + * @sa su_root_set_max_defer() + * + * @NEW_1_12_7 + */ +int su_timer_deferrable(su_timer_t *t, int value) +{ + if (t == NULL || su_task_deferrable(t->sut_task) == NULL) + return errno = EINVAL, -1; + + t->sut_deferrable = value != 0; + + return 0; +} Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c Wed Feb 11 11:16:44 2009 @@ -118,7 +118,7 @@ su_base_port_incref, su_wsevent_port_decref, su_base_port_gsource, - su_socket_port_send, + su_base_port_send, su_wsevent_port_register, su_wsevent_port_unregister, su_wsevent_port_deregister, @@ -139,6 +139,10 @@ su_base_port_start_shared, su_pthread_port_wait, su_pthread_port_execute, + su_base_port_deferrable, + su_base_port_max_defer, + su_socket_port_wakeup, + su_base_port_is_running, }}; static char const *su_wsevent_port_name(su_port_t const *self) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c Wed Feb 11 11:16:44 2009 @@ -61,6 +61,8 @@ #include #endif +#define ALARM_IN_SECONDS 120 + struct test_ep_s { test_ep_t *next, **prev, **list; int i; @@ -99,6 +101,8 @@ unsigned rt_executed:1; + unsigned rt_t1:1, rt_t2:1; + unsigned :0; test_ep_at rt_ep[5]; @@ -161,7 +165,6 @@ END(); } - #if SU_HAVE_PTHREADS #include @@ -589,6 +592,61 @@ rt->rt_sent_reporter = 1; } +static void expire1(root_test_t *rt, su_timer_t *t, su_timer_arg_t *arg) +{ + (void)arg; + rt->rt_t1 = 1; +} + +static void expire2(root_test_t *rt, su_timer_t *t, su_timer_arg_t *arg) +{ + (void)arg; + rt->rt_t2 = 1; +} + +int timer_test(root_test_t rt[1]) +{ + BEGIN(); + + su_timer_t *t1, *t2; + su_duration_t defer; + + TEST_1(t1 = su_timer_create(su_root_task(rt->rt_root), 100)); + TEST_1(t2 = su_timer_create(su_root_task(rt->rt_root), 110)); + + rt->rt_t1 = rt->rt_t2 = 0; + + TEST_1(su_root_step(rt->rt_root, 0) == SU_WAIT_FOREVER); + + TEST_1(su_root_set_max_defer(rt->rt_root, 30000) != -1); + TEST(su_root_get_max_defer(rt->rt_root), 30000); + + if (su_timer_deferrable(t1, 1) == 0) { + /* + * If only a deferrable timer is set, su_root_step() should return + * about the maximum defer time, which now defaults to 15 seconds + */ + TEST(su_timer_set(t1, expire1, NULL), 0); + defer = su_root_step(rt->rt_root, 0); + TEST_1(defer > 100); + } + else { + TEST(su_timer_set(t1, expire1, NULL), 0); + } + + TEST(su_timer_set(t2, expire2, NULL), 0); + + while (su_root_step(rt->rt_root, 100) != SU_WAIT_FOREVER) + ; + + TEST_1(rt->rt_t1 && rt->rt_t2); + + su_timer_destroy(t1); + su_timer_destroy(t2); + + END(); +} + static int set_execute_bit_and_return_3(void *void_rt) { root_test_t *rt = void_rt; @@ -612,13 +670,34 @@ su_task_cmp(su_msg_to(msg), su_task_null) == 0; } -static int clone_test(root_test_t rt[1]) +static void expire1destroy(root_test_t *rt, su_timer_t *t, su_timer_arg_t *arg) +{ + (void)arg; + rt->rt_t1 = 1; + su_timer_destroy(t); +} + +static int set_deferrable_timer(void *void_rt) +{ + root_test_t *rt = void_rt; + su_timer_t *t1; + + TEST_1(t1 = su_timer_create(su_clone_task(rt->rt_clone), 100)); + TEST_1(su_timer_deferrable(t1, 1) == 0); + TEST(su_timer_set(t1, expire1destroy, NULL), 0); + + return 0; +} + +static int clone_test(root_test_t rt[1], int multithread) { BEGIN(); su_msg_r m = SU_MSG_R_INIT; int retval; + su_root_threading(rt->rt_root, multithread); + rt->rt_fail_init = 0; rt->rt_fail_deinit = 0; rt->rt_success_init = 0; @@ -635,6 +714,10 @@ TEST_1(rt->rt_fail_init); TEST_1(rt->rt_fail_deinit); + /* Defer longer than maximum allowed run time */ + TEST_1(su_root_set_max_defer(rt->rt_root, ALARM_IN_SECONDS * 1000) != -1); + TEST(su_root_get_max_defer(rt->rt_root), ALARM_IN_SECONDS * 1000); + TEST(su_clone_start(rt->rt_root, rt->rt_clone, rt, @@ -643,6 +726,7 @@ TEST_1(rt->rt_success_init); TEST_1(!rt->rt_success_deinit); + /* Test su_task_execute() */ retval = -1; rt->rt_executed = 0; TEST(su_task_execute(su_clone_task(rt->rt_clone), @@ -666,6 +750,28 @@ TEST(rt->rt_msg_received, 1); + if (multithread) { + TEST_1(su_task_is_running(su_clone_task(rt->rt_clone))); + } + else { + TEST_1(!su_task_is_running(su_clone_task(rt->rt_clone))); + } + + /* Test su_wakeup() */ + if (multithread) { + retval = -1; + rt->rt_t1 = 0; + TEST(su_task_execute(su_clone_task(rt->rt_clone), + set_deferrable_timer, rt, + &retval), 0); + TEST(retval, 0); + + while (rt->rt_t1 == 0) { + TEST(su_root_step(rt->rt_root, 100), SU_WAIT_FOREVER); + su_task_wakeup(su_clone_task(rt->rt_clone)); + } + } + /* Make sure 3-way handshake is done as expected */ TEST(su_msg_create(m, su_clone_task(rt->rt_clone), @@ -707,10 +813,21 @@ exit(exitcode); } +#if HAVE_ALARM +#include + +static RETSIGTYPE sig_alarm(int s) +{ + fprintf(stderr, "%s: FAIL! test timeout!\n", name); + exit(1); +} +#endif + int main(int argc, char *argv[]) { root_test_t *rt, rt0[1] = {{{ SU_HOME_INIT(rt0) }}}, rt1[1]; int retval = 0; + int no_alarm = 0; int i; struct { @@ -746,6 +863,8 @@ rt->rt_flags |= tst_verbatim; else if (strcmp(argv[i], "-a") == 0) rt->rt_flags |= tst_abort; + else if (strcmp(argv[i], "--no-alarm") == 0) + no_alarm = 1; #if SU_HAVE_IN6 else if (strcmp(argv[i], "-6") == 0) rt->rt_family = AF_INET6; @@ -754,6 +873,13 @@ usage(1); } +#if HAVE_ALARM + if (!no_alarm) { + signal(SIGALRM, sig_alarm); + alarm(ALARM_IN_SECONDS); + } +#endif + #if HAVE_OPEN_C rt->rt_flags |= tst_verbatim; #endif @@ -770,10 +896,9 @@ retval |= init_test(rt, prefer[i].name, prefer[i].create, prefer[i].start); retval |= register_test(rt); retval |= event_test(rt); - su_root_threading(rt->rt_root, 1); - retval |= clone_test(rt); - su_root_threading(rt->rt_root, 0); - retval |= clone_test(rt); + retval |= timer_test(rt); + retval |= clone_test(rt, 1); + retval |= clone_test(rt, 0); retval |= deinit_test(rt); } while (prefer[++i].create); From mikej at freeswitch.org Wed Feb 11 09:17:50 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:17:50 -0600 Subject: [Freeswitch-svn] [commit] r11853 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua-glib/su-glib libsofia-sip-ua/su libsofia-sip-ua/su/sofia-sip Message-ID: Author: mikej Date: Wed Feb 11 11:17:49 2009 New Revision: 11853 Log: Wed Jan 28 12:07:02 CST 2009 Pekka Pessi * su: added API functions su_timer_is_set() and su_timer_latest() Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:17:49 2009 @@ -1 +1 @@ -Wed Feb 11 11:16:35 CST 2009 +Wed Feb 11 11:17:39 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:17:49 2009 @@ -97,8 +97,6 @@ static void su_source_decref(su_port_t *self, int blocking, char const *who); static struct _GSource *su_source_gsource(su_port_t *port); -static int su_source_send(su_port_t *self, su_msg_r rmsg); - static int su_source_register(su_port_t *self, su_root_t *root, su_wait_t *wait, @@ -126,6 +124,8 @@ static int su_source_remove_prepoll(su_port_t *port, su_root_t *root); static int su_source_multishot(su_port_t *self, int multishot); +static int su_source_wakeup(su_port_t *self); +static int su_source_is_running(su_port_t *self); static char const *su_source_name(su_port_t const *self); @@ -141,7 +141,7 @@ su_source_gsource, - su_source_send, + su_base_port_send, su_source_register, su_source_unregister, su_source_deregister, @@ -162,6 +162,10 @@ su_base_port_start_shared, su_base_port_wait, NULL, + su_base_port_deferrable, + su_base_port_max_defer, + su_source_wakeup, + su_source_is_running, }}; static char const *su_source_name(su_port_t const *self) @@ -308,37 +312,10 @@ su_source_port_deinit(ss->ss_port); } -void su_source_port_lock(su_port_t *self, char const *who) -{ - PORT_LOCK_DEBUG(("%p at %s locking(%p)...", - (void *)g_thread_self(), who, self)); - - g_static_mutex_lock(self->sup_mutex); - - PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...", - (void *)g_thread_self(), who, self)); -} - -void su_source_port_unlock(su_port_t *self, char const *who) -{ - g_static_mutex_unlock(self->sup_mutex); - - PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n", - (void *)g_thread_self(), who, self)); -} - /** @internal Send a message to the port. */ -int su_source_send(su_port_t *self, su_msg_r rmsg) +int su_source_wakeup(su_port_t *self) { - int wakeup = su_base_port_send(self, rmsg); - GMainContext *gmc; - - if (wakeup < 0) - return -1; - if (wakeup == 0) - return 0; - - gmc = g_source_get_context(self->sup_source); + GMainContext *gmc = g_source_get_context(self->sup_source); if (gmc) g_main_context_wakeup(gmc); @@ -837,7 +814,7 @@ * @return Number of wait objects removed. */ int su_source_unregister_all(su_port_t *self, - su_root_t *root) + su_root_t *root) { unsigned i, j; unsigned n_waits; @@ -881,8 +858,7 @@ /**Set mask for a registered event. @internal * - * The function su_source_eventmask() sets the mask describing events that can - * signal the registered callback. + * Sets the mask describing events that can signal the registered callback. * * @param port pointer to port object * @param index registration index @@ -892,6 +868,7 @@ * @retval 0 when successful, * @retval -1 upon an error. */ +static int su_source_eventmask(su_port_t *self, int index, int socket, int events) { unsigned n; @@ -932,15 +909,13 @@ } -/** @internal Main loop. - * - * The function @c su_source_run() runs the main loop +/** @internal Run the main loop. * - * The function @c su_source_run() runs until @c su_source_break() is called - * from a callback. + * The main loop runs until su_source_break() is called from a callback. * - * @param self pointer to root object + * @param self pointer to port object * */ +static void su_source_run(su_port_t *self) { GMainContext *gmc; @@ -959,6 +934,11 @@ } } +static int su_source_is_running(su_port_t *self) +{ + return self->sup_main_loop && g_main_loop_is_running(self->sup_main_loop); +} + /** @internal * The function @c su_source_break() is used to terminate execution of @c * su_source_run(). It can be called from a callback function. @@ -966,6 +946,7 @@ * @param self pointer to port * */ +static void su_source_break(su_port_t *self) { enter; @@ -1112,4 +1093,3 @@ { su_port_prefer(su_source_port_create, NULL); } - Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h Wed Feb 11 11:17:49 2009 @@ -491,6 +491,8 @@ SOFIAPUBFUN su_timer_t *su_timer_create(su_task_r const, su_duration_t msec) __attribute__((__malloc__)); SOFIAPUBFUN void su_timer_destroy(su_timer_t *); +SOFIAPUBFUN int su_timer_is_set(su_timer_t const *t); /* 1.12.11 */ +SOFIAPUBFUN su_time_t su_timer_latest(su_timer_t const *t); SOFIAPUBFUN int su_timer_set(su_timer_t *, su_timer_f, su_timer_arg_t *); SOFIAPUBFUN int su_timer_set_interval(su_timer_t *t, su_timer_f, su_timer_arg_t *, su_duration_t); @@ -506,7 +508,7 @@ SOFIAPUBFUN int su_timer_expire(su_timer_queue_t * const, su_duration_t *tout, su_time_t now); -SOFIAPUBFUN int su_timer_deferrable(su_timer_t *t, int value); +SOFIAPUBFUN int su_timer_deferrable(su_timer_t *t, int value); /* 1.12.11 */ /* Tasks */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:17:49 2009 @@ -157,12 +157,11 @@ struct su_timer_s { su_task_r sut_task; /**< Task reference */ - size_t sut_heap_index; /**< Timer is set (inserted in heap) */ + size_t sut_set; /**< Timer is set (inserted in heap) */ su_time_t sut_when; /**< When timer should be waken up next time */ su_duration_t sut_duration; /**< Timer duration */ su_timer_f sut_wakeup; /**< Function to call when waken up */ su_timer_arg_t *sut_arg; /**< Pointer to argument data */ - su_time_t sut_run; /**< When this timer was last waken up */ unsigned sut_woken; /**< Timer has waken up this many times */ unsigned sut_running:2;/**< Timer is running */ @@ -176,13 +175,13 @@ run_for_ever = 2 /**< Do not compensate */ }; -#define SU_TIMER_IS_SET(sut) ((sut)->sut_heap_index != 0) +#define SU_TIMER_IS_SET(sut) ((sut)->sut_set != 0) HEAP_DECLARE(su_inline, su_timer_queue_t, timers_, su_timer_t *); su_inline void timers_set(su_timer_t **array, size_t index, su_timer_t *t) { - array[t->sut_heap_index = index] = t; + array[t->sut_set = index] = t; } su_inline int timers_less(su_timer_t *a, su_timer_t *b) @@ -224,7 +223,7 @@ return -1; if (SU_TIMER_IS_SET(t)) - timers_remove(timers[0], t->sut_heap_index); + timers_remove(timers[0], t->sut_set); t->sut_wakeup = wakeup; t->sut_arg = arg; @@ -328,6 +327,37 @@ } } +/** Check if the timer has been set. + * + * @param t pointer to a timer object + * + * @return Nonzero if set, zero if reset. + * + * @NEW_1_12_11 + */ +int su_timer_is_set(su_timer_t const *t) +{ + return t && t->sut_set != 0; +} + +/**Return when the timer has been last expired. + * + * @param t pointer to a timer object + * + * @return Timestamp (as returned by su_time()). + * + * @note If the timer is running (set with su_timer_run()), the returned + * timestamp not the actual time but it is rather calculated from the + * initial timestamp. + * + * @NEW_1_12_11 + */ +su_time_t su_timer_latest(su_timer_t const *t) +{ + su_time_t tv = { 0, 0 }; + + return t ? t->sut_when : tv; +} /** Set the timer for the given @a interval. * @@ -415,16 +445,14 @@ su_timer_arg_t *arg) { su_timer_queue_t *timers = su_timer_queue(t, 1, "su_timer_run"); - su_time_t now; if (timers == NULL) return -1; t->sut_running = run_at_intervals; - t->sut_run = now = su_now(); t->sut_woken = 0; - return su_timer_set0(timers, t, wakeup, arg, now, t->sut_duration); + return su_timer_set0(timers, t, wakeup, arg, su_now(), t->sut_duration); } /**Set the timer for regular intervals. @@ -448,16 +476,14 @@ su_timer_arg_t *arg) { su_timer_queue_t *timers = su_timer_queue(t, 1, "su_timer_set_for_ever"); - su_time_t now; if (timers == NULL) return -1; t->sut_running = run_for_ever; - t->sut_run = now = su_now(); t->sut_woken = 0; - return su_timer_set0(timers, t, wakeup, arg, now, t->sut_duration); + return su_timer_set0(timers, t, wakeup, arg, su_now(), t->sut_duration); } /**Reset the timer. @@ -476,14 +502,12 @@ return -1; if (SU_TIMER_IS_SET(t)) - timers_remove(timers[0], t->sut_heap_index); + timers_remove(timers[0], t->sut_set); t->sut_wakeup = NULL; t->sut_arg = NULL; t->sut_running = reset; - memset(&t->sut_run, 0, sizeof(t->sut_run)); - return 0; } @@ -528,12 +552,13 @@ if (t->sut_running == run_at_intervals) { while (t->sut_running == run_at_intervals && + t->sut_set == 0 && t->sut_duration > 0) { if (su_time_diff(t->sut_when, now) > 0) { - su_timer_set0(timers, t, f, t->sut_arg, t->sut_run, 0); + su_timer_set0(timers, t, f, t->sut_arg, t->sut_when, 0); break; } - t->sut_when = t->sut_run = su_time_add(t->sut_run, t->sut_duration); + t->sut_when = su_time_add(t->sut_when, t->sut_duration); t->sut_woken++; f(su_root_magic(su_task_root(t->sut_task)), t, t->sut_arg), n++; } @@ -542,7 +567,7 @@ t->sut_woken++; t->sut_when = now; f(su_root_magic(su_task_root(t->sut_task)), t, t->sut_arg), n++; - if (t->sut_running == run_for_ever) + if (t->sut_running == run_for_ever && t->sut_set == 0) su_timer_set0(timers, t, f, t->sut_arg, now, t->sut_duration); } else { From mikej at freeswitch.org Wed Feb 11 09:18:14 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:18:14 -0600 Subject: [Freeswitch-svn] [commit] r11854 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:18:14 2009 New Revision: 11854 Log: Wed Jan 28 12:07:53 CST 2009 Pekka Pessi * outbound.c: make outbound timer deferrable Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:18:14 2009 @@ -1 +1 @@ -Wed Feb 11 11:17:39 CST 2009 +Wed Feb 11 11:18:06 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Wed Feb 11 11:18:14 2009 @@ -684,9 +684,11 @@ if (ob->ob_keepalive.timer) su_timer_destroy(ob->ob_keepalive.timer), ob->ob_keepalive.timer = NULL; - if (interval) + if (interval) { ob->ob_keepalive.timer = su_timer_create(su_root_task(ob->ob_root), interval); + su_timer_deferrable(ob->ob_keepalive.timer, 1); + } ob->ob_keepalive.interval = interval; From mikej at freeswitch.org Wed Feb 11 09:18:37 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:18:37 -0600 Subject: [Freeswitch-svn] [commit] r11855 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua-glib/su-glib libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:18:37 2009 New Revision: 11855 Log: Wed Jan 28 12:09:00 CST 2009 Pekka Pessi * su_port.h, su_timer.c: refactored su_timer_next_expires() Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:18:37 2009 @@ -1 +1 @@ -Wed Feb 11 11:18:06 CST 2009 +Wed Feb 11 11:18:29 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:18:37 2009 @@ -394,7 +394,7 @@ now.tv_sec = gtimeval.tv_sec + 2208988800UL; now.tv_usec = gtimeval.tv_usec; - tout = su_timer_next_expires(self->sup_base->sup_timers, now); + tout = su_timer_next_expires(&self->sup_base->sup_timers, now); *return_tout = (tout < 0 || tout > (su_duration_t)G_MAXINT)? -1 : (gint)tout; Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Wed Feb 11 11:18:37 2009 @@ -166,7 +166,7 @@ /* Extension from >= 1.12.5 */ SOFIAPUBFUN void su_msg_delivery_report(su_msg_r msg); -SOFIAPUBFUN su_duration_t su_timer_next_expires(su_timer_t const * t, +SOFIAPUBFUN su_duration_t su_timer_next_expires(su_timer_queue_t const *timers, su_time_t now); SOFIAPUBFUN su_root_t *su_root_create_with_port(su_root_magic_t *magic, su_port_t *port) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c Wed Feb 11 11:18:37 2009 @@ -581,25 +581,22 @@ /** Calculate duration in milliseconds until next timer expires. */ -su_duration_t su_timer_next_expires(su_timer_t const * t, su_time_t now) +su_duration_t su_timer_next_expires(su_timer_queue_t const *timers, + su_time_t now) { - su_timer_queue_t *timers; + su_duration_t next = SU_DURATION_MAX; - su_duration_t tout; + su_timer_t const *t; - if (!t) - return SU_DURATION_MAX; + t = timers ? timers_get(timers[0], 1) : NULL; - timers = su_task_timers(t->sut_task); - - t = timers ? timers_get(timers[0], 1) : NULL; - - if (!t) - return SU_DURATION_MAX; - - tout = su_duration(t->sut_when, now); + if (t) { + next = su_duration(t->sut_when, now); + if (next < 0) + next = 0; + } - return tout > 0 ? tout : 0 ; + return next; } /** From mikej at freeswitch.org Wed Feb 11 09:19:01 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:19:01 -0600 Subject: [Freeswitch-svn] [commit] r11856 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:19:01 2009 New Revision: 11856 Log: Wed Jan 28 12:15:08 CST 2009 Mikhail Zabaluev * Merged deferrable timers from the bleeding-sofia-sip branch Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:19:01 2009 @@ -1 +1 @@ -Wed Feb 11 11:18:29 CST 2009 +Wed Feb 11 11:18:53 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c Wed Feb 11 11:19:01 2009 @@ -184,7 +184,7 @@ { assert(self->sup_mbox[SU_MBOX_SEND] != INVALID_SOCKET); - if (!su_pthread_port_own_thread(self) && + if (!su_port_own_thread(self) && send(self->sup_mbox[SU_MBOX_SEND], "X", 1, 0) == -1) { #if HAVE_SOCKETPAIR if (su_errno() != EWOULDBLOCK) From mikej at freeswitch.org Wed Feb 11 09:19:25 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:19:25 -0600 Subject: [Freeswitch-svn] [commit] r11857 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua-glib/su-glib Message-ID: Author: mikej Date: Wed Feb 11 11:19:25 2009 New Revision: 11857 Log: Wed Jan 28 12:20:34 CST 2009 Mikhail Zabaluev * Added deferrable timer support to the GSource integration. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:19:25 2009 @@ -1 +1 @@ -Wed Feb 11 11:18:53 CST 2009 +Wed Feb 11 11:19:18 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:19:25 2009 @@ -377,6 +377,7 @@ { SuSource *ss = (SuSource *)gs; su_port_t *self = ss->ss_port; + su_duration_t tout = SU_WAIT_FOREVER; enter; @@ -388,21 +389,22 @@ if (self->sup_base->sup_timers) { su_time_t now; GTimeVal gtimeval; - su_duration_t tout; g_source_get_current_time(gs, >imeval); now.tv_sec = gtimeval.tv_sec + 2208988800UL; now.tv_usec = gtimeval.tv_usec; tout = su_timer_next_expires(&self->sup_base->sup_timers, now); - - *return_tout = (tout < 0 || tout > (su_duration_t)G_MAXINT)? - -1 : (gint)tout; - - return (tout == 0); } + if (self->sup_base->sup_deferrable) { + if (tout > self->sup_base->sup_max_defer) + tout = self->sup_base->sup_max_defer; + } + + *return_tout = (tout >= 0 && tout <= (su_duration_t)G_MAXINT)? + (gint)tout : -1; - return FALSE; + return (tout == 0); } static @@ -440,11 +442,10 @@ if (self->sup_base->sup_head) su_base_port_getmsgs(self); - if (self->sup_base->sup_timers) { + if (self->sup_base->sup_timers || self->sup_base->sup_deferrable) { su_time_t now; GTimeVal gtimeval; su_duration_t tout; - int timers = 0; tout = SU_DURATION_MAX; @@ -453,7 +454,8 @@ now.tv_sec = gtimeval.tv_sec + 2208988800UL; now.tv_usec = gtimeval.tv_usec; - timers = su_timer_expire(&self->sup_base->sup_timers, &tout, now); + su_timer_expire(&self->sup_base->sup_timers, &tout, now); + su_timer_expire(&self->sup_base->sup_deferrable, &tout, now); } #if SU_HAVE_POLL From mikej at freeswitch.org Wed Feb 11 09:19:49 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:19:49 -0600 Subject: [Freeswitch-svn] [commit] r11858 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 11:19:49 2009 New Revision: 11858 Log: Wed Jan 28 12:27:47 CST 2009 Mikhail Zabaluev * Added a comment about suspicious timeout calculation code Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:19:49 2009 @@ -1 +1 @@ -Wed Feb 11 11:19:18 CST 2009 +Wed Feb 11 11:19:42 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c Wed Feb 11 11:19:49 2009 @@ -456,6 +456,7 @@ if (self->sup_timers) su_timer_expire(&self->sup_timers, &tout, now); + /* XXX: why isn't the timeout ignored here? */ if (self->sup_deferrable) su_timer_expire(&self->sup_deferrable, &tout, now); From mikej at freeswitch.org Wed Feb 11 09:20:06 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:20:06 -0600 Subject: [Freeswitch-svn] [commit] r11859 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib Message-ID: Author: mikej Date: Wed Feb 11 11:20:06 2009 New Revision: 11859 Log: Wed Jan 28 12:30:55 CST 2009 Mikhail Zabaluev * su-glib/su_source.c: updated copyright years Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:20:06 2009 @@ -1,7 +1,7 @@ /* * This file is part of the Sofia-SIP package * - * Copyright (C) 2005 Nokia Corporation. + * Copyright (C) 2005-2009 Nokia Corporation. * * Contact: Pekka Pessi * From mikej at freeswitch.org Wed Feb 11 09:20:26 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:20:26 -0600 Subject: [Freeswitch-svn] [commit] r11860 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib Message-ID: Author: mikej Date: Wed Feb 11 11:20:26 2009 New Revision: 11860 Log: Wed Jan 28 12:31:06 CST 2009 Mikhail Zabaluev * su-glib/su_source.c: improved the deferrable timeout calculation Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:20:26 2009 @@ -386,7 +386,7 @@ return TRUE; } - if (self->sup_base->sup_timers) { + if (self->sup_base->sup_timers || self->sup_base->sup_deferrable) { su_time_t now; GTimeVal gtimeval; @@ -395,10 +395,18 @@ now.tv_usec = gtimeval.tv_usec; tout = su_timer_next_expires(&self->sup_base->sup_timers, now); - } - if (self->sup_base->sup_deferrable) { - if (tout > self->sup_base->sup_max_defer) - tout = self->sup_base->sup_max_defer; + + if (self->sup_base->sup_deferrable) { + su_duration_t tout_defer; + + tout_defer = su_timer_next_expires(&self->sup_base->sup_deferrable, now); + + if (tout_defer < self->sup_base->sup_max_defer) + tout_defer = self->sup_base->sup_max_defer; + + if (tout > tout_defer) + tout = tout_defer; + } } *return_tout = (tout >= 0 && tout <= (su_duration_t)G_MAXINT)? From mikej at freeswitch.org Wed Feb 11 09:21:00 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:21:00 -0600 Subject: [Freeswitch-svn] [commit] r11861 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:20:59 2009 New Revision: 11861 Log: Wed Jan 28 12:32:01 CST 2009 Mikhail Zabaluev * nua/outbound.c: calculate the keepalive timer interval with regard to the maximum defer interval The point is not to miss the keepalive deadlines. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:20:59 2009 @@ -1 +1 @@ -Wed Feb 11 11:19:42 CST 2009 +Wed Feb 11 11:20:46 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Wed Feb 11 11:20:59 2009 @@ -685,8 +685,16 @@ su_timer_destroy(ob->ob_keepalive.timer), ob->ob_keepalive.timer = NULL; if (interval) { + su_duration_t max_defer; + + max_defer = su_root_get_max_defer(ob->ob_root); + if ((su_duration_t)interval >= max_defer) { + interval -= max_defer - 100; + } + ob->ob_keepalive.timer = su_timer_create(su_root_task(ob->ob_root), interval); + su_timer_deferrable(ob->ob_keepalive.timer, 1); } From mikej at freeswitch.org Wed Feb 11 09:22:23 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:22:23 -0600 Subject: [Freeswitch-svn] [commit] r11862 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib Message-ID: Author: mikej Date: Wed Feb 11 11:22:23 2009 New Revision: 11862 Log: Wed Jan 28 13:21:36 CST 2009 Pekka Pessi * su-glib/su_source.c: fixed su_source_is_running() signature Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c Wed Feb 11 11:22:23 2009 @@ -125,7 +125,7 @@ su_root_t *root); static int su_source_multishot(su_port_t *self, int multishot); static int su_source_wakeup(su_port_t *self); -static int su_source_is_running(su_port_t *self); +static int su_source_is_running(su_port_t const *self); static char const *su_source_name(su_port_t const *self); @@ -944,7 +944,7 @@ } } -static int su_source_is_running(su_port_t *self) +static int su_source_is_running(su_port_t const *self) { return self->sup_main_loop && g_main_loop_is_running(self->sup_main_loop); } From mikej at freeswitch.org Wed Feb 11 09:22:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:22:55 -0600 Subject: [Freeswitch-svn] [commit] r11863 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:22:54 2009 New Revision: 11863 Log: Thu Jan 29 12:32:12 CST 2009 Pekka Pessi * nua_session.c: do not add Min-SE header if not needed Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:22:54 2009 @@ -1 +1 @@ -Wed Feb 11 11:20:46 CST 2009 +Wed Feb 11 11:22:43 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 11:22:54 2009 @@ -4413,6 +4413,10 @@ else if (refresher == nua_local_refresher) x->x_params = uas ? x_params_uas : x_params_uac; + if (expires == 0 && t->remote.min_se == 0) + /* Session timer is not used, do not add headers */ + return 1; + sip_add_tl(msg, sip, TAG_IF(expires != 0, SIPTAG_SESSION_EXPIRES(x)), TAG_IF(min != 0 From mikej at freeswitch.org Wed Feb 11 09:24:28 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:24:28 -0600 Subject: [Freeswitch-svn] [commit] r11864 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:24:28 2009 New Revision: 11864 Log: Wed Feb 4 08:53:17 CST 2009 Pekka Pessi * nua: moved nua_server* and nua_client* code into their own files Ignore-this: 23d66f0189ef8e324c2f23266f0ccf2 Added nua_server.h, nua_server.c, nua_client.h, nua_client.c. Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am Wed Feb 11 11:24:28 2009 @@ -30,6 +30,8 @@ sofia-sip/nua.h sofia-sip/nua_tag.h libnua_la_SOURCES = nua.c nua_stack.h nua_common.c nua_stack.c \ + nua_server.h nua_server.c \ + nua_client.h nua_client.c \ nua_extension.c nua_types.h \ nua_dialog.c nua_dialog.h \ outbound.c outbound.h \ Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.c Wed Feb 11 11:24:28 2009 @@ -0,0 +1,1609 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2006 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@CFILE nua_client.c + * @brief Client transaction handling + * + * @author Pekka Pessi + * + * @date Created: Tue Feb 3 16:10:45 EET 2009 + */ + +#include "config.h" + +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include +#include + +#define SU_MSG_ARG_T struct nua_ee_data +#define SU_TIMER_ARG_T struct nua_client_request + +#define NUA_SAVED_EVENT_T su_msg_t * +#define NUA_SAVED_SIGNAL_T su_msg_t * + +#define NTA_AGENT_MAGIC_T struct nua_s +#define NTA_LEG_MAGIC_T struct nua_handle_s +#define NTA_OUTGOING_MAGIC_T struct nua_client_request + +#include "nua_stack.h" +#include "nua_dialog.h" +#include "nua_client.h" + +#include + +su_inline int can_redirect(sip_contact_t const *m, sip_method_t method); + +/**@internal + * + * @class nua_client_request + * + * Each handle has a queue of client-side requests; if a request is pending, + * a new request from API is added to the queue. After the request is + * complete, it is removed from the queue and destroyed by the default. The + * exception is the client requests bound to a dialog usage: they are saved + * and re-used when the dialog usage is refreshed (and sometimes when the + * usage is terminated). + * + * The client request is subclassed and its behaviour modified using virtual + * function table in #nua_client_methods_t. + * + * The first three methods (crm_template(), crm_init(), crm_send()) are + * called when the request is sent first time. + * + * The crm_template() is called if a template request message is needed (for + * example, in case of unregister, unsubscribe and unpublish, the template + * message is taken from the request establishing the usage). + * + * The crm_init() is called when the template message and dialog leg has + * been created and populated by the tags procided by the application. Its + * parameters msg and sip are pointer to the template request message that + * is saved in the nua_client_request::cr_msg field. + * + * The crm_send() is called with a copy of the template message that has + * been populated with all the fields included in the request, including + * @CSeq and @MaxForwards. The crm_send() function, such as + * nua_publish_client_request(), usually calls nua_base_client_trequest() that + * then creates the nta-level transaction. + * + * The response to the request is processed by crm_check_restart(), which + * modifies and restarts the request when needed (e.g., when negotiating + * expiration time). After the request has been suitably modified, e.g., the + * expiration time has been increased, the restart function calls + * nua_client_restart(), which restarts the request and relays the + * intermediate response to the application with nua_client_restart() and + * crm_report(). + * + * The final responses are processed by crm_recv() and and preliminary ones + * by crm_preliminary(). All virtual functions should call + * nua_base_client_response() beside method-specific processing. + * + * The nua_base_client_response() relays the response to the application with + * nua_client_restart() and crm_report(). + * + * @par Terminating Dialog Usages and Dialogs + * + * The response is marked as terminating with nua_client_set_terminating(). + * When a terminating request completes the dialog usage is removed and the + * dialog is destroyed (unless there is an another active usage). + */ +static void nua_client_request_destroy(nua_client_request_t *cr); +static int nua_client_init_request0(nua_client_request_t *cr); +static int nua_client_request_try(nua_client_request_t *cr); +static int nua_client_request_sendmsg(nua_client_request_t *cr); +static void nua_client_restart_after(su_root_magic_t *magic, + su_timer_t *timer, + nua_client_request_t *cr); + +/**Create a client request. + * + * @retval 0 if request is pending + * @retval > 0 if error event has been sent + * @retval < 0 upon an error + */ +int nua_client_create(nua_handle_t *nh, + int event, + nua_client_methods_t const *methods, + tagi_t const * const tags) +{ + su_home_t *home = nh->nh_home; + nua_client_request_t *cr; + sip_method_t method; + char const *name; + + method = methods->crm_method, name = methods->crm_method_name; + if (!name) { + tagi_t const *t = tl_find_last(tags, nutag_method); + if (t) + name = (char const *)t->t_value; + } + + cr = su_zalloc(home, sizeof *cr + methods->crm_extra); + if (!cr) { + return nua_stack_event(nh->nh_nua, nh, + NULL, + event, + NUA_ERROR_AT(__FILE__, __LINE__), + NULL); + } + + cr->cr_methods = methods; + cr->cr_event = event; + cr->cr_method = method; + cr->cr_method_name = name; + cr->cr_contactize = methods->crm_flags.target_refresh; + cr->cr_dialog = methods->crm_flags.create_dialog; + cr->cr_auto = 1; + + if (su_msg_is_non_null(nh->nh_nua->nua_signal)) { + nua_event_data_t *e = su_msg_data(nh->nh_nua->nua_signal)->ee_data; + + if (tags == e->e_tags && event == e->e_event) { + cr->cr_auto = 0; + + if (tags) { + nua_move_signal(cr->cr_signal, nh->nh_nua->nua_signal); + if (cr->cr_signal) { + /* Steal reference from signal */ + cr->cr_owner = e->e_nh, e->e_nh = NULL; + cr->cr_tags = tags; + } + } + } + } + + if (cr->cr_owner == NULL) + cr->cr_owner = nua_handle_ref(nh); + + if (tags && cr->cr_tags == NULL) + cr->cr_tags = tl_tlist(nh->nh_home, TAG_NEXT(tags)); + +#if HAVE_MEMLEAK_LOG + SU_DEBUG_0(("%p %s() for %s\n", cr, __func__, cr->cr_methods->crm_method_name)); +#endif + + if (nua_client_request_queue(cr)) + return 0; + + return nua_client_init_request(cr); +} + +int nua_client_tcreate(nua_handle_t *nh, + int event, + nua_client_methods_t const *methods, + tag_type_t tag, tag_value_t value, ...) +{ + int retval; + ta_list ta; + ta_start(ta, tag, value); + retval = nua_client_create(nh, event, methods, ta_args(ta)); + ta_end(ta); + return retval; +} + +#if HAVE_MEMLEAK_LOG +nua_client_request_t * +nua_client_request_ref_by(nua_client_request_t *cr, + char const *where, unsigned line, char const *who) +{ + SU_DEBUG_0(("%p ref %s to %u by %s:%u: %s()\n", + cr, cr->cr_methods->crm_method_name, + ++(cr->cr_refs), where, line, who)); + return cr; +} + +int nua_client_request_unref_by(nua_client_request_t *cr, + char const *where, unsigned line, char const *who) +{ + SU_DEBUG_0(("%p unref %s to %u by %s:%u: %s()\n", + cr, cr->cr_methods->crm_method_name, + cr->cr_refs - 1, where, line, who)); + + if (cr->cr_refs > 1) { + cr->cr_refs--; + return 0; + } + else { + cr->cr_refs = 0; + nua_client_request_destroy(cr); + return 1; + } +} +#else +nua_client_request_t *nua_client_request_ref(nua_client_request_t *cr) +{ + cr->cr_refs++; + return cr; +} + +int nua_client_request_unref(nua_client_request_t *cr) +{ + if (cr->cr_refs > 1) { + cr->cr_refs--; + return 0; + } + else { + cr->cr_refs = 0; + nua_client_request_destroy(cr); + return 1; + } +} +#endif + +int nua_client_request_queue(nua_client_request_t *cr) +{ + int queued = 0; + nua_client_request_t **queue = &cr->cr_owner->nh_ds->ds_cr; + + assert(cr->cr_prev == NULL && cr->cr_next == NULL); + + cr->cr_status = 0; + + nua_client_request_ref(cr); + + if (cr->cr_method != sip_method_invite && + cr->cr_method != sip_method_cancel) { + while (*queue) { + if ((*queue)->cr_method == sip_method_invite || + (*queue)->cr_method == sip_method_cancel) + break; + queue = &(*queue)->cr_next; + queued = 1; + } + } + else { + while (*queue) { + queue = &(*queue)->cr_next; + if (cr->cr_method == sip_method_invite) + queued = 1; + } + } + + if ((cr->cr_next = *queue)) + cr->cr_next->cr_prev = &cr->cr_next; + + cr->cr_prev = queue, *queue = cr; + + return queued; +} + +int +nua_client_request_remove(nua_client_request_t *cr) +{ + int retval = 0; + int in_queue = cr->cr_prev != NULL; + + if (in_queue) { + if ((*cr->cr_prev = cr->cr_next)) + cr->cr_next->cr_prev = cr->cr_prev; + } + cr->cr_prev = NULL, cr->cr_next = NULL; + + if (cr->cr_timer) { + su_timer_destroy(cr->cr_timer), cr->cr_timer = NULL; + retval = nua_client_request_unref(cr); + } + + if (!in_queue) + return retval; + + return nua_client_request_unref(cr); +} + +int +nua_client_request_clean(nua_client_request_t *cr) +{ + if (cr->cr_orq) { + nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = NULL, cr->cr_acked = 0; + return nua_client_request_unref(cr); + } + return 0; +} + +int +nua_client_request_complete(nua_client_request_t *cr) +{ + if (cr->cr_orq) { + nua_client_request_ref(cr); + if (cr && cr->cr_methods->crm_complete) + cr->cr_methods->crm_complete(cr); + nua_client_request_clean(cr); + if (nua_client_request_unref(cr)) + return 1; + } + + return nua_client_request_remove(cr); +} + +static void +nua_client_request_destroy(nua_client_request_t *cr) +{ + nua_handle_t *nh; + + if (cr == NULL) + return; + + /* Possible references: */ + assert(cr->cr_prev == NULL); /* queue */ + assert(cr->cr_orq == NULL); /* transaction callback */ + assert(cr->cr_timer == NULL); /* timer callback */ + + nh = cr->cr_owner; + + nua_destroy_signal(cr->cr_signal); + + nua_client_bind(cr, NULL); + +#if HAVE_MEMLEAK_LOG + SU_DEBUG_0(("%p %s for %s\n", cr, __func__, cr->cr_methods->crm_method_name)); +#endif + + if (cr->cr_msg) + msg_destroy(cr->cr_msg); + cr->cr_msg = NULL, cr->cr_sip = NULL; + + if (cr->cr_orq) + nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = NULL; + + if (cr->cr_target) + su_free(nh->nh_home, cr->cr_target); + + su_free(nh->nh_home, cr); + + nua_handle_unref(nh); +} + +/** Bind client request to a dialog usage */ +int nua_client_bind(nua_client_request_t *cr, nua_dialog_usage_t *du) +{ + assert(cr); + if (cr == NULL) + return -1; + + if (du == NULL) { + du = cr->cr_usage; + cr->cr_usage = NULL; + if (du && du->du_cr == cr) { + du->du_cr = NULL; + nua_client_request_unref(cr); + } + return 0; + } + + if (du->du_cr && cr == du->du_cr) + return 0; + + if (du->du_cr) { + nua_client_bind(du->du_cr, NULL); + } + + du->du_cr = nua_client_request_ref(cr), cr->cr_usage = du; + + return 0; +} + +/**Initialize client request for sending. + * + * This function is called when the request is taken from queue and sent. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + */ +int nua_client_init_request(nua_client_request_t *cr) +{ + int retval; + nua_client_request_ref(cr); + retval = nua_client_init_request0(cr); + nua_client_request_unref(cr); + return retval; +} + +/**Initialize client request for sending. + * + * This function is called when the request is taken from queue and sent. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + */ +static +int nua_client_init_request0(nua_client_request_t *cr) +{ + nua_handle_t *nh = cr->cr_owner; + nua_t *nua = nh->nh_nua; + nua_dialog_state_t *ds = nh->nh_ds; + msg_t *msg = NULL; + sip_t *sip; + url_string_t const *url = NULL; + tagi_t const *t; + int has_contact = 0; + int error = 0; + + if (!cr->cr_method_name) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), NULL); + + if (cr->cr_msg) + return nua_client_request_try(cr); + + cr->cr_answer_recv = 0, cr->cr_offer_sent = 0; + cr->cr_offer_recv = 0, cr->cr_answer_sent = 0; + cr->cr_terminated = 0, cr->cr_graceful = 0; + + nua_stack_init_handle(nua, nh, cr->cr_tags); + + if (cr->cr_method == sip_method_cancel) { + if (cr->cr_methods->crm_init) { + error = cr->cr_methods->crm_init(cr, NULL, NULL, cr->cr_tags); + if (error) + return error; + } + + if (cr->cr_methods->crm_send) + return cr->cr_methods->crm_send(cr, NULL, NULL, cr->cr_tags); + else + return nua_base_client_request(cr, NULL, NULL, cr->cr_tags); + } + + if (!cr->cr_methods->crm_template || + cr->cr_methods->crm_template(cr, &msg, cr->cr_tags) == 0) + msg = nua_client_request_template(cr); + + sip = sip_object(msg); + if (!sip) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + + if (nh->nh_tags) { + for (t = nh->nh_tags; t; t = t_next(t)) { + if (t->t_tag == siptag_contact || + t->t_tag == siptag_contact_str) + has_contact = 1; + else if (t->t_tag == nutag_url) + url = (url_string_t const *)t->t_value; + } + } + + /**@par Populating SIP Request Message with Tagged Arguments + * + * The tagged arguments can be used to pass values for any SIP headers + * to the stack. When the INVITE message (or any other SIP message) is + * created, the tagged values saved with nua_handle() are used first, + * next the tagged values given with the operation (nua_invite()) are + * added. + * + * When multiple tags for the same header are specified, the behaviour + * depends on the header type. If only a single header field can be + * included in a SIP message, the latest non-NULL value is used, e.g., + * @Subject. However, if the SIP header can consist of multiple lines or + * header fields separated by comma, e.g., @Accept, all the tagged + * values are concatenated. + * + * However, if a tag value is #SIP_NONE (-1 casted as a void pointer), + * the values from previous tags are ignored. + */ + for (t = cr->cr_tags; t; t = t_next(t)) { + if (t->t_tag == siptag_contact || + t->t_tag == siptag_contact_str) + has_contact = 1; + else if (t->t_tag == nutag_url) + url = (url_string_t const *)t->t_value; + else if (t->t_tag == nutag_dialog) { + cr->cr_dialog = t->t_value > 1; + cr->cr_contactize = t->t_value >= 1; + } + else if (t->t_tag == nutag_auth && t->t_value) { + /* XXX ignoring errors */ + if (nh->nh_auth) + auc_credentials(&nh->nh_auth, nh->nh_home, (char *)t->t_value); + } + } + + if (cr->cr_method == sip_method_register && url == NULL) + url = (url_string_t const *)NH_PGET(nh, registrar); + + if ((t = cr->cr_tags)) { + if (sip_add_tagis(msg, sip, &t) < 0) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + } + + /** + * Now, the target URI for the request needs to be determined. + * + * For initial requests, values from tags are used. If NUTAG_URL() is + * given, it is used as target URI. Otherwise, if SIPTAG_TO() is given, + * it is used as target URI. If neither is given, the complete request + * line already specified using SIPTAG_REQUEST() or SIPTAG_REQUEST_STR() + * is used. At this point, the target URI is stored in the request line, + * together with method name and protocol version ("SIP/2.0"). The + * initial dialog information is also created: @CallID, @CSeq headers + * are generated, if they do not exist, and a tag is added to the @From + * header. + */ + + if (!ds->ds_leg) { + if (ds->ds_remote_tag && ds->ds_remote_tag[0] && + sip_to_tag(nh->nh_home, sip->sip_to, ds->ds_remote_tag) < 0) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + + if (sip->sip_from == NULL && + sip_add_dup(msg, sip, (sip_header_t *)nua->nua_from) < 0) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + + if (sip->sip_to == NULL && cr->cr_method == sip_method_register && + sip_add_dup_as(msg, sip, sip_to_class, + (sip_header_t *)sip->sip_from) < 0) { + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + } + } + else { + if (ds->ds_route) + url = NULL; + } + + if (url && nua_client_set_target(cr, (url_t *)url) < 0) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + + cr->cr_has_contact = has_contact; + + if (cr->cr_methods->crm_init) { + error = cr->cr_methods->crm_init(cr, msg, sip, cr->cr_tags); + if (error < -1) + msg = NULL; + if (error < 0) + return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); + if (error != 0) + return error; + } + + cr->cr_msg = msg; + cr->cr_sip = sip; + + return nua_client_request_try(cr); +} + +msg_t *nua_client_request_template(nua_client_request_t *cr) +{ + nua_handle_t *nh = cr->cr_owner; + nua_t *nua = nh->nh_nua; + nua_dialog_state_t *ds = nh->nh_ds; + + msg_t *msg = nta_msg_create(nua->nua_nta, 0); + sip_t *sip = sip_object(msg); + + if (!sip) + return NULL; + + if (nh->nh_tags) { + tagi_t const *t = nh->nh_tags; + + /* Use the From header from the dialog. + If From is set, it is always first tag in the handle */ + if (ds->ds_leg && t->t_tag == siptag_from) + t++; + + /* When the INVITE message (or any other SIP message) is + * created, the tagged values saved with nua_handle() are used first. */ + sip_add_tagis(msg, sip, &t); + } + + return msg; +} + + +/** Restart the request message. + * + * A restarted request has not been completed successfully. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + */ +int nua_client_restart_request(nua_client_request_t *cr, + int terminating, + tagi_t const *tags) +{ + if (cr) { + assert(nua_client_is_queued(cr)); + + if (tags && cr->cr_msg) + if (sip_add_tagis(cr->cr_msg, NULL, &tags) < 0) + /* XXX */; + + nua_client_set_terminating(cr, terminating); + + return nua_client_request_try(cr); + } + + return 0; +} + +/** Resend the request message. + * + * A resent request has completed once successfully - restarted has not. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + */ +int nua_client_resend_request(nua_client_request_t *cr, + int terminating) +{ + if (cr) { + cr->cr_retry_count = 0; + cr->cr_challenged = 0; + + if (nua_client_is_queued(cr)) { + if (terminating) + cr->cr_graceful = 1; + return 0; + } + + if (terminating) + nua_client_set_terminating(cr, terminating); + + if (nua_client_request_queue(cr)) + return 0; + + if (nua_dialog_is_reporting(cr->cr_owner->nh_ds)) + return 0; + + return nua_client_request_try(cr); + } + return 0; +} + + +/** Send a request message. + * + * If an error occurs, send error event to the application. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + */ +static +int nua_client_request_try(nua_client_request_t *cr) +{ + int error = nua_client_request_sendmsg(cr); + + if (error < 0) + error = nua_client_response(cr, NUA_ERROR_AT(__FILE__, __LINE__), NULL); + + return error; +} + +/**Send a request message. + * + * @retval 0 if request is pending + * @retval >=1 if error event has been sent + * @retval < 0 if no error event has been sent + */ +static +int nua_client_request_sendmsg(nua_client_request_t *cr) +{ + nua_handle_t *nh = cr->cr_owner; + nua_dialog_state_t *ds = nh->nh_ds; + sip_method_t method = cr->cr_method; + char const *name = cr->cr_method_name; + url_string_t const *url = (url_string_t *)cr->cr_target; + nta_leg_t *leg; + msg_t *msg; + sip_t *sip; + int error; + + assert(cr->cr_orq == NULL); + + cr->cr_offer_sent = cr->cr_answer_recv = 0; + cr->cr_offer_recv = cr->cr_answer_sent = 0; + + if (!ds->ds_leg && cr->cr_dialog) { + ds->ds_leg = nta_leg_tcreate(nh->nh_nua->nua_nta, + nua_stack_process_request, nh, + SIPTAG_CALL_ID(cr->cr_sip->sip_call_id), + SIPTAG_FROM(cr->cr_sip->sip_from), + SIPTAG_TO(cr->cr_sip->sip_to), + SIPTAG_CSEQ(cr->cr_sip->sip_cseq), + TAG_END()); + if (!ds->ds_leg) + return -1; + } + + if (cr->cr_sip->sip_from && ds->ds_leg) { + if (cr->cr_sip->sip_from->a_tag == NULL) { + if (sip_from_tag(msg_home(cr->cr_msg), cr->cr_sip->sip_from, + nta_leg_tag(ds->ds_leg, NULL)) < 0) { + return -1; + } + } + } + + cr->cr_retry_count++; + + if (ds->ds_leg) + leg = ds->ds_leg; + else + leg = nh->nh_nua->nua_dhandle->nh_ds->ds_leg; /* Default leg */ + + msg = msg_copy(cr->cr_msg), sip = sip_object(msg); + + if (msg == NULL) + return -1; + + if (nua_dialog_is_established(ds)) { + while (sip->sip_route) + sip_route_remove(msg, sip); + } + else if (!ds->ds_route) { + sip_route_t *initial_route = NH_PGET(nh, initial_route); + + if (initial_route) { + initial_route = sip_route_dup(msg_home(msg), initial_route); + if (!initial_route) return -1; + msg_header_prepend(msg, (msg_pub_t*)sip, + /* This should be + (msg_header_t **)&sip->sip_route + * but directly casting pointer &sip->sip_route gives + * spurious type-punning warning */ + (msg_header_t **)((char *)sip + offsetof(sip_t, sip_route)), + (msg_header_t *)initial_route); + } + } + + + /** + * For in-dialog requests, the request URI is taken from the @Contact + * header received from the remote party during dialog establishment, + * and the NUTAG_URL() is ignored. + * + * Also, the @CallID and @CSeq headers and @From and @To tags are + * generated based on the dialog information and added to the request. + * If the dialog has a route, it is added to the request, too. + */ + if (nta_msg_request_complete(msg, leg, method, name, url) < 0) { + msg_destroy(msg); + return -1; + } + + /**@MaxForwards header (with default value set by NTATAG_MAX_FORWARDS()) is + * also added now, if it does not exist. + */ + + if (!ds->ds_remote) + ds->ds_remote = sip_to_dup(nh->nh_home, sip->sip_to); + if (!ds->ds_local) + ds->ds_local = sip_from_dup(nh->nh_home, sip->sip_from); + + /** + * Next, values previously set with nua_set_params() or nua_set_hparams() + * are used: @Allow, @Supported, @Organization, @UserAgent and + * @AllowEvents headers are added to the request if they are not already + * set. + */ + if (!sip->sip_allow) + sip_add_dup(msg, sip, (sip_header_t*)NH_PGET(nh, allow)); + + if (!sip->sip_supported && NH_PGET(nh, supported)) + sip_add_dup(msg, sip, (sip_header_t *)NH_PGET(nh, supported)); + + if (method == sip_method_register && NH_PGET(nh, path_enable) && + !sip_has_feature(sip->sip_supported, "path") && + !sip_has_feature(sip->sip_require, "path")) + sip_add_make(msg, sip, sip_supported_class, "path"); + + if (!sip->sip_organization && NH_PGET(nh, organization)) + sip_add_make(msg, sip, sip_organization_class, NH_PGET(nh, organization)); + + if (!sip->sip_user_agent && NH_PGET(nh, user_agent)) + sip_add_make(msg, sip, sip_user_agent_class, NH_PGET(nh, user_agent)); + + /** Any node implementing one or more event packages SHOULD include an + * appropriate @AllowEvents header indicating all supported events in + * all methods which initiate dialogs and their responses (such as + * INVITE) and OPTIONS responses. + */ + if (!sip->sip_allow_events && + NH_PGET(nh, allow_events) && + (method == sip_method_notify || /* Always in NOTIFY */ + (!ds->ds_remote_tag && /* And in initial requests */ + (method == sip_method_subscribe || method == sip_method_refer || + method == sip_method_options || + method == sip_method_invite)))) + sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow_events)); + + /** + * Next, the stack generates a @Contact header for the request (unless + * the application already gave a @Contact header or it does not want to + * use @Contact and indicates that by including SIPTAG_CONTACT(NULL) or + * SIPTAG_CONTACT(SIP_NONE) in the tagged parameters.) If the + * application has registered the URI in @From header, the @Contact + * header used with registration is used. Otherwise, the @Contact header + * is generated from the local IP address and port number. + */ + + /**For the initial requests, @ServiceRoute set that was received from the + * registrar is also added to the request message. + */ + if (cr->cr_method != sip_method_register) { + if (cr->cr_contactize && cr->cr_has_contact) { + sip_contact_t *ltarget = sip_contact_dup(nh->nh_home, sip->sip_contact); + if (ds->ds_ltarget) + msg_header_free(nh->nh_home, (msg_header_t *)ds->ds_ltarget); + ds->ds_ltarget = ltarget; + } + + if (ds->ds_ltarget && !cr->cr_has_contact) + sip_add_dup(msg, sip, (sip_header_t *)ds->ds_ltarget); + + if (nua_registration_add_contact_to_request(nh, msg, sip, + cr->cr_contactize && + !cr->cr_has_contact && + !ds->ds_ltarget, + !ds->ds_route) < 0) { + msg_destroy(msg); + return -1; + } + } + + cr->cr_wait_for_cred = 0; + + if (cr->cr_methods->crm_send) + error = cr->cr_methods->crm_send(cr, msg, sip, NULL); + else + error = nua_base_client_request(cr, msg, sip, NULL); + + if (error != 0 && error != -2) + msg_destroy(msg); + + return error; +} + +/**Add tags to request message and send it, + * + * @retval 0 success + * @retval -1 if error occurred, but event has not been sent + * @retval -2 if error occurred, event has not been sent, + * and @a msg has been destroyed + * @retval >=1 if error event has been sent + */ +int nua_base_client_trequest(nua_client_request_t *cr, + msg_t *msg, sip_t *sip, + tag_type_t tag, tag_value_t value, ...) +{ + int retval; + ta_list ta; + ta_start(ta, tag, value); + retval = nua_base_client_request(cr, msg, sip, ta_args(ta)); + ta_end(ta); + return retval; +} + +/** Send request. + * + * @retval 0 success + * @retval -1 if error occurred, but event has not been sent + * @retval -2 if error occurred, event has not been sent, + * and @a msg has been destroyed + * @retval >=1 if error event has been sent + */ +int nua_base_client_request(nua_client_request_t *cr, msg_t *msg, sip_t *sip, + tagi_t const *tags) +{ + nua_handle_t *nh = cr->cr_owner; + int proxy_is_set = NH_PISSET(nh, proxy); + url_string_t * proxy = NH_PGET(nh, proxy); + + if (nh->nh_auth) { + if (cr->cr_challenged || + NH_PGET(nh, auth_cache) == nua_auth_cache_dialog) { + if (auc_authorize(&nh->nh_auth, msg, sip) < 0) + return nua_client_return(cr, 900, "Cannot add credentials", msg); + } + } + + cr->cr_seq = sip->sip_cseq->cs_seq; /* Save last sequence number */ + + assert(cr->cr_orq == NULL); + + cr->cr_orq = nta_outgoing_mcreate(nh->nh_nua->nua_nta, + nua_client_orq_response, + nua_client_request_ref(cr), + NULL, + msg, + TAG_IF(proxy_is_set, + NTATAG_DEFAULT_PROXY(proxy)), + TAG_NEXT(tags)); + + if (cr->cr_orq == NULL) { + nua_client_request_unref(cr); + return -1; + } + + return 0; +} + +/** Callback for nta client transaction */ +int +nua_client_orq_response(nua_client_request_t *cr, + nta_outgoing_t *orq, + sip_t const *sip) +{ + int status; + char const *phrase; + + if (sip && sip->sip_status) { + status = sip->sip_status->st_status; + phrase = sip->sip_status->st_phrase; + } + else { + status = nta_outgoing_status(orq); + phrase = ""; + } + + nua_client_response(cr, status, phrase, sip); + + return 0; +} + +/**Return response to the client request. + * + * Return a response generated by the stack. This function is used to return + * a error response within @a nua_client_methods_t#crm_init or @a + * nua_client_methods_t#crm_send functions. It takes care of disposing the @a + * to_be_destroyed that cannot be sent. + * + * @retval 0 if response event was preliminary + * @retval 1 if response event was final + * @retval 2 if response event destroyed the handle, too. + */ +int nua_client_return(nua_client_request_t *cr, + int status, + char const *phrase, + msg_t *to_be_destroyed) +{ + if (to_be_destroyed) + msg_destroy(to_be_destroyed); + nua_client_response(cr, status, phrase, NULL); + return 1; +} + +/** Process response to the client request. + * + * The response can be generated by the stack (@a sip is NULL) or + * returned by the remote server. + * + * @retval 0 if response event was preliminary + * @retval 1 if response event was final + * @retval 2 if response event destroyed the handle, too. + */ +int nua_client_response(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip) +{ + nua_handle_t *nh = cr->cr_owner; + nua_dialog_usage_t *du = cr->cr_usage; + int retval = 0; + + if (cr->cr_restarting) + return 0; + + nua_client_request_ref(cr); + + cr->cr_status = status; + cr->cr_phrase = phrase; + + if (status < 200) { + /* Xyzzy */ + } + else if (sip && nua_client_check_restart(cr, status, phrase, sip)) { + nua_client_request_unref(cr); + return 0; + } + else if (status < 300) { + if (cr->cr_terminating) { + cr->cr_terminated = 1; + } + else { + if (sip) { + if (cr->cr_contactize) + nua_dialog_uac_route(nh, nh->nh_ds, sip, 1, cr->cr_initial); + nua_dialog_store_peer_info(nh, nh->nh_ds, sip); + } + + if (du && du->du_cr == cr) + du->du_ready = 1; + } + } + else { + sip_method_t method = cr->cr_method; + int terminated, graceful = 1; + + if (status < 700) + terminated = sip_response_terminates_dialog(status, method, &graceful); + else + /* XXX - terminate usage by all internal error responses */ + terminated = 0, graceful = 1; + + if (terminated < 0) + cr->cr_terminated = terminated; + else if (cr->cr_terminating || terminated) + cr->cr_terminated = 1; + else if (graceful) + cr->cr_graceful = 1; + } + + if (status < 200) { + if (cr->cr_methods->crm_preliminary) + cr->cr_methods->crm_preliminary(cr, status, phrase, sip); + else + nua_base_client_response(cr, status, phrase, sip, NULL); + cr->cr_phrase = NULL; + } + else { + if (cr->cr_methods->crm_recv) + retval = cr->cr_methods->crm_recv(cr, status, phrase, sip); + else + retval = nua_base_client_response(cr, status, phrase, sip, NULL); + } + + nua_client_request_unref(cr); + + return retval; +} + +/** Check if request should be restarted. + * + * @retval 1 if restarted or waiting for restart + * @retval 0 otherwise + */ +int nua_client_check_restart(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip) +{ + nua_handle_t *nh; + + assert(cr && status >= 200 && phrase && sip); + + nh = cr->cr_owner; + + if (cr->cr_retry_count > NH_PGET(nh, retry_count)) + return 0; + + if (cr->cr_methods->crm_check_restart) + return cr->cr_methods->crm_check_restart(cr, status, phrase, sip); + else + return nua_base_client_check_restart(cr, status, phrase, sip); +} + +int nua_base_client_check_restart(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip) +{ + nua_handle_t *nh = cr->cr_owner; + nta_outgoing_t *orq; + + if (status == 302 || status == 305) { + sip_route_t r[1]; + + if (!can_redirect(sip->sip_contact, cr->cr_method)) + return 0; + + switch (status) { + case 302: + if (nua_dialog_zap(nh, nh->nh_ds) == 0 && + nua_client_set_target(cr, sip->sip_contact->m_url) >= 0) + return nua_client_restart(cr, 100, "Redirected"); + break; + + case 305: + sip_route_init(r); + *r->r_url = *sip->sip_contact->m_url; + if (nua_dialog_zap(nh, nh->nh_ds) == 0 && + sip_add_dup(cr->cr_msg, cr->cr_sip, (sip_header_t *)r) >= 0) + return nua_client_restart(cr, 100, "Redirected via a proxy"); + break; + + default: + break; + } + } + + + if (status == 423) { + unsigned my_expires = 0; + + if (cr->cr_sip->sip_expires) + my_expires = cr->cr_sip->sip_expires->ex_delta; + + if (sip->sip_min_expires && + sip->sip_min_expires->me_delta > my_expires) { + sip_expires_t ex[1]; + sip_expires_init(ex); + ex->ex_delta = sip->sip_min_expires->me_delta; + + if (sip_add_dup(cr->cr_msg, NULL, (sip_header_t *)ex) < 0) + return 0; + + return nua_client_restart(cr, 100, "Re-Negotiating Expiration"); + } + } + + if ((status == 401 && sip->sip_www_authenticate) || + (status == 407 && sip->sip_proxy_authenticate)) { + int server = 0, proxy = 0; + + if (sip->sip_www_authenticate) + server = auc_challenge(&nh->nh_auth, nh->nh_home, + sip->sip_www_authenticate, + sip_authorization_class); + + if (sip->sip_proxy_authenticate) + proxy = auc_challenge(&nh->nh_auth, nh->nh_home, + sip->sip_proxy_authenticate, + sip_proxy_authorization_class); + + if (server >= 0 && proxy >= 0) { + int invalid = cr->cr_challenged && server + proxy == 0; + + cr->cr_challenged = 1; + + if (invalid) { + /* Bad username/password */ + SU_DEBUG_7(("nua(%p): bad credentials, clearing them\n", (void *)nh)); + auc_clear_credentials(&nh->nh_auth, NULL, NULL); + } + else if (auc_has_authorization(&nh->nh_auth)) + return nua_client_restart(cr, 100, "Request Authorized by Cache"); + + orq = cr->cr_orq, cr->cr_orq = NULL; + + cr->cr_waiting = cr->cr_wait_for_cred = 1; + nua_client_report(cr, status, phrase, NULL, orq, NULL); + nta_outgoing_destroy(orq); + cr->cr_status = 0, cr->cr_phrase = NULL; + nua_client_request_unref(cr); + + return 1; + } + } + + if (500 <= status && status < 600 && + sip->sip_retry_after && + sip->sip_retry_after->af_delta < 32) { + su_timer_t *timer; + char phrase[18]; /* Retry After XXXX\0 */ + + timer = su_timer_create(su_root_task(nh->nh_nua->nua_root), 0); + + if (su_timer_set_interval(timer, nua_client_restart_after, cr, + sip->sip_retry_after->af_delta * 1000) < 0) { + su_timer_destroy(timer); + return 0; /* Too bad */ + } + + cr->cr_timer = timer; /* This takes over cr reference from orq */ + + snprintf(phrase, sizeof phrase, "Retry After %u", + (unsigned)sip->sip_retry_after->af_delta); + + orq = cr->cr_orq, cr->cr_orq = NULL; + cr->cr_waiting = 1; + nua_client_report(cr, 100, phrase, NULL, orq, NULL); + nta_outgoing_destroy(orq); + cr->cr_status = 0, cr->cr_phrase = NULL; + return 1; + } + + return 0; /* This was a final response that cannot be restarted. */ +} + +su_inline +int can_redirect(sip_contact_t const *m, sip_method_t method) +{ + if (m && m->m_url->url_host) { + enum url_type_e type = m->m_url->url_type; + return + type == url_sip || + type == url_sips || + (type == url_tel && + (method == sip_method_invite || method == sip_method_message)) || + (type == url_im && method == sip_method_message) || + (type == url_pres && method == sip_method_subscribe); + } + return 0; +} + +/** @internal Add authorization data */ +static int nh_authorize(nua_handle_t *nh, tag_type_t tag, tag_value_t value, ...) +{ + int retval = 0; + tagi_t const *ti; + ta_list ta; + + ta_start(ta, tag, value); + + for (ti = ta_args(ta); ti; ti = tl_next(ti)) { + if (ti->t_tag == nutag_auth && ti->t_value) { + char *data = (char *)ti->t_value; + int rv = auc_credentials(&nh->nh_auth, nh->nh_home, data); + + if (rv > 0) { + retval = 1; + } + else if (rv < 0) { + retval = -1; + break; + } + } + } + + ta_end(ta); + + return retval; +} + +/** @NUA_EVENT nua_r_authenticate + * + * Response to nua_authenticate(). Under normal operation, this event is + * never sent but rather the unauthenticated operation is completed. + * However, if there is no operation to authentication or if there is an + * authentication error the #nua_r_authenticate event is sent to the + * application with the status code as follows: + * - 202 No operation to restart:\n + * The authenticator associated with the handle was updated, but there was + * no operation to retry with the new credentials. + * - 900 Cannot add credentials:\n + * There was internal problem updating authenticator. + * - 904 No matching challenge:\n + * There was no challenge matching with the credentials provided by + * nua_authenticate(), e.g., their realm did not match with the one + * received with the challenge. + * + * @param status status code from authentication + * @param phrase a short textual description of @a status code + * @param nh operation handle authenticated + * @param hmagic application context associated with the handle + * @param sip NULL + * @param tags empty + * + * @sa nua_terminate(), nua_handle_destroy() + * + * @END_NUA_EVENT + */ + +void +nua_stack_authenticate(nua_t *nua, nua_handle_t *nh, nua_event_t e, + tagi_t const *tags) +{ + nua_client_request_t *cr = nh->nh_ds->ds_cr; + int status = nh_authorize(nh, TAG_NEXT(tags)); + + if (status > 0) { + if (cr && cr->cr_wait_for_cred) { + cr->cr_waiting = cr->cr_wait_for_cred = 0; + nua_client_restart_request(cr, cr->cr_terminating, tags); + } + else { + nua_stack_event(nua, nh, NULL, e, + 202, "No operation to restart", + NULL); + } + } + else if (cr && cr->cr_wait_for_cred) { + cr->cr_waiting = cr->cr_wait_for_cred = 0; + + if (status < 0) + nua_client_response(cr, 900, "Operation cannot add credentials", NULL); + else + nua_client_response(cr, 904, "Operation has no matching challenge ", NULL); + } + else if (status < 0) { + nua_stack_event(nua, nh, NULL, e, 900, "Cannot add credentials", NULL); + } + else { + nua_stack_event(nua, nh, NULL, e, 904, "No matching challenge", NULL); + } +} + +/** Request restarted by timer */ +static void +nua_client_restart_after(su_root_magic_t *magic, + su_timer_t *timer, + nua_client_request_t *cr) +{ + cr->cr_waiting = 0; + su_timer_destroy(cr->cr_timer), cr->cr_timer = NULL; + nua_client_restart_request(cr, cr->cr_terminating, NULL); + nua_client_request_unref(cr); +} + +/** Restart request. + * + * @retval 1 if restarted + * @retval 0 otherwise + */ +int nua_client_restart(nua_client_request_t *cr, + int status, char const *phrase) +{ + nua_handle_t *nh = cr->cr_owner; + nta_outgoing_t *orq; + int error = -1, terminated, graceful; + + if (cr->cr_retry_count > NH_PGET(nh, retry_count)) + return 0; + + orq = cr->cr_orq, cr->cr_orq = NULL; assert(orq); + terminated = cr->cr_terminated, cr->cr_terminated = 0; + graceful = cr->cr_graceful, cr->cr_graceful = 0; + + cr->cr_restarting = 1; + error = nua_client_request_sendmsg(cr); + cr->cr_restarting = 0; + + if (error) { + cr->cr_graceful = graceful; + cr->cr_terminated = terminated; + assert(cr->cr_orq == NULL); + cr->cr_orq = orq; + return 0; + } + + nua_client_report(cr, status, phrase, NULL, orq, NULL); + + nta_outgoing_destroy(orq); + nua_client_request_unref(cr); /* ... reference used by old orq */ + + return 1; +} + +int nua_client_set_target(nua_client_request_t *cr, url_t const *target) +{ + url_t *new_target, *old_target = cr->cr_target; + + if (!target || target == old_target) + return 0; + + new_target = url_hdup(cr->cr_owner->nh_home, (url_t *)target); + if (!new_target) + return -1; + cr->cr_target = new_target; + if (old_target) + su_free(cr->cr_owner->nh_home, old_target); + + return 0; +} + +/**@internal + * Relay response event to the application. + * + * @todo + * If handle has already been marked as destroyed by nua_handle_destroy(), + * release the handle with nh_destroy(). + * + * @retval 0 if event was preliminary + * @retval 1 if event was final + * @retval 2 if event destroyed the handle, too. + */ +int nua_base_client_tresponse(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + tag_type_t tag, tag_value_t value, ...) +{ + ta_list ta; + int retval; + + if (cr->cr_event == nua_r_destroy) + return nua_base_client_response(cr, status, phrase, sip, NULL); + + ta_start(ta, tag, value); + retval = nua_base_client_response(cr, status, phrase, sip, ta_args(ta)); + ta_end(ta); + + return retval; +} + +/**@internal + * Relay response event to the application. + * + * @todo + * If handle has already been marked as destroyed by nua_handle_destroy(), + * release the handle with nh_destroy(). + * + * @retval 0 if event was preliminary + * @retval 1 if event was final + * @retval 2 if event destroyed the handle, too. + */ +int nua_base_client_response(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + tagi_t const *tags) +{ + nua_handle_t *nh = cr->cr_owner; + sip_method_t method = cr->cr_method; + nua_dialog_usage_t *du; + + cr->cr_reporting = 1, nh->nh_ds->ds_reporting = 1; + + if (nh->nh_auth && sip && + (sip->sip_authentication_info || sip->sip_proxy_authentication_info)) { + /* Collect nextnonce */ + if (sip->sip_authentication_info) + auc_info(&nh->nh_auth, + sip->sip_authentication_info, + sip_authorization_class); + if (sip->sip_proxy_authentication_info) + auc_info(&nh->nh_auth, + sip->sip_proxy_authentication_info, + sip_proxy_authorization_class); + } + + if ((method != sip_method_invite && status >= 200) || status >= 300) + nua_client_request_remove(cr); + + nua_client_report(cr, status, phrase, sip, cr->cr_orq, tags); + + if (status < 200 || + /* Un-ACKed 2XX response to INVITE */ + (method == sip_method_invite && status < 300 && !cr->cr_acked)) { + cr->cr_reporting = 0, nh->nh_ds->ds_reporting = 0; + return 1; + } + + nua_client_request_clean(cr); + + du = cr->cr_usage; + + if (cr->cr_terminated < 0) { + /* XXX - dialog has been terminated */; + nua_dialog_deinit(nh, nh->nh_ds), cr->cr_usage = NULL; + } + else if (du) { + if (cr->cr_terminated || + (!du->du_ready && status >= 300 && nua_client_is_bound(cr))) { + /* Usage has been destroyed */ + nua_dialog_usage_remove(nh, nh->nh_ds, du, cr, NULL), cr->cr_usage = NULL; + } + else if (cr->cr_graceful) { + /* Terminate usage gracefully */ + if (nua_dialog_usage_shutdown(nh, nh->nh_ds, du) > 0) + cr->cr_usage = NULL; + } + } + else if (cr->cr_terminated) { + if (nh->nh_ds->ds_usage == NULL) + nua_dialog_remove(nh, nh->nh_ds, NULL), cr->cr_usage = NULL; + } + + cr->cr_phrase = NULL; + cr->cr_reporting = 0, nh->nh_ds->ds_reporting = 0; + + if (method == sip_method_cancel) + return 1; + + return nua_client_next_request(nh->nh_ds->ds_cr, method == sip_method_invite); +} + +/** Send event, zap transaction but leave cr in list */ +int nua_client_report(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + nta_outgoing_t *orq, + tagi_t const *tags) +{ + nua_handle_t *nh; + + if (cr->cr_event == nua_r_destroy) + return 1; + + if (cr->cr_methods->crm_report) + return cr->cr_methods->crm_report(cr, status, phrase, sip, orq, tags); + + nh = cr->cr_owner; + + nua_stack_event(nh->nh_nua, nh, + nta_outgoing_getresponse(orq), + cr->cr_event, + status, phrase, + tags); + return 1; +} + +int nua_client_treport(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + nta_outgoing_t *orq, + tag_type_t tag, tag_value_t value, ...) +{ + int retval; + ta_list ta; + ta_start(ta, tag, value); + retval = nua_client_report(cr, status, phrase, sip, orq, ta_args(ta)); + ta_end(ta); + return retval; +} + +int nua_client_next_request(nua_client_request_t *cr, int invite) +{ + for (; cr; cr = cr->cr_next) { + if (cr->cr_method == sip_method_cancel) + continue; + + if (invite + ? cr->cr_method == sip_method_invite + : cr->cr_method != sip_method_invite) + break; + } + + if (cr && cr->cr_orq == NULL) { + nua_client_init_request(cr); + } + + return 1; +} + +nua_client_request_t * +nua_client_request_pending(nua_client_request_t const *cr) +{ + for (;cr;cr = cr->cr_next) + if (cr->cr_orq) + return (nua_client_request_t *)cr; + + return NULL; +} + +/**@internal + * Save handle parameters and initial authentication info. + * + * @retval -1 upon an error + * @retval 0 when successful + */ +int nua_stack_init_handle(nua_t *nua, nua_handle_t *nh, tagi_t const *tags) +{ + int retval = 0; + + if (nh == NULL) + return -1; + + assert(nh != nua->nua_dhandle); + + if (nua_stack_set_params(nua, nh, nua_i_error, tags) < 0) + retval = -1; + + if (retval || nh->nh_init) /* Already initialized? */ + return retval; + + if (nh->nh_tags) + nh_authorize(nh, TAG_NEXT(nh->nh_tags)); + + nh->nh_init = 1; + + return 0; +} Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_client.h Wed Feb 11 11:24:28 2009 @@ -0,0 +1,344 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2006, 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef NUA_CLIENT_H +/** Defined when has been included. */ +#define NUA_CLIENT_H + +/**@IFILE nua_client.h + * @brief Client requests + * + * @author Pekka Pessi + * @author Kai Vehmanen + * + * @date Created: Tue Feb 3 15:50:35 EET 2009 ppessi + */ + +#include + +SOFIA_BEGIN_DECLS + +/* Methods for client request. @internal */ +typedef struct { + sip_method_t crm_method; + char const *crm_method_name; + size_t crm_extra; /**< Size of private data */ + + struct { + unsigned create_dialog:1, in_dialog:1, target_refresh:1; + unsigned:0; + } crm_flags; + + /** Generate a request message. + * + * @retval 1 when request message has been created + * @retval 0 when request message should be created in normal fashion + * @retval -1 upon an error + */ + int (*crm_template)(nua_client_request_t *cr, + msg_t **return_msg, + tagi_t const *tags); + + /**@a crm_init is called when a client request is sent first time. + * + * @retval 1 when request has been responded + * @retval 0 when request should be sent in normal fashion + * @retval -1 upon an error + */ + int (*crm_init)(nua_client_request_t *, msg_t *msg, sip_t *sip, + tagi_t const *tags); + + /** @a crm_send is called each time when a client request is sent. + * + * @retval 1 when request has been responded + * @retval 0 when request has been sent + * @retval -1 upon an error (request message has not been destroyed) + * @retval -2 upon an error (request message has been destroyed) + */ + int (*crm_send)(nua_client_request_t *, + msg_t *msg, sip_t *sip, + tagi_t const *tags); + + /** @a crm_check_restart is called each time when a response is received. + * + * It is used to restart reqquest after responses with method-specific + * status code or method-specific way of restarting the request. + * + * @retval 1 when request has been restarted + * @retval 0 when response should be processed normally + */ + int (*crm_check_restart)(nua_client_request_t *, + int status, char const *phrase, + sip_t const *sip); + + /** @a crm_recv is called each time a final response is received. + * + * A final response is in range 200 .. 699 (or internal response) and it + * cannot be restarted. + * + * crm_recv() should call nua_base_client_response() or + * nua_base_client_tresponse(). The return values below are documented with + * nua_base_client_response(), too. + * + * @retval 0 if response was preliminary + * @retval 1 if response was final + * @retval 2 if response destroyed the handle, too. + */ + int (*crm_recv)(nua_client_request_t *, + int status, char const *phrase, + sip_t const *sip); + + /** @a crm_preliminary is called each time a preliminary response is received. + * + * A preliminary response is in range 101 .. 199. + * + * crm_preliminary() should call nua_base_client_response() or + * nua_base_client_tresponse(). + * + * @retval 0 if response was preliminary + * @retval 1 if response was final + * @retval 2 if response destroyed the handle, too. + */ + int (*crm_preliminary)(nua_client_request_t *, + int status, char const *phrase, + sip_t const *sip); + + /** @a crm_report is called each time a response is received and it is + * reported to the application. + * + * The status and phrase may be different from the status and phrase + * received from the network, e.g., when the request is restarted. + * + * @return The return value should be 0. It is currently ignored. + */ + int (*crm_report)(nua_client_request_t *, + int status, char const *phrase, + sip_t const *sip, + nta_outgoing_t *orq, + tagi_t const *tags); + + /** @a crm_complete is called when a client-side request is destroyed. + * + * @return The return value should be 0. It is currently ignored. + */ + int (*crm_complete)(nua_client_request_t *); + +} nua_client_methods_t; + +/* Client-side request. Documented by nua_client_create() */ +struct nua_client_request +{ + nua_client_request_t *cr_next, **cr_prev; /**< Linked list of requests */ + nua_owner_t *cr_owner; + nua_dialog_usage_t *cr_usage; + + nua_saved_signal_t cr_signal[1]; + tagi_t const *cr_tags; + + nua_client_methods_t const *cr_methods; + + msg_t *cr_msg; + sip_t *cr_sip; + + nta_outgoing_t *cr_orq; + + su_timer_t *cr_timer; /**< Expires or retry timer */ + + /*nua_event_t*/ int cr_event; /**< Request event */ + sip_method_t cr_method; + char const *cr_method_name; + + url_t *cr_target; + + char const *cr_phrase; /**< Latest status phrase */ + unsigned short cr_status; /**< Latest status */ + unsigned short cr_retry_count; /**< Retry count for this request */ + + uint32_t cr_seq; + + unsigned cr_refs; /**< References to client request */ + + /* Flags used with offer-answer */ + unsigned short cr_answer_recv; /**< Recv answer in response + * with this status. + */ + unsigned cr_offer_sent:1; /**< Sent offer in this request */ + + unsigned cr_offer_recv:1; /**< Recv offer in a response */ + unsigned cr_answer_sent:1; /**< Sent answer in (PR)ACK */ + + /* Flags with usage */ + unsigned cr_neutral:1; /**< No effect on session or other usage */ + + /* Lifelong flags? */ + unsigned cr_auto:1; /**< Request was generated by stack */ + unsigned cr_has_contact:1; /**< Request has user Contact */ + unsigned cr_contactize:1; /**< Request needs Contact */ + unsigned cr_dialog:1; /**< Request can initiate dialog */ + + /* Current state */ + unsigned cr_initial:1; /**< Initial request of a dialog */ + unsigned cr_acked:1; /**< Final response to the request has been ACKed */ + unsigned cr_waiting:1; /**< Request is waiting */ + unsigned cr_challenged:1; /**< Request was challenged */ + unsigned cr_wait_for_cred:1; /**< Request is pending authentication */ + unsigned cr_restarting:1; /**< Request is being restarted */ + unsigned cr_reporting:1; /**< Reporting in progress */ + unsigned cr_terminating:1; /**< Request terminates the usage */ + signed int cr_terminated:2; /**< Response terminated usage (1) or + whole dialog (-1) */ + unsigned cr_graceful:1; /**< Graceful termination required */ +}; + +int nua_client_create(nua_owner_t *owner, + int event, + nua_client_methods_t const *methods, + tagi_t const *tags); + +int nua_client_tcreate(nua_owner_t *nh, + int event, + nua_client_methods_t const *methods, + tag_type_t tag, tag_value_t value, ...); + +su_inline +void *nua_private_client_request(nua_client_request_t const *cr) +{ + return (void *)(cr + 1); +} + +nua_client_request_t *nua_client_request_ref(nua_client_request_t *); +int nua_client_request_unref(nua_client_request_t *); + +#if HAVE_MEMLEAK_LOG + +#define nua_client_request_ref(cr) \ + nua_client_request_ref_by((cr), __FILE__, __LINE__, __func__) +#define nua_client_request_unref(cr) \ + nua_client_request_unref_by((cr), __FILE__, __LINE__, __func__) + +nua_client_request_t *nua_client_request_ref_by(nua_client_request_t *, + char const *file, unsigned line, + char const *who); +int nua_client_request_unref_by(nua_client_request_t *, + char const *file, unsigned line, char const *who); + +#endif + +int nua_client_request_queue(nua_client_request_t *cr); + +su_inline int nua_client_is_queued(nua_client_request_t const *cr) +{ + return cr && cr->cr_prev; +} + +int nua_client_request_complete(nua_client_request_t *cr); +int nua_client_request_remove(nua_client_request_t *cr); +int nua_client_request_clean(nua_client_request_t *cr); +int nua_client_bind(nua_client_request_t *cr, nua_dialog_usage_t *du); + +su_inline int nua_client_is_bound(nua_client_request_t const *cr) +{ + return cr && cr->cr_usage && cr->cr_usage->du_cr == cr; +} + +su_inline int nua_client_is_reporting(nua_client_request_t const *cr) +{ + return cr && cr->cr_reporting; +} + +/** Mark client request as a terminating one */ +su_inline void nua_client_set_terminating(nua_client_request_t *cr, int value) +{ + cr->cr_terminating = value != 0; +} + +int nua_client_init_request(nua_client_request_t *cr); + +msg_t *nua_client_request_template(nua_client_request_t *cr); + +int nua_client_restart_request(nua_client_request_t *cr, + int terminating, + tagi_t const *tags); + +int nua_client_resend_request(nua_client_request_t *cr, + int terminating); + +int nua_base_client_request(nua_client_request_t *cr, + msg_t *msg, + sip_t *sip, + tagi_t const *tags); + +int nua_base_client_trequest(nua_client_request_t *cr, + msg_t *msg, + sip_t *sip, + tag_type_t tag, tag_value_t value, ...); + +extern nta_response_f nua_client_orq_response; + +int nua_client_return(nua_client_request_t *cr, + int status, + char const *phrase, + msg_t *to_be_destroyed); + +int nua_client_response(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip); + +int nua_client_check_restart(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip); + +int nua_base_client_check_restart(nua_client_request_t *cr, + int status, + char const *phrase, + sip_t const *sip); + +int nua_client_restart(nua_client_request_t *cr, + int status, char const *phrase); + +int nua_base_client_response(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + tagi_t const *tags); + +int nua_base_client_tresponse(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + tag_type_t tag, tag_value_t value, ...); + +int nua_client_set_target(nua_client_request_t *cr, url_t const *target); + +int nua_client_report(nua_client_request_t *cr, + int status, char const *phrase, + sip_t const *sip, + nta_outgoing_t *orq, + tagi_t const *tags); + +nua_client_request_t *nua_client_request_pending(nua_client_request_t const *); + +int nua_client_next_request(nua_client_request_t *cr, int invite); + +#endif /* NUA_CLIENT_H */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h Wed Feb 11 11:24:28 2009 @@ -41,278 +41,6 @@ #include #endif -typedef struct { - sip_method_t sm_method; - char const *sm_method_name; - - int sm_event; - - struct { - unsigned create_dialog:1, in_dialog:1, target_refresh:1, add_contact:1; - unsigned :0; - } sm_flags; - - /** Initialize server-side request. */ - int (*sm_init)(nua_server_request_t *sr); - - /** Preprocess server-side request (after handle has been created). */ - int (*sm_preprocess)(nua_server_request_t *sr); - - /** Update server-side request parameters */ - int (*sm_params)(nua_server_request_t *sr, tagi_t const *tags); - - /** Respond to server-side request. */ - int (*sm_respond)(nua_server_request_t *sr, tagi_t const *tags); - - /** Report server-side request to application. */ - int (*sm_report)(nua_server_request_t *sr, tagi_t const *tags); - -} nua_server_methods_t; - - -/* Server side transaction */ -struct nua_server_request { - struct nua_server_request *sr_next, **sr_prev; - - nua_server_methods_t const *sr_methods; - - nua_owner_t *sr_owner; /**< Backpointer to handle */ - nua_dialog_usage_t *sr_usage; /**< Backpointer to usage */ - - nta_incoming_t *sr_irq; /**< Server transaction object */ - - struct { - msg_t *msg; /**< Request message */ - sip_t const *sip; /**< Headers in request message */ - } sr_request; - - struct { - msg_t *msg; /**< Response message */ - sip_t *sip; /**< Headers in response message */ - } sr_response; - - sip_method_t sr_method; /**< Request method */ - - int sr_application; /**< Status by application */ - - int sr_status; /**< Status code */ - char const *sr_phrase; /**< Status phrase */ - - unsigned sr_event:1; /**< Reported to application */ - unsigned sr_initial:1; /**< Handle was created by this request */ - unsigned sr_add_contact:1; /**< Add Contact header to the response */ - unsigned sr_target_refresh:1; /**< Refresh target */ - unsigned sr_terminating:1; /**< Terminate usage after final response */ - unsigned sr_gracefully:1; /**< Terminate usage gracefully */ - - unsigned sr_neutral:1; /**< No effect on session or other usage */ - - /* Flags used with 100rel */ - unsigned sr_100rel:1, sr_pracked:1; - - /* Flags used with offer-answer */ - unsigned sr_offer_recv:1; /**< We have received an offer */ - unsigned sr_answer_sent:2; /**< We have answered (reliably, if >1) */ - - unsigned sr_offer_sent:2; /**< We have offered SDP (reliably, if >1) */ - unsigned sr_answer_recv:1; /**< We have received SDP answer */ - - unsigned :0; - - char const *sr_sdp; /**< SDP received from client */ - size_t sr_sdp_len; /**< SDP length */ - - /**< Save 200 OK nua_respond() signal until PRACK has been received */ - nua_saved_signal_t sr_signal[1]; -}; - -#define SR_STATUS(sr, status, phrase) \ - ((sr)->sr_phrase = (phrase), (sr)->sr_status = (status)) - -#define SR_STATUS1(sr, statusphrase) \ - sr_status(sr, statusphrase) - -#define SR_HAS_SAVED_SIGNAL(sr) ((sr)->sr_signal[0] != NULL) - -su_inline -int sr_status(nua_server_request_t *sr, int status, char const *phrase) -{ - return (void)(sr->sr_phrase = phrase), (sr->sr_status = status); -} - -/* Methods for client request. @internal */ -typedef struct { - sip_method_t crm_method; - char const *crm_method_name; - size_t crm_extra; /**< Size of private data */ - - struct { - unsigned create_dialog:1, in_dialog:1, target_refresh:1; - unsigned:0; - } crm_flags; - - /** Generate a request message. - * - * @retval 1 when request message has been created - * @retval 0 when request message should be created in normal fashion - * @retval -1 upon an error - */ - int (*crm_template)(nua_client_request_t *cr, - msg_t **return_msg, - tagi_t const *tags); - - /**@a crm_init is called when a client request is sent first time. - * - * @retval 1 when request has been responded - * @retval 0 when request should be sent in normal fashion - * @retval -1 upon an error - */ - int (*crm_init)(nua_client_request_t *, msg_t *msg, sip_t *sip, - tagi_t const *tags); - - /** @a crm_send is called each time when a client request is sent. - * - * @retval 1 when request has been responded - * @retval 0 when request has been sent - * @retval -1 upon an error (request message has not been destroyed) - * @retval -2 upon an error (request message has been destroyed) - */ - int (*crm_send)(nua_client_request_t *, - msg_t *msg, sip_t *sip, - tagi_t const *tags); - - /** @a crm_check_restart is called each time when a response is received. - * - * It is used to restart reqquest after responses with method-specific - * status code or method-specific way of restarting the request. - * - * @retval 1 when request has been restarted - * @retval 0 when response should be processed normally - */ - int (*crm_check_restart)(nua_client_request_t *, - int status, char const *phrase, - sip_t const *sip); - - /** @a crm_recv is called each time a final response is received. - * - * A final response is in range 200 .. 699 (or internal response) and it - * cannot be restarted. - * - * crm_recv() should call nua_base_client_response() or - * nua_base_client_tresponse(). The return values below are documented with - * nua_base_client_response(), too. - * - * @retval 0 if response was preliminary - * @retval 1 if response was final - * @retval 2 if response destroyed the handle, too. - */ - int (*crm_recv)(nua_client_request_t *, - int status, char const *phrase, - sip_t const *sip); - - /** @a crm_preliminary is called each time a preliminary response is received. - * - * A preliminary response is in range 101 .. 199. - * - * crm_preliminary() should call nua_base_client_response() or - * nua_base_client_tresponse(). - * - * @retval 0 if response was preliminary - * @retval 1 if response was final - * @retval 2 if response destroyed the handle, too. - */ - int (*crm_preliminary)(nua_client_request_t *, - int status, char const *phrase, - sip_t const *sip); - - /** @a crm_report is called each time a response is received and it is - * reported to the application. - * - * The status and phrase may be different from the status and phrase - * received from the network, e.g., when the request is restarted. - * - * @return The return value should be 0. It is currently ignored. - */ - int (*crm_report)(nua_client_request_t *, - int status, char const *phrase, - sip_t const *sip, - nta_outgoing_t *orq, - tagi_t const *tags); - - /** @a crm_complete is called when a client-side request is destroyed. - * - * @return The return value should be 0. It is currently ignored. - */ - int (*crm_complete)(nua_client_request_t *); - -} nua_client_methods_t; - -/* Client-side request. Documented by nua_client_create() */ -struct nua_client_request -{ - nua_client_request_t *cr_next, **cr_prev; /**< Linked list of requests */ - nua_owner_t *cr_owner; - nua_dialog_usage_t *cr_usage; - - nua_saved_signal_t cr_signal[1]; - tagi_t const *cr_tags; - - nua_client_methods_t const *cr_methods; - - msg_t *cr_msg; - sip_t *cr_sip; - - nta_outgoing_t *cr_orq; - - su_timer_t *cr_timer; /**< Expires or retry timer */ - - /*nua_event_t*/ int cr_event; /**< Request event */ - sip_method_t cr_method; - char const *cr_method_name; - - url_t *cr_target; - - char const *cr_phrase; /**< Latest status phrase */ - unsigned short cr_status; /**< Latest status */ - unsigned short cr_retry_count; /**< Retry count for this request */ - - uint32_t cr_seq; - - unsigned cr_refs; /**< References to client request */ - - /* Flags used with offer-answer */ - unsigned short cr_answer_recv; /**< Recv answer in response - * with this status. - */ - unsigned cr_offer_sent:1; /**< Sent offer in this request */ - - unsigned cr_offer_recv:1; /**< Recv offer in a response */ - unsigned cr_answer_sent:1; /**< Sent answer in (PR)ACK */ - - /* Flags with usage */ - unsigned cr_neutral:1; /**< No effect on session or other usage */ - - /* Lifelong flags? */ - unsigned cr_auto:1; /**< Request was generated by stack */ - unsigned cr_has_contact:1; /**< Request has user Contact */ - unsigned cr_contactize:1; /**< Request needs Contact */ - unsigned cr_dialog:1; /**< Request can initiate dialog */ - - /* Current state */ - unsigned cr_initial:1; /**< Initial request of a dialog */ - unsigned cr_acked:1; /**< Final response to the request has been ACKed */ - unsigned cr_waiting:1; /**< Request is waiting */ - unsigned cr_challenged:1; /**< Request was challenged */ - unsigned cr_wait_for_cred:1; /**< Request is pending authentication */ - unsigned cr_restarting:1; /**< Request is being restarted */ - unsigned cr_reporting:1; /**< Reporting in progress */ - unsigned cr_terminating:1; /**< Request terminates the usage */ - signed int cr_terminated:2; /**< Response terminated usage (1) or - whole dialog (-1) */ - unsigned cr_graceful:1; /**< Graceful termination required */ -}; - - struct nua_dialog_state { /** Dialog owner */ @@ -508,198 +236,7 @@ #define NUA_DIALOG_USAGE_PRIVATE(du) ((void *)((du) + 1)) #define NUA_DIALOG_USAGE_PUBLIC(pu) ((void *)((nua_dialog_usage_t *)(pu) - 1)) -/* ---------------------------------------------------------------------- */ - -int nua_client_create(nua_owner_t *owner, - int event, - nua_client_methods_t const *methods, - tagi_t const *tags); - -int nua_client_tcreate(nua_owner_t *nh, - int event, - nua_client_methods_t const *methods, - tag_type_t tag, tag_value_t value, ...); - -su_inline -void *nua_private_client_request(nua_client_request_t const *cr) -{ - return (void *)(cr + 1); -} - -nua_client_request_t *nua_client_request_ref(nua_client_request_t *); -int nua_client_request_unref(nua_client_request_t *); - -#if HAVE_MEMLEAK_LOG - -#define nua_client_request_ref(cr) \ - nua_client_request_ref_by((cr), __FILE__, __LINE__, __func__) -#define nua_client_request_unref(cr) \ - nua_client_request_unref_by((cr), __FILE__, __LINE__, __func__) - -nua_client_request_t *nua_client_request_ref_by(nua_client_request_t *, - char const *file, unsigned line, - char const *who); -int nua_client_request_unref_by(nua_client_request_t *, - char const *file, unsigned line, char const *who); - -#endif - -int nua_client_request_queue(nua_client_request_t *cr); - -su_inline int nua_client_is_queued(nua_client_request_t const *cr) -{ - return cr && cr->cr_prev; -} - -int nua_client_request_remove(nua_client_request_t *cr); -int nua_client_request_clean(nua_client_request_t *cr); -int nua_client_bind(nua_client_request_t *cr, nua_dialog_usage_t *du); - -su_inline int nua_client_is_bound(nua_client_request_t const *cr) -{ - return cr && cr->cr_usage && cr->cr_usage->du_cr == cr; -} - -su_inline int nua_client_is_reporting(nua_client_request_t const *cr) -{ - return cr && cr->cr_reporting; -} - -/** Mark client request as a terminating one */ -su_inline void nua_client_set_terminating(nua_client_request_t *cr, int value) -{ - cr->cr_terminating = value != 0; -} - -int nua_client_init_request(nua_client_request_t *cr); - -msg_t *nua_client_request_template(nua_client_request_t *cr); - -int nua_client_restart_request(nua_client_request_t *cr, - int terminating, - tagi_t const *tags); - -int nua_client_resend_request(nua_client_request_t *cr, - int terminating); - -int nua_base_client_request(nua_client_request_t *cr, - msg_t *msg, - sip_t *sip, - tagi_t const *tags); - -int nua_base_client_trequest(nua_client_request_t *cr, - msg_t *msg, - sip_t *sip, - tag_type_t tag, tag_value_t value, ...); - -extern nta_response_f nua_client_orq_response; - -int nua_client_return(nua_client_request_t *cr, - int status, - char const *phrase, - msg_t *to_be_destroyed); - -int nua_client_response(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip); - -int nua_client_check_restart(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip); - -int nua_base_client_check_restart(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip); - -int nua_client_restart(nua_client_request_t *cr, - int status, char const *phrase); - -int nua_base_client_response(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - tagi_t const *tags); - -int nua_base_client_tresponse(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - tag_type_t tag, tag_value_t value, ...); - -int nua_client_set_target(nua_client_request_t *cr, url_t const *target); - -int nua_client_report(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - nta_outgoing_t *orq, - tagi_t const *tags); - -nua_client_request_t *nua_client_request_pending(nua_client_request_t const *); - -int nua_client_next_request(nua_client_request_t *cr, int invite); - -/* ---------------------------------------------------------------------- */ - -extern nua_server_methods_t const - nua_extension_server_methods, - nua_invite_server_methods, /**< INVITE */ - nua_bye_server_methods, /**< BYE */ - nua_options_server_methods, /**< OPTIONS */ - nua_register_server_methods, /**< REGISTER */ - nua_info_server_methods, /**< INFO */ - nua_prack_server_methods, /**< PRACK */ - nua_update_server_methods, /**< UPDATE */ - nua_message_server_methods, /**< MESSAGE */ - nua_subscribe_server_methods, /**< SUBSCRIBE */ - nua_notify_server_methods, /**< NOTIFY */ - nua_refer_server_methods, /**< REFER */ - nua_publish_server_methods; /**< PUBLISH */ - -/** Return true if we have not sent final response to request */ -su_inline -int nua_server_request_is_pending(nua_server_request_t const *sr) -{ - return sr && sr->sr_response.msg; -} - -su_inline -int nua_server_request_status(nua_server_request_t const *sr) -{ - return sr ? nta_incoming_status(sr->sr_irq) : 500; -} - -void nua_server_request_destroy(nua_server_request_t *sr); - -int nua_base_server_init(nua_server_request_t *sr); - -#define nua_base_server_init NULL - -int nua_base_server_preprocess(nua_server_request_t *sr); - -#define nua_base_server_preprocess NULL - -int nua_server_params(nua_server_request_t *sr, tagi_t const *tags); - -int nua_base_server_params(nua_server_request_t *sr, tagi_t const *tags); - -#define nua_base_server_params NULL - -int nua_server_trespond(nua_server_request_t *sr, - tag_type_t tag, tag_value_t value, ...); -int nua_server_respond(nua_server_request_t *sr, tagi_t const *tags); - -int nua_base_server_trespond(nua_server_request_t *sr, - tag_type_t tag, tag_value_t value, ...); -int nua_base_server_respond(nua_server_request_t *sr, - tagi_t const *tags); - -int nua_server_report(nua_server_request_t *sr); - -int nua_base_server_treport(nua_server_request_t *sr, - tag_type_t tag, tag_value_t value, ...); -int nua_base_server_report(nua_server_request_t *sr, tagi_t const *tags); - -/* ---------------------------------------------------------------------- */ +#include "nua_client.h" +#include "nua_server.h" #endif /* NUA_DIALOG_H */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h Wed Feb 11 11:24:28 2009 @@ -37,6 +37,10 @@ #include +#ifndef NUA_TAG_H +#include +#endif + /**@internal @brief NUA preferences. * * This structure contains values for various preferences and a separate Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.c Wed Feb 11 11:24:28 2009 @@ -0,0 +1,727 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2006 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +/**@CFILE nua_server.c + * @brief Server transaction handling + * + * @author Pekka Pessi + * + * @date Created: Tue Feb 3 16:10:45 EET 2009 + */ + +#include "config.h" + +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include +#include + +#define NUA_SAVED_EVENT_T su_msg_t * +#define NUA_SAVED_SIGNAL_T su_msg_t * + +#include + +#include "nua_stack.h" +#include "nua_dialog.h" +#include "nua_server.h" +#include "nua_params.h" + +/* ======================================================================== */ +/* + * Process incoming requests + */ + +nua_server_methods_t const *nua_server_methods[] = { + /* These must be in same order as in sip_method_t */ + &nua_extension_server_methods, + &nua_invite_server_methods, /**< INVITE */ + NULL, /**< ACK */ + NULL, /**< CANCEL */ + &nua_bye_server_methods, /**< BYE */ + &nua_options_server_methods, /**< OPTIONS */ + &nua_register_server_methods, /**< REGISTER */ + &nua_info_server_methods, /**< INFO */ + &nua_prack_server_methods, /**< PRACK */ + &nua_update_server_methods, /**< UPDATE */ + &nua_message_server_methods, /**< MESSAGE */ + &nua_subscribe_server_methods,/**< SUBSCRIBE */ + &nua_notify_server_methods, /**< NOTIFY */ + &nua_refer_server_methods, /**< REFER */ + &nua_publish_server_methods, /**< PUBLISH */ + NULL +}; + + +int nua_stack_process_request(nua_handle_t *nh, + nta_leg_t *leg, + nta_incoming_t *irq, + sip_t const *sip) +{ + nua_t *nua = nh->nh_nua; + sip_method_t method = sip->sip_request->rq_method; + char const *name = sip->sip_request->rq_method_name; + nua_server_methods_t const *sm; + nua_server_request_t *sr, sr0[1]; + int status, initial = 1; + int create_dialog; + + char const *user_agent = NH_PGET(nh, user_agent); + sip_supported_t const *supported = NH_PGET(nh, supported); + sip_allow_t const *allow = NH_PGET(nh, allow); + + enter; + + nta_incoming_tag(irq, NULL); + + if (method == sip_method_cancel) + return 481; + + /* Hook to outbound */ + if (method == sip_method_options) { + status = nua_registration_process_request(nua->nua_registrations, + irq, sip); + if (status) + return status; + } + + if (nta_check_method(irq, sip, allow, + SIPTAG_SUPPORTED(supported), + SIPTAG_USER_AGENT_STR(user_agent), + TAG_END())) + return 405; + + switch (sip->sip_request->rq_url->url_type) { + case url_sip: + case url_sips: + case url_im: + case url_pres: + case url_tel: + break; + default: + nta_incoming_treply(irq, status = SIP_416_UNSUPPORTED_URI, + SIPTAG_ALLOW(allow), + SIPTAG_SUPPORTED(supported), + SIPTAG_USER_AGENT_STR(user_agent), + TAG_END()); + return status; + } + + if (nta_check_required(irq, sip, supported, + SIPTAG_ALLOW(allow), + SIPTAG_USER_AGENT_STR(user_agent), + TAG_END())) + return 420; + + if (method > sip_method_unknown && method <= sip_method_publish) + sm = nua_server_methods[method]; + else + sm = nua_server_methods[0]; + + initial = nh == nua->nua_dhandle; + + if (sm == NULL) { + SU_DEBUG_1(("nua(%p): strange %s from <" URL_PRINT_FORMAT ">\n", + (void *)nh, sip->sip_request->rq_method_name, + URL_PRINT_ARGS(sip->sip_from->a_url))); + } + else if (initial && sm->sm_flags.in_dialog) { + /* These must be in-dialog */ + sm = NULL; + } + else if (initial && sip->sip_to->a_tag) { + /* RFC 3261 section 12.2.2: + + If the UAS wishes to reject the request because it does not wish to + recreate the dialog, it MUST respond to the request with a 481 + (Call/Transaction Does Not Exist) status code and pass that to the + server transaction. + */ + if (method == sip_method_info) + /* accept out-of-dialog info */; else + if (method != sip_method_message || !NH_PGET(nh, win_messenger_enable)) + sm = NULL; + } + + if (!sm) { + nta_incoming_treply(irq, + status = 481, "Call Does Not Exist", + SIPTAG_ALLOW(allow), + SIPTAG_SUPPORTED(supported), + SIPTAG_USER_AGENT_STR(user_agent), + TAG_END()); + return 481; + } + + create_dialog = sm->sm_flags.create_dialog; + if (method == sip_method_message && NH_PGET(nh, win_messenger_enable)) + create_dialog = 1; + sr = memset(sr0, 0, (sizeof sr0)); + + sr->sr_methods = sm; + sr->sr_method = method = sip->sip_request->rq_method; + sr->sr_add_contact = sm->sm_flags.add_contact; + sr->sr_target_refresh = sm->sm_flags.target_refresh; + + sr->sr_owner = nh; + sr->sr_initial = initial; + + sr->sr_irq = irq; + + SR_STATUS1(sr, SIP_100_TRYING); + + sr->sr_request.msg = nta_incoming_getrequest(irq); + sr->sr_request.sip = sip; + assert(sr->sr_request.msg); + + sr->sr_response.msg = nta_incoming_create_response(irq, 0, NULL); + sr->sr_response.sip = sip_object(sr->sr_response.msg); + + if (sr->sr_response.msg == NULL) { + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + else if (sm->sm_init && sm->sm_init(sr)) { + if (sr->sr_status < 200) /* Init may have set response status */ + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + /* Create handle if request does not fail */ + else if (initial && sr->sr_status < 300) { + if ((nh = nua_stack_incoming_handle(nua, irq, sip, create_dialog))) + sr->sr_owner = nh; + else + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + + if (sr->sr_status < 300 && sm->sm_preprocess && sm->sm_preprocess(sr)) { + if (sr->sr_status < 200) /* Set response status if preprocess did not */ + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + + if (sr->sr_status < 300) { + if (sr->sr_target_refresh) + nua_dialog_uas_route(nh, nh->nh_ds, sip, 1); /* Set route and tags */ + nua_dialog_store_peer_info(nh, nh->nh_ds, sip); + } + + if (sr->sr_status == 100 && method != sip_method_unknown && + !sip_is_allowed(NH_PGET(sr->sr_owner, appl_method), method, name)) { + if (method == sip_method_refer || method == sip_method_subscribe) + SR_STATUS1(sr, SIP_202_ACCEPTED); + else + SR_STATUS1(sr, SIP_200_OK); + } + + /* INVITE server request is not finalized after 2XX response */ + if (sr->sr_status < (method == sip_method_invite ? 300 : 200)) { + sr = su_alloc(nh->nh_home, (sizeof *sr)); + + if (sr) { + *sr = *sr0; + + if ((sr->sr_next = nh->nh_ds->ds_sr)) + *(sr->sr_prev = sr->sr_next->sr_prev) = sr, + sr->sr_next->sr_prev = &sr->sr_next; + else + *(sr->sr_prev = &nh->nh_ds->ds_sr) = sr; + } + else { + sr = sr0; + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + } + + if (sr->sr_status <= 100) { + SR_STATUS1(sr, SIP_100_TRYING); + if (method == sip_method_invite || sip->sip_timestamp) { + nta_incoming_treply(irq, SIP_100_TRYING, + SIPTAG_USER_AGENT_STR(user_agent), + TAG_END()); + } + } + else { + /* Note that this may change the sr->sr_status */ + nua_server_respond(sr, NULL); + } + + if (nua_server_report(sr) == 0) + return 0; + + return 501; +} + +#undef nua_base_server_init +#undef nua_base_server_preprocess + +int nua_base_server_init(nua_server_request_t *sr) +{ + return 0; +} + +int nua_base_server_preprocess(nua_server_request_t *sr) +{ + return 0; +} + +void nua_server_request_destroy(nua_server_request_t *sr) +{ + if (sr == NULL) + return; + + if (SR_HAS_SAVED_SIGNAL(sr)) + nua_destroy_signal(sr->sr_signal); + + if (sr->sr_irq) + nta_incoming_destroy(sr->sr_irq), sr->sr_irq = NULL; + + if (sr->sr_request.msg) + msg_destroy(sr->sr_request.msg), sr->sr_request.msg = NULL; + + if (sr->sr_response.msg) + msg_destroy(sr->sr_response.msg), sr->sr_response.msg = NULL; + + if (sr->sr_prev) { + /* Allocated from heap */ + if ((*sr->sr_prev = sr->sr_next)) + sr->sr_next->sr_prev = sr->sr_prev; + su_free(sr->sr_owner->nh_home, sr); + } +} + +/**@fn void nua_respond(nua_handle_t *nh, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...); + * + * Respond to a request with given status code and phrase. + * + * The stack returns a SIP response message with given status code and + * phrase to the client. The tagged parameter list can specify extra headers + * to include with the response message and other stack parameters. The SIP + * session or other protocol state associated with the handle is updated + * accordingly (for instance, if an initial INVITE is responded with 200, a + * SIP session is established.) + * + * When responding to an incoming INVITE request, the nua_respond() can be + * called without NUTAG_WITH() (or NUTAG_WITH_CURRENT() or + * NUTAG_WITH_SAVED()). Otherwise, NUTAG_WITH() will contain an indication + * of the request being responded. + * + * @param nh Pointer to operation handle + * @param status SIP response status code (see RFCs of SIP) + * @param phrase free text (default response phrase is used if NULL) + * @param tag, value, ... List of tagged parameters + * + * @return + * nothing + * + * @par Responses by Protocol Engine + * + * When nua protocol engine receives an incoming SIP request, it can either + * respond to the request automatically or let application to respond to the + * request. The automatic response is returned to the client if the request + * fails syntax check, or the method, SIP extension or content negotiation + * fails. + * + * When the @ref nua_handlingevents "request event" is delivered to the + * application, the application should examine the @a status parameter. The + * @a status parameter is 200 or greater if the request has been already + * responded automatically by the stack. + * + * The application can add methods that it likes to handle by itself with + * NUTAG_APPL_METHOD(). The default set of NUTAG_APPL_METHOD() includes + * INVITE, PUBLISH, REGISTER and SUBSCRIBE. Note that unless the method is + * also included in the set of allowed methods with NUTAG_ALLOW(), the stack + * will respond to the incoming methods with 405 Not Allowed. + * + * In order to simplify the simple applications, most requests are responded + * automatically. The BYE and CANCEL requests are always responded by the + * stack. Likewise, the NOTIFY requests associated with an event + * subscription are responded by the stack. + * + * Note that certain methods are rejected outside a SIP session (created + * with INVITE transaction). They include BYE, UPDATE, PRACK and INFO. Also + * the auxiliary methods ACK and CANCEL are rejected by the stack if there + * is no ongoing INVITE transaction corresponding to them. + * + * @par Related Tags: + * NUTAG_WITH(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED() \n + * NUTAG_EARLY_ANSWER() \n + * SOATAG_ADDRESS() \n + * SOATAG_AF() \n + * SOATAG_HOLD() \n + * Tags used with nua_set_hparams() \n + * Header tags defined in . + * + * @par Events: + * #nua_i_state \n + * #nua_i_media_error \n + * #nua_i_error \n + * #nua_i_active \n + * #nua_i_terminated \n + * + * @sa #nua_i_invite, #nua_i_register, #nua_i_subscribe, #nua_i_publish + */ + +void +nua_stack_respond(nua_t *nua, nua_handle_t *nh, + int status, char const *phrase, tagi_t const *tags) +{ + nua_server_request_t *sr; + tagi_t const *t; + msg_t const *request = NULL; + + t = tl_find_last(tags, nutag_with); + + if (t) + request = (msg_t const *)t->t_value; + + for (sr = nh->nh_ds->ds_sr; sr; sr = sr->sr_next) { + if (request && sr->sr_request.msg == request) + break; + /* nua_respond() to INVITE can be used without NUTAG_WITH() */ + if (!t && sr->sr_method == sip_method_invite) + break; + } + + if (sr == NULL) { + nua_stack_event(nua, nh, NULL, nua_i_error, + 500, "Responding to a Non-Existing Request", NULL); + return; + } + else if (!nua_server_request_is_pending(sr)) { + nua_stack_event(nua, nh, NULL, nua_i_error, + 500, "Already Sent Final Response", NULL); + return; + } + else if (sr->sr_100rel && !sr->sr_pracked && 200 <= status && status < 300) { + /* Save signal until we have received PRACK */ + if (tags && nua_stack_set_params(nua, nh, nua_i_none, tags) < 0) { + sr->sr_application = status; + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + else { + su_msg_save(sr->sr_signal, nh->nh_nua->nua_signal); + return; + } + } + else { + sr->sr_application = status; + if (tags && nua_stack_set_params(nua, nh, nua_i_none, tags) < 0) + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + else { + sr->sr_status = status, sr->sr_phrase = phrase; + } + } + + nua_server_params(sr, tags); + nua_server_respond(sr, tags); + nua_server_report(sr); +} + +int nua_server_params(nua_server_request_t *sr, tagi_t const *tags) +{ + if (sr->sr_methods->sm_params) + return sr->sr_methods->sm_params(sr, tags); + return 0; +} + +#undef nua_base_server_params + +int nua_base_server_params(nua_server_request_t *sr, tagi_t const *tags) +{ + return 0; +} + +/** Return the response to the client. + * + * @retval 0 when successfully sent + * @retval -1 upon an error + */ +int nua_server_trespond(nua_server_request_t *sr, + tag_type_t tag, tag_value_t value, ...) +{ + int retval; + ta_list ta; + ta_start(ta, tag, value); + retval = nua_server_respond(sr, ta_args(ta)); + ta_end(ta); + return retval; +} + +/** Return the response to the client. + * + * @retval 0 when successfully sent + * @retval -1 upon an error + */ +int nua_server_respond(nua_server_request_t *sr, tagi_t const *tags) +{ + nua_handle_t *nh = sr->sr_owner; + nua_dialog_state_t *ds = nh->nh_ds; + sip_method_t method = sr->sr_method; + struct { msg_t *msg; sip_t *sip; } next = { NULL, NULL }; + int retval, user_contact = 1; +#if HAVE_OPEN_C + /* Nice. And old arm symbian compiler; see below. */ + tagi_t next_tags[2]; +#else + tagi_t next_tags[2] = {{ SIPTAG_END() }, { TAG_NEXT(tags) }}; +#endif + + msg_t *msg = sr->sr_response.msg; + sip_t *sip = sr->sr_response.sip; + sip_contact_t *m = sr->sr_request.sip->sip_contact; + +#if HAVE_OPEN_C + next_tags[0].t_tag = siptag_end; + next_tags[0].t_value = (tag_value_t)0; + next_tags[1].t_tag = tag_next; + next_tags[1].t_value = (tag_value_t)(tags); +#endif + + if (sr->sr_response.msg == NULL) { + assert(sr->sr_status == 500); + goto internal_error; + } + + if (sr->sr_status < 200) { + next.msg = nta_incoming_create_response(sr->sr_irq, 0, NULL); + next.sip = sip_object(next.msg); + if (next.sip == NULL) + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + } + + if (nta_incoming_complete_response(sr->sr_irq, msg, + sr->sr_status, + sr->sr_phrase, + TAG_NEXT(tags)) < 0) + ; + else if (!sip->sip_supported && NH_PGET(nh, supported) && + sip_add_dup(msg, sip, (sip_header_t *)NH_PGET(nh, supported)) < 0) + ; + else if (!sip->sip_user_agent && NH_PGET(nh, user_agent) && + sip_add_make(msg, sip, sip_user_agent_class, + NH_PGET(nh, user_agent)) < 0) + ; + else if (!sip->sip_organization && NH_PGET(nh, organization) && + sip_add_make(msg, sip, sip_organization_class, + NH_PGET(nh, organization)) < 0) + ; + else if (!sip->sip_allow && NH_PGET(nh, allow) && + sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow)) < 0) + ; + else if (!sip->sip_allow_events && + NH_PGET(nh, allow_events) && + (method == sip_method_publish || method == sip_method_subscribe || + method == sip_method_options || method == sip_method_refer || + (sr->sr_initial && + (method == sip_method_invite || + method == sip_method_notify))) && + sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow_events)) < 0) + ; + else if (!sip->sip_contact && sr->sr_status < 300 && sr->sr_add_contact && + (user_contact = 0, + ds->ds_ltarget + ? sip_add_dup(msg, sip, (sip_header_t *)ds->ds_ltarget) + : nua_registration_add_contact_to_response(nh, msg, sip, NULL, m)) + < 0) + ; + else { + int term; + sip_contact_t *ltarget = NULL; + + term = sip_response_terminates_dialog(sr->sr_status, sr->sr_method, NULL); + + sr->sr_terminating = (term < 0) ? -1 : (term > 0 || sr->sr_terminating); + + if (sr->sr_target_refresh && sr->sr_status < 300 && !sr->sr_terminating && + user_contact && sip->sip_contact) { + /* Save Contact given by application */ + ltarget = sip_contact_dup(nh->nh_home, sip->sip_contact); + } + + retval = sr->sr_methods->sm_respond(sr, next_tags); + + if (sr->sr_status < 200) + sr->sr_response.msg = next.msg, sr->sr_response.sip = next.sip; + else if (next.msg) + msg_destroy(next.msg); + + assert(sr->sr_status >= 200 || sr->sr_response.msg); + + if (ltarget) { + if (sr->sr_status < 300) { + nua_dialog_state_t *ds = nh->nh_ds; + msg_header_free(nh->nh_home, (msg_header_t *)ds->ds_ltarget); + ds->ds_ltarget = ltarget; + } + else + msg_header_free(nh->nh_home, (msg_header_t *)ltarget); + } + + return retval; + } + + if (next.msg) + msg_destroy(next.msg); + + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + + msg_destroy(msg); + + internal_error: + sr->sr_response.msg = NULL, sr->sr_response.sip = NULL; + nta_incoming_treply(sr->sr_irq, sr->sr_status, sr->sr_phrase, TAG_END()); + + return 0; +} + +/** Return the response to the client. + * + * @retval 0 when successfully sent + * @retval -1 upon an error + */ +int nua_base_server_respond(nua_server_request_t *sr, tagi_t const *tags) +{ + msg_t *response = sr->sr_response.msg; + sip_t *sip = sr->sr_response.sip; + + sr->sr_response.msg = NULL, sr->sr_response.sip = NULL; + + if (sr->sr_status != sip->sip_status->st_status) { + msg_header_remove(response, (msg_pub_t *)sip, + (msg_header_t *)sip->sip_status); + nta_incoming_complete_response(sr->sr_irq, response, + sr->sr_status, + sr->sr_phrase, + TAG_END()); + } + + if (sr->sr_status != sip->sip_status->st_status) { + msg_destroy(response); + SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); + nta_incoming_treply(sr->sr_irq, sr->sr_status, sr->sr_phrase, TAG_END()); + return 0; + } + + return nta_incoming_mreply(sr->sr_irq, response); +} + +int nua_server_report(nua_server_request_t *sr) +{ + if (sr) + return sr->sr_methods->sm_report(sr, NULL); + else + return 1; +} + +int nua_base_server_treport(nua_server_request_t *sr, + tag_type_t tag, tag_value_t value, + ...) +{ + int retval; + ta_list ta; + ta_start(ta, tag, value); + retval = nua_base_server_report(sr, ta_args(ta)); + ta_end(ta); + return retval; +} + +/**Report request event to the application. + * + * @retval 0 request lives + * @retval 1 request was destroyed + * @retval 2 request and its usage was destroyed + * @retval 3 request, all usages and dialog was destroyed + * @retval 4 request, all usages, dialog, and handle was destroyed + */ +int nua_base_server_report(nua_server_request_t *sr, tagi_t const *tags) +{ + nua_handle_t *nh = sr->sr_owner; + nua_t *nua = nh->nh_nua; + nua_dialog_usage_t *usage = sr->sr_usage; + int initial = sr->sr_initial; + int status = sr->sr_status; + char const *phrase = sr->sr_phrase; + + int terminated; + int handle_can_be_terminated = initial && !sr->sr_event; + + if (sr->sr_application) { + /* There was an error sending response */ + if (sr->sr_application != sr->sr_status) + nua_stack_event(nua, nh, NULL, nua_i_error, status, phrase, tags); + sr->sr_application = 0; + } + else if (status < 300 && !sr->sr_event) { + msg_t *msg = msg_ref_create(sr->sr_request.msg); + nua_event_t e = sr->sr_methods->sm_event; + sr->sr_event = 1; + nua_stack_event(nua, nh, msg, e, status, phrase, tags); + } + + if (status < 200) + return 0; /* sr lives on until final response is sent */ + + if (sr->sr_method == sip_method_invite && status < 300) + return 0; /* INVITE lives on until ACK is received */ + + if (initial && 300 <= status) + terminated = 1; + else if (sr->sr_terminating && status < 300) + terminated = 1; + else + terminated = sip_response_terminates_dialog(status, sr->sr_method, NULL); + + if (usage && terminated) + nua_dialog_usage_remove(nh, nh->nh_ds, usage, NULL, sr); + + nua_server_request_destroy(sr); + + if (!terminated) + return 1; + + if (!initial) { + if (terminated > 0) + return 2; + + /* Remove all usages of the dialog */ + nua_dialog_deinit(nh, nh->nh_ds); + + return 3; + } + else if (!handle_can_be_terminated) { + return 3; + } + else { + if (nh != nh->nh_nua->nua_dhandle) + nh_destroy(nh->nh_nua, nh); + + return 4; + } +} Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_server.h Wed Feb 11 11:24:28 2009 @@ -0,0 +1,201 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2006 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef NUA_SERVER_H +/** Defined when has been included. */ +#define NUA_SERVER_H + +/**@IFILE nua_server.h + * @brief Dialog and dialog usage handling + * + * @author Pekka Pessi + * @author Kai Vehmanen + * + * @date Created: Wed Mar 8 11:38:18 EET 2006 ppessi + */ + +#include + +#ifndef NTA_H +#include +#endif + +typedef struct { + sip_method_t sm_method; + char const *sm_method_name; + + int sm_event; + + struct { + unsigned create_dialog:1, in_dialog:1, target_refresh:1, add_contact:1; + unsigned :0; + } sm_flags; + + /** Initialize server-side request. */ + int (*sm_init)(nua_server_request_t *sr); + + /** Preprocess server-side request (after handle has been created). */ + int (*sm_preprocess)(nua_server_request_t *sr); + + /** Update server-side request parameters */ + int (*sm_params)(nua_server_request_t *sr, tagi_t const *tags); + + /** Respond to server-side request. */ + int (*sm_respond)(nua_server_request_t *sr, tagi_t const *tags); + + /** Report server-side request to application. */ + int (*sm_report)(nua_server_request_t *sr, tagi_t const *tags); + +} nua_server_methods_t; + +/* Server side transaction */ +struct nua_server_request { + struct nua_server_request *sr_next, **sr_prev; + + nua_server_methods_t const *sr_methods; + + nua_owner_t *sr_owner; /**< Backpointer to handle */ + nua_dialog_usage_t *sr_usage; /**< Backpointer to usage */ + + nta_incoming_t *sr_irq; /**< Server transaction object */ + + struct { + msg_t *msg; /**< Request message */ + sip_t const *sip; /**< Headers in request message */ + } sr_request; + + struct { + msg_t *msg; /**< Response message */ + sip_t *sip; /**< Headers in response message */ + } sr_response; + + sip_method_t sr_method; /**< Request method */ + + int sr_application; /**< Status by application */ + + int sr_status; /**< Status code */ + char const *sr_phrase; /**< Status phrase */ + + unsigned sr_event:1; /**< Reported to application */ + unsigned sr_initial:1; /**< Handle was created by this request */ + unsigned sr_add_contact:1; /**< Add Contact header to the response */ + unsigned sr_target_refresh:1; /**< Refresh target */ + unsigned sr_terminating:1; /**< Terminate usage after final response */ + unsigned sr_gracefully:1; /**< Terminate usage gracefully */ + + unsigned sr_neutral:1; /**< No effect on session or other usage */ + + /* Flags used with 100rel */ + unsigned sr_100rel:1, sr_pracked:1; + + /* Flags used with offer-answer */ + unsigned sr_offer_recv:1; /**< We have received an offer */ + unsigned sr_answer_sent:2; /**< We have answered (reliably, if >1) */ + + unsigned sr_offer_sent:2; /**< We have offered SDP (reliably, if >1) */ + unsigned sr_answer_recv:1; /**< We have received SDP answer */ + + unsigned :0; + + char const *sr_sdp; /**< SDP received from client */ + size_t sr_sdp_len; /**< SDP length */ + + /**< Save 200 OK nua_respond() signal until PRACK has been received */ + nua_saved_signal_t sr_signal[1]; +}; + +#define SR_STATUS(sr, status, phrase) \ + ((sr)->sr_phrase = (phrase), (sr)->sr_status = (status)) + +#define SR_STATUS1(sr, statusphrase) \ + sr_status(sr, statusphrase) + +#define SR_HAS_SAVED_SIGNAL(sr) ((sr)->sr_signal[0] != NULL) + +su_inline +int sr_status(nua_server_request_t *sr, int status, char const *phrase) +{ + return (void)(sr->sr_phrase = phrase), (sr->sr_status = status); +} + +extern nua_server_methods_t const + nua_extension_server_methods, + nua_invite_server_methods, /**< INVITE */ + nua_bye_server_methods, /**< BYE */ + nua_options_server_methods, /**< OPTIONS */ + nua_register_server_methods, /**< REGISTER */ + nua_info_server_methods, /**< INFO */ + nua_prack_server_methods, /**< PRACK */ + nua_update_server_methods, /**< UPDATE */ + nua_message_server_methods, /**< MESSAGE */ + nua_subscribe_server_methods, /**< SUBSCRIBE */ + nua_notify_server_methods, /**< NOTIFY */ + nua_refer_server_methods, /**< REFER */ + nua_publish_server_methods; /**< PUBLISH */ + +/** Return true if we have not sent final response to request */ +su_inline +int nua_server_request_is_pending(nua_server_request_t const *sr) +{ + return sr && sr->sr_response.msg; +} + +su_inline +int nua_server_request_status(nua_server_request_t const *sr) +{ + return sr ? nta_incoming_status(sr->sr_irq) : 500; +} + +void nua_server_request_destroy(nua_server_request_t *sr); + +int nua_base_server_init(nua_server_request_t *sr); + +#define nua_base_server_init NULL + +int nua_base_server_preprocess(nua_server_request_t *sr); + +#define nua_base_server_preprocess NULL + +int nua_server_params(nua_server_request_t *sr, tagi_t const *tags); + +int nua_base_server_params(nua_server_request_t *sr, tagi_t const *tags); + +#define nua_base_server_params NULL + +int nua_server_trespond(nua_server_request_t *sr, + tag_type_t tag, tag_value_t value, ...); +int nua_server_respond(nua_server_request_t *sr, tagi_t const *tags); + +int nua_base_server_trespond(nua_server_request_t *sr, + tag_type_t tag, tag_value_t value, ...); +int nua_base_server_respond(nua_server_request_t *sr, + tagi_t const *tags); + +int nua_server_report(nua_server_request_t *sr); + +int nua_base_server_treport(nua_server_request_t *sr, + tag_type_t tag, tag_value_t value, ...); +int nua_base_server_report(nua_server_request_t *sr, tagi_t const *tags); + +#endif /* NUA_SERVER_H */ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c Wed Feb 11 11:24:28 2009 @@ -46,7 +46,6 @@ #define SU_ROOT_MAGIC_T struct nua_s #define SU_MSG_ARG_T struct nua_ee_data -#define SU_TIMER_ARG_T struct nua_client_request #define NUA_SAVED_EVENT_T su_msg_t * #define NUA_SAVED_SIGNAL_T su_msg_t * @@ -88,12 +87,6 @@ /* ---------------------------------------------------------------------- */ /* Internal types */ -/** Extended event data. */ -typedef struct nua_ee_data { - nua_t *ee_nua; - nua_event_data_t ee_data[1]; -} nua_ee_data_t; - /** @internal Linked stack frames from nua event callback */ struct nua_event_frame_s { nua_event_frame_t *nf_next; @@ -109,13 +102,8 @@ static void nh_append(nua_t *nua, nua_handle_t *nh); static void nh_remove(nua_t *nua, nua_handle_t *nh); -static int nh_authorize(nua_handle_t *nh, - tag_type_t tag, tag_value_t value, ...); - static void nua_stack_timer(nua_t *nua, su_timer_t *t, su_timer_arg_t *a); -static int nua_client_request_complete(nua_client_request_t *cr); - /* ---------------------------------------------------------------------- */ /* Constant data */ @@ -983,35 +971,6 @@ /* ======================================================================== */ -/**@internal - * Save handle parameters and initial authentication info. - * - * @retval -1 upon an error - * @retval 0 when successful - */ -int nua_stack_init_handle(nua_t *nua, nua_handle_t *nh, tagi_t const *tags) -{ - int retval = 0; - - if (nh == NULL) - return -1; - - assert(nh != nua->nua_dhandle); - - if (nua_stack_set_params(nua, nh, nua_i_error, tags) < 0) - retval = -1; - - if (retval || nh->nh_init) /* Already initialized? */ - return retval; - - if (nh->nh_tags) - nh_authorize(nh, TAG_NEXT(nh->nh_tags)); - - nh->nh_init = 1; - - return 0; -} - /** @internal Create a handle for processing incoming request */ nua_handle_t *nua_stack_incoming_handle(nua_t *nua, nta_incoming_t *irq, @@ -1132,2193 +1091,3 @@ } return NULL; } - -/** @internal Add authorization data */ -int nh_authorize(nua_handle_t *nh, tag_type_t tag, tag_value_t value, ...) -{ - int retval = 0; - tagi_t const *ti; - ta_list ta; - - ta_start(ta, tag, value); - - for (ti = ta_args(ta); ti; ti = tl_next(ti)) { - if (ti->t_tag == nutag_auth && ti->t_value) { - char *data = (char *)ti->t_value; - int rv = auc_credentials(&nh->nh_auth, nh->nh_home, data); - - if (rv > 0) { - retval = 1; - } - else if (rv < 0) { - retval = -1; - break; - } - } - } - - ta_end(ta); - - return retval; -} - -su_inline -int can_redirect(sip_contact_t const *m, sip_method_t method) -{ - if (m && m->m_url->url_host) { - enum url_type_e type = m->m_url->url_type; - return - type == url_sip || - type == url_sips || - (type == url_tel && - (method == sip_method_invite || method == sip_method_message)) || - (type == url_im && method == sip_method_message) || - (type == url_pres && method == sip_method_subscribe); - } - return 0; -} - -/* ======================================================================== */ -/* Authentication */ - -/** @NUA_EVENT nua_r_authenticate - * - * Response to nua_authenticate(). Under normal operation, this event is - * never sent but rather the unauthenticated operation is completed. - * However, if there is no operation to authentication or if there is an - * authentication error the #nua_r_authenticate event is sent to the - * application with the status code as follows: - * - 202 No operation to restart:\n - * The authenticator associated with the handle was updated, but there was - * no operation to retry with the new credentials. - * - 900 Cannot add credentials:\n - * There was internal problem updating authenticator. - * - 904 No matching challenge:\n - * There was no challenge matching with the credentials provided by - * nua_authenticate(), e.g., their realm did not match with the one - * received with the challenge. - * - * @param status status code from authentication - * @param phrase a short textual description of @a status code - * @param nh operation handle authenticated - * @param hmagic application context associated with the handle - * @param sip NULL - * @param tags empty - * - * @sa nua_terminate(), nua_handle_destroy() - * - * @END_NUA_EVENT - */ - -void -nua_stack_authenticate(nua_t *nua, nua_handle_t *nh, nua_event_t e, - tagi_t const *tags) -{ - nua_client_request_t *cr = nh->nh_ds->ds_cr; - int status = nh_authorize(nh, TAG_NEXT(tags)); - - if (status > 0) { - if (cr && cr->cr_wait_for_cred) { - cr->cr_waiting = cr->cr_wait_for_cred = 0; - nua_client_restart_request(cr, cr->cr_terminating, tags); - } - else { - nua_stack_event(nua, nh, NULL, e, - 202, "No operation to restart", - NULL); - } - } - else if (cr && cr->cr_wait_for_cred) { - cr->cr_waiting = cr->cr_wait_for_cred = 0; - - if (status < 0) - nua_client_response(cr, 900, "Operation cannot add credentials", NULL); - else - nua_client_response(cr, 904, "Operation has no matching challenge ", NULL); - } - else if (status < 0) { - nua_stack_event(nua, nh, NULL, e, 900, "Cannot add credentials", NULL); - } - else { - nua_stack_event(nua, nh, NULL, e, 904, "No matching challenge", NULL); - } -} - - -/* ======================================================================== */ -/* - * Process incoming requests - */ - -nua_server_methods_t const *nua_server_methods[] = { - /* These must be in same order as in sip_method_t */ - &nua_extension_server_methods, - &nua_invite_server_methods, /**< INVITE */ - NULL, /**< ACK */ - NULL, /**< CANCEL */ - &nua_bye_server_methods, /**< BYE */ - &nua_options_server_methods, /**< OPTIONS */ - &nua_register_server_methods, /**< REGISTER */ - &nua_info_server_methods, /**< INFO */ - &nua_prack_server_methods, /**< PRACK */ - &nua_update_server_methods, /**< UPDATE */ - &nua_message_server_methods, /**< MESSAGE */ - &nua_subscribe_server_methods,/**< SUBSCRIBE */ - &nua_notify_server_methods, /**< NOTIFY */ - &nua_refer_server_methods, /**< REFER */ - &nua_publish_server_methods, /**< PUBLISH */ - NULL -}; - - -int nua_stack_process_request(nua_handle_t *nh, - nta_leg_t *leg, - nta_incoming_t *irq, - sip_t const *sip) -{ - nua_t *nua = nh->nh_nua; - sip_method_t method = sip->sip_request->rq_method; - char const *name = sip->sip_request->rq_method_name; - nua_server_methods_t const *sm; - nua_server_request_t *sr, sr0[1]; - int status, initial = 1; - int create_dialog; - - char const *user_agent = NH_PGET(nh, user_agent); - sip_supported_t const *supported = NH_PGET(nh, supported); - sip_allow_t const *allow = NH_PGET(nh, allow); - - enter; - - nta_incoming_tag(irq, NULL); - - if (method == sip_method_cancel) - return 481; - - /* Hook to outbound */ - if (method == sip_method_options) { - status = nua_registration_process_request(nua->nua_registrations, - irq, sip); - if (status) - return status; - } - - if (nta_check_method(irq, sip, allow, - SIPTAG_SUPPORTED(supported), - SIPTAG_USER_AGENT_STR(user_agent), - TAG_END())) - return 405; - - switch (sip->sip_request->rq_url->url_type) { - case url_sip: - case url_sips: - case url_im: - case url_pres: - case url_tel: - break; - default: - nta_incoming_treply(irq, status = SIP_416_UNSUPPORTED_URI, - SIPTAG_ALLOW(allow), - SIPTAG_SUPPORTED(supported), - SIPTAG_USER_AGENT_STR(user_agent), - TAG_END()); - return status; - } - - if (nta_check_required(irq, sip, supported, - SIPTAG_ALLOW(allow), - SIPTAG_USER_AGENT_STR(user_agent), - TAG_END())) - return 420; - - if (method > sip_method_unknown && method <= sip_method_publish) - sm = nua_server_methods[method]; - else - sm = nua_server_methods[0]; - - initial = nh == nua->nua_dhandle; - - if (sm == NULL) { - SU_DEBUG_1(("nua(%p): strange %s from <" URL_PRINT_FORMAT ">\n", - (void *)nh, sip->sip_request->rq_method_name, - URL_PRINT_ARGS(sip->sip_from->a_url))); - } - else if (initial && sm->sm_flags.in_dialog) { - /* These must be in-dialog */ - sm = NULL; - } - else if (initial && sip->sip_to->a_tag) { - /* RFC 3261 section 12.2.2: - - If the UAS wishes to reject the request because it does not wish to - recreate the dialog, it MUST respond to the request with a 481 - (Call/Transaction Does Not Exist) status code and pass that to the - server transaction. - */ - if (method == sip_method_info) - /* accept out-of-dialog info */; else - if (method != sip_method_message || !NH_PGET(nh, win_messenger_enable)) - sm = NULL; - } - - if (!sm) { - nta_incoming_treply(irq, - status = 481, "Call Does Not Exist", - SIPTAG_ALLOW(allow), - SIPTAG_SUPPORTED(supported), - SIPTAG_USER_AGENT_STR(user_agent), - TAG_END()); - return 481; - } - - create_dialog = sm->sm_flags.create_dialog; - if (method == sip_method_message && NH_PGET(nh, win_messenger_enable)) - create_dialog = 1; - sr = memset(sr0, 0, (sizeof sr0)); - - sr->sr_methods = sm; - sr->sr_method = method = sip->sip_request->rq_method; - sr->sr_add_contact = sm->sm_flags.add_contact; - sr->sr_target_refresh = sm->sm_flags.target_refresh; - - sr->sr_owner = nh; - sr->sr_initial = initial; - - sr->sr_irq = irq; - - SR_STATUS1(sr, SIP_100_TRYING); - - sr->sr_request.msg = nta_incoming_getrequest(irq); - sr->sr_request.sip = sip; - assert(sr->sr_request.msg); - - sr->sr_response.msg = nta_incoming_create_response(irq, 0, NULL); - sr->sr_response.sip = sip_object(sr->sr_response.msg); - - if (sr->sr_response.msg == NULL) { - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - else if (sm->sm_init && sm->sm_init(sr)) { - if (sr->sr_status < 200) /* Init may have set response status */ - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - /* Create handle if request does not fail */ - else if (initial && sr->sr_status < 300) { - if ((nh = nua_stack_incoming_handle(nua, irq, sip, create_dialog))) - sr->sr_owner = nh; - else - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - - if (sr->sr_status < 300 && sm->sm_preprocess && sm->sm_preprocess(sr)) { - if (sr->sr_status < 200) /* Set response status if preprocess did not */ - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - - if (sr->sr_status < 300) { - if (sr->sr_target_refresh) - nua_dialog_uas_route(nh, nh->nh_ds, sip, 1); /* Set route and tags */ - nua_dialog_store_peer_info(nh, nh->nh_ds, sip); - } - - if (sr->sr_status == 100 && method != sip_method_unknown && - !sip_is_allowed(NH_PGET(sr->sr_owner, appl_method), method, name)) { - if (method == sip_method_refer || method == sip_method_subscribe) - SR_STATUS1(sr, SIP_202_ACCEPTED); - else - SR_STATUS1(sr, SIP_200_OK); - } - - /* INVITE server request is not finalized after 2XX response */ - if (sr->sr_status < (method == sip_method_invite ? 300 : 200)) { - sr = su_alloc(nh->nh_home, (sizeof *sr)); - - if (sr) { - *sr = *sr0; - - if ((sr->sr_next = nh->nh_ds->ds_sr)) - *(sr->sr_prev = sr->sr_next->sr_prev) = sr, - sr->sr_next->sr_prev = &sr->sr_next; - else - *(sr->sr_prev = &nh->nh_ds->ds_sr) = sr; - } - else { - sr = sr0; - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - } - - if (sr->sr_status <= 100) { - SR_STATUS1(sr, SIP_100_TRYING); - if (method == sip_method_invite || sip->sip_timestamp) { - nta_incoming_treply(irq, SIP_100_TRYING, - SIPTAG_USER_AGENT_STR(user_agent), - TAG_END()); - } - } - else { - /* Note that this may change the sr->sr_status */ - nua_server_respond(sr, NULL); - } - - if (nua_server_report(sr) == 0) - return 0; - - return 501; -} - -#undef nua_base_server_init -#undef nua_base_server_preprocess - -int nua_base_server_init(nua_server_request_t *sr) -{ - return 0; -} - -int nua_base_server_preprocess(nua_server_request_t *sr) -{ - return 0; -} - -void nua_server_request_destroy(nua_server_request_t *sr) -{ - if (sr == NULL) - return; - - if (SR_HAS_SAVED_SIGNAL(sr)) - nua_destroy_signal(sr->sr_signal); - - if (sr->sr_irq) - nta_incoming_destroy(sr->sr_irq), sr->sr_irq = NULL; - - if (sr->sr_request.msg) - msg_destroy(sr->sr_request.msg), sr->sr_request.msg = NULL; - - if (sr->sr_response.msg) - msg_destroy(sr->sr_response.msg), sr->sr_response.msg = NULL; - - if (sr->sr_prev) { - /* Allocated from heap */ - if ((*sr->sr_prev = sr->sr_next)) - sr->sr_next->sr_prev = sr->sr_prev; - su_free(sr->sr_owner->nh_home, sr); - } -} - -/**@fn void nua_respond(nua_handle_t *nh, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...); - * - * Respond to a request with given status code and phrase. - * - * The stack returns a SIP response message with given status code and - * phrase to the client. The tagged parameter list can specify extra headers - * to include with the response message and other stack parameters. The SIP - * session or other protocol state associated with the handle is updated - * accordingly (for instance, if an initial INVITE is responded with 200, a - * SIP session is established.) - * - * When responding to an incoming INVITE request, the nua_respond() can be - * called without NUTAG_WITH() (or NUTAG_WITH_CURRENT() or - * NUTAG_WITH_SAVED()). Otherwise, NUTAG_WITH() will contain an indication - * of the request being responded. - * - * @param nh Pointer to operation handle - * @param status SIP response status code (see RFCs of SIP) - * @param phrase free text (default response phrase is used if NULL) - * @param tag, value, ... List of tagged parameters - * - * @return - * nothing - * - * @par Responses by Protocol Engine - * - * When nua protocol engine receives an incoming SIP request, it can either - * respond to the request automatically or let application to respond to the - * request. The automatic response is returned to the client if the request - * fails syntax check, or the method, SIP extension or content negotiation - * fails. - * - * When the @ref nua_handlingevents "request event" is delivered to the - * application, the application should examine the @a status parameter. The - * @a status parameter is 200 or greater if the request has been already - * responded automatically by the stack. - * - * The application can add methods that it likes to handle by itself with - * NUTAG_APPL_METHOD(). The default set of NUTAG_APPL_METHOD() includes - * INVITE, PUBLISH, REGISTER and SUBSCRIBE. Note that unless the method is - * also included in the set of allowed methods with NUTAG_ALLOW(), the stack - * will respond to the incoming methods with 405 Not Allowed. - * - * In order to simplify the simple applications, most requests are responded - * automatically. The BYE and CANCEL requests are always responded by the - * stack. Likewise, the NOTIFY requests associated with an event - * subscription are responded by the stack. - * - * Note that certain methods are rejected outside a SIP session (created - * with INVITE transaction). They include BYE, UPDATE, PRACK and INFO. Also - * the auxiliary methods ACK and CANCEL are rejected by the stack if there - * is no ongoing INVITE transaction corresponding to them. - * - * @par Related Tags: - * NUTAG_WITH(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED() \n - * NUTAG_EARLY_ANSWER() \n - * SOATAG_ADDRESS() \n - * SOATAG_AF() \n - * SOATAG_HOLD() \n - * Tags used with nua_set_hparams() \n - * Header tags defined in . - * - * @par Events: - * #nua_i_state \n - * #nua_i_media_error \n - * #nua_i_error \n - * #nua_i_active \n - * #nua_i_terminated \n - * - * @sa #nua_i_invite, #nua_i_register, #nua_i_subscribe, #nua_i_publish - */ - -void -nua_stack_respond(nua_t *nua, nua_handle_t *nh, - int status, char const *phrase, tagi_t const *tags) -{ - nua_server_request_t *sr; - tagi_t const *t; - msg_t const *request = NULL; - - t = tl_find_last(tags, nutag_with); - - if (t) - request = (msg_t const *)t->t_value; - - for (sr = nh->nh_ds->ds_sr; sr; sr = sr->sr_next) { - if (request && sr->sr_request.msg == request) - break; - /* nua_respond() to INVITE can be used without NUTAG_WITH() */ - if (!t && sr->sr_method == sip_method_invite) - break; - } - - if (sr == NULL) { - nua_stack_event(nua, nh, NULL, nua_i_error, - 500, "Responding to a Non-Existing Request", NULL); - return; - } - else if (!nua_server_request_is_pending(sr)) { - nua_stack_event(nua, nh, NULL, nua_i_error, - 500, "Already Sent Final Response", NULL); - return; - } - else if (sr->sr_100rel && !sr->sr_pracked && 200 <= status && status < 300) { - /* Save signal until we have received PRACK */ - if (tags && nua_stack_set_params(nua, nh, nua_i_none, tags) < 0) { - sr->sr_application = status; - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - else { - su_msg_save(sr->sr_signal, nh->nh_nua->nua_signal); - return; - } - } - else { - sr->sr_application = status; - if (tags && nua_stack_set_params(nua, nh, nua_i_none, tags) < 0) - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - else { - sr->sr_status = status, sr->sr_phrase = phrase; - } - } - - nua_server_params(sr, tags); - nua_server_respond(sr, tags); - nua_server_report(sr); -} - -int nua_server_params(nua_server_request_t *sr, tagi_t const *tags) -{ - if (sr->sr_methods->sm_params) - return sr->sr_methods->sm_params(sr, tags); - return 0; -} - -#undef nua_base_server_params - -int nua_base_server_params(nua_server_request_t *sr, tagi_t const *tags) -{ - return 0; -} - -/** Return the response to the client. - * - * @retval 0 when successfully sent - * @retval -1 upon an error - */ -int nua_server_trespond(nua_server_request_t *sr, - tag_type_t tag, tag_value_t value, ...) -{ - int retval; - ta_list ta; - ta_start(ta, tag, value); - retval = nua_server_respond(sr, ta_args(ta)); - ta_end(ta); - return retval; -} - -/** Return the response to the client. - * - * @retval 0 when successfully sent - * @retval -1 upon an error - */ -int nua_server_respond(nua_server_request_t *sr, tagi_t const *tags) -{ - nua_handle_t *nh = sr->sr_owner; - nua_dialog_state_t *ds = nh->nh_ds; - sip_method_t method = sr->sr_method; - struct { msg_t *msg; sip_t *sip; } next = { NULL, NULL }; - int retval, user_contact = 1; -#if HAVE_OPEN_C - /* Nice. And old arm symbian compiler; see below. */ - tagi_t next_tags[2]; -#else - tagi_t next_tags[2] = {{ SIPTAG_END() }, { TAG_NEXT(tags) }}; -#endif - - msg_t *msg = sr->sr_response.msg; - sip_t *sip = sr->sr_response.sip; - sip_contact_t *m = sr->sr_request.sip->sip_contact; - -#if HAVE_OPEN_C - next_tags[0].t_tag = siptag_end; - next_tags[0].t_value = (tag_value_t)0; - next_tags[1].t_tag = tag_next; - next_tags[1].t_value = (tag_value_t)(tags); -#endif - - if (sr->sr_response.msg == NULL) { - assert(sr->sr_status == 500); - goto internal_error; - } - - if (sr->sr_status < 200) { - next.msg = nta_incoming_create_response(sr->sr_irq, 0, NULL); - next.sip = sip_object(next.msg); - if (next.sip == NULL) - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - } - - if (nta_incoming_complete_response(sr->sr_irq, msg, - sr->sr_status, - sr->sr_phrase, - TAG_NEXT(tags)) < 0) - ; - else if (!sip->sip_supported && NH_PGET(nh, supported) && - sip_add_dup(msg, sip, (sip_header_t *)NH_PGET(nh, supported)) < 0) - ; - else if (!sip->sip_user_agent && NH_PGET(nh, user_agent) && - sip_add_make(msg, sip, sip_user_agent_class, - NH_PGET(nh, user_agent)) < 0) - ; - else if (!sip->sip_organization && NH_PGET(nh, organization) && - sip_add_make(msg, sip, sip_organization_class, - NH_PGET(nh, organization)) < 0) - ; - else if (!sip->sip_allow && NH_PGET(nh, allow) && - sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow)) < 0) - ; - else if (!sip->sip_allow_events && - NH_PGET(nh, allow_events) && - (method == sip_method_publish || method == sip_method_subscribe || - method == sip_method_options || method == sip_method_refer || - (sr->sr_initial && - (method == sip_method_invite || - method == sip_method_notify))) && - sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow_events)) < 0) - ; - else if (!sip->sip_contact && sr->sr_status < 300 && sr->sr_add_contact && - (user_contact = 0, - ds->ds_ltarget - ? sip_add_dup(msg, sip, (sip_header_t *)ds->ds_ltarget) - : nua_registration_add_contact_to_response(nh, msg, sip, NULL, m)) - < 0) - ; - else { - int term; - sip_contact_t *ltarget = NULL; - - term = sip_response_terminates_dialog(sr->sr_status, sr->sr_method, NULL); - - sr->sr_terminating = (term < 0) ? -1 : (term > 0 || sr->sr_terminating); - - if (sr->sr_target_refresh && sr->sr_status < 300 && !sr->sr_terminating && - user_contact && sip->sip_contact) { - /* Save Contact given by application */ - ltarget = sip_contact_dup(nh->nh_home, sip->sip_contact); - } - - retval = sr->sr_methods->sm_respond(sr, next_tags); - - if (sr->sr_status < 200) - sr->sr_response.msg = next.msg, sr->sr_response.sip = next.sip; - else if (next.msg) - msg_destroy(next.msg); - - assert(sr->sr_status >= 200 || sr->sr_response.msg); - - if (ltarget) { - if (sr->sr_status < 300) { - nua_dialog_state_t *ds = nh->nh_ds; - msg_header_free(nh->nh_home, (msg_header_t *)ds->ds_ltarget); - ds->ds_ltarget = ltarget; - } - else - msg_header_free(nh->nh_home, (msg_header_t *)ltarget); - } - - return retval; - } - - if (next.msg) - msg_destroy(next.msg); - - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - - msg_destroy(msg); - - internal_error: - sr->sr_response.msg = NULL, sr->sr_response.sip = NULL; - nta_incoming_treply(sr->sr_irq, sr->sr_status, sr->sr_phrase, TAG_END()); - - return 0; -} - -/** Return the response to the client. - * - * @retval 0 when successfully sent - * @retval -1 upon an error - */ -int nua_base_server_respond(nua_server_request_t *sr, tagi_t const *tags) -{ - msg_t *response = sr->sr_response.msg; - sip_t *sip = sr->sr_response.sip; - - sr->sr_response.msg = NULL, sr->sr_response.sip = NULL; - - if (sr->sr_status != sip->sip_status->st_status) { - msg_header_remove(response, (msg_pub_t *)sip, - (msg_header_t *)sip->sip_status); - nta_incoming_complete_response(sr->sr_irq, response, - sr->sr_status, - sr->sr_phrase, - TAG_END()); - } - - if (sr->sr_status != sip->sip_status->st_status) { - msg_destroy(response); - SR_STATUS1(sr, SIP_500_INTERNAL_SERVER_ERROR); - nta_incoming_treply(sr->sr_irq, sr->sr_status, sr->sr_phrase, TAG_END()); - return 0; - } - - return nta_incoming_mreply(sr->sr_irq, response); -} - -int nua_server_report(nua_server_request_t *sr) -{ - if (sr) - return sr->sr_methods->sm_report(sr, NULL); - else - return 1; -} - -int nua_base_server_treport(nua_server_request_t *sr, - tag_type_t tag, tag_value_t value, - ...) -{ - int retval; - ta_list ta; - ta_start(ta, tag, value); - retval = nua_base_server_report(sr, ta_args(ta)); - ta_end(ta); - return retval; -} - -/**Report request event to the application. - * - * @retval 0 request lives - * @retval 1 request was destroyed - * @retval 2 request and its usage was destroyed - * @retval 3 request, all usages and dialog was destroyed - * @retval 4 request, all usages, dialog, and handle was destroyed - */ -int nua_base_server_report(nua_server_request_t *sr, tagi_t const *tags) -{ - nua_handle_t *nh = sr->sr_owner; - nua_t *nua = nh->nh_nua; - nua_dialog_usage_t *usage = sr->sr_usage; - int initial = sr->sr_initial; - int status = sr->sr_status; - char const *phrase = sr->sr_phrase; - - int terminated; - int handle_can_be_terminated = initial && !sr->sr_event; - - if (sr->sr_application) { - /* There was an error sending response */ - if (sr->sr_application != sr->sr_status) - nua_stack_event(nua, nh, NULL, nua_i_error, status, phrase, tags); - sr->sr_application = 0; - } - else if (status < 300 && !sr->sr_event) { - msg_t *msg = msg_ref_create(sr->sr_request.msg); - nua_event_t e = sr->sr_methods->sm_event; - sr->sr_event = 1; - nua_stack_event(nua, nh, msg, e, status, phrase, tags); - } - - if (status < 200) - return 0; /* sr lives on until final response is sent */ - - if (sr->sr_method == sip_method_invite && status < 300) - return 0; /* INVITE lives on until ACK is received */ - - if (initial && 300 <= status) - terminated = 1; - else if (sr->sr_terminating && status < 300) - terminated = 1; - else - terminated = sip_response_terminates_dialog(status, sr->sr_method, NULL); - - if (usage && terminated) - nua_dialog_usage_remove(nh, nh->nh_ds, usage, NULL, sr); - - nua_server_request_destroy(sr); - - if (!terminated) - return 1; - - if (!initial) { - if (terminated > 0) - return 2; - - /* Remove all usages of the dialog */ - nua_dialog_deinit(nh, nh->nh_ds); - - return 3; - } - else if (!handle_can_be_terminated) { - return 3; - } - else { - if (nh != nh->nh_nua->nua_dhandle) - nh_destroy(nh->nh_nua, nh); - - return 4; - } -} - -/* ---------------------------------------------------------------------- */ - -/**@internal - * - * @class nua_client_request - * - * Each handle has a queue of client-side requests; if a request is pending, - * a new request from API is added to the queue. After the request is - * complete, it is removed from the queue and destroyed by the default. The - * exception is the client requests bound to a dialog usage: they are saved - * and re-used when the dialog usage is refreshed (and sometimes when the - * usage is terminated). - * - * The client request is subclassed and its behaviour modified using virtual - * function table in #nua_client_methods_t. - * - * The first three methods (crm_template(), crm_init(), crm_send()) are - * called when the request is sent first time. - * - * The crm_template() is called if a template request message is needed (for - * example, in case of unregister, unsubscribe and unpublish, the template - * message is taken from the request establishing the usage). - * - * The crm_init() is called when the template message and dialog leg has - * been created and populated by the tags procided by the application. Its - * parameters msg and sip are pointer to the template request message that - * is saved in the nua_client_request::cr_msg field. - * - * The crm_send() is called with a copy of the template message that has - * been populated with all the fields included in the request, including - * @CSeq and @MaxForwards. The crm_send() function, such as - * nua_publish_client_request(), usually calls nua_base_client_trequest() that - * then creates the nta-level transaction. - * - * The response to the request is processed by crm_check_restart(), which - * modifies and restarts the request when needed (e.g., when negotiating - * expiration time). After the request has been suitably modified, e.g., the - * expiration time has been increased, the restart function calls - * nua_client_restart(), which restarts the request and relays the - * intermediate response to the application with nua_client_restart() and - * crm_report(). - * - * The final responses are processed by crm_recv() and and preliminary ones - * by crm_preliminary(). All virtual functions should call - * nua_base_client_response() beside method-specific processing. - * - * The nua_base_client_response() relays the response to the application with - * nua_client_restart() and crm_report(). - * - * @par Terminating Dialog Usages and Dialogs - * - * The response is marked as terminating with nua_client_set_terminating(). - * When a terminating request completes the dialog usage is removed and the - * dialog is destroyed (unless there is an another active usage). - */ -static void nua_client_request_destroy(nua_client_request_t *cr); -static int nua_client_init_request0(nua_client_request_t *cr); -static int nua_client_request_try(nua_client_request_t *cr); -static int nua_client_request_sendmsg(nua_client_request_t *cr); -static void nua_client_restart_after(su_root_magic_t *magic, - su_timer_t *timer, - nua_client_request_t *cr); - -/**Create a client request. - * - * @retval 0 if request is pending - * @retval > 0 if error event has been sent - * @retval < 0 upon an error - */ -int nua_client_create(nua_handle_t *nh, - int event, - nua_client_methods_t const *methods, - tagi_t const * const tags) -{ - su_home_t *home = nh->nh_home; - nua_client_request_t *cr; - sip_method_t method; - char const *name; - - method = methods->crm_method, name = methods->crm_method_name; - if (!name) { - tagi_t const *t = tl_find_last(tags, nutag_method); - if (t) - name = (char const *)t->t_value; - } - - cr = su_zalloc(home, sizeof *cr + methods->crm_extra); - if (!cr) { - return nua_stack_event(nh->nh_nua, nh, - NULL, - event, - NUA_ERROR_AT(__FILE__, __LINE__), - NULL); - } - - cr->cr_methods = methods; - cr->cr_event = event; - cr->cr_method = method; - cr->cr_method_name = name; - cr->cr_contactize = methods->crm_flags.target_refresh; - cr->cr_dialog = methods->crm_flags.create_dialog; - cr->cr_auto = 1; - - if (su_msg_is_non_null(nh->nh_nua->nua_signal)) { - nua_event_data_t *e = su_msg_data(nh->nh_nua->nua_signal)->ee_data; - - if (tags == e->e_tags && event == e->e_event) { - cr->cr_auto = 0; - - if (tags) { - nua_move_signal(cr->cr_signal, nh->nh_nua->nua_signal); - if (cr->cr_signal) { - /* Steal reference from signal */ - cr->cr_owner = e->e_nh, e->e_nh = NULL; - cr->cr_tags = tags; - } - } - } - } - - if (cr->cr_owner == NULL) - cr->cr_owner = nua_handle_ref(nh); - - if (tags && cr->cr_tags == NULL) - cr->cr_tags = tl_tlist(nh->nh_home, TAG_NEXT(tags)); - -#if HAVE_MEMLEAK_LOG - SU_DEBUG_0(("%p %s() for %s\n", cr, __func__, cr->cr_methods->crm_method_name)); -#endif - - if (nua_client_request_queue(cr)) - return 0; - - return nua_client_init_request(cr); -} - -int nua_client_tcreate(nua_handle_t *nh, - int event, - nua_client_methods_t const *methods, - tag_type_t tag, tag_value_t value, ...) -{ - int retval; - ta_list ta; - ta_start(ta, tag, value); - retval = nua_client_create(nh, event, methods, ta_args(ta)); - ta_end(ta); - return retval; -} - -#if HAVE_MEMLEAK_LOG -nua_client_request_t * -nua_client_request_ref_by(nua_client_request_t *cr, - char const *where, unsigned line, char const *who) -{ - SU_DEBUG_0(("%p ref %s to %u by %s:%u: %s()\n", - cr, cr->cr_methods->crm_method_name, - ++(cr->cr_refs), where, line, who)); - return cr; -} - -int nua_client_request_unref_by(nua_client_request_t *cr, - char const *where, unsigned line, char const *who) -{ - SU_DEBUG_0(("%p unref %s to %u by %s:%u: %s()\n", - cr, cr->cr_methods->crm_method_name, - cr->cr_refs - 1, where, line, who)); - - if (cr->cr_refs > 1) { - cr->cr_refs--; - return 0; - } - else { - cr->cr_refs = 0; - nua_client_request_destroy(cr); - return 1; - } -} -#else -nua_client_request_t *nua_client_request_ref(nua_client_request_t *cr) -{ - cr->cr_refs++; - return cr; -} - -int nua_client_request_unref(nua_client_request_t *cr) -{ - if (cr->cr_refs > 1) { - cr->cr_refs--; - return 0; - } - else { - cr->cr_refs = 0; - nua_client_request_destroy(cr); - return 1; - } -} -#endif - -int nua_client_request_queue(nua_client_request_t *cr) -{ - int queued = 0; - nua_client_request_t **queue = &cr->cr_owner->nh_ds->ds_cr; - - assert(cr->cr_prev == NULL && cr->cr_next == NULL); - - cr->cr_status = 0; - - nua_client_request_ref(cr); - - if (cr->cr_method != sip_method_invite && - cr->cr_method != sip_method_cancel) { - while (*queue) { - if ((*queue)->cr_method == sip_method_invite || - (*queue)->cr_method == sip_method_cancel) - break; - queue = &(*queue)->cr_next; - queued = 1; - } - } - else { - while (*queue) { - queue = &(*queue)->cr_next; - if (cr->cr_method == sip_method_invite) - queued = 1; - } - } - - if ((cr->cr_next = *queue)) - cr->cr_next->cr_prev = &cr->cr_next; - - cr->cr_prev = queue, *queue = cr; - - return queued; -} - -int -nua_client_request_remove(nua_client_request_t *cr) -{ - int retval = 0; - int in_queue = cr->cr_prev != NULL; - - if (in_queue) { - if ((*cr->cr_prev = cr->cr_next)) - cr->cr_next->cr_prev = cr->cr_prev; - } - cr->cr_prev = NULL, cr->cr_next = NULL; - - if (cr->cr_timer) { - su_timer_destroy(cr->cr_timer), cr->cr_timer = NULL; - retval = nua_client_request_unref(cr); - } - - if (!in_queue) - return retval; - - return nua_client_request_unref(cr); -} - -int -nua_client_request_clean(nua_client_request_t *cr) -{ - if (cr->cr_orq) { - nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = NULL, cr->cr_acked = 0; - return nua_client_request_unref(cr); - } - return 0; -} - -static int -nua_client_request_complete(nua_client_request_t *cr) -{ - if (cr->cr_orq) { - nua_client_request_ref(cr); - if (cr && cr->cr_methods->crm_complete) - cr->cr_methods->crm_complete(cr); - nua_client_request_clean(cr); - if (nua_client_request_unref(cr)) - return 1; - } - - return nua_client_request_remove(cr); -} - -static void -nua_client_request_destroy(nua_client_request_t *cr) -{ - nua_handle_t *nh; - - if (cr == NULL) - return; - - /* Possible references: */ - assert(cr->cr_prev == NULL); /* queue */ - assert(cr->cr_orq == NULL); /* transaction callback */ - assert(cr->cr_timer == NULL); /* timer callback */ - - nh = cr->cr_owner; - - nua_destroy_signal(cr->cr_signal); - - nua_client_bind(cr, NULL); - -#if HAVE_MEMLEAK_LOG - SU_DEBUG_0(("%p %s for %s\n", cr, __func__, cr->cr_methods->crm_method_name)); -#endif - - if (cr->cr_msg) - msg_destroy(cr->cr_msg); - cr->cr_msg = NULL, cr->cr_sip = NULL; - - if (cr->cr_orq) - nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = NULL; - - if (cr->cr_target) - su_free(nh->nh_home, cr->cr_target); - - su_free(nh->nh_home, cr); - - nua_handle_unref(nh); -} - -/** Bind client request to a dialog usage */ -int nua_client_bind(nua_client_request_t *cr, nua_dialog_usage_t *du) -{ - assert(cr); - if (cr == NULL) - return -1; - - if (du == NULL) { - du = cr->cr_usage; - cr->cr_usage = NULL; - if (du && du->du_cr == cr) { - du->du_cr = NULL; - nua_client_request_unref(cr); - } - return 0; - } - - if (du->du_cr && cr == du->du_cr) - return 0; - - if (du->du_cr) { - nua_client_bind(du->du_cr, NULL); - } - - du->du_cr = nua_client_request_ref(cr), cr->cr_usage = du; - - return 0; -} - -/**Initialize client request for sending. - * - * This function is called when the request is taken from queue and sent. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - */ -int nua_client_init_request(nua_client_request_t *cr) -{ - int retval; - nua_client_request_ref(cr); - retval = nua_client_init_request0(cr); - nua_client_request_unref(cr); - return retval; -} - -/**Initialize client request for sending. - * - * This function is called when the request is taken from queue and sent. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - */ -static -int nua_client_init_request0(nua_client_request_t *cr) -{ - nua_handle_t *nh = cr->cr_owner; - nua_t *nua = nh->nh_nua; - nua_dialog_state_t *ds = nh->nh_ds; - msg_t *msg = NULL; - sip_t *sip; - url_string_t const *url = NULL; - tagi_t const *t; - int has_contact = 0; - int error = 0; - - if (!cr->cr_method_name) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), NULL); - - if (cr->cr_msg) - return nua_client_request_try(cr); - - cr->cr_answer_recv = 0, cr->cr_offer_sent = 0; - cr->cr_offer_recv = 0, cr->cr_answer_sent = 0; - cr->cr_terminated = 0, cr->cr_graceful = 0; - - nua_stack_init_handle(nua, nh, cr->cr_tags); - - if (cr->cr_method == sip_method_cancel) { - if (cr->cr_methods->crm_init) { - error = cr->cr_methods->crm_init(cr, NULL, NULL, cr->cr_tags); - if (error) - return error; - } - - if (cr->cr_methods->crm_send) - return cr->cr_methods->crm_send(cr, NULL, NULL, cr->cr_tags); - else - return nua_base_client_request(cr, NULL, NULL, cr->cr_tags); - } - - if (!cr->cr_methods->crm_template || - cr->cr_methods->crm_template(cr, &msg, cr->cr_tags) == 0) - msg = nua_client_request_template(cr); - - sip = sip_object(msg); - if (!sip) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - - if (nh->nh_tags) { - for (t = nh->nh_tags; t; t = t_next(t)) { - if (t->t_tag == siptag_contact || - t->t_tag == siptag_contact_str) - has_contact = 1; - else if (t->t_tag == nutag_url) - url = (url_string_t const *)t->t_value; - } - } - - /**@par Populating SIP Request Message with Tagged Arguments - * - * The tagged arguments can be used to pass values for any SIP headers - * to the stack. When the INVITE message (or any other SIP message) is - * created, the tagged values saved with nua_handle() are used first, - * next the tagged values given with the operation (nua_invite()) are - * added. - * - * When multiple tags for the same header are specified, the behaviour - * depends on the header type. If only a single header field can be - * included in a SIP message, the latest non-NULL value is used, e.g., - * @Subject. However, if the SIP header can consist of multiple lines or - * header fields separated by comma, e.g., @Accept, all the tagged - * values are concatenated. - * - * However, if a tag value is #SIP_NONE (-1 casted as a void pointer), - * the values from previous tags are ignored. - */ - for (t = cr->cr_tags; t; t = t_next(t)) { - if (t->t_tag == siptag_contact || - t->t_tag == siptag_contact_str) - has_contact = 1; - else if (t->t_tag == nutag_url) - url = (url_string_t const *)t->t_value; - else if (t->t_tag == nutag_dialog) { - cr->cr_dialog = t->t_value > 1; - cr->cr_contactize = t->t_value >= 1; - } - else if (t->t_tag == nutag_auth && t->t_value) { - /* XXX ignoring errors */ - if (nh->nh_auth) - auc_credentials(&nh->nh_auth, nh->nh_home, (char *)t->t_value); - } - } - - if (cr->cr_method == sip_method_register && url == NULL) - url = (url_string_t const *)NH_PGET(nh, registrar); - - if ((t = cr->cr_tags)) { - if (sip_add_tagis(msg, sip, &t) < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - } - - /** - * Now, the target URI for the request needs to be determined. - * - * For initial requests, values from tags are used. If NUTAG_URL() is - * given, it is used as target URI. Otherwise, if SIPTAG_TO() is given, - * it is used as target URI. If neither is given, the complete request - * line already specified using SIPTAG_REQUEST() or SIPTAG_REQUEST_STR() - * is used. At this point, the target URI is stored in the request line, - * together with method name and protocol version ("SIP/2.0"). The - * initial dialog information is also created: @CallID, @CSeq headers - * are generated, if they do not exist, and a tag is added to the @From - * header. - */ - - if (!ds->ds_leg) { - if (ds->ds_remote_tag && ds->ds_remote_tag[0] && - sip_to_tag(nh->nh_home, sip->sip_to, ds->ds_remote_tag) < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - - if (sip->sip_from == NULL && - sip_add_dup(msg, sip, (sip_header_t *)nua->nua_from) < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - - if (sip->sip_to == NULL && cr->cr_method == sip_method_register && - sip_add_dup_as(msg, sip, sip_to_class, - (sip_header_t *)sip->sip_from) < 0) { - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - } - } - else { - if (ds->ds_route) - url = NULL; - } - - if (url && nua_client_set_target(cr, (url_t *)url) < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - - cr->cr_has_contact = has_contact; - - if (cr->cr_methods->crm_init) { - error = cr->cr_methods->crm_init(cr, msg, sip, cr->cr_tags); - if (error < -1) - msg = NULL; - if (error < 0) - return nua_client_return(cr, NUA_ERROR_AT(__FILE__, __LINE__), msg); - if (error != 0) - return error; - } - - cr->cr_msg = msg; - cr->cr_sip = sip; - - return nua_client_request_try(cr); -} - -msg_t *nua_client_request_template(nua_client_request_t *cr) -{ - nua_handle_t *nh = cr->cr_owner; - nua_t *nua = nh->nh_nua; - nua_dialog_state_t *ds = nh->nh_ds; - - msg_t *msg = nta_msg_create(nua->nua_nta, 0); - sip_t *sip = sip_object(msg); - - if (!sip) - return NULL; - - if (nh->nh_tags) { - tagi_t const *t = nh->nh_tags; - - /* Use the From header from the dialog. - If From is set, it is always first tag in the handle */ - if (ds->ds_leg && t->t_tag == siptag_from) - t++; - - /* When the INVITE message (or any other SIP message) is - * created, the tagged values saved with nua_handle() are used first. */ - sip_add_tagis(msg, sip, &t); - } - - return msg; -} - - -/** Restart the request message. - * - * A restarted request has not been completed successfully. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - */ -int nua_client_restart_request(nua_client_request_t *cr, - int terminating, - tagi_t const *tags) -{ - if (cr) { - assert(nua_client_is_queued(cr)); - - if (tags && cr->cr_msg) - if (sip_add_tagis(cr->cr_msg, NULL, &tags) < 0) - /* XXX */; - - nua_client_set_terminating(cr, terminating); - - return nua_client_request_try(cr); - } - - return 0; -} - -/** Resend the request message. - * - * A resent request has completed once successfully - restarted has not. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - */ -int nua_client_resend_request(nua_client_request_t *cr, - int terminating) -{ - if (cr) { - cr->cr_retry_count = 0; - cr->cr_challenged = 0; - - if (nua_client_is_queued(cr)) { - if (terminating) - cr->cr_graceful = 1; - return 0; - } - - if (terminating) - nua_client_set_terminating(cr, terminating); - - if (nua_client_request_queue(cr)) - return 0; - - if (nua_dialog_is_reporting(cr->cr_owner->nh_ds)) - return 0; - - return nua_client_request_try(cr); - } - return 0; -} - - -/** Send a request message. - * - * If an error occurs, send error event to the application. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - */ -static -int nua_client_request_try(nua_client_request_t *cr) -{ - int error = nua_client_request_sendmsg(cr); - - if (error < 0) - error = nua_client_response(cr, NUA_ERROR_AT(__FILE__, __LINE__), NULL); - - return error; -} - -/**Send a request message. - * - * @retval 0 if request is pending - * @retval >=1 if error event has been sent - * @retval < 0 if no error event has been sent - */ -static -int nua_client_request_sendmsg(nua_client_request_t *cr) -{ - nua_handle_t *nh = cr->cr_owner; - nua_dialog_state_t *ds = nh->nh_ds; - sip_method_t method = cr->cr_method; - char const *name = cr->cr_method_name; - url_string_t const *url = (url_string_t *)cr->cr_target; - nta_leg_t *leg; - msg_t *msg; - sip_t *sip; - int error; - - assert(cr->cr_orq == NULL); - - cr->cr_offer_sent = cr->cr_answer_recv = 0; - cr->cr_offer_recv = cr->cr_answer_sent = 0; - - if (!ds->ds_leg && cr->cr_dialog) { - ds->ds_leg = nta_leg_tcreate(nh->nh_nua->nua_nta, - nua_stack_process_request, nh, - SIPTAG_CALL_ID(cr->cr_sip->sip_call_id), - SIPTAG_FROM(cr->cr_sip->sip_from), - SIPTAG_TO(cr->cr_sip->sip_to), - SIPTAG_CSEQ(cr->cr_sip->sip_cseq), - TAG_END()); - if (!ds->ds_leg) - return -1; - } - - if (cr->cr_sip->sip_from && ds->ds_leg) { - if (cr->cr_sip->sip_from->a_tag == NULL) { - if (sip_from_tag(msg_home(cr->cr_msg), cr->cr_sip->sip_from, - nta_leg_tag(ds->ds_leg, NULL)) < 0) { - return -1; - } - } - } - - cr->cr_retry_count++; - - if (ds->ds_leg) - leg = ds->ds_leg; - else - leg = nh->nh_nua->nua_dhandle->nh_ds->ds_leg; /* Default leg */ - - msg = msg_copy(cr->cr_msg), sip = sip_object(msg); - - if (msg == NULL) - return -1; - - if (nua_dialog_is_established(ds)) { - while (sip->sip_route) - sip_route_remove(msg, sip); - } - else if (!ds->ds_route) { - sip_route_t *initial_route = NH_PGET(nh, initial_route); - - if (initial_route) { - initial_route = sip_route_dup(msg_home(msg), initial_route); - if (!initial_route) return -1; - msg_header_prepend(msg, (msg_pub_t*)sip, - /* This should be - (msg_header_t **)&sip->sip_route - * but directly casting pointer &sip->sip_route gives - * spurious type-punning warning */ - (msg_header_t **)((char *)sip + offsetof(sip_t, sip_route)), - (msg_header_t *)initial_route); - } - } - - - /** - * For in-dialog requests, the request URI is taken from the @Contact - * header received from the remote party during dialog establishment, - * and the NUTAG_URL() is ignored. - * - * Also, the @CallID and @CSeq headers and @From and @To tags are - * generated based on the dialog information and added to the request. - * If the dialog has a route, it is added to the request, too. - */ - if (nta_msg_request_complete(msg, leg, method, name, url) < 0) { - msg_destroy(msg); - return -1; - } - - /**@MaxForwards header (with default value set by NTATAG_MAX_FORWARDS()) is - * also added now, if it does not exist. - */ - - if (!ds->ds_remote) - ds->ds_remote = sip_to_dup(nh->nh_home, sip->sip_to); - if (!ds->ds_local) - ds->ds_local = sip_from_dup(nh->nh_home, sip->sip_from); - - /** - * Next, values previously set with nua_set_params() or nua_set_hparams() - * are used: @Allow, @Supported, @Organization, @UserAgent and - * @AllowEvents headers are added to the request if they are not already - * set. - */ - if (!sip->sip_allow) - sip_add_dup(msg, sip, (sip_header_t*)NH_PGET(nh, allow)); - - if (!sip->sip_supported && NH_PGET(nh, supported)) - sip_add_dup(msg, sip, (sip_header_t *)NH_PGET(nh, supported)); - - if (method == sip_method_register && NH_PGET(nh, path_enable) && - !sip_has_feature(sip->sip_supported, "path") && - !sip_has_feature(sip->sip_require, "path")) - sip_add_make(msg, sip, sip_supported_class, "path"); - - if (!sip->sip_organization && NH_PGET(nh, organization)) - sip_add_make(msg, sip, sip_organization_class, NH_PGET(nh, organization)); - - if (!sip->sip_user_agent && NH_PGET(nh, user_agent)) - sip_add_make(msg, sip, sip_user_agent_class, NH_PGET(nh, user_agent)); - - /** Any node implementing one or more event packages SHOULD include an - * appropriate @AllowEvents header indicating all supported events in - * all methods which initiate dialogs and their responses (such as - * INVITE) and OPTIONS responses. - */ - if (!sip->sip_allow_events && - NH_PGET(nh, allow_events) && - (method == sip_method_notify || /* Always in NOTIFY */ - (!ds->ds_remote_tag && /* And in initial requests */ - (method == sip_method_subscribe || method == sip_method_refer || - method == sip_method_options || - method == sip_method_invite)))) - sip_add_dup(msg, sip, (void *)NH_PGET(nh, allow_events)); - - /** - * Next, the stack generates a @Contact header for the request (unless - * the application already gave a @Contact header or it does not want to - * use @Contact and indicates that by including SIPTAG_CONTACT(NULL) or - * SIPTAG_CONTACT(SIP_NONE) in the tagged parameters.) If the - * application has registered the URI in @From header, the @Contact - * header used with registration is used. Otherwise, the @Contact header - * is generated from the local IP address and port number. - */ - - /**For the initial requests, @ServiceRoute set that was received from the - * registrar is also added to the request message. - */ - if (cr->cr_method != sip_method_register) { - if (cr->cr_contactize && cr->cr_has_contact) { - sip_contact_t *ltarget = sip_contact_dup(nh->nh_home, sip->sip_contact); - if (ds->ds_ltarget) - msg_header_free(nh->nh_home, (msg_header_t *)ds->ds_ltarget); - ds->ds_ltarget = ltarget; - } - - if (ds->ds_ltarget && !cr->cr_has_contact) - sip_add_dup(msg, sip, (sip_header_t *)ds->ds_ltarget); - - if (nua_registration_add_contact_to_request(nh, msg, sip, - cr->cr_contactize && - !cr->cr_has_contact && - !ds->ds_ltarget, - !ds->ds_route) < 0) { - msg_destroy(msg); - return -1; - } - } - - cr->cr_wait_for_cred = 0; - - if (cr->cr_methods->crm_send) - error = cr->cr_methods->crm_send(cr, msg, sip, NULL); - else - error = nua_base_client_request(cr, msg, sip, NULL); - - if (error != 0 && error != -2) - msg_destroy(msg); - - return error; -} - -/**Add tags to request message and send it, - * - * @retval 0 success - * @retval -1 if error occurred, but event has not been sent - * @retval -2 if error occurred, event has not been sent, - * and @a msg has been destroyed - * @retval >=1 if error event has been sent - */ -int nua_base_client_trequest(nua_client_request_t *cr, - msg_t *msg, sip_t *sip, - tag_type_t tag, tag_value_t value, ...) -{ - int retval; - ta_list ta; - ta_start(ta, tag, value); - retval = nua_base_client_request(cr, msg, sip, ta_args(ta)); - ta_end(ta); - return retval; -} - -/** Send request. - * - * @retval 0 success - * @retval -1 if error occurred, but event has not been sent - * @retval -2 if error occurred, event has not been sent, - * and @a msg has been destroyed - * @retval >=1 if error event has been sent - */ -int nua_base_client_request(nua_client_request_t *cr, msg_t *msg, sip_t *sip, - tagi_t const *tags) -{ - nua_handle_t *nh = cr->cr_owner; - int proxy_is_set = NH_PISSET(nh, proxy); - url_string_t * proxy = NH_PGET(nh, proxy); - - if (nh->nh_auth) { - if (cr->cr_challenged || - NH_PGET(nh, auth_cache) == nua_auth_cache_dialog) { - if (auc_authorize(&nh->nh_auth, msg, sip) < 0) - return nua_client_return(cr, 900, "Cannot add credentials", msg); - } - } - - cr->cr_seq = sip->sip_cseq->cs_seq; /* Save last sequence number */ - - assert(cr->cr_orq == NULL); - - cr->cr_orq = nta_outgoing_mcreate(nh->nh_nua->nua_nta, - nua_client_orq_response, - nua_client_request_ref(cr), - NULL, - msg, - TAG_IF(proxy_is_set, - NTATAG_DEFAULT_PROXY(proxy)), - TAG_NEXT(tags)); - - if (cr->cr_orq == NULL) { - nua_client_request_unref(cr); - return -1; - } - - return 0; -} - -/** Callback for nta client transaction */ -int -nua_client_orq_response(nua_client_request_t *cr, - nta_outgoing_t *orq, - sip_t const *sip) -{ - int status; - char const *phrase; - - if (sip && sip->sip_status) { - status = sip->sip_status->st_status; - phrase = sip->sip_status->st_phrase; - } - else { - status = nta_outgoing_status(orq); - phrase = ""; - } - - nua_client_response(cr, status, phrase, sip); - - return 0; -} - -/**Return response to the client request. - * - * Return a response generated by the stack. This function is used to return - * a error response within @a nua_client_methods_t#crm_init or @a - * nua_client_methods_t#crm_send functions. It takes care of disposing the @a - * to_be_destroyed that cannot be sent. - * - * @retval 0 if response event was preliminary - * @retval 1 if response event was final - * @retval 2 if response event destroyed the handle, too. - */ -int nua_client_return(nua_client_request_t *cr, - int status, - char const *phrase, - msg_t *to_be_destroyed) -{ - if (to_be_destroyed) - msg_destroy(to_be_destroyed); - nua_client_response(cr, status, phrase, NULL); - return 1; -} - -/** Process response to the client request. - * - * The response can be generated by the stack (@a sip is NULL) or - * returned by the remote server. - * - * @retval 0 if response event was preliminary - * @retval 1 if response event was final - * @retval 2 if response event destroyed the handle, too. - */ -int nua_client_response(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip) -{ - nua_handle_t *nh = cr->cr_owner; - nua_dialog_usage_t *du = cr->cr_usage; - int retval = 0; - - if (cr->cr_restarting) - return 0; - - nua_client_request_ref(cr); - - cr->cr_status = status; - cr->cr_phrase = phrase; - - if (status < 200) { - /* Xyzzy */ - } - else if (sip && nua_client_check_restart(cr, status, phrase, sip)) { - nua_client_request_unref(cr); - return 0; - } - else if (status < 300) { - if (cr->cr_terminating) { - cr->cr_terminated = 1; - } - else { - if (sip) { - if (cr->cr_contactize) - nua_dialog_uac_route(nh, nh->nh_ds, sip, 1, cr->cr_initial); - nua_dialog_store_peer_info(nh, nh->nh_ds, sip); - } - - if (du && du->du_cr == cr) - du->du_ready = 1; - } - } - else { - sip_method_t method = cr->cr_method; - int terminated, graceful = 1; - - if (status < 700) - terminated = sip_response_terminates_dialog(status, method, &graceful); - else - /* XXX - terminate usage by all internal error responses */ - terminated = 0, graceful = 1; - - if (terminated < 0) - cr->cr_terminated = terminated; - else if (cr->cr_terminating || terminated) - cr->cr_terminated = 1; - else if (graceful) - cr->cr_graceful = 1; - } - - if (status < 200) { - if (cr->cr_methods->crm_preliminary) - cr->cr_methods->crm_preliminary(cr, status, phrase, sip); - else - nua_base_client_response(cr, status, phrase, sip, NULL); - cr->cr_phrase = NULL; - } - else { - if (cr->cr_methods->crm_recv) - retval = cr->cr_methods->crm_recv(cr, status, phrase, sip); - else - retval = nua_base_client_response(cr, status, phrase, sip, NULL); - } - - nua_client_request_unref(cr); - - return retval; -} - -/** Check if request should be restarted. - * - * @retval 1 if restarted or waiting for restart - * @retval 0 otherwise - */ -int nua_client_check_restart(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip) -{ - nua_handle_t *nh; - - assert(cr && status >= 200 && phrase && sip); - - nh = cr->cr_owner; - - if (cr->cr_retry_count > NH_PGET(nh, retry_count)) - return 0; - - if (cr->cr_methods->crm_check_restart) - return cr->cr_methods->crm_check_restart(cr, status, phrase, sip); - else - return nua_base_client_check_restart(cr, status, phrase, sip); -} - -int nua_base_client_check_restart(nua_client_request_t *cr, - int status, - char const *phrase, - sip_t const *sip) -{ - nua_handle_t *nh = cr->cr_owner; - nta_outgoing_t *orq; - - if (status == 302 || status == 305) { - sip_route_t r[1]; - - if (!can_redirect(sip->sip_contact, cr->cr_method)) - return 0; - - switch (status) { - case 302: - if (nua_dialog_zap(nh, nh->nh_ds) == 0 && - nua_client_set_target(cr, sip->sip_contact->m_url) >= 0) - return nua_client_restart(cr, 100, "Redirected"); - break; - - case 305: - sip_route_init(r); - *r->r_url = *sip->sip_contact->m_url; - if (nua_dialog_zap(nh, nh->nh_ds) == 0 && - sip_add_dup(cr->cr_msg, cr->cr_sip, (sip_header_t *)r) >= 0) - return nua_client_restart(cr, 100, "Redirected via a proxy"); - break; - - default: - break; - } - } - - - if (status == 423) { - unsigned my_expires = 0; - - if (cr->cr_sip->sip_expires) - my_expires = cr->cr_sip->sip_expires->ex_delta; - - if (sip->sip_min_expires && - sip->sip_min_expires->me_delta > my_expires) { - sip_expires_t ex[1]; - sip_expires_init(ex); - ex->ex_delta = sip->sip_min_expires->me_delta; - - if (sip_add_dup(cr->cr_msg, NULL, (sip_header_t *)ex) < 0) - return 0; - - return nua_client_restart(cr, 100, "Re-Negotiating Expiration"); - } - } - - if ((status == 401 && sip->sip_www_authenticate) || - (status == 407 && sip->sip_proxy_authenticate)) { - int server = 0, proxy = 0; - - if (sip->sip_www_authenticate) - server = auc_challenge(&nh->nh_auth, nh->nh_home, - sip->sip_www_authenticate, - sip_authorization_class); - - if (sip->sip_proxy_authenticate) - proxy = auc_challenge(&nh->nh_auth, nh->nh_home, - sip->sip_proxy_authenticate, - sip_proxy_authorization_class); - - if (server >= 0 && proxy >= 0) { - int invalid = cr->cr_challenged && server + proxy == 0; - - cr->cr_challenged = 1; - - if (invalid) { - /* Bad username/password */ - SU_DEBUG_7(("nua(%p): bad credentials, clearing them\n", (void *)nh)); - auc_clear_credentials(&nh->nh_auth, NULL, NULL); - } - else if (auc_has_authorization(&nh->nh_auth)) - return nua_client_restart(cr, 100, "Request Authorized by Cache"); - - orq = cr->cr_orq, cr->cr_orq = NULL; - - cr->cr_waiting = cr->cr_wait_for_cred = 1; - nua_client_report(cr, status, phrase, NULL, orq, NULL); - nta_outgoing_destroy(orq); - cr->cr_status = 0, cr->cr_phrase = NULL; - nua_client_request_unref(cr); - - return 1; - } - } - - if (500 <= status && status < 600 && - sip->sip_retry_after && - sip->sip_retry_after->af_delta < 32) { - su_timer_t *timer; - char phrase[18]; /* Retry After XXXX\0 */ - - timer = su_timer_create(su_root_task(nh->nh_nua->nua_root), 0); - - if (su_timer_set_interval(timer, nua_client_restart_after, cr, - sip->sip_retry_after->af_delta * 1000) < 0) { - su_timer_destroy(timer); - return 0; /* Too bad */ - } - - cr->cr_timer = timer; /* This takes over reference from orq */ - - snprintf(phrase, sizeof phrase, "Retry After %u", - (unsigned)sip->sip_retry_after->af_delta); - - orq = cr->cr_orq, cr->cr_orq = NULL; - cr->cr_waiting = 1; - nua_client_report(cr, 100, phrase, NULL, orq, NULL); - nta_outgoing_destroy(orq); - cr->cr_status = 0, cr->cr_phrase = NULL; - return 1; - } - - return 0; /* This was a final response that cannot be restarted. */ -} - -/** Request restarted by timer */ -static -void nua_client_restart_after(su_root_magic_t *magic, - su_timer_t *timer, - nua_client_request_t *cr) -{ - cr->cr_waiting = 0; - su_timer_destroy(cr->cr_timer), cr->cr_timer = NULL; - nua_client_restart_request(cr, cr->cr_terminating, NULL); - nua_client_request_unref(cr); -} - -/** Restart request. - * - * @retval 1 if restarted - * @retval 0 otherwise - */ -int nua_client_restart(nua_client_request_t *cr, - int status, char const *phrase) -{ - nua_handle_t *nh = cr->cr_owner; - nta_outgoing_t *orq; - int error = -1, terminated, graceful; - - if (cr->cr_retry_count > NH_PGET(nh, retry_count)) - return 0; - - orq = cr->cr_orq, cr->cr_orq = NULL; assert(orq); - terminated = cr->cr_terminated, cr->cr_terminated = 0; - graceful = cr->cr_graceful, cr->cr_graceful = 0; - - cr->cr_restarting = 1; - error = nua_client_request_sendmsg(cr); - cr->cr_restarting = 0; - - if (error) { - cr->cr_graceful = graceful; - cr->cr_terminated = terminated; - assert(cr->cr_orq == NULL); - cr->cr_orq = orq; - return 0; - } - - nua_client_report(cr, status, phrase, NULL, orq, NULL); - - nta_outgoing_destroy(orq); - nua_client_request_unref(cr); /* ... reference used by old orq */ - - return 1; -} - -int nua_client_set_target(nua_client_request_t *cr, url_t const *target) -{ - url_t *new_target, *old_target = cr->cr_target; - - if (!target || target == old_target) - return 0; - - new_target = url_hdup(cr->cr_owner->nh_home, (url_t *)target); - if (!new_target) - return -1; - cr->cr_target = new_target; - if (old_target) - su_free(cr->cr_owner->nh_home, old_target); - - return 0; -} - -/**@internal - * Relay response event to the application. - * - * @todo - * If handle has already been marked as destroyed by nua_handle_destroy(), - * release the handle with nh_destroy(). - * - * @retval 0 if event was preliminary - * @retval 1 if event was final - * @retval 2 if event destroyed the handle, too. - */ -int nua_base_client_tresponse(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - tag_type_t tag, tag_value_t value, ...) -{ - ta_list ta; - int retval; - - if (cr->cr_event == nua_r_destroy) - return nua_base_client_response(cr, status, phrase, sip, NULL); - - ta_start(ta, tag, value); - retval = nua_base_client_response(cr, status, phrase, sip, ta_args(ta)); - ta_end(ta); - - return retval; -} - -/**@internal - * Relay response event to the application. - * - * @todo - * If handle has already been marked as destroyed by nua_handle_destroy(), - * release the handle with nh_destroy(). - * - * @retval 0 if event was preliminary - * @retval 1 if event was final - * @retval 2 if event destroyed the handle, too. - */ -int nua_base_client_response(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - tagi_t const *tags) -{ - nua_handle_t *nh = cr->cr_owner; - sip_method_t method = cr->cr_method; - nua_dialog_usage_t *du; - - cr->cr_reporting = 1, nh->nh_ds->ds_reporting = 1; - - if (nh->nh_auth && sip && - (sip->sip_authentication_info || sip->sip_proxy_authentication_info)) { - /* Collect nextnonce */ - if (sip->sip_authentication_info) - auc_info(&nh->nh_auth, - sip->sip_authentication_info, - sip_authorization_class); - if (sip->sip_proxy_authentication_info) - auc_info(&nh->nh_auth, - sip->sip_proxy_authentication_info, - sip_proxy_authorization_class); - } - - if ((method != sip_method_invite && status >= 200) || status >= 300) - nua_client_request_remove(cr); - - nua_client_report(cr, status, phrase, sip, cr->cr_orq, tags); - - if (status < 200 || - /* Un-ACKed 2XX response to INVITE */ - (method == sip_method_invite && status < 300 && !cr->cr_acked)) { - cr->cr_reporting = 0, nh->nh_ds->ds_reporting = 0; - return 1; - } - - nua_client_request_clean(cr); - - du = cr->cr_usage; - - if (cr->cr_terminated < 0) { - /* XXX - dialog has been terminated */; - nua_dialog_deinit(nh, nh->nh_ds), cr->cr_usage = NULL; - } - else if (du) { - if (cr->cr_terminated || - (!du->du_ready && status >= 300 && nua_client_is_bound(cr))) { - /* Usage has been destroyed */ - nua_dialog_usage_remove(nh, nh->nh_ds, du, cr, NULL), cr->cr_usage = NULL; - } - else if (cr->cr_graceful) { - /* Terminate usage gracefully */ - if (nua_dialog_usage_shutdown(nh, nh->nh_ds, du) > 0) - cr->cr_usage = NULL; - } - } - else if (cr->cr_terminated) { - if (nh->nh_ds->ds_usage == NULL) - nua_dialog_remove(nh, nh->nh_ds, NULL), cr->cr_usage = NULL; - } - - cr->cr_phrase = NULL; - cr->cr_reporting = 0, nh->nh_ds->ds_reporting = 0; - - if (method == sip_method_cancel) - return 1; - - return nua_client_next_request(nh->nh_ds->ds_cr, method == sip_method_invite); -} - -/** Send event, zap transaction but leave cr in list */ -int nua_client_report(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - nta_outgoing_t *orq, - tagi_t const *tags) -{ - nua_handle_t *nh; - - if (cr->cr_event == nua_r_destroy) - return 1; - - if (cr->cr_methods->crm_report) - return cr->cr_methods->crm_report(cr, status, phrase, sip, orq, tags); - - nh = cr->cr_owner; - - nua_stack_event(nh->nh_nua, nh, - nta_outgoing_getresponse(orq), - cr->cr_event, - status, phrase, - tags); - return 1; -} - -int nua_client_treport(nua_client_request_t *cr, - int status, char const *phrase, - sip_t const *sip, - nta_outgoing_t *orq, - tag_type_t tag, tag_value_t value, ...) -{ - int retval; - ta_list ta; - ta_start(ta, tag, value); - retval = nua_client_report(cr, status, phrase, sip, orq, ta_args(ta)); - ta_end(ta); - return retval; -} - -int nua_client_next_request(nua_client_request_t *cr, int invite) -{ - for (; cr; cr = cr->cr_next) { - if (cr->cr_method == sip_method_cancel) - continue; - - if (invite - ? cr->cr_method == sip_method_invite - : cr->cr_method != sip_method_invite) - break; - } - - if (cr && cr->cr_orq == NULL) { - nua_client_init_request(cr); - } - - return 1; -} - -nua_client_request_t * -nua_client_request_pending(nua_client_request_t const *cr) -{ - for (;cr;cr = cr->cr_next) - if (cr->cr_orq) - return (nua_client_request_t *)cr; - - return NULL; -} Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h Wed Feb 11 11:24:28 2009 @@ -77,6 +77,12 @@ typedef struct event_s event_t, nua_signal_data_t; +/** Extended event data. */ +typedef struct nua_ee_data { + nua_t *ee_nua; + nua_event_data_t ee_data[1]; +} nua_ee_data_t; + #define NONE ((void *)-1) typedef struct register_usage nua_registration_t; From mikej at freeswitch.org Wed Feb 11 09:24:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:24:55 -0600 Subject: [Freeswitch-svn] [commit] r11865 - freeswitch/trunk/libs/sofia-sip/win32 Message-ID: Author: mikej Date: Wed Feb 11 11:24:54 2009 New Revision: 11865 Log: Fri Feb 6 04:05:47 CST 2009 Pekka Pessi * build_sources.cmd: building su_tag_ref.c Modified: freeswitch/trunk/libs/sofia-sip/win32/build_sources.cmd Modified: freeswitch/trunk/libs/sofia-sip/win32/build_sources.cmd ============================================================================== --- freeswitch/trunk/libs/sofia-sip/win32/build_sources.cmd (original) +++ freeswitch/trunk/libs/sofia-sip/win32/build_sources.cmd Wed Feb 11 11:24:54 2009 @@ -119,6 +119,8 @@ %CHECK% %TAG_AWK% NO_DLL=1 %P%/url/url_tag.c < NUL %CHECK% +%TAG_AWK% NO_DLL=1 %P%/su/su_tag.c < NUL +%CHECK% @GOTO end :failed From mikej at freeswitch.org Wed Feb 11 09:25:19 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:25:19 -0600 Subject: [Freeswitch-svn] [commit] r11866 - in freeswitch/trunk/libs/sofia-sip/win32: libsofia-sip-ua libsofia-sip-ua-static Message-ID: Author: mikej Date: Wed Feb 11 11:25:18 2009 New Revision: 11866 Log: Fri Feb 6 04:54:56 CST 2009 Pekka Pessi * win32: added nua_client.[hc], nua_server.[hc] Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.dsp freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.vcproj Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp ============================================================================== --- freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp (original) +++ freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp Wed Feb 11 11:25:18 2009 @@ -697,6 +697,22 @@ # End Source File # Begin Source File +SOURCE="..\..\libsofia-sip-ua\nua\nua_client.c" +# End Source File +# Begin Source File + +SOURCE="..\..\libsofia-sip-ua\nua\nua_client.h" +# End Source File +# Begin Source File + +SOURCE="..\..\libsofia-sip-ua\nua\nua_server.c" +# End Source File +# Begin Source File + +SOURCE="..\..\libsofia-sip-ua\nua\nua_server.h" +# End Source File +# Begin Source File + SOURCE="..\..\libsofia-sip-ua\nua\nua_subnotref.c" # End Source File # Begin Source File Modified: freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj Wed Feb 11 11:25:18 2009 @@ -3137,6 +3137,58 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Author: mikej Date: Wed Feb 11 11:25:45 2009 New Revision: 11867 Log: Fri Feb 6 04:57:51 CST 2009 Pekka Pessi * open_c/build_sources.cmd: building su_tag_ref.c Modified: freeswitch/trunk/libs/sofia-sip/open_c/build_sources.cmd Modified: freeswitch/trunk/libs/sofia-sip/open_c/build_sources.cmd ============================================================================== --- freeswitch/trunk/libs/sofia-sip/open_c/build_sources.cmd (original) +++ freeswitch/trunk/libs/sofia-sip/open_c/build_sources.cmd Wed Feb 11 11:25:45 2009 @@ -113,6 +113,8 @@ %CHECK% %TAG_AWK% NO_DLL=1 LIST=soa_tag_list %P%/soa/soa_tag.c < NUL %CHECK% +%TAG_AWK% NO_DLL=1 %P%/su/su_tag.c < NUL +%CHECK% %TAG_AWK% NO_DLL=1 LIST=stun_tag_list %P%/stun/stun_tag.c < NUL %CHECK% %TAG_AWK% NO_DLL=1 %P%/tport/tport_tag.c < NUL From mikej at freeswitch.org Wed Feb 11 09:26:07 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:26:07 -0600 Subject: [Freeswitch-svn] [commit] r11868 - freeswitch/trunk/libs/sofia-sip/open_c/group Message-ID: Author: mikej Date: Wed Feb 11 11:26:07 2009 New Revision: 11868 Log: Fri Feb 6 04:58:13 CST 2009 Pekka Pessi * open_c: added nua_client.[hc], nua_server.[hc] Modified: freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp Modified: freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp ============================================================================== --- freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp (original) +++ freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp Wed Feb 11 11:26:07 2009 @@ -159,6 +159,8 @@ SOURCE nua.c SOURCE nua_common.c SOURCE nua_stack.c +SOURCE nua_client.c +SOURCE nua_server.c SOURCE nua_extension.c SOURCE nua_dialog.c SOURCE outbound.c From mikej at freeswitch.org Wed Feb 11 09:36:15 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:36:15 -0600 Subject: [Freeswitch-svn] [commit] r11869 - freeswitch/trunk/libs/win32/sofia Message-ID: Author: mikej Date: Wed Feb 11 11:36:15 2009 New Revision: 11869 Log: add new files to windows build Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj Wed Feb 11 11:36:15 2009 @@ -738,6 +738,14 @@ > + + + + @@ -790,6 +798,14 @@ > + + + + Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Wed Feb 11 11:36:15 2009 @@ -739,6 +739,14 @@ > + + + + @@ -791,6 +799,14 @@ > + + + + From mikej at freeswitch.org Wed Feb 11 09:37:22 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:37:22 -0600 Subject: [Freeswitch-svn] [commit] r11870 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 11:37:22 2009 New Revision: 11870 Log: Fri Feb 6 05:16:13 CST 2009 Pekka Pessi * nta: consider route as set if it is included when creating a leg Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:37:22 2009 @@ -1 +1 @@ -Wed Feb 11 11:22:43 CST 2009 +Wed Feb 11 11:37:16 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 11:37:22 2009 @@ -4134,7 +4134,7 @@ leg->leg_remote = sip_from_make(home, to_str); if (route && route != NONE) - leg->leg_route = sip_route_dup(home, route); + leg->leg_route = sip_route_dup(home, route), leg->leg_route_set = 1; if (contact && contact != NONE) { sip_contact_t m[1]; From mikej at freeswitch.org Wed Feb 11 09:37:39 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:37:39 -0600 Subject: [Freeswitch-svn] [commit] r11871 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Wed Feb 11 11:37:39 2009 New Revision: 11871 Log: Fri Feb 6 07:48:45 CST 2009 Pekka Pessi * run_test_sresolv: check for apparmor, too Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv Wed Feb 11 11:37:39 2009 @@ -168,6 +168,10 @@ echo $0: cannot start named >&2 ; if fgrep -i -e SELINUX=enforcing /etc/selinux/config >/dev/null 2>&1 ; then echo $0: perhaps you have to disable SELinux protection for named + elif test -d /etc/apparmor.d ; then + echo $0: perhaps you have to disable apparmor protection for named + else + echo $0: perhaps you have to disable apparmor or SELinux fi exit 77 } From mikej at freeswitch.org Wed Feb 11 09:38:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:38:16 -0600 Subject: [Freeswitch-svn] [commit] r11872 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:38:16 2009 New Revision: 11872 Log: Tue Feb 10 07:03:27 CST 2009 Pekka Pessi * nua_session.c: fixed race condition with ACK Ignore-this: 37d3e74b169e8a154b9734dbade74d84 Response message got destroyed after sending ACK if stack was run in multithreaded mode. Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:38:16 2009 @@ -1 +1 @@ -Wed Feb 11 11:37:16 CST 2009 +Wed Feb 11 11:38:10 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Wed Feb 11 11:38:16 2009 @@ -1021,13 +1021,14 @@ nua_dialog_state_t *ds = nh->nh_ds; nua_dialog_usage_t *du = cr->cr_usage; nua_session_usage_t *ss = nua_dialog_usage_private(du); + msg_t *response = nta_outgoing_getresponse(orq); unsigned next_state; int error; nh_referral_respond(nh, status, phrase); /* XXX - restarting after 401/407 */ nua_stack_event(nh->nh_nua, nh, - nta_outgoing_getresponse(orq), + response, cr->cr_event, status, phrase, tags); @@ -1049,6 +1050,8 @@ return 1; } + response = msg_ref_create(response); /* Keep reference to contents of sip */ + if (orq != cr->cr_orq && cr->cr_orq) { /* Being restarted */ next_state = nua_callstate_calling; } @@ -1144,6 +1147,8 @@ signal_call_state_change(nh, ss, status, phrase, next_state); + msg_destroy(response); + return 1; } From mikej at freeswitch.org Wed Feb 11 09:38:45 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:38:45 -0600 Subject: [Freeswitch-svn] [commit] r11873 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta Message-ID: Author: mikej Date: Wed Feb 11 11:38:45 2009 New Revision: 11873 Log: Tue Feb 10 07:06:03 CST 2009 Paulo Pizarro * nta.c: ACK and BYE orphan 200 OK matching with destroyed client transaction Ignore-this: c4f2b165dd2f197f129044e5c653cd8 ETSI Test cases SIP_CC_OE_CE_V_019, SIP_CC_OE_CE_TI_011_012 Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:38:45 2009 @@ -1 +1 @@ -Wed Feb 11 11:38:10 CST 2009 +Wed Feb 11 11:38:35 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Wed Feb 11 11:38:45 2009 @@ -3250,14 +3250,6 @@ && sip->sip_via && !sip->sip_via->v_next && agent_has_via(agent, sip->sip_via)) { agent->sa_stats->as_trless_200++; -#if nomore /* sf.net bug #1750691. Let UAS to cope with it. */ - if (agent->sa_is_a_uas) { - /* Orphan 200 Ok to INVITE. ACK and BYE it */ - SU_DEBUG_5(("nta: %03d %s %s\n", status, phrase, "is ACK&BYE")); - if (nta_msg_ackbye(agent, msg) != -1) - return; - } -#endif } SU_DEBUG_5(("nta: %03d %s %s\n", status, phrase, "was discarded")); @@ -3683,7 +3675,6 @@ */ int nta_msg_ackbye(nta_agent_t *agent, msg_t *msg) { -#if nomore sip_t *sip = sip_object(msg); msg_t *amsg = nta_msg_create(agent, 0); sip_t *asip = sip_object(amsg); @@ -3772,8 +3763,6 @@ err: msg_destroy(amsg); msg_destroy(bmsg); -#endif - (void)agent; (void)msg; return -1; } @@ -8963,6 +8952,7 @@ nta_agent_t *sa = orq->orq_agent; short orq_status = orq->orq_status; int internal = sip == NULL || (sip->sip_flags & NTA_INTERNAL_MSG) != 0; + int uas = sa->sa_is_a_uas; if (status < 100) status = 100; @@ -9006,8 +8996,15 @@ /* The state machines */ if (orq->orq_method == sip_method_invite) { - if (orq->orq_destroyed && status > 100 && status < 300) + + if (uas && orq->orq_destroyed && 200 <= status && status < 300) { + if (su_strcasecmp(sip->sip_to->a_tag, orq->orq_tag) != 0) { + /* Orphan 200 Ok to INVITE. ACK and BYE it */ + SU_DEBUG_5(("nta: Orphan 200 Ok send ACK&BYE\n")); + return nta_msg_ackbye(sa, msg); + } return -1; /* Proxy statelessly (RFC3261 section 16.11) */ + } outgoing_reset_timer(orq); @@ -9040,7 +9037,7 @@ if (outgoing_complete(orq)) return 0; - if (sip && sa->sa_is_a_uas) { + if (sip && uas) { /* * We silently discard duplicate final responses to INVITE below * with outgoing_duplicate() @@ -9055,10 +9052,14 @@ if (status >= 300) return outgoing_duplicate(orq, msg, sip); - if (sa->sa_is_a_uas) { + if (uas) { if (su_strcasecmp(sip->sip_to->a_tag, orq->orq_tag) == 0) /* Catch retransmission */ return outgoing_duplicate(orq, msg, sip); + + /* Orphan 200 Ok to INVITE. ACK and BYE it */ + SU_DEBUG_5(("nta: Orphan 200 Ok send ACK&BYE")); + return nta_msg_ackbye(sa, msg); } } From rupa at freeswitch.org Wed Feb 11 09:39:03 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:39:03 -0600 Subject: [Freeswitch-svn] [commit] r11874 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Wed Feb 11 11:39:03 2009 New Revision: 11874 Log: remove extra logs that were for debugging Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Wed Feb 11 11:39:03 2009 @@ -514,11 +514,9 @@ if ((!strcasecmp(var, "order_by") || !strcasecmp(var, "pre_order")) && !switch_strlen_zero(val)) { if(!strcasecmp(var, "order_by")) { thisorder = &order_by; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hit var of order_by\n"); } else if(!strcasecmp(var, "pre_order")) { thisorder = &pre_order; comma = ""; /* don't want leading comma */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hit var of pre_order\n"); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "param val is %s\n", val); if ((argc = switch_separate_string(val, ',', argv, (sizeof(argv) / sizeof(argv[0]))))) { From mikej at freeswitch.org Wed Feb 11 09:39:07 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:39:07 -0600 Subject: [Freeswitch-svn] [commit] r11875 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua Message-ID: Author: mikej Date: Wed Feb 11 11:39:07 2009 New Revision: 11875 Log: Tue Feb 10 07:11:52 CST 2009 Paulo Pizarro * nua/check_etsi: added test case SIP_CC_OE_CE_TI_011_012 Ignore-this: 245e07ad07c4e3d5e09ab93014594e43 Ensure that the IUT, when an INVITE client transaction has been in the Terminated state, on receipt of a retransmitted Success (200 OK) responses sends an ACK request until 64*T1 duration expires, after this, on receipt of a retransmitted Success (200 OK) responses does not send an ACK request. Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Wed Feb 11 11:39:07 2009 @@ -186,6 +186,7 @@ { nua_handle_t *nh; struct message *invite; + struct message *bye; s2_case("6.1.1", "SIP_CC_OE_CE_V_019", "Ensure that the IUT when an INVITE client transaction " @@ -209,28 +210,77 @@ respond_with_sdp(invite, d2, SIP_200_OK, TAG_END()); s2_free_message(invite); - fail_unless(s2_check_event(nua_i_fork, 200)); - fail_unless(s2_check_callstate(nua_callstate_ready)); fail_unless(s2_check_request(SIP_METHOD_ACK)); + bye = s2_wait_for_request(SIP_METHOD_BYE); + fail_if(!bye); + s2_respond_to(bye, d2, SIP_200_OK, TAG_END()); + s2_free_message(bye); + bye_by_nua(d1, nh, TAG_END()); nua_handle_destroy(nh); } END_TEST - START_TEST(SIP_CC_OE_CE_TI_008) { nua_handle_t *nh; struct message *invite; s2_case("6.1.2", "SIP_CC_OE_CE_TI_008", - "If an unreliable transport is used, ensure that the IUT, " - "when an INVITE client transaction is in the Completed state, " - "on receipt of final responses that matches the transaction, " - "still answer with an ACK request until timer D set to at " - "least 32 second expires."); + "If an unreliable transport is used, ensure that " + "the IUT, when an INVITE client transaction is in " + "the Completed state, on receipt of final responses " + "that matches the transaction, still answer with an " + "ACK request until timer D set to at least 32 second expires."); + + nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); + + invite = invite_sent_by_nua(nh, TAG_END()); + + s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); + fail_unless(s2_check_event(nua_r_invite, 404)); + fail_unless(s2_check_callstate(nua_callstate_terminated)); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + s2_fast_forward(5); + + s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + s2_fast_forward(5); + + s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + s2_fast_forward(21); + + s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + + s2_fast_forward(1); + + s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); + s2_free_message(invite); + fail_if(s2_check_request_timeout(SIP_METHOD_ACK, 500)); + + nua_handle_destroy(nh); +} +END_TEST + +START_TEST(SIP_CC_OE_CE_TI_011_012) +{ + nua_handle_t *nh; + struct message *invite; + + s2_case("6.1.2", "SIP_CC_OE_CE_TI_011_012", + "Ensure that the IUT, when an INVITE client transaction " + "has been in the Terminated state, on receipt of a " + "retransmitted Success (200 OK) responses sends an ACK " + "request until 64*T1 duration expires, after this, " + "on receipt of a retransmitted Success (200 OK) " + "responses does not send an ACK request."); nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END()); @@ -245,12 +295,18 @@ fail_unless(s2_check_request(SIP_METHOD_ACK)); s2_fast_forward(5); + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + s2_fast_forward(5); respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(32); + s2_fast_forward(21); + respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); + fail_unless(s2_check_request(SIP_METHOD_ACK)); + s2_fast_forward(1); respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); s2_free_message(invite); fail_if(s2_check_request_timeout(SIP_METHOD_ACK, 500)); @@ -266,8 +322,9 @@ TCase *tc = tcase_create("6.1 - ETSI CC OE - Call Establishment"); tcase_add_checked_fixture(tc, etsi_setup, etsi_teardown); { + tcase_add_test(tc, SIP_CC_OE_CE_V_019); tcase_add_test(tc, SIP_CC_OE_CE_TI_008); - if (XXX) tcase_add_test(tc, SIP_CC_OE_CE_V_019); + tcase_add_test(tc, SIP_CC_OE_CE_TI_011_012); } return tc; } From mikej at freeswitch.org Wed Feb 11 09:39:29 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:39:29 -0600 Subject: [Freeswitch-svn] [commit] r11876 - freeswitch/trunk/libs/sofia-sip/s2check Message-ID: Author: mikej Date: Wed Feb 11 11:39:29 2009 New Revision: 11876 Log: Tue Feb 10 07:18:22 CST 2009 Pekka Pessi * s2check: fixed s2_tcase_add_test() Modified: freeswitch/trunk/libs/sofia-sip/s2check/s2check.h freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c Modified: freeswitch/trunk/libs/sofia-sip/s2check/s2check.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/s2check/s2check.h (original) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2check.h Wed Feb 11 11:39:29 2009 @@ -33,6 +33,10 @@ * @author Pekka Pessi */ +#ifndef SU_CONFIG_H +#include +#endif + #include SOFIA_BEGIN_DECLS @@ -43,8 +47,6 @@ void s2_tcase_add_test(TCase *, TFun, char const *name); - - SOFIA_END_DECLS #endif /* S2CHECK_H */ Modified: freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c (original) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2tcase.c Wed Feb 11 11:39:29 2009 @@ -26,6 +26,13 @@ #if HAVE_CHECK +#include +#include +#include +#include + +#include + #if HAVE_FNMATCH_H #include #endif @@ -33,8 +40,6 @@ static char const * const default_patterns[] = { "*", NULL }; static char const * const *test_patterns = default_patterns; -#undef tcase_add_test - /** tcase_add_test() replacement. * * A special version of tcase_add_test() that inserts test function into @@ -50,7 +55,7 @@ if (strcmp(*patterns, "*")) { printf("%s: running\n", name); } - tcase_add_test(tc, tf, name, 0, 0, 1); + _tcase_add_test(tc, tf, name, 0, 0, 1); return; } } @@ -60,7 +65,7 @@ if (strcmp(*patterns, "*")) { printf("%s: running\n", name); } - tcase_add_test(tc, tf, name, 0, 0, 1); + _tcase_add_test(tc, tf, name, 0, 0, 1); return; } } From mikej at freeswitch.org Wed Feb 11 09:39:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:39:55 -0600 Subject: [Freeswitch-svn] [commit] r11877 - freeswitch/trunk/libs/sofia-sip/s2check Message-ID: Author: mikej Date: Wed Feb 11 11:39:55 2009 New Revision: 11877 Log: Tue Feb 10 07:18:55 CST 2009 Pekka Pessi * s2check: added s2util.h, s2_fast_forward() Modified: freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am Modified: freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am Wed Feb 11 11:39:55 2009 @@ -19,7 +19,8 @@ # Rules for building the targets libs2_a_SOURCES = s2check.h s2tcase.c \ - s2_localinfo.h s2_localinfo.c + s2_localinfo.h s2_localinfo.c \ + s2util.h s2time.c # ---------------------------------------------------------------------- # Install and distribution rules From mikej at freeswitch.org Wed Feb 11 09:40:21 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:40:21 -0600 Subject: [Freeswitch-svn] [commit] r11878 - freeswitch/trunk/libs/sofia-sip/s2check Message-ID: Author: mikej Date: Wed Feb 11 11:40:21 2009 New Revision: 11878 Log: Tue Feb 10 07:19:33 CST 2009 Pekka Pessi * s2check: added s2_dns Modified: freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am Modified: freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/s2check/Makefile.am Wed Feb 11 11:40:21 2009 @@ -20,6 +20,7 @@ libs2_a_SOURCES = s2check.h s2tcase.c \ s2_localinfo.h s2_localinfo.c \ + s2dns.h s2dns.c \ s2util.h s2time.c # ---------------------------------------------------------------------- From mikej at freeswitch.org Wed Feb 11 09:41:06 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:41:06 -0600 Subject: [Freeswitch-svn] [commit] r11879 - in freeswitch/trunk/libs/sofia-sip: libsofia-sip-ua/nua s2check Message-ID: Author: mikej Date: Wed Feb 11 11:41:05 2009 New Revision: 11879 Log: Tue Feb 10 07:17:20 CST 2009 Pekka Pessi * check_nua: moved s2_fast_forward() to s2 library Added: freeswitch/trunk/libs/sofia-sip/s2check/s2dns.c freeswitch/trunk/libs/sofia-sip/s2check/s2dns.h freeswitch/trunk/libs/sofia-sip/s2check/s2time.c freeswitch/trunk/libs/sofia-sip/s2check/s2util.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am Wed Feb 11 11:41:05 2009 @@ -52,7 +52,10 @@ check_etsi.c check_simple.c \ test_s2.h test_s2.c -check_nua_LDADD = $(nua_libs) @CHECK_LIBS@ +check_nua_LDADD = $(nua_libs) ${top_builddir}/s2check/libs2.a \ + @CHECK_LIBS@ + +check_nua_CFLAGS = $(CFLAGS) -I$(top_srcdir)/s2check nua_libs = libnua.la \ ../iptsec/libiptsec.la \ Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_etsi.c Wed Feb 11 11:41:05 2009 @@ -244,22 +244,22 @@ fail_unless(s2_check_callstate(nua_callstate_terminated)); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(21); + s2_fast_forward(21, s2->root);; s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(1); + s2_fast_forward(1, s2->root);; s2_respond_to(invite, d1, SIP_404_NOT_FOUND, TAG_END()); s2_free_message(invite); @@ -294,19 +294,19 @@ fail_unless(s2_check_callstate(nua_callstate_ready)); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(21); + s2_fast_forward(21, s2->root);; respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); fail_unless(s2_check_request(SIP_METHOD_ACK)); - s2_fast_forward(1); + s2_fast_forward(1, s2->root);; respond_with_sdp(invite, d1, SIP_200_OK, TAG_END()); s2_free_message(invite); fail_if(s2_check_request_timeout(SIP_METHOD_ACK, 500)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c Wed Feb 11 11:41:05 2009 @@ -335,7 +335,7 @@ s2_free_message(m); su_root_step(s2->root, 20); su_root_step(s2->root, 20); - s2_fast_forward(120); /* Default keepalive interval */ + s2_fast_forward(120, s2->root);; /* Default keepalive interval */ mark_point(); m = s2_wait_for_request(SIP_METHOD_OPTIONS); @@ -346,7 +346,7 @@ s2_free_message(m); su_root_step(s2->root, 20); su_root_step(s2->root, 20); - s2_fast_forward(120); /* Default keepalive interval */ + s2_fast_forward(120, s2->root);; /* Default keepalive interval */ mark_point(); receive_natted = "received=4.255.255.10"; @@ -400,7 +400,7 @@ receive_natted = "received=4.255.255.10"; - s2_fast_forward(3600); + s2_fast_forward(3600, s2->root);; mark_point(); m = s2_wait_for_request(SIP_METHOD_REGISTER); @@ -637,7 +637,7 @@ if (!tport_is_udp(m->tport)) /* Drop UDP */ break; s2_free_message(m); - s2_fast_forward(4); + s2_fast_forward(4, s2->root);; } tcp = tport_ref(m->tport); @@ -695,7 +695,7 @@ su_root_step(s2->root, 5); su_root_step(s2->root, 5); su_root_step(s2->root, 5); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; } } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Wed Feb 11 11:41:05 2009 @@ -1054,11 +1054,11 @@ SIPTAG_REQUIRE_STR("timer"), TAG_END()); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; ack = invite_timer_round(nh, "300;refresher=uac", rr); fail_if(ack->sip->sip_route && su_strmatch(ack->sip->sip_route->r_url->url_user, "record")); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; invite_timer_round(nh, "300;refresher=uac", NULL); bye_by_nua(nh, TAG_END()); @@ -1082,9 +1082,9 @@ SIPTAG_REQUIRE_STR("timer"), TAG_END()); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; invite_timer_round(nh, "300", NULL); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; invite_timer_round(nh, "300", NULL); bye_by_nua(nh, TAG_END()); @@ -1551,7 +1551,7 @@ /* We get nua_r_invite with 100 trying (and 500 in sip->sip_status) */ fail_unless(s2_check_event(nua_r_invite, 100)); - s2_fast_forward(10); + s2_fast_forward(10, s2->root);; fail_unless(s2_check_callstate(nua_callstate_calling)); @@ -1605,7 +1605,7 @@ fail_unless(s2_check_event(nua_i_ack, 200)); fail_unless(s2_check_callstate(nua_callstate_ready)); - s2_fast_forward(10); + s2_fast_forward(10, s2->root);; nua_set_hparams(nh, NUTAG_REFRESH_WITHOUT_SDP(1), TAG_END()); fail_unless(s2_check_event(nua_r_set_params, 200)); @@ -1752,7 +1752,7 @@ if (i == 3) break; fail_unless(s2_check_event(nua_r_invite, 100)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; } fail_unless(s2_check_event(nua_r_invite, 500)); @@ -1822,7 +1822,7 @@ if (i == 3) break; fail_unless(s2_check_event(nua_r_invite, 100)); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; } fail_unless(s2_check_event(nua_r_invite, 500)); @@ -2344,7 +2344,7 @@ SIPTAG_REQUIRE_STR("timer"), TAG_END()); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; invite_timer_round(nh, "300", NULL); nua_bye(nh, TAG_END()); @@ -2357,7 +2357,7 @@ s2_free_message(bye); fail_unless(s2_check_event(nua_r_bye, 407)); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; nua_authenticate(nh, NUTAG_AUTH("Digest:\"s2test\":abc:abc"), TAG_END()); bye = s2_wait_for_request(SIP_METHOD_BYE); @@ -2388,10 +2388,10 @@ SIPTAG_REQUIRE_STR("timer"), TAG_END()); - s2_fast_forward(300); + s2_fast_forward(300, s2->root);; invite_timer_round(nh, "300", NULL); - s2_fast_forward(140); + s2_fast_forward(140, s2->root);; nua_bye(nh, TAG_END()); @@ -2403,7 +2403,7 @@ s2_free_message(bye); fail_unless(s2_check_event(nua_r_bye, 407)); - s2_fast_forward(160); + s2_fast_forward(160, s2->root);; nua_authenticate(nh, NUTAG_AUTH(s2_auth_credentials), TAG_END()); bye = s2_wait_for_request(SIP_METHOD_BYE); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c Wed Feb 11 11:41:05 2009 @@ -290,7 +290,7 @@ s2_free_event(notify); /* Wait for refresh */ - s2_fast_forward(600); + s2_fast_forward(600, s2->root);; subscribe = s2_wait_for_request(SIP_METHOD_SUBSCRIBE); s2_respond_to(subscribe, dialog, SIP_200_OK, SIPTAG_EXPIRES_STR("600"), @@ -377,7 +377,7 @@ su_home_unref((void *)dialog), dialog = su_home_new(sizeof *dialog); fail_if(!dialog); - s2_fast_forward(5); + s2_fast_forward(5, s2->root);; /* nua re-establishes the subscription */ notify = subscription_by_nua(nh, nua_substate_embryonic, TAG_END()); s2_free_event(notify); @@ -460,7 +460,7 @@ fail_unless(s2_check_substate(event, nua_substate_embryonic)); s2_free_event(event); - s2_fast_forward(600); + s2_fast_forward(600, s2->root);; event = s2_wait_for_event(nua_i_notify, 408); fail_if(!event); fail_unless(s2_check_substate(event, nua_substate_terminated)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c Wed Feb 11 11:41:05 2009 @@ -108,27 +108,6 @@ int s2_nua_thread = 0; -/* -- Delay scenarios --------------------------------------------------- */ - -static unsigned long time_offset; - -extern void (*_su_time)(su_time_t *tv); - -static void _su_time_fast_forwarder(su_time_t *tv) -{ - tv->tv_sec += time_offset; -} - -void s2_fast_forward(unsigned long seconds) -{ - if (_su_time == NULL) - _su_time = _su_time_fast_forwarder; - - time_offset += seconds; - - su_root_step(s2->root, 0); -} - /* -- NUA events -------------------------------------------------------- */ struct event *s2_remove_event(struct event *e) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h Wed Feb 11 11:41:05 2009 @@ -32,6 +32,8 @@ #include #include +#include "s2util.h" + struct tester { su_home_t home[1]; @@ -119,8 +121,6 @@ extern int s2_nua_thread; -void s2_fast_forward(unsigned long seconds); - void s2_case(char const *tag, char const *title, char const *description); Added: freeswitch/trunk/libs/sofia-sip/s2check/s2dns.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2dns.c Wed Feb 11 11:41:05 2009 @@ -0,0 +1,636 @@ +/* ---------------------------------------------------------------------- */ +/* S2 DNS server */ + +#include +#include +#include + +#include "s2dns.h" + +#include +#include +#include + +extern uint16_t _sres_default_port; /* Ugly hack */ + +static struct s2dns { + su_root_t *root; + su_socket_t socket; + su_wait_t wait[1]; + int reg; +} s2dns; + +static +struct s2_dns_response { + struct s2_dns_response *next; + uint16_t qlen, dlen; + struct m_header { + /* Header defined in RFC 1035 section 4.1.1 (page 26) */ + uint16_t mh_id; /* Query ID */ + uint16_t mh_flags; /* Flags */ + uint16_t mh_qdcount; /* Question record count */ + uint16_t mh_ancount; /* Answer record count */ + uint16_t mh_nscount; /* Authority records count */ + uint16_t mh_arcount; /* Additional records count */ + } header[1]; + uint8_t data[1500]; +} *zonedata; + +enum { + FLAGS_QR = (1 << 15), + FLAGS_QUERY = (0 << 11), + FLAGS_IQUERY = (1 << 11), + FLAGS_STATUS = (2 << 11), + FLAGS_OPCODE = (15 << 11), /* mask */ + FLAGS_AA = (1 << 10), /* */ + FLAGS_TC = (1 << 9), + FLAGS_RD = (1 << 8), + FLAGS_RA = (1 << 7), + + FLAGS_RCODE = (15 << 0), /* mask of return code */ + + FLAGS_OK = 0, /* No error condition. */ + FLAGS_FORMAT_ERR = 1, /* Server could not interpret query. */ + FLAGS_SERVER_ERR = 2, /* Server error. */ + FLAGS_NAME_ERR = 3, /* No domain name. */ + FLAGS_UNIMPL_ERR = 4, /* Not implemented. */ + FLAGS_AUTH_ERR = 5, /* Refused */ +}; + +uint32_t s2_dns_ttl = 3600; + +static int s2_dns_query(su_root_magic_t *magic, + su_wait_t *w, + su_wakeup_arg_t *arg); + +void s2_dns_setup(su_root_t *root) +{ + int n; + su_socket_t socket; + su_wait_t *wait; + su_sockaddr_t su[1]; + socklen_t sulen = sizeof su->su_sin; + + assert(root); + + memset(su, 0, sulen); + su->su_len = sulen; + su->su_family = AF_INET; + + /* su->su_port = htons(1053); */ + + socket = su_socket(su->su_family, SOCK_DGRAM, 0); + + n = bind(socket, &su->su_sa, sulen); assert(n == 0); + n = getsockname(socket, &su->su_sa, &sulen); assert(n == 0); + + _sres_default_port = ntohs(su->su_port); + + s2dns.root = root; + wait = s2dns.wait; + n = su_wait_create(wait, socket, SU_WAIT_IN); assert(n == 0); + s2dns.reg = su_root_register(root, wait, s2_dns_query, NULL, 0); + assert(s2dns.reg > 0); + s2dns.socket = socket; +} + +void s2_dns_teardown(void) +{ + struct s2_dns_response *r, *next; + su_root_deregister(s2dns.root, s2dns.reg), s2dns.reg = -1; + su_close(s2dns.socket), s2dns.socket = -1; + s2dns.root = NULL; + + for (r = zonedata, zonedata = NULL; r; r = next) { + next = r->next; + free(r); + } +} + +static int +s2_dns_query(su_root_magic_t *magic, + su_wait_t *w, + su_wakeup_arg_t *arg) +{ + union { + struct m_header header[1]; + uint8_t buffer[1500]; + } request; + ssize_t len; + + su_socket_t socket; + su_sockaddr_t su[1]; + socklen_t sulen = sizeof su; + uint16_t flags; + struct s2_dns_response *r; + size_t const hlen = sizeof r->header; + + (void)arg; + + socket = s2dns.socket; + + len = su_recvfrom(socket, request.buffer, sizeof request.buffer, 0, + &su->su_sa, &sulen); + + flags = ntohs(request.header->mh_flags); + + if (len < (ssize_t)hlen) + return 0; + if ((flags & FLAGS_QR) == FLAGS_QR) + return 0; + if ((flags & FLAGS_RCODE) != FLAGS_OK) + return 0; + + if ((flags & FLAGS_OPCODE) != FLAGS_QUERY + || ntohs(request.header->mh_qdcount) != 1) { + flags |= FLAGS_QR | FLAGS_UNIMPL_ERR; + request.header->mh_flags = htons(flags); + su_sendto(socket, request.buffer, len, 0, &su->su_sa, sulen); + return 0; + } + + for (r = zonedata; r; r = r->next) { + if (memcmp(r->data, request.buffer + hlen, r->qlen) == 0) + break; + } + + if (r) { + flags |= FLAGS_QR | FLAGS_AA | FLAGS_OK; + request.header->mh_flags = htons(flags); + request.header->mh_ancount = htons(r->header->mh_ancount); + request.header->mh_nscount = htons(r->header->mh_nscount); + request.header->mh_arcount = htons(r->header->mh_arcount); + memcpy(request.buffer + hlen + r->qlen, + r->data + r->qlen, + r->dlen - r->qlen); + len = hlen + r->dlen; + } + else { + flags |= FLAGS_QR | FLAGS_AA | FLAGS_NAME_ERR; + } + + request.header->mh_flags = htons(flags); + su_sendto(socket, request.buffer, len, 0, &su->su_sa, sulen); + return 0; +} + +static char const *default_domain; + +/* Set default domain */ +char const * +s2_dns_default(char const *domain) +{ + assert(domain == NULL || strlen(domain)); + assert(domain == NULL || domain[strlen(domain) - 1] == '.'); + return default_domain = domain; +} + +static void put_uint16(struct s2_dns_response *m, uint16_t h) +{ + uint8_t *p = m->data + m->dlen; + + assert(m->dlen + (sizeof h) < sizeof m->data); + p[0] = h >> 8; p[1] = h; + m->dlen += (sizeof h); +} + +static void put_uint32(struct s2_dns_response *m, uint32_t w) +{ + uint8_t *p = m->data + m->dlen; + + assert(m->dlen + (sizeof w) < sizeof m->data); + p[0] = w >> 24; p[1] = w >> 16; p[2] = w >> 8; p[3] = w; + m->dlen += (sizeof w); +} + +static void put_domain(struct s2_dns_response *m, char const *domain) +{ + char const *label; + size_t llen; + + if (domain && domain[0] == 0) + domain = default_domain; + + /* Copy domain into query label at a time */ + for (label = domain; label && label[0]; label += llen) { + assert(!(label[0] == '.' && label[1] != '\0')); + llen = strcspn(label, "."); + assert(llen < 64); + assert(m->dlen + llen + 1 < sizeof m->data); + m->data[m->dlen++] = (uint8_t)llen; + if (llen == 0) + return; + + memcpy(m->data + m->dlen, label, llen); + m->dlen += (uint16_t)llen; + + if (label[llen] == '\0') { + if (default_domain) { + label = default_domain, llen = 0; + continue; + } + break; + } + if (label[llen + 1]) + llen++; + } + + assert(m->dlen < sizeof m->data); + m->data[m->dlen++] = '\0'; +} + +static void put_string(struct s2_dns_response *m, char const *string) +{ + uint8_t *p = m->data + m->dlen; + size_t len = strlen(string); + + assert(len <= 255); + assert(m->dlen + len + 1 < sizeof m->data); + + *p++ = (uint8_t)len; + memcpy(p, string, len); + m->dlen += len + 1; +} + +static uint16_t put_len_at(struct s2_dns_response *m) +{ + uint16_t at = m->dlen; + assert(m->dlen + sizeof(at) < sizeof m->data); + memset(m->data + m->dlen, 0, sizeof(at)); + m->dlen += sizeof(at); + return at; +} + +static void put_len(struct s2_dns_response *m, uint16_t start) +{ + uint8_t *p = m->data + start; + uint16_t len = m->dlen - (start + 2); + p[0] = len >> 8; p[1] = len; +} + +static void put_data(struct s2_dns_response *m, void const *data, uint16_t len) +{ + assert(m->dlen + len < sizeof m->data); + memcpy(m->data + m->dlen, data, len); + m->dlen += len; +} + +static void put_query(struct s2_dns_response *m, char const *domain, + uint16_t qtype) +{ + assert(m->header->mh_qdcount == 0); + put_domain(m, domain), put_uint16(m, qtype), put_uint16(m, sres_class_in); + m->header->mh_qdcount++; + m->qlen = m->dlen; +} + +static void put_a_record(struct s2_dns_response *m, + char const *domain, + struct in_addr addr) +{ + uint16_t start; + + put_domain(m, domain); + put_uint16(m, sres_type_a); + put_uint16(m, sres_class_in); + put_uint32(m, s2_dns_ttl); + start = put_len_at(m); + + put_data(m, &addr, sizeof addr); + put_len(m, start); +} + +static void put_aaaa_record(struct s2_dns_response *m, + char const *domain, + struct in6_addr addr) +{ + uint16_t start; + + put_domain(m, domain); + put_uint16(m, sres_type_aaaa); + put_uint16(m, sres_class_in); + put_uint32(m, s2_dns_ttl); + start = put_len_at(m); + + put_data(m, &addr, sizeof addr); + put_len(m, start); +} + +static void put_cname_record(struct s2_dns_response *m, + char const *domain, + char const *cname) +{ + uint16_t start; + + put_domain(m, domain); + put_uint16(m, sres_type_cname); + put_uint16(m, sres_class_in); + put_uint32(m, s2_dns_ttl); + start = put_len_at(m); + + put_data(m, (void *)cname, strlen(cname)); + put_len(m, start); +} + +static void put_srv_record(struct s2_dns_response *m, + char const *domain, + uint16_t prio, uint16_t weight, + uint16_t port, char const *target) +{ + uint16_t start; + put_domain(m, domain); + put_uint16(m, sres_type_srv); + put_uint16(m, sres_class_in); + put_uint32(m, s2_dns_ttl); + start = put_len_at(m); + + put_uint16(m, prio); + put_uint16(m, weight); + put_uint16(m, port); + put_domain(m, target); + put_len(m, start); +} + +static void put_naptr_record(struct s2_dns_response *m, + char const *domain, + uint16_t order, uint16_t preference, + char const *flags, + char const *services, + char const *regexp, + char const *replace) +{ + uint16_t start; + put_domain(m, domain); + put_uint16(m, sres_type_naptr); + put_uint16(m, sres_class_in); + put_uint32(m, s2_dns_ttl); + start = put_len_at(m); + + put_uint16(m, order); + put_uint16(m, preference); + put_string(m, flags); + put_string(m, services); + put_string(m, regexp); + put_domain(m, replace); + put_len(m, start); +} + +static void put_srv_record_from_uri(struct s2_dns_response *m, + char const *base, + uint16_t prio, uint16_t weight, + url_t const *uri, char const *server) +{ + char domain[1024] = "none"; + char const *service = url_port(uri); + uint16_t port; + + if (uri->url_type == url_sips) { + strcpy(domain, "_sips._tcp."); + } + else if (uri->url_type == url_sip) { + if (url_has_param(uri, "transport=udp")) { + strcpy(domain, "_sip._udp."); + } + else if (url_has_param(uri, "transport=tcp")) { + strcpy(domain, "_sip._tcp."); + } + } + + assert(strcmp(domain, "none")); + + strcat(domain, base); + + if (m->header->mh_qdcount == 0) + put_query(m, domain, sres_type_srv); + + port = (uint16_t)strtoul(service, NULL, 10); + + put_srv_record(m, domain, prio, weight, port, server); +} + +static +void s2_add_to_zone(struct s2_dns_response *_r) +{ + size_t size = offsetof(struct s2_dns_response, data[_r->dlen]); + struct s2_dns_response *r = malloc(size); assert(r); + + memcpy(r, _r, size); + r->next = zonedata; + zonedata = r; +} + + +static void make_server(char *server, char const *prefix, char const *domain) +{ + strcpy(server, prefix); + + if (strlen(server) == 0 || server[strlen(server) - 1] != '.') { + strcat(server, "."); + strcat(server, domain); + } +} + +/** Set up DNS domain */ +void s2_dns_domain(char const *domain, int use_naptr, + /* char *prefix, int priority, url_t const *uri, */ + ...) +{ + struct s2_dns_response m[1]; + + char server[1024], target[1024]; + + va_list va0, va; + char const *prefix; int priority; url_t const *uri; + struct in_addr localhost; + + assert(s2dns.reg != 0); + + su_inet_pton(AF_INET, "127.0.0.1", &localhost); + + va_start(va0, use_naptr); + + if (use_naptr) { + memset(m, 0, sizeof m); + put_query(m, domain, sres_type_naptr); + + va_copy(va, va0); + + for (;(prefix = va_arg(va, char *));) { + char *services = NULL; + + priority = va_arg(va, int); + uri = va_arg(va, url_t *); assert(uri); + + if (uri->url_type == url_sips) { + services = "SIPS+D2T"; + strcpy(target, "_sips._tcp."); + } + else if (uri->url_type == url_sip) { + if (url_has_param(uri, "transport=udp")) { + services = "SIP+D2U"; + strcpy(target, "_sip._udp."); + } + else if (url_has_param(uri, "transport=tcp")) { + services = "SIP+D2T"; + strcpy(target, "_sip._tcp."); + } + } + + strcat(target, domain); + assert(services); + put_naptr_record(m, domain, 1, priority, "s", services, "", target); + m->header->mh_ancount++; + } + + va_end(va); + va_copy(va, va0); + + for (;(prefix = va_arg(va, char *));) { + priority = va_arg(va, int); + uri = va_arg(va, url_t *); assert(uri); + + make_server(server, prefix, domain); + + put_srv_record_from_uri(m, domain, priority, 10, uri, server); + m->header->mh_arcount++; + + put_a_record(m, server, localhost); + m->header->mh_arcount++; + } + va_end(va); + + s2_add_to_zone(m); + } + + /* Add SRV records */ + va_copy(va, va0); + for (;(prefix = va_arg(va, char *));) { + priority = va_arg(va, int); + uri = va_arg(va, url_t *); assert(uri); + + make_server(server, prefix, domain); + + memset(m, 0, sizeof m); + put_srv_record_from_uri(m, domain, priority, 10, uri, server); + m->header->mh_ancount++; + + strcpy(server, prefix); strcat(server, domain); + + put_a_record(m, server, localhost); + m->header->mh_arcount++; + + s2_add_to_zone(m); + } + va_end(va); + + /* Add A records */ + va_copy(va, va0); + for (;(prefix = va_arg(va, char *));) { + (void)va_arg(va, int); + (void)va_arg(va, url_t *); + + memset(m, 0, sizeof m); + make_server(server, prefix, domain); + + put_query(m, server, sres_type_a); + put_a_record(m, server, localhost); + m->header->mh_ancount++; + + s2_add_to_zone(m); + } + va_end(va); + + va_end(va0); +} + +/** Insert DNS record */ +void s2_dns_record( + char const *qdomain, unsigned qtype, + /* unsigned atype, domain, */ + ...) +{ + struct s2_dns_response m[1]; + char const *domain; + va_list va; + unsigned atype; + unsigned ancount = 0, arcount = 0; + + memset(m, 0, (sizeof m)); + + va_start(va, qtype); + + put_query(m, qdomain, qtype); + + for (domain = va_arg(va, char const *); domain; domain = va_arg(va, char const *)) { + if (!domain[0]) + domain = qdomain; + + if (strcmp(domain, "@") == 0) + domain = default_domain; + + atype = va_arg(va, unsigned); + + if (atype == qtype) + ancount++; + else + arcount++; + + switch(atype) { + case sres_type_naptr: + { + unsigned order = va_arg(va, unsigned); + unsigned priority = va_arg(va, unsigned); + char const *flags = va_arg(va, char const *); + char const *services = va_arg(va, char const *); + char const *regexp = va_arg(va, char const *); + char const *target = va_arg(va, char const *); + + put_naptr_record(m, domain, order, priority, + flags, services, regexp, target); + } + break; + case sres_type_srv: + { + unsigned priority = va_arg(va, unsigned); + unsigned weight = va_arg(va, unsigned); + unsigned port = va_arg(va, unsigned); + char const *target = va_arg(va, char const *); + + put_srv_record(m, domain, priority, weight, port, target); + } + break; + case sres_type_aaaa: +#if SU_HAVE_IN6 + { + char const *address = va_arg(va, char const *); /* target */ + struct in6_addr aaaa; + + inet_pton(AF_INET6, address, &aaaa); + + put_aaaa_record(m, domain, aaaa); + } + break; +#endif + case sres_type_a: + { + char const *address = va_arg(va, char const *); /* target */ + struct in_addr a; + + inet_pton(AF_INET, address, &a); + + put_a_record(m, domain, a); + } + break; + case sres_type_cname: + put_cname_record(m, domain, va_arg(va, char const *)); + } + } + + m->header->mh_ancount = ancount; + m->header->mh_arcount = arcount; + + s2_add_to_zone(m); + + va_end(va); +} + Added: freeswitch/trunk/libs/sofia-sip/s2check/s2dns.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2dns.h Wed Feb 11 11:41:05 2009 @@ -0,0 +1,57 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef S2DNS_H +/** Defined when has been included. */ +#define S2DNS_H + +/**@internal @file s2dns.h + * + * @brief Internal DNS server for testing + * + * @author Pekka Pessi + */ + +#include + +SOFIA_BEGIN_DECLS + +void s2_dns_setup(su_root_t *root); +void s2_dns_teardown(void); + +char const *s2_dns_default(char const *domain); + +extern uint32_t s2_dns_ttl; + +void s2_dns_domain(char const *domain, int use_naptr, + /* char *prefix, int priority, url_t const *uri, */ + ...); + +void s2_dns_record(char const *domain, unsigned qtype, + /* unsigned atype, domain, */ + ...); + +SOFIA_END_DECLS + +#endif /* S2DNS_H */ Added: freeswitch/trunk/libs/sofia-sip/s2check/s2time.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2time.c Wed Feb 11 11:41:05 2009 @@ -0,0 +1,51 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#include "config.h" + +#include "s2util.h" + +/* -- Delay scenarios --------------------------------------------------- */ + +static unsigned long time_offset; + +extern void (*_su_time)(su_time_t *tv); + +static void _su_time_fast_forwarder(su_time_t *tv) +{ + tv->tv_sec += time_offset; +} + +void s2_fast_forward(unsigned long seconds, + su_root_t *root) +{ + if (_su_time == NULL) + _su_time = _su_time_fast_forwarder; + + time_offset += seconds; + + if (root) + su_root_step(root, 0); +} + Added: freeswitch/trunk/libs/sofia-sip/s2check/s2util.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/sofia-sip/s2check/s2util.h Wed Feb 11 11:41:05 2009 @@ -0,0 +1,44 @@ +/* + * This file is part of the Sofia-SIP package + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Pekka Pessi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef S2UTIL_H +/** Defined when has been included. */ +#define S2UTIL_H + +/**@internal @file s2util.h + * + * @brief Miscellaneous testing utilities + * + * @author Pekka Pessi + */ + +#include + +SOFIA_BEGIN_DECLS + +void s2_fast_forward(unsigned long seconds, su_root_t *root); + +SOFIA_END_DECLS + +#endif /* S2UTIL_H */ From mikej at freeswitch.org Wed Feb 11 09:41:38 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:41:38 -0600 Subject: [Freeswitch-svn] [commit] r11880 - in freeswitch/trunk/libs/sofia-sip: . rules Message-ID: Author: mikej Date: Wed Feb 11 11:41:38 2009 New Revision: 11880 Log: Tue Feb 10 07:07:33 CST 2009 Pekka Pessi * rules/silent.am: fixed make SOFIA_SILENT= Modified: freeswitch/trunk/libs/sofia-sip/.update freeswitch/trunk/libs/sofia-sip/rules/silent.am Modified: freeswitch/trunk/libs/sofia-sip/.update ============================================================================== --- freeswitch/trunk/libs/sofia-sip/.update (original) +++ freeswitch/trunk/libs/sofia-sip/.update Wed Feb 11 11:41:38 2009 @@ -1 +1 @@ -Wed Feb 11 11:38:35 CST 2009 +Wed Feb 11 11:41:31 CST 2009 Modified: freeswitch/trunk/libs/sofia-sip/rules/silent.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/rules/silent.am (original) +++ freeswitch/trunk/libs/sofia-sip/rules/silent.am Wed Feb 11 11:41:38 2009 @@ -14,14 +14,14 @@ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) -LINK = ${SOFIA_SILENT}test ${SOFIA_SILENT} != @ || echo ' LINK $@'; \ +LINK = ${SOFIA_SILENT}test "${SOFIA_SILENT}" != @ || echo ' LINK $@'; \ $(LIBTOOL) --tag=CC --mode=link $(LIBTOOL_FLAGS) \ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ # Rules from depend2.am (GENERIC = TRUE, SUBDIROBJ = FALSE, %FASTDEP% = am_fastdepCC) silenced. .c.o: - @test ${SOFIA_SILENT} != @ || echo ' COMPILE $@' + @test "${SOFIA_SILENT}" != @ || echo ' COMPILE $@' if am__fastdepCC ${SOFIA_SILENT}if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi From anthm at freeswitch.org Wed Feb 11 09:43:00 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:43:00 -0600 Subject: [Freeswitch-svn] [commit] r11881 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: anthm Date: Wed Feb 11 11:43:00 2009 New Revision: 11881 Log: add some stuff to tolerate more buggy switches Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Wed Feb 11 11:43:00 2009 @@ -173,7 +173,7 @@ PFLAG_3PCC_PROXY, PFLAG_CALLID_AS_UUID, PFLAG_UUID_AS_CALLID, - + PFLAG_SCROOGE, PFLAG_MAX } PFLAGS; Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Wed Feb 11 11:43:00 2009 @@ -1561,7 +1561,11 @@ } else if (!strcasecmp(var, "inbound-codec-negotiation")) { if (!strcasecmp(val, "greedy")) { sofia_set_pflag(profile, PFLAG_GREEDY); + } else if (!strcasecmp(val, "scrooge")) { + sofia_set_pflag(profile, PFLAG_GREEDY); + sofia_set_pflag(profile, PFLAG_SCROOGE); } else { + sofia_clear_pflag(profile, PFLAG_SCROOGE); sofia_clear_pflag(profile, PFLAG_GREEDY); } } else if (!strcasecmp(var, "disable-transcoding")) { @@ -2072,6 +2076,12 @@ } else if (!strcasecmp(var, "inbound-codec-negotiation")) { if (!strcasecmp(val, "greedy")) { sofia_set_pflag(profile, PFLAG_GREEDY); + } else if (!strcasecmp(val, "scrooge")) { + sofia_set_pflag(profile, PFLAG_GREEDY); + sofia_set_pflag(profile, PFLAG_SCROOGE); + } else { + sofia_clear_pflag(profile, PFLAG_SCROOGE); + sofia_clear_pflag(profile, PFLAG_GREEDY); } } else if (!strcasecmp(var, "disable-transcoding")) { if (switch_true(val)) { Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Wed Feb 11 11:43:00 2009 @@ -2271,14 +2271,21 @@ const char *val; const char *crypto = NULL; int got_crypto = 0, got_audio = 0, got_avp = 0, got_savp = 0, got_udptl = 0; + int scrooge = 0; switch_assert(tech_pvt != NULL); greedy = !!sofia_test_pflag(tech_pvt->profile, PFLAG_GREEDY); - - if (!greedy) { - if ((val = switch_channel_get_variable(channel, "sip_codec_negotiation")) && !strcasecmp(val, "greedy")) { - greedy = 1; + scrooge = !!sofia_test_pflag(tech_pvt->profile, PFLAG_SCROOGE); + + if (!greedy || !scrooge) { + if ((val = switch_channel_get_variable(channel, "sip_codec_negotiation"))) { + if (!strcasecmp(val, "greedy")) { + greedy = 1; + } else if (!strcasecmp(val, "scrooge")) { + scrooge = 1; + greedy = 1; + } } } @@ -2330,6 +2337,10 @@ sofia_glue_toggle_hold(tech_pvt, sendonly); } + if (!dptime) { + dptime = 20; + } + for (m = sdp->sdp_media; m; m = m->m_next) { sdp_connection_t *connection; @@ -2533,8 +2544,9 @@ continue; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio Codec Compare [%s:%d:%u]/[%s:%d:%u]\n", - rm_encoding, map->rm_pt, (int) map->rm_rate, imp->iananame, imp->ianacode, codec_rate); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio Codec Compare [%s:%d:%u:%d]/[%s:%d:%u:%d]\n", + rm_encoding, map->rm_pt, (int) map->rm_rate, ptime, + imp->iananame, imp->ianacode, codec_rate, imp->microseconds_per_packet / 1000); if (map->rm_pt < 96) { match = (map->rm_pt == imp->ianacode) ? 1 : 0; } else { @@ -2542,12 +2554,18 @@ } if (match) { - if ((ptime && ptime * 1000 != imp->microseconds_per_packet) || - map->rm_rate != codec_rate) { - near_rate = map->rm_rate; - near_match = imp; - match = 0; - continue; + if (scrooge) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, + "Bah HUMBUG! Sticking with %s@%uh@%ui\n", + imp->iananame, imp->samples_per_second, imp->microseconds_per_packet / 1000); + } else { + if ((ptime && ptime * 1000 != imp->microseconds_per_packet) || + map->rm_rate != codec_rate) { + near_rate = map->rm_rate; + near_match = imp; + match = 0; + continue; + } } mimp = imp; break; @@ -2561,18 +2579,18 @@ char *prefs[1]; char tmp[80]; int num; - - switch_snprintf(tmp, sizeof(tmp), "%s@%uk@%ui", near_match->iananame, near_rate ? near_rate : near_match->samples_per_second, ptime); - + + switch_snprintf(tmp, sizeof(tmp), "%s@%uh@%ui", near_match->iananame, near_rate ? near_rate : near_match->samples_per_second, ptime); + prefs[0] = tmp; num = switch_loadable_module_get_codecs_sorted(search, 1, prefs, 1); - + if (num) { mimp = search[0]; } else { mimp = near_match; } - + if (!maxptime || mimp->microseconds_per_packet / 1000 <= maxptime) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Substituting codec %s@%ui@%uh\n", mimp->iananame, mimp->microseconds_per_packet / 1000, mimp->samples_per_second); @@ -2581,6 +2599,7 @@ mimp = NULL; match = 0; } + } if (!match && greedy) { From anthm at freeswitch.org Wed Feb 11 09:59:49 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 11:59:49 -0600 Subject: [Freeswitch-svn] [commit] r11882 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: anthm Date: Wed Feb 11 11:59:49 2009 New Revision: 11882 Log: sip blows Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Wed Feb 11 11:59:49 2009 @@ -2337,10 +2337,6 @@ sofia_glue_toggle_hold(tech_pvt, sendonly); } - if (!dptime) { - dptime = 20; - } - for (m = sdp->sdp_media; m; m = m->m_next) { sdp_connection_t *connection; From mikej at freeswitch.org Wed Feb 11 10:08:05 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 12:08:05 -0600 Subject: [Freeswitch-svn] [commit] r11883 - in freeswitch/trunk/src/mod/applications: mod_fax mod_lcr mod_rss Message-ID: Author: mikej Date: Wed Feb 11 12:08:04 2009 New Revision: 11883 Log: fix windows build errors (MODAPP-212, FSBUILD-116, FSBUILD-117) Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Wed Feb 11 12:08:04 2009 @@ -403,8 +403,8 @@ switch_frame_t *read_frame = { 0 }; switch_frame_t write_frame = { 0 }; switch_codec_implementation_t read_impl = {0}; - switch_core_session_get_read_impl(session, &read_impl); int16_t *buf = NULL; + switch_core_session_get_read_impl(session, &read_impl); /* make sure we have a valid channel when starting the FAX application */ channel = switch_core_session_get_channel(session); Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Wed Feb 11 12:08:04 2009 @@ -242,8 +242,8 @@ static switch_bool_t test_lcr_sql(const char *sql) { char * tsql; - tsql = switch_mprintf(sql, "5555551212"); switch_bool_t retval = SWITCH_FALSE; + tsql = switch_mprintf(sql, "5555551212"); if (globals.odbc_dsn) { if(switch_odbc_handle_exec(globals.master_odbc, tsql, NULL) @@ -839,6 +839,7 @@ if(argc < 2) { goto usage; } + switch_assert(argv[0]); if(!strcasecmp(argv[0], "show") && !strcasecmp(argv[1], "profiles")) { for (hi = switch_hash_first(NULL, globals.profile_hash); hi; hi = switch_hash_next(hi)) { switch_hash_this(hi, NULL, NULL, &val); Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original) +++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Wed Feb 11 12:08:04 2009 @@ -185,8 +185,9 @@ const char *vcf = NULL; char *chanvars = switch_channel_build_param_string(channel, NULL, NULL); switch_codec_implementation_t read_impl = {0}; + uint32_t rate, interval; switch_core_session_get_read_impl(session, &read_impl); - uint32_t rate, interval = read_impl.microseconds_per_packet / 1000; + interval = read_impl.microseconds_per_packet / 1000; if ((vcf = switch_channel_get_variable(channel, "rss_alt_config"))) { cf = vcf; From mikej at freeswitch.org Wed Feb 11 10:17:54 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 12:17:54 -0600 Subject: [Freeswitch-svn] [commit] r11884 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 12:17:54 2009 New Revision: 11884 Log: silence warning Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Wed Feb 11 12:17:54 2009 @@ -421,7 +421,7 @@ su_virtual_port_t *base = (su_virtual_port_t *)self; if (base == NULL) - return (void *)(errno = EFAULT), NULL; + return (intptr_t)(errno = EFAULT), NULL; return base->sup_vtable->su_port_deferrable(self); } From intralanman at freeswitch.org Wed Feb 11 10:51:12 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 12:51:12 -0600 Subject: [Freeswitch-svn] [commit] r11885 - freeswitch/trunk/build/config Message-ID: Author: intralanman Date: Wed Feb 11 12:51:12 2009 New Revision: 11885 Log: improve odbc detection Modified: freeswitch/trunk/build/config/odbc.m4 Modified: freeswitch/trunk/build/config/odbc.m4 ============================================================================== --- freeswitch/trunk/build/config/odbc.m4 (original) +++ freeswitch/trunk/build/config/odbc.m4 Wed Feb 11 12:51:12 2009 @@ -24,6 +24,7 @@ AC_DEFUN([ODBC_LIB_WHERE1], [ saved_LIBS=$LIBS +saved_CFLAGS=$CFLAGS case "$host" in *darwin*) LIBS="$saved_LIBS -L$1 -lodbc -framework CoreFoundation" @@ -32,6 +33,7 @@ LIBS="$saved_LIBS -L$1 -lodbc" ;; esac +CFLAGS="$saved_CFLAGS -I$ac_cv_odbc_where_inc" AC_TRY_LINK( [#include ], [SQLHDBC con; @@ -39,6 +41,7 @@ [ac_cv_found_odbc_lib=yes], ac_cv_found_odbc_lib=no) LIBS=$saved_LIBS +CFLAGS=$saved_CFLAGS ]) AC_DEFUN([TEST_LIBPATH], [ @@ -115,6 +118,13 @@ fi fi + if test "X$with_odbc_include" != "X"; then + ac_cv_odbc_where_inc=$with_odbc_include + fi + if test "X$ac_cv_odbc_where_inc" = "X"; then + ODBC_INC_WHERE(/usr/include /usr/local/include) + fi + if test "X$with_odbc_lib" != "X"; then ac_cv_odbc_where_lib=$with_odbc_lib fi @@ -124,13 +134,6 @@ ]) fi - if test "X$with_odbc_include" != "X"; then - ac_cv_odbc_where_inc=$with_odbc_include - fi - if test "X$ac_cv_odbc_where_inc" = "X"; then - ODBC_INC_WHERE(/usr/include /usr/local/include) - fi - AC_MSG_CHECKING(whether to include odbc) if test "X$ac_cv_odbc_where_lib" = "X" -a "X$ac_cv_odbc_where_inc" = "X"; then ac_cv_found_odbc=no @@ -138,9 +141,9 @@ else ac_cv_found_odbc=yes AC_MSG_RESULT(yes) - ODBC_INC_DIR=$ac_cv_pcap_where_inc - ODBC_LIB_DIR=$ac_cv_pcap_where_lib - ODBC_INC_FLAGS="-I$ac_cv_pcap_where_inc" + ODBC_INC_DIR=$ac_cv_odbc_where_inc + ODBC_LIB_DIR=$ac_cv_odbc_where_lib + ODBC_INC_FLAGS="-I$ac_cv_odbc_where_inc" ODBC_LIB_FLAGS="-Wl,-lodbc" case "$host" in *darwin*) From mikej at freeswitch.org Wed Feb 11 10:58:24 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 12:58:24 -0600 Subject: [Freeswitch-svn] [commit] r11886 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Wed Feb 11 12:58:24 2009 New Revision: 11886 Log: fix build error on bsd Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h Wed Feb 11 12:58:24 2009 @@ -420,9 +420,10 @@ { su_virtual_port_t *base = (su_virtual_port_t *)self; - if (base == NULL) - return (intptr_t)(errno = EFAULT), NULL; - + if (base == NULL) { + errno = EFAULT; + return NULL; + } return base->sup_vtable->su_port_deferrable(self); } From intralanman at freeswitch.org Wed Feb 11 11:29:06 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 13:29:06 -0600 Subject: [Freeswitch-svn] [commit] r11887 - freeswitch/trunk/conf Message-ID: Author: intralanman Date: Wed Feb 11 13:29:06 2009 New Revision: 11887 Log: patch from FSCORE-291 Modified: freeswitch/trunk/conf/vars.xml Modified: freeswitch/trunk/conf/vars.xml ============================================================================== --- freeswitch/trunk/conf/vars.xml (original) +++ freeswitch/trunk/conf/vars.xml Wed Feb 11 13:29:06 2009 @@ -92,16 +92,25 @@ --> From intralanman at freeswitch.org Wed Feb 11 12:19:56 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:19:56 -0600 Subject: [Freeswitch-svn] [commit] r11888 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport Message-ID: Author: intralanman Date: Wed Feb 11 14:19:56 2009 New Revision: 11888 Log: patch from FSBUILD-118 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c Wed Feb 11 14:19:56 2009 @@ -57,6 +57,13 @@ #include #include +#if HAVE_FUNC +#elif HAVE_FUNCTION +#define __func__ __FUNCTION__ +#else +static char const __func__[] = "tport_tls"; +#endif + #if HAVE_SIGPIPE #include #endif Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c Wed Feb 11 14:19:56 2009 @@ -600,7 +600,7 @@ int err; unsigned errlevel = 3; char buf[TPORT_HOSTPORTSIZE]; - char const *what; + char const *what=""; s = su_socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (s == INVALID_SOCKET) From shaneb at freeswitch.org Wed Feb 11 12:23:51 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:23:51 -0600 Subject: [Freeswitch-svn] [commit] r11889 - freeswitch/trunk Message-ID: Author: shaneb Date: Wed Feb 11 14:23:51 2009 New Revision: 11889 Log: Updates and more info on build for examples Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Wed Feb 11 14:23:51 2009 @@ -12,7 +12,12 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") INCLUDE (CheckSymbolExists) INCLUDE (CheckIncludeFile) +INCLUDE (CheckIncludeFiles) +INCLUDE (CheckSymbolExists) INCLUDE (CheckFunctionExists) +INCLUDE (CheckLibraryExists) +INCLUDE (CheckTypeSize) +INCLUDE (CheckCXXSourceCompiles) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) @@ -123,14 +128,16 @@ # DO SNDFILE + FIND_PACKAGE (Sndfile) LINK_LIBRARIES (${SNDFILE_LIBRARY}) INCLUDE_DIRECTORIES (${SNDFILE_INCLUDE_DIR}) + # DO LIBEDIT -#FIND_PACKAGE (Libedit) -#LINK_LIBRARIES (${PATH_LIB_EDIT}) -#INCLUDE_DIRECTORIES (${PATH_INC_EDIT}) +FIND_PACKAGE (Libedit) +LINK_LIBRARIES (${PATH_LIB_EDIT}) +INCLUDE_DIRECTORIES (${PATH_INC_EDIT}) # DO SRTP LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/srtp/.libs/libcryptomath.a) @@ -166,13 +173,13 @@ #ADD_SUBDIRECTORY(libs/sqlite/) ADD_SUBDIRECTORY(libs/pcre/) ADD_SUBDIRECTORY(libs/stfu/) -ADD_SUBDIRECTORY(libs/libedit/) +#ADD_SUBDIRECTORY(libs/libedit/) ADD_SUBDIRECTORY(libs/srtp/) SET ( freeswitch_SRCS src/switch.c src/include/switch.h) ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) -TARGET_LINK_LIBRARIES(freeswitch libedit teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) +TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) From gmaruzz at freeswitch.org Wed Feb 11 12:24:59 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:24:59 -0600 Subject: [Freeswitch-svn] [commit] r11890 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk Message-ID: Author: gmaruzz Date: Wed Feb 11 14:24:59 2009 New Revision: 11890 Log: skypiax: multiple incoming calls to the same skype_name is working on FS, is working but deadlocks on * ;-) (gotta fix it soon) Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Wed Feb 11 14:24:59 2009 @@ -2316,6 +2316,41 @@ return RESULT_SUCCESS; } + +private_t *find_available_skypiax_interface(void) { + private_t *p; + int found = 0; + + /* lock the interfaces' list */ + LOKKA(&skypiax_iflock); + /* make a pointer to the first interface in the interfaces list */ + p = skypiax_iflist; + /* Search for the requested interface and verify if is unowned */ + while (p) { + if (!p->owner) { + DEBUGA_PBX("Interface is NOT OWNED by a channel\n", SKYPIAX_P_LOG); + found = 1; + /* we found the requested interface, bail out from the while loop */ + break; + } else { + /* interface owned by a channel */ + DEBUGA_PBX("Interface is OWNED by a channel\n", SKYPIAX_P_LOG); + } + /* not yet found, next please */ + p = p->next; + } + + /* lock the interfaces' list */ + UNLOCKA(&skypiax_iflock); + + + if(found) + return p; + else + return NULL; +} + + /************************************************/ #ifdef ASTERISK_VERSION_1_4 #ifndef AST_MODULE Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h Wed Feb 11 14:24:59 2009 @@ -415,6 +415,7 @@ int skypiax_pipe_write(int pipe, short *buf, int howmany); #endif /* WIN32 */ int skypiax_close_socket(unsigned int fd); +private_t *find_available_skypiax_interface(void); #define SKYPIAX_STATE_DOWN AST_STATE_DOWN #define SKYPIAX_STATE_RING AST_STATE_RING #define SKYPIAX_STATE_DIALING AST_STATE_DIALING Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c Wed Feb 11 14:24:59 2009 @@ -1187,6 +1187,32 @@ return 0; } +private_t *find_available_skypiax_interface(void) { + private_t *tech_pvt; + int found = 0; + int i; + + for (i = 0; !found && i < SKYPIAX_MAX_INTERFACES; i++) { + if (strlen(globals.SKYPIAX_INTERFACES[i].name)) { + int skype_state = 0; + + tech_pvt = &globals.SKYPIAX_INTERFACES[i]; + skype_state = tech_pvt->interface_state; + NOTICA("skype interface: %d, name: %s, state: %d\n", + SKYPIAX_P_LOG, + i, globals.SKYPIAX_INTERFACES[i].name, skype_state); + if (SKYPIAX_STATE_DOWN == skype_state || 0 == skype_state) { + found=1; + break; + } + } + } + + if(found) + return tech_pvt; + else + return NULL; +} /* For Emacs: * Local Variables: * mode:c Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h Wed Feb 11 14:24:59 2009 @@ -269,3 +269,4 @@ int skypiax_pipe_write(int pipe, short *buf, int howmany); #endif /* WIN32 */ int skypiax_close_socket(unsigned int fd); +private_t *find_available_skypiax_interface(void); Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c Wed Feb 11 14:24:59 2009 @@ -56,7 +56,7 @@ ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", SKYPIAX_P_LOG); skypiax_sleep(1000000); - skypiax_skype_write(tech_pvt, "PROTOCOL 6"); + skypiax_skype_write(tech_pvt, "PROTOCOL 7"); skypiax_sleep(10000); return 0; } @@ -224,17 +224,34 @@ skypiax_sleep(10000); sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); skypiax_skype_write(tech_pvt, msg_to_skype); - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, + NOTICA("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, id); strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); } else { - /* we're owned, we're in a call, let's refuse */ + /* we're owned, we're in a call, let's try to transfer */ + /************************** TODO + Checking here if it is possible to transfer this call to Test2 + -> GET CALL 288 CAN_TRANSFER Test2 + <- CALL 288 CAN_TRANSFER test2 TRUE + **********************************/ + + private_t *available_skypiax_interface; + + available_skypiax_interface = find_available_skypiax_interface(); + if(available_skypiax_interface){ + /* there is a skypiax interface idle, let's transfer the call to it */ + NOTICA ("Let's transfer the skype_call %s to %s interface, because we are already in a skypiax call(%s)\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id, available_skypiax_interface->name, id); + sprintf(msg_to_skype, "ALTER CALL %s TRANSFER %s", id, available_skypiax_interface->name); + } else{ + /* no skypiax interfaces idle, let's refuse the call */ + NOTICA ("Let's refuse the skype_call %s, because we are already in a skypiax call(%s) and no other skypiax interfaces are available\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id, id); sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); + } skypiax_skype_write(tech_pvt, msg_to_skype); skypiax_sleep(10000); - DEBUGA_SKYPE - ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", - SKYPIAX_P_LOG, id); + NOTICA + ("We (%s) have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", + SKYPIAX_P_LOG, tech_pvt->skype_call_id, id); } } else { /* we are calling out */ @@ -251,16 +268,22 @@ SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "MISSED")) { DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "FINISHED")) { - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - tech_pvt->skype_call_id[0] = '\0'; - if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "CANCELLED")) { + } else if (!strcasecmp(value, "FINISHED")) { + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + if(!strcasecmp(tech_pvt->skype_call_id, id)){ + NOTICA("skype_call %s is MY call, now I'm going DOWN\n", SKYPIAX_P_LOG, id); + tech_pvt->skype_call_id[0] = '\0'; + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + } + }else { + NOTICA("skype_call %s is NOT MY call, ignoring\n", SKYPIAX_P_LOG, id); + } + + } else if (!strcasecmp(value, "CANCELLED")) { tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", @@ -306,28 +329,33 @@ tech_pvt->interface_state = SKYPIAX_STATE_DIALING; strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "INPROGRESS")) { - char msg_to_skype[1024]; - tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); - tech_pvt->interface_state = SKYPIAX_STATE_UP; - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - tech_pvt->tcp_cli_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - start_audio_threads(tech_pvt); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - tech_pvt->tcp_srv_port); - skypiax_skype_write(tech_pvt, msg_to_skype); - tech_pvt->skype_callflow = SKYPIAX_STATE_UP; - if (!strlen(tech_pvt->session_uuid_str)) { - DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); - new_inbound_channel(tech_pvt); - } else { - DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); - outbound_channel_answered(tech_pvt); - } - } else { + } else if (!strcasecmp(value, "INPROGRESS")) { + char msg_to_skype[1024]; + + if(!strlen(tech_pvt->session_uuid_str) || !strlen(tech_pvt->skype_call_id) || !strcasecmp(tech_pvt->skype_call_id, id)){ + tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_UP; + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + start_audio_threads(tech_pvt); + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); + tech_pvt->skype_callflow = SKYPIAX_STATE_UP; + if (!strlen(tech_pvt->session_uuid_str)) { + DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); + new_inbound_channel(tech_pvt); + } else { + DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG); + outbound_channel_answered(tech_pvt); + } + }else { + NOTICA("I'm on %s, skype_call %s is NOT MY call, ignoring\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id, id); + } + } else { WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id, value); } @@ -636,7 +664,7 @@ memset(cli_out, 0, sizeof(cli_out)); len = send(fd, (char *) cli_out, sizeof(cli_out), 0); len = send(fd, (char *) cli_out, sizeof(cli_out)/2, 0); - DEBUGA_SKYPE("sent %d of zeros to keep the Skype client socket busy\n", SKYPIAX_P_LOG, sizeof(cli_out) + sizeof(cli_out)/2); + //DEBUGA_SKYPE("sent %d of zeros to keep the Skype client socket busy\n", SKYPIAX_P_LOG, sizeof(cli_out) + sizeof(cli_out)/2); } } @@ -1286,7 +1314,7 @@ return NULL; } - snprintf(buf, 512, "PROTOCOL 6"); + snprintf(buf, 512, "PROTOCOL 7"); if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", From gmaruzz at freeswitch.org Wed Feb 11 12:47:34 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:47:34 -0600 Subject: [Freeswitch-svn] [commit] r11891 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Wed Feb 11 14:47:34 2009 New Revision: 11891 Log: skypiax: corrected type in config file, a tcp port was used twice Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf Wed Feb 11 14:47:34 2009 @@ -1,121 +1,207 @@ -;; -;; -; Skypiax Asterisk Driver -; -; Configuration file -; lines beginning with semicolon (" are ignored (commented out) -; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; -; The first interface (named skypeclient) -[skypeclient] -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; general settings, valid on all platforms -; -; -; Default language -; +;;;;;;;; +;;;;;;;; +;;;;;;; Skypiax Asterisk Driver +;;;;;;; +;;;;;;; Configuration file +;;;;;;; lines beginning with semicolon (" are ignored (commented out) +;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;; +;;;;;;; The first interface (named skypeclient) +;;;;;;[skypeclient] +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;; general settings, valid on all platforms +;;;;;;; +;;;;;;; +;;;;;;; Default language +;;;;;;; +;;;;;;language=en +;;;;;;; +;;;;;;; Default context (in extensions.conf, can be overridden with @context syntax) +;;;;;;; +;;;;;;context=default +;;;;;;; +;;;;;;; Default extension (in extensions.conf) where incoming calls land +;;;;;;; +;;;;;;extension=s +;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;; Debugging settings, valid globally for all interfaces on all platforms +;;;;;;; +;;;;;;; the debug values are global for all the interfaces. +;;;;;;; +;;;;;;; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax +;;;;;;; +;;;;;;; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch +;;;;;;; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages +;;;;;;; +;;;;;;; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all +;;;;;;; debug_all activate all possible debugging info +;;;;;;; +;;;;;;;debug_all=yes +;;;;;;debug_skype=yes +;;;;;;debug_pbx=yes +;;;;;;;debug_sound=yes +;;;;;;;debug_locks=yes +;;;;;;;debug_monitorlocks=yes +;;;;;; +;;;;;;skype=yes ; legacy setting, leave it to yes +;;;;;;X11_display=:101 +;;;;;;tcp_cli_port=11234 +;;;;;;tcp_srv_port=11235 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels +;;;;;;; tweak it if you get horrible (or not hearable) sound +;;;;;;; +;;;;;;;boost can be positive or negative (-40 to +40) in db +;;;;;;;experiment to find which values are best for your computer +;;;;;;playback_boost=0 ; +;;;;;;capture_boost=0 ; +;;;;;; +;;; [skypiax1] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:101 +;;; tcp_cli_port=15576 +;;; tcp_srv_port=15577 +;;; skype_user=skypiax1 +;;; +;;; [skypiax2] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:102 +;;; tcp_cli_port=15578 +;;; tcp_srv_port=15579 +;;; skype_user=skypiax2 +;;; +;;; [skypiax3] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:103 +;;; tcp_cli_port=15580 +;;; tcp_srv_port=15581 +;;; skype_user=skypiax3 +;;; +[skypiax4] language=en -; -; Default context (in extensions.conf, can be overridden with @context syntax) -; context=default -; -; Default extension (in extensions.conf) where incoming calls land -; extension=s -; -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; Debugging settings, valid globally for all interfaces on all platforms -; -; the debug values are global for all the interfaces. -; -; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax -; -; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch -; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages -; -; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all -; debug_all activate all possible debugging info -; -;debug_all=yes debug_skype=yes debug_pbx=yes -;debug_sound=yes -;debug_locks=yes -;debug_monitorlocks=yes +skype=yes ; legacy setting, leave it to yes +playback_boost=0 ; +capture_boost=0 ; +X11_display=:104 +tcp_cli_port=15582 +tcp_srv_port=15583 +skype_user=skypiax4 +[skypiax5] +language=en +context=default +extension=s +debug_skype=yes +debug_pbx=yes +skype=yes ; legacy setting, leave it to yes +playback_boost=0 ; +capture_boost=0 ; +X11_display=:105 +tcp_cli_port=15584 +tcp_srv_port=15585 +skype_user=skypiax5 + +[skypiax6] +language=en +context=default +extension=s +debug_skype=yes +debug_pbx=yes skype=yes ; legacy setting, leave it to yes -X11_display=:101 -tcp_cli_port=11234 -tcp_srv_port=11235 -skype_user=gmaruzz2 -;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;; -; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels -; tweak it if you get horrible (or not hearable) sound -; -;boost can be positive or negative (-40 to +40) in db -;experiment to find which values are best for your computer playback_boost=0 ; capture_boost=0 ; +X11_display=:106 +tcp_cli_port=15586 +tcp_srv_port=16586 +skype_user=skypiax6 -;;;[skypeclient2] -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;; general settings, valid on all platforms -;;;; -;;;; -;;;; Default language -;;;; -;;;language=en -;;;; -;;;; Default context (in extensions.conf, can be overridden with @context syntax) -;;;; -;;;context=default -;;;; -;;;; Default extension (in extensions.conf) where incoming calls land -;;;; -;;;extension=s -;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;; Debugging settings, valid globally for all interfaces on all platforms -;;;; -;;;; the debug values are global for all the interfaces. -;;;; -;;;; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax -;;;; -;;;; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch -;;;; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages -;;;; -;;;; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all -;;;; debug_all activate all possible debugging info -;;;; -;;;;debug_all=yes -;;;debug_skype=yes -;;;debug_pbx=yes -;;;;debug_sound=yes -;;;;debug_locks=yes -;;;;debug_monitorlocks=yes -;;; -;;;skype=yes ; legacy setting, leave it to yes -;;;X11_display=:102 -;;;tcp_cli_port=11236 -;;;tcp_srv_port=11237 -;;;skype_user=gmaruzz3 -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels -;;;; tweak it if you get horrible (or not hearable) sound -;;;; -;;;;boost can be positive or negative (-40 to +40) in db -;;;;experiment to find which values are best for your computer -;;;playback_boost=0 ; -;;;capture_boost=0 ; -;;; -;;; +;;; [skypiax17] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:117 +;;; tcp_cli_port=15587 +;;; tcp_srv_port=15588 +;;; skype_user=skypiax17 +;;; +;;; [skypiax18] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:118 +;;; tcp_cli_port=15589 +;;; tcp_srv_port=15590 +;;; skype_user=skypiax18 +;;; +;;; [skypiax19] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:119 +;;; tcp_cli_port=15591 +;;; tcp_srv_port=15592 +;;; skype_user=skypiax19 +;;; +;;; [skypiax20] +;;; language=en +;;; context=default +;;; extension=s +;;; debug_skype=yes +;;; debug_pbx=yes +;;; skype=yes ; legacy setting, leave it to yes +;;; playback_boost=0 ; +;;; capture_boost=0 ; +;;; X11_display=:120 +;;; tcp_cli_port=15593 +;;; tcp_srv_port=15594 +;;; skype_user=skypiax20 +;;; +;;; +;;; From mikej at freeswitch.org Wed Feb 11 12:49:45 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:49:45 -0600 Subject: [Freeswitch-svn] [commit] r11892 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Wed Feb 11 14:49:45 2009 New Revision: 11892 Log: convert sofia TFLAGs to use array based flags. Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Feb 11 14:49:45 2009 @@ -373,7 +373,7 @@ switch_safe_free(stream.data); } - switch_clear_flag(tech_pvt, TFLAG_IO); + sofia_clear_flag(tech_pvt, TFLAG_IO); if (tech_pvt->read_codec.implementation) { switch_core_codec_destroy(&tech_pvt->read_codec); @@ -622,7 +622,7 @@ return SWITCH_STATUS_SUCCESS; } - if (!sofia_test_flag(frame, SFF_CNG)) { + if (!switch_test_flag(frame, SFF_CNG)) { switch_rtp_write_frame(tech_pvt->video_rtp_session, frame); } @@ -684,7 +684,7 @@ } /* Fast PASS! */ - if (sofia_test_flag((&tech_pvt->read_frame), SFF_PROXY_PACKET)) { + if (switch_test_flag((&tech_pvt->read_frame), SFF_PROXY_PACKET)) { sofia_clear_flag_locked(tech_pvt, TFLAG_READING); *frame = &tech_pvt->read_frame; return SWITCH_STATUS_SUCCESS; @@ -702,7 +702,7 @@ size_t bytes = 0; int frames = 1; - if (!sofia_test_flag((&tech_pvt->read_frame), SFF_CNG)) { + if (!switch_test_flag((&tech_pvt->read_frame), SFF_CNG)) { if (!tech_pvt->read_codec.implementation) { *frame = NULL; return SWITCH_STATUS_GENERR; @@ -878,7 +878,7 @@ sofia_set_flag_locked(tech_pvt, TFLAG_WRITING); - if (!sofia_test_flag(frame, SFF_CNG) && !sofia_test_flag(frame, SFF_PROXY_PACKET)) { + if (!switch_test_flag(frame, SFF_CNG) && !switch_test_flag(frame, SFF_PROXY_PACKET)) { if (tech_pvt->read_impl.encoded_bytes_per_packet) { bytes = tech_pvt->read_impl.encoded_bytes_per_packet; frames = ((int) frame->datalen / bytes); Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Wed Feb 11 14:49:45 2009 @@ -174,6 +174,8 @@ PFLAG_CALLID_AS_UUID, PFLAG_UUID_AS_CALLID, PFLAG_SCROOGE, + + /* No new flags below this line */ PFLAG_MAX } PFLAGS; @@ -189,38 +191,41 @@ } STUNFLAGS; typedef enum { - TFLAG_IO = (1 << 0), - TFLAG_CHANGE_MEDIA = (1 << 1), - TFLAG_OUTBOUND = (1 << 2), - TFLAG_READING = (1 << 3), - TFLAG_WRITING = (1 << 4), - TFLAG_HUP = (1 << 5), - TFLAG_RTP = (1 << 6), - TFLAG_BYE = (1 << 7), - TFLAG_ANS = (1 << 8), - TFLAG_EARLY_MEDIA = (1 << 9), - TFLAG_SECURE = (1 << 10), - TFLAG_VAD_IN = (1 << 11), - TFLAG_VAD_OUT = (1 << 12), - TFLAG_VAD = (1 << 13), - TFLAG_3PCC = (1 << 14), - TFLAG_READY = (1 << 15), - TFLAG_REINVITE = (1 << 16), - TFLAG_REFER = (1 << 17), - TFLAG_NOHUP = (1 << 18), - TFLAG_NOSDP_REINVITE = (1 << 19), - TFLAG_NAT = (1 << 20), - TFLAG_USEME = (1 << 21), - TFLAG_SIP_HOLD = (1 << 22), - TFLAG_INB_NOMEDIA = (1 << 23), - TFLAG_LATE_NEGOTIATION = (1 << 24), - TFLAG_SDP = (1 << 25), - TFLAG_VIDEO = (1 << 26), - TFLAG_TPORT_LOG = (1 << 27), - TFLAG_SENT_UPDATE = (1 << 28), - TFLAG_PROXY_MEDIA = (1 << 29), - TFLAG_HOLD_LOCK = (1 << 30), - TFLAG_3PCC_HAS_ACK = (1 << 31) + TFLAG_IO, + TFLAG_CHANGE_MEDIA, + TFLAG_OUTBOUND, + TFLAG_READING, + TFLAG_WRITING, + TFLAG_HUP, + TFLAG_RTP, + TFLAG_BYE, + TFLAG_ANS, + TFLAG_EARLY_MEDIA, + TFLAG_SECURE, + TFLAG_VAD_IN, + TFLAG_VAD_OUT, + TFLAG_VAD, + TFLAG_3PCC, + TFLAG_READY, + TFLAG_REINVITE, + TFLAG_REFER, + TFLAG_NOHUP, + TFLAG_NOSDP_REINVITE, + TFLAG_NAT, + TFLAG_USEME, + TFLAG_SIP_HOLD, + TFLAG_INB_NOMEDIA, + TFLAG_LATE_NEGOTIATION, + TFLAG_SDP, + TFLAG_VIDEO, + TFLAG_TPORT_LOG, + TFLAG_SENT_UPDATE, + TFLAG_PROXY_MEDIA, + TFLAG_HOLD_LOCK, + TFLAG_3PCC_HAS_ACK, + + /* No new flags below this line */ + TFLAG_MAX } TFLAGS; struct mod_sofia_globals { @@ -250,8 +255,11 @@ extern struct mod_sofia_globals mod_sofia_globals; typedef enum { - REG_FLAG_AUTHED = (1 << 0), - REG_FLAG_CALLERID = (1 << 1) + REG_FLAG_AUTHED, + REG_FLAG_CALLERID, + + /* No new flags below this line */ + REG_FLAG_MAX } reg_flags_t; typedef enum { @@ -332,7 +340,7 @@ int pinging; sofia_gateway_status_t status; uint32_t ping_freq; - uint32_t flags; + uint8_t flags[REG_FLAG_MAX]; int32_t retry_seconds; reg_state_t state; switch_memory_pool_t *pool; @@ -399,7 +407,7 @@ char *codec_string; int running; int dtmf_duration; - unsigned int flags; + uint8_t flags[TFLAG_MAX]; uint8_t pflags[PFLAG_MAX]; unsigned int mflags; unsigned int ndlb; @@ -450,7 +458,7 @@ struct private_object { sofia_private_t *sofia_private; - uint32_t flags; + uint8_t flags[TFLAG_MAX]; switch_payload_t agreed_pt; switch_core_session_t *session; switch_channel_t *channel; @@ -597,10 +605,14 @@ #define sofia_clear_pflag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->pflags[flag] = 0; switch_mutex_unlock(obj->flag_mutex); #define sofia_clear_pflag(obj, flag) (obj)->pflags[flag] = 0 -#define sofia_set_flag_locked(obj, flag) switch_set_flag_locked(obj, flag) -#define sofia_set_flag(obj, flag) switch_set_flag(obj, flag) -#define sofia_clear_flag_locked(obj, flag) switch_clear_flag_locked(obj, flag) -#define sofia_test_flag(obj, flag) switch_test_flag(obj, flag) +#define sofia_set_flag_locked(obj, flag) assert(obj->flag_mutex != NULL);\ +switch_mutex_lock(obj->flag_mutex);\ +(obj)->flags[flag] = 1;\ +switch_mutex_unlock(obj->flag_mutex); +#define sofia_set_flag(obj, flag) (obj)->flags[flag] = 1 +#define sofia_clear_flag(obj, flag) (obj)->flags[flag] = 0 +#define sofia_clear_flag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->flags[flag] = 0; switch_mutex_unlock(obj->flag_mutex); +#define sofia_test_flag(obj, flag) ((obj)->flags[flag] ? 1 : 0) /* Function Prototypes */ /*************************************************************************************************************************************************************/ Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Wed Feb 11 14:49:45 2009 @@ -1401,7 +1401,7 @@ if (switch_true(val)) { sofia_set_flag(profile, TFLAG_INB_NOMEDIA); } else { - switch_clear_flag(profile, TFLAG_INB_NOMEDIA); + sofia_clear_flag(profile, TFLAG_INB_NOMEDIA); } } else if (!strcasecmp(var, "force-subscription-expires")) { int tmp = atoi(val); @@ -1412,13 +1412,13 @@ if (switch_true(val)) { sofia_set_flag(profile, TFLAG_LATE_NEGOTIATION); } else { - switch_clear_flag(profile, TFLAG_LATE_NEGOTIATION); + sofia_clear_flag(profile, TFLAG_LATE_NEGOTIATION); } } else if (!strcasecmp(var, "inbound-proxy-media")) { if (switch_true(val)) { sofia_set_flag(profile, TFLAG_PROXY_MEDIA); } else { - switch_clear_flag(profile, TFLAG_PROXY_MEDIA); + sofia_clear_flag(profile, TFLAG_PROXY_MEDIA); } } else if (!strcasecmp(var, "inbound-use-callid-as-uuid")) { if (switch_true(val)) { @@ -4472,13 +4472,13 @@ if (rpid) { if (rpid->rpid_privacy) { if (!strcasecmp(rpid->rpid_privacy, "yes")) { - sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } else if (!strcasecmp(rpid->rpid_privacy, "full")) { - sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } else if (!strcasecmp(rpid->rpid_privacy, "name")) { - sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); + switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); } else if (!strcasecmp(rpid->rpid_privacy, "number")) { - sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); + switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); } else { switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME); switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER); @@ -4492,7 +4492,7 @@ if ((privacy = sip_privacy(sip))) { if(msg_params_find(privacy->priv_values, "id")) { - sofia_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); + switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } } Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Wed Feb 11 14:49:45 2009 @@ -463,6 +463,7 @@ void sofia_glue_attach_private(switch_core_session_t *session, sofia_profile_t *profile, private_object_t *tech_pvt, const char *channame) { char name[256]; + unsigned int x; switch_assert(session != NULL); switch_assert(profile != NULL); @@ -472,7 +473,12 @@ switch_mutex_lock(tech_pvt->flag_mutex); switch_mutex_lock(profile->flag_mutex); - tech_pvt->flags = profile->flags; + + /* copy flags from profile to the sofia private */ + for(x = 0; x < TFLAG_MAX; x++ ) { + tech_pvt->flags[x] = profile->flags[x]; + } + tech_pvt->profile = profile; profile->inuse++; switch_mutex_unlock(profile->flag_mutex); @@ -1289,16 +1295,16 @@ } /* TODO: We should use the new tags for making an rpid and add profile options to turn this on/off */ - if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME)) { + if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NAME)) { priv = "name"; - if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { + if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { priv = "full"; } - } else if (sofia_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { + } else if (switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER)) { priv = "full"; } - if (sofia_test_flag(caller_profile, SWITCH_CPF_SCREEN)) { + if (switch_test_flag(caller_profile, SWITCH_CPF_SCREEN)) { screen = "yes"; } From shaneb at freeswitch.org Wed Feb 11 12:56:38 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 14:56:38 -0600 Subject: [Freeswitch-svn] [commit] r11893 - freeswitch/trunk/freeswitch.xcodeproj Message-ID: Author: shaneb Date: Wed Feb 11 14:56:38 2009 New Revision: 11893 Log: Current XCODE (in-progress) Modified: freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj Modified: freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj ============================================================================== --- freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj (original) +++ freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj Wed Feb 11 14:56:38 2009 @@ -1,62 +1,10598 @@ // !$*UTF8*$! { - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXAggregateTarget section */ + 4D57E04D57E04D57E0000000 /* ALL_BUILD */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 4D6A204D6A204D6A20000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */; + buildPhases = ( + 4D59C04D59C04D59C0000000 /* CMake ReRun */, + 4D60B04D60B04D60B0000000 /* CMake Rules */, + ); + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + 10BA2F010BA2F010BA2F0000 /* PBXTargetDependency */, + 10BAA6010BAA6010BAA60000 /* PBXTargetDependency */, + 10BB18010BB18010BB180000 /* PBXTargetDependency */, + 10BB91010BB91010BB910000 /* PBXTargetDependency */, + 10BC0F010BC0F010BC0F0000 /* PBXTargetDependency */, + 10BC84010BC84010BC840000 /* PBXTargetDependency */, + 10BD02010BD02010BD020000 /* PBXTargetDependency */, + 10BD79010BD79010BD790000 /* PBXTargetDependency */, + 10BDF0010BDF0010BDF00000 /* PBXTargetDependency */, + 10BE69010BE69010BE690000 /* PBXTargetDependency */, + 10BEE0010BEE0010BEE00000 /* PBXTargetDependency */, + 10BF4F010BF4F010BF4F0000 /* PBXTargetDependency */, + 10BFC7010BFC7010BFC70000 /* PBXTargetDependency */, + 10C047010C047010C0470000 /* PBXTargetDependency */, + 10C0BE010C0BE010C0BE0000 /* PBXTargetDependency */, + 10C135010C135010C1350000 /* PBXTargetDependency */, + 10C1A4010C1A4010C1A40000 /* PBXTargetDependency */, + 10C229010C229010C2290000 /* PBXTargetDependency */, + 10C298010C298010C2980000 /* PBXTargetDependency */, + 10C318010C318010C3180000 /* PBXTargetDependency */, + 10C38F010C38F010C38F0000 /* PBXTargetDependency */, + 10C406010C406010C4060000 /* PBXTargetDependency */, + 10C47D010C47D010C47D0000 /* PBXTargetDependency */, + 10C4EC010C4EC010C4EC0000 /* PBXTargetDependency */, + 10C56C010C56C010C56C0000 /* PBXTargetDependency */, + 10C5E3010C5E3010C5E30000 /* PBXTargetDependency */, + 10C65A010C65A010C65A0000 /* PBXTargetDependency */, + 10C6D1010C6D1010C6D10000 /* PBXTargetDependency */, + 10C748010C748010C7480000 /* PBXTargetDependency */, + 10C7BF010C7BF010C7BF0000 /* PBXTargetDependency */, + 10C836010C836010C8360000 /* PBXTargetDependency */, + 10C8A5010C8A5010C8A50000 /* PBXTargetDependency */, + 10C925010C925010C9250000 /* PBXTargetDependency */, + 10C99F010C99F010C99F0000 /* PBXTargetDependency */, + 10CA1B010CA1B010CA1B0000 /* PBXTargetDependency */, + 10CA99010CA99010CA990000 /* PBXTargetDependency */, + 10CB10010CB10010CB100000 /* PBXTargetDependency */, + 10CB87010CB87010CB870000 /* PBXTargetDependency */, + 10CBFE010CBFE010CBFE0000 /* PBXTargetDependency */, + 10CC75010CC75010CC750000 /* PBXTargetDependency */, + 10CCEC010CCEC010CCEC0000 /* PBXTargetDependency */, + 10CD63010CD63010CD630000 /* PBXTargetDependency */, + 10CDDA010CDDA010CDDA0000 /* PBXTargetDependency */, + 10CE51010CE51010CE510000 /* PBXTargetDependency */, + 10CEC8010CEC8010CEC80000 /* PBXTargetDependency */, + 10CF3F010CF3F010CF3F0000 /* PBXTargetDependency */, + ); + name = ALL_BUILD; + productName = ALL_BUILD; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ +4DCB604DCB604DCB60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */ = {isa = PBXBuildFile; fileRef = 4DC9B04DC9B04DC9B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */; settings = { COMPILER_FLAGS = ""; }; }; +4DD5A04DD5A04DD5A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */ = {isa = PBXBuildFile; fileRef = 4DD0C04DD0C04DD0C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */; settings = { COMPILER_FLAGS = ""; }; }; +4E6F104E6F104E6F10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */ = {isa = PBXBuildFile; fileRef = 4E6D104E6D104E6D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */; settings = { COMPILER_FLAGS = ""; }; }; +4F0C604F0C604F0C60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */ = {isa = PBXBuildFile; fileRef = 4F0B504F0B504F0B50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */; settings = { COMPILER_FLAGS = ""; }; }; +4F17304F17304F1730000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h */ = {isa = PBXBuildFile; fileRef = 4F12504F12504F1250000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h */; settings = { COMPILER_FLAGS = ""; }; }; +4FB5604FB5604FB560000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */ = {isa = PBXBuildFile; fileRef = 4FB3D04FB3D04FB3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */; settings = { COMPILER_FLAGS = ""; }; }; +4FBFC04FBFC04FBFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h */ = {isa = PBXBuildFile; fileRef = 4FBAE04FBAE04FBAE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h */; settings = { COMPILER_FLAGS = ""; }; }; +609D90609D90609D90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */ = {isa = PBXBuildFile; fileRef = 609BD0609BD0609BD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */; settings = { COMPILER_FLAGS = ""; }; }; +60A7E060A7E060A7E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h */ = {isa = PBXBuildFile; fileRef = 60A2F060A2F060A2F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h */; settings = { COMPILER_FLAGS = ""; }; }; +614600614600614600000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */ = {isa = PBXBuildFile; fileRef = 614470614470614470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */; settings = { COMPILER_FLAGS = ""; }; }; +615060615060615060000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h */ = {isa = PBXBuildFile; fileRef = 614B80614B80614B80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h */; settings = { COMPILER_FLAGS = ""; }; }; +61EE9061EE9061EE90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */ = {isa = PBXBuildFile; fileRef = 61ED0061ED0061ED00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */; settings = { COMPILER_FLAGS = ""; }; }; +61F90061F90061F900000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h */ = {isa = PBXBuildFile; fileRef = 61F41061F41061F410000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h */; settings = { COMPILER_FLAGS = ""; }; }; +629710629710629710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */ = {isa = PBXBuildFile; fileRef = 629590629590629590000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */; settings = { COMPILER_FLAGS = ""; }; }; +62A18062A18062A180000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */ = {isa = PBXBuildFile; fileRef = 629CA0629CA0629CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */; settings = { COMPILER_FLAGS = ""; }; }; +62A76062A76062A760000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */ = {isa = PBXBuildFile; fileRef = 629CA0629CA0629CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */; settings = { COMPILER_FLAGS = ""; }; }; +62B47062B47062B470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/private/switch_core_pvt.h */ = {isa = PBXBuildFile; fileRef = 62B33062B33062B330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/private/switch_core_pvt.h */; settings = { COMPILER_FLAGS = ""; }; }; +635230635230635230000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */ = {isa = PBXBuildFile; fileRef = 635090635090635090000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */; settings = { COMPILER_FLAGS = ""; }; }; +63F06063F06063F060000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */ = {isa = PBXBuildFile; fileRef = 63EE6063EE6063EE60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */; settings = { COMPILER_FLAGS = ""; }; }; +648DF0648DF0648DF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */ = {isa = PBXBuildFile; fileRef = 648BF0648BF0648BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */; settings = { COMPILER_FLAGS = ""; }; }; +649820649820649820000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h */ = {isa = PBXBuildFile; fileRef = 649330649330649330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h */; settings = { COMPILER_FLAGS = ""; }; }; +6535F06535F06535F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */ = {isa = PBXBuildFile; fileRef = 6534B06534B06534B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */; settings = { COMPILER_FLAGS = ""; }; }; +65D58065D58065D580000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */ = {isa = PBXBuildFile; fileRef = 65D37065D37065D370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */; settings = { COMPILER_FLAGS = ""; }; }; +65E0B065E0B065E0B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h */ = {isa = PBXBuildFile; fileRef = 65D42065D42065D420000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h */; settings = { COMPILER_FLAGS = ""; }; }; +667E20667E20667E20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */ = {isa = PBXBuildFile; fileRef = 667D10667D10667D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */; settings = { COMPILER_FLAGS = ""; }; }; +671CA0671CA0671CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */ = {isa = PBXBuildFile; fileRef = 671AA0671AA0671AA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */; settings = { COMPILER_FLAGS = ""; }; }; +67BA7067BA7067BA70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */ = {isa = PBXBuildFile; fileRef = 67B87067B87067B870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */; settings = { COMPILER_FLAGS = ""; }; }; +6857E06857E06857E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */ = {isa = PBXBuildFile; fileRef = 6856E06856E06856E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */; settings = { COMPILER_FLAGS = ""; }; }; +68F67068F67068F670000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */ = {isa = PBXBuildFile; fileRef = 68F56068F56068F560000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */; settings = { COMPILER_FLAGS = ""; }; }; +699460699460699460000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */ = {isa = PBXBuildFile; fileRef = 6992B06992B06992B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */; settings = { COMPILER_FLAGS = ""; }; }; +6A33306A33306A3330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */ = {isa = PBXBuildFile; fileRef = 6A32206A32206A3220000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */; settings = { COMPILER_FLAGS = ""; }; }; +6AD1706AD1706AD170000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */ = {isa = PBXBuildFile; fileRef = 6ACF706ACF706ACF70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */; settings = { COMPILER_FLAGS = ""; }; }; +6B6F506B6F506B6F50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */ = {isa = PBXBuildFile; fileRef = 6B6D506B6D506B6D50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */; settings = { COMPILER_FLAGS = ""; }; }; +6C0CE06C0CE06C0CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */ = {isa = PBXBuildFile; fileRef = 6C0AE06C0AE06C0AE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */; settings = { COMPILER_FLAGS = ""; }; }; +6CAA206CAA206CAA20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */ = {isa = PBXBuildFile; fileRef = 6CA8706CA8706CA870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */; settings = { COMPILER_FLAGS = ""; }; }; +6D48F06D48F06D48F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */ = {isa = PBXBuildFile; fileRef = 6D47E06D47E06D47E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */; settings = { COMPILER_FLAGS = ""; }; }; +6DE7206DE7206DE720000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */ = {isa = PBXBuildFile; fileRef = 6DE5306DE5306DE530000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */; settings = { COMPILER_FLAGS = ""; }; }; +6DF1406DF1406DF140000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h */ = {isa = PBXBuildFile; fileRef = 6DEC606DEC606DEC60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h */; settings = { COMPILER_FLAGS = ""; }; }; +6E8EF06E8EF06E8EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */ = {isa = PBXBuildFile; fileRef = 6E8DE06E8DE06E8DE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */; settings = { COMPILER_FLAGS = ""; }; }; +6E99C06E99C06E99C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h */ = {isa = PBXBuildFile; fileRef = 6E94E06E94E06E94E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h */; settings = { COMPILER_FLAGS = ""; }; }; +6F37E06F37E06F37E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */ = {isa = PBXBuildFile; fileRef = 6F36606F36606F3660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */; settings = { COMPILER_FLAGS = ""; }; }; +6F42406F42406F4240000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h */ = {isa = PBXBuildFile; fileRef = 6F3D606F3D606F3D60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h */; settings = { COMPILER_FLAGS = ""; }; }; +100200010020001002000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */ = {isa = PBXBuildFile; fileRef = 1001E301001E301001E30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */; settings = { COMPILER_FLAGS = ""; }; }; +100BD60100BD60100BD60000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */ = {isa = PBXBuildFile; fileRef = 100BB90100BB90100BB90000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */; settings = { COMPILER_FLAGS = ""; }; }; +1015A801015A801015A80000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */ = {isa = PBXBuildFile; fileRef = 10158B010158B010158B0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */; settings = { COMPILER_FLAGS = ""; }; }; +101F810101F810101F810000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */ = {isa = PBXBuildFile; fileRef = 101F620101F620101F620000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */; settings = { COMPILER_FLAGS = ""; }; }; +10296C010296C010296C0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */ = {isa = PBXBuildFile; fileRef = 685660685660685660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */; settings = { COMPILER_FLAGS = ""; }; }; +103341010334101033410000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */ = {isa = PBXBuildFile; fileRef = 103321010332101033210000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */; settings = { COMPILER_FLAGS = ""; }; }; +1033E501033E501033E50000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h */ = {isa = PBXBuildFile; fileRef = 1033D701033D701033D70000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h */; settings = { COMPILER_FLAGS = ""; }; }; +103DC80103DC80103DC80000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */ = {isa = PBXBuildFile; fileRef = 103DBD0103DBD0103DBD0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */; settings = { COMPILER_FLAGS = ""; }; }; +103E880103E880103E880000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h */ = {isa = PBXBuildFile; fileRef = 103E2E0103E2E0103E2E0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h */; settings = { COMPILER_FLAGS = ""; }; }; +104861010486101048610000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c */ = {isa = PBXBuildFile; fileRef = 104845010484501048450000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c */; settings = { COMPILER_FLAGS = ""; }; }; +10490F010490F010490F0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h */ = {isa = PBXBuildFile; fileRef = 1048B501048B501048B50000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h */; settings = { COMPILER_FLAGS = ""; }; }; +1052D501052D501052D50000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */ = {isa = PBXBuildFile; fileRef = 1052CC01052CC01052CC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */; settings = { COMPILER_FLAGS = ""; }; }; +105CC10105CC10105CC10000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */ = {isa = PBXBuildFile; fileRef = 105CA40105CA40105CA40000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */; settings = { COMPILER_FLAGS = ""; }; }; +105D5C0105D5C0105D5C0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h */ = {isa = PBXBuildFile; fileRef = 105D150105D150105D150000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h */; settings = { COMPILER_FLAGS = ""; }; }; +106740010674001067400000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */ = {isa = PBXBuildFile; fileRef = 106723010672301067230000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */; settings = { COMPILER_FLAGS = ""; }; }; +1067DC01067DC01067DC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h */ = {isa = PBXBuildFile; fileRef = 106794010679401067940000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h */; settings = { COMPILER_FLAGS = ""; }; }; +1071AC01071AC01071AC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */ = {isa = PBXBuildFile; fileRef = 1071A301071A301071A30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */; settings = { COMPILER_FLAGS = ""; }; }; +10726C010726C010726C0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h */ = {isa = PBXBuildFile; fileRef = 107212010721201072120000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h */; settings = { COMPILER_FLAGS = ""; }; }; +107C460107C460107C460000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */ = {isa = PBXBuildFile; fileRef = 107C290107C290107C290000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */; settings = { COMPILER_FLAGS = ""; }; }; +107CE20107CE20107CE20000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h */ = {isa = PBXBuildFile; fileRef = 107C9A0107C9A0107C9A0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h */; settings = { COMPILER_FLAGS = ""; }; }; +1086C601086C601086C60000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */ = {isa = PBXBuildFile; fileRef = 1086AA01086AA01086AA0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */; settings = { COMPILER_FLAGS = ""; }; }; +108759010875901087590000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h */ = {isa = PBXBuildFile; fileRef = 1086B301086B301086B30000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h */; settings = { COMPILER_FLAGS = ""; }; }; +10914B010914B010914B0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c */ = {isa = PBXBuildFile; fileRef = 10912F010912F010912F0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c */; settings = { COMPILER_FLAGS = ""; }; }; +109B240109B240109B240000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */ = {isa = PBXBuildFile; fileRef = 109B080109B080109B080000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */; settings = { COMPILER_FLAGS = ""; }; }; +10A4FE010A4FE010A4FE0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */ = {isa = PBXBuildFile; fileRef = 10A4E1010A4E1010A4E10000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */; settings = { COMPILER_FLAGS = ""; }; }; +10A599010A599010A5990000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h */ = {isa = PBXBuildFile; fileRef = 10A552010A552010A5520000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h */; settings = { COMPILER_FLAGS = ""; }; }; +10AF69010AF69010AF690000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */ = {isa = PBXBuildFile; fileRef = 10AF60010AF60010AF600000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */; settings = { COMPILER_FLAGS = ""; }; }; +10B029010B029010B0290000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h */ = {isa = PBXBuildFile; fileRef = 10AFCF010AFCF010AFCF0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h */; settings = { COMPILER_FLAGS = ""; }; }; +/* End PBXBuildFile section */ + +/* Begin PBXBuildStyle section */ + 4B22B04B22B04B22B0000000 /* */ = { + isa = PBXBuildStyle; + }; + 4B24204B24204B2420000000 /* Debug */ = { + isa = PBXBuildStyle; + buildSettings = { + COPY_PHASE_STRIP = NO; + }; + name = Debug; + }; + 4B28404B28404B2840000000 /* Release */ = { + isa = PBXBuildStyle; + buildSettings = { + COPY_PHASE_STRIP = NO; + }; + name = Release; + }; + 4B2C304B2C304B2C30000000 /* MinSizeRel */ = { + isa = PBXBuildStyle; + buildSettings = { + COPY_PHASE_STRIP = NO; + }; + name = MinSizeRel; + }; + 4B30204B30204B3020000000 /* RelWithDebInfo */ = { + isa = PBXBuildStyle; + buildSettings = { + COPY_PHASE_STRIP = NO; + }; + name = RelWithDebInfo; + }; +/* End PBXBuildStyle section */ + +/* Begin PBXContainerItemProxy section */ + 10B9E1010B9E1010B9E10000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4DF1004DF1004DF100000000; + remoteInfo = freeswitch; + }; + 10BA57010BA57010BA570000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4E8A204E8A204E8A20000000; + remoteInfo = switch_apr; + }; + 10BACC010BACC010BACC0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4F32B04F32B04F32B0000000; + remoteInfo = switch_buffer; + }; + 10BB45010BB45010BB450000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 601AB0601AB0601AB0000000; + remoteInfo = switch_caller; + }; + 10BBC0010BBC0010BBC00000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 60C35060C35060C350000000; + remoteInfo = switch_channel; + }; + 10BC37010BC37010BC370000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 616BE0616BE0616BE0000000; + remoteInfo = switch_config; + }; + 10BCB3010BCB3010BCB30000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 621470621470621470000000; + remoteInfo = switch_console; + }; + 10BD2A010BD2A010BD2A0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 62CF6062CF6062CF60000000; + remoteInfo = switch_core; + }; + 10BDA1010BDA1010BDA10000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 636D20636D20636D20000000; + remoteInfo = switch_core_asr; + }; + 10BE1F010BE1F010BE1F0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 640B30640B30640B30000000; + remoteInfo = switch_core_codec; + }; + 10BE91010BE91010BE910000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 64B39064B39064B390000000; + remoteInfo = switch_core_db; + }; + 10BF08010BF08010BF080000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 655150655150655150000000; + remoteInfo = switch_core_directory; + }; + 10BF80010BF80010BF800000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 65FAF065FAF065FAF0000000; + remoteInfo = switch_core_event_hook; + }; + 10BFF8010BFF8010BFF80000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6699A06699A06699A0000000; + remoteInfo = switch_core_file; + }; + 10C06F010C06F010C06F0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 673770673770673770000000; + remoteInfo = switch_core_hash; + }; + 10C0E6010C0E6010C0E60000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 67D54067D54067D540000000; + remoteInfo = switch_core_io; + }; + 10C15D010C15D010C15D0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 687340687340687340000000; + remoteInfo = switch_core_media_bug; + }; + 10C1D3010C1D3010C1D30000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6911D06911D06911D0000000; + remoteInfo = switch_core_memory; + }; + 10C251010C251010C2510000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 69AFB069AFB069AFB0000000; + remoteInfo = switch_core_port_allocator; + }; + 10C2C9010C2C9010C2C90000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6A4E906A4E906A4E90000000; + remoteInfo = switch_core_rwlock; + }; + 10C340010C340010C3400000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6AEC706AEC706AEC70000000; + remoteInfo = switch_core_session; + }; + 10C3B7010C3B7010C3B70000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6B8A006B8A006B8A00000000; + remoteInfo = switch_core_speech; + }; + 10C42E010C42E010C42E0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6C27B06C27B06C27B0000000; + remoteInfo = switch_core_sqldb; + }; + 10C4A5010C4A5010C4A50000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6CC5706CC5706CC570000000; + remoteInfo = switch_core_state_machine; + }; + 10C51D010C51D010C51D0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6D64706D64706D6470000000; + remoteInfo = switch_core_timer; + }; + 10C594010C594010C5940000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6E0CB06E0CB06E0CB0000000; + remoteInfo = switch_dso; + }; + 10C60B010C60B010C60B0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6EB5406EB5406EB540000000; + remoteInfo = switch_event; + }; + 10C682010C682010C6820000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6F5DB06F5DB06F5DB0000000; + remoteInfo = switch_ivr; + }; + 10C6F9010C6F9010C6F90000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10039B010039B010039B0000; + remoteInfo = switch_ivr_async; + }; + 10C770010C770010C7700000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 100D710100D710100D710000; + remoteInfo = switch_ivr_bridge; + }; + 10C7E7010C7E7010C7E70000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 101743010174301017430000; + remoteInfo = switch_ivr_menu; + }; + 10C85E010C85E010C85E0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 102126010212601021260000; + remoteInfo = switch_ivr_originate; + }; + 10C8D6010C8D6010C8D60000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 102B140102B140102B140000; + remoteInfo = switch_ivr_play_say; + }; + 10C1DC010C1DC010C1DC0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10358C010358C010358C0000; + remoteInfo = switch_loadable_module; + }; + 10C9D5010C9D5010C9D50000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10402F010402F010402F0000; + remoteInfo = switch_log; + }; + 10CA4A010CA4A010CA4A0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 104AB60104AB60104AB60000; + remoteInfo = switch_odbc; + }; + 10CAC1010CAC1010CAC10000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10548E010548E010548E0000; + remoteInfo = switch_pcm; + }; + 10CB38010CB38010CB380000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 105F130105F130105F130000; + remoteInfo = switch_regex; + }; + 10CBAF010CBAF010CBAF0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 106992010699201069920000; + remoteInfo = switch_resample; + }; + 10CC26010CC26010CC260000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 107413010741301074130000; + remoteInfo = switch_rtp; + }; + 10CC9D010CC9D010CC9D0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 107E980107E980107E980000; + remoteInfo = switch_scheduler; + }; + 10CD14010CD14010CD140000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10890D010890D010890D0000; + remoteInfo = switch_stun; + }; + 10CD8B010CD8B010CD8B0000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1092F201092F201092F20000; + remoteInfo = switch_swig; + }; + 10CE02010CE02010CE020000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 109CCB0109CCB0109CCB0000; + remoteInfo = switch_time; + }; + 10CE79010CE79010CE790000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10A750010A750010A7500000; + remoteInfo = switch_utils; + }; + 10CEF0010CEF0010CEF00000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4D3C704D3C704D3C70000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 10B1D0010B1D0010B1D00000; + remoteInfo = switch_xml; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ +4DC9B04DC9B04DC9B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch.c"; sourceTree = ""; }; +4DD0C04DD0C04DD0C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch.h"; sourceTree = ""; }; +4E66004E66004E6600000000 /* freeswitch */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = freeswitch; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +4E6D104E6D104E6D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_apr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c"; sourceTree = ""; }; +4F04004F04004F0400000000 /* switch_apr */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_apr.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +4F0B504F0B504F0B50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_buffer.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c"; sourceTree = ""; }; +4F12504F12504F1250000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_buffer.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h"; sourceTree = ""; }; +4FAC804FAC804FAC80000000 /* switch_buffer */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_buffer.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +4FB3D04FB3D04FB3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_caller.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c"; sourceTree = ""; }; +4FBAE04FBAE04FBAE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_caller.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h"; sourceTree = ""; }; +609480609480609480000000 /* switch_caller */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_caller.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +609BD0609BD0609BD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_channel.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c"; sourceTree = ""; }; +60A2F060A2F060A2F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_channel.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h"; sourceTree = ""; }; +613D20613D20613D20000000 /* switch_channel */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_channel.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +614470614470614470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_config.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_config.c"; sourceTree = ""; }; +614B80614B80614B80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_config.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h"; sourceTree = ""; }; +61E5B061E5B061E5B0000000 /* switch_config */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_config.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +61ED0061ED0061ED00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_console.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_console.c"; sourceTree = ""; }; +61F41061F41061F410000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_console.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h"; sourceTree = ""; }; +628E40628E40628E40000000 /* switch_console */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_console.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +629590629590629590000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core.c"; sourceTree = ""; }; +629CA0629CA0629CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_core.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h"; sourceTree = ""; }; +62B33062B33062B330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/private/switch_core_pvt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_core_pvt.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/private/switch_core_pvt.h"; sourceTree = ""; }; +634940634940634940000000 /* switch_core */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +635090635090635090000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_asr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c"; sourceTree = ""; }; +63E72063E72063E720000000 /* switch_core_asr */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_asr.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +63EE6063EE6063EE60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_codec.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c"; sourceTree = ""; }; +6484B06484B06484B0000000 /* switch_core_codec */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_codec.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +648BF0648BF0648BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_db.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c"; sourceTree = ""; }; +649330649330649330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_core_db.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h"; sourceTree = ""; }; +652D60652D60652D60000000 /* switch_core_db */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_db.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6534B06534B06534B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_directory.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c"; sourceTree = ""; }; +65CBE065CBE065CBE0000000 /* switch_core_directory */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_directory.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +65D37065D37065D370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_event_hook.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c"; sourceTree = ""; }; +65D42065D42065D420000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_core_event_hook.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h"; sourceTree = ""; }; +667580667580667580000000 /* switch_core_event_hook */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_event_hook.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +667D10667D10667D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_file.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c"; sourceTree = ""; }; +671360671360671360000000 /* switch_core_file */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_file.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +671AA0671AA0671AA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_hash.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c"; sourceTree = ""; }; +67B13067B13067B130000000 /* switch_core_hash */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_hash.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +67B87067B87067B870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_io.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c"; sourceTree = ""; }; +684F10684F10684F10000000 /* switch_core_io */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_io.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6856E06856E06856E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_media_bug.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c"; sourceTree = ""; }; +68EDD068EDD068EDD0000000 /* switch_core_media_bug */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_media_bug.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +68F56068F56068F560000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_memory.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c"; sourceTree = ""; }; +698B70698B70698B70000000 /* switch_core_memory */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_memory.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6992B06992B06992B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_port_allocator.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c"; sourceTree = ""; }; +6A2A906A2A906A2A90000000 /* switch_core_port_allocator */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_port_allocator.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6A32206A32206A3220000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_rwlock.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c"; sourceTree = ""; }; +6AC8306AC8306AC830000000 /* switch_core_rwlock */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_rwlock.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6ACF706ACF706ACF70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_session.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c"; sourceTree = ""; }; +6B66106B66106B6610000000 /* switch_core_session */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_session.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6B6D506B6D506B6D50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_speech.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c"; sourceTree = ""; }; +6C03A06C03A06C03A0000000 /* switch_core_speech */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_speech.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6C0AE06C0AE06C0AE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_sqldb.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c"; sourceTree = ""; }; +6CA1306CA1306CA130000000 /* switch_core_sqldb */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_sqldb.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6CA8706CA8706CA870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_state_machine.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c"; sourceTree = ""; }; +6D40506D40506D4050000000 /* switch_core_state_machine */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_state_machine.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6D47E06D47E06D47E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_timer.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c"; sourceTree = ""; }; +6DDDF06DDDF06DDDF0000000 /* switch_core_timer */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_core_timer.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6DE5306DE5306DE530000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_dso.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c"; sourceTree = ""; }; +6DEC606DEC606DEC60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_dso.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h"; sourceTree = ""; }; +6E86906E86906E8690000000 /* switch_dso */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_dso.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6E8DE06E8DE06E8DE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_event.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_event.c"; sourceTree = ""; }; +6E94E06E94E06E94E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_event.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h"; sourceTree = ""; }; +6F2F106F2F106F2F10000000 /* switch_event */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_event.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +6F36606F36606F3660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c"; sourceTree = ""; }; +6F3D606F3D606F3D60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_ivr.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h"; sourceTree = ""; }; +10016D010016D010016D0000 /* switch_ivr */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +1001E301001E301001E30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_async.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c"; sourceTree = ""; }; +100B430100B430100B430000 /* switch_ivr_async */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr_async.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +100BB90100BB90100BB90000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_bridge.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c"; sourceTree = ""; }; +101515010151501015150000 /* switch_ivr_bridge */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr_bridge.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +10158B010158B010158B0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_menu.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c"; sourceTree = ""; }; +101EEC0101EEC0101EEC0000 /* switch_ivr_menu */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr_menu.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +101F620101F620101F620000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_originate.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c"; sourceTree = ""; }; +1028D001028D001028D00000 /* switch_ivr_originate */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr_originate.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +685660685660685660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_play_say.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c"; sourceTree = ""; }; +1032AB01032AB01032AB0000 /* switch_ivr_play_say */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_ivr_play_say.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +103321010332101033210000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_loadable_module.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c"; sourceTree = ""; }; +1033D701033D701033D70000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_loadable_module.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h"; sourceTree = ""; }; +103D460103D460103D460000 /* switch_loadable_module */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_loadable_module.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +103DBD0103DBD0103DBD0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_log.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_log.c"; sourceTree = ""; }; +103E2E0103E2E0103E2E0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_log.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h"; sourceTree = ""; }; +1047CF01047CF01047CF0000 /* switch_log */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_log.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +104845010484501048450000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_odbc.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c"; sourceTree = ""; }; +1048B501048B501048B50000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_odbc.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h"; sourceTree = ""; }; +105256010525601052560000 /* switch_odbc */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_odbc.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +1052CC01052CC01052CC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_pcm.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c"; sourceTree = ""; }; +105C2E0105C2E0105C2E0000 /* switch_pcm */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_pcm.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +105CA40105CA40105CA40000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_regex.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c"; sourceTree = ""; }; +105D150105D150105D150000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_regex.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h"; sourceTree = ""; }; +1066AD01066AD01066AD0000 /* switch_regex */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_regex.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +106723010672301067230000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_resample.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c"; sourceTree = ""; }; +106794010679401067940000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_resample.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h"; sourceTree = ""; }; +10712D010712D010712D0000 /* switch_resample */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_resample.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +1071A301071A301071A30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_rtp.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c"; sourceTree = ""; }; +107212010721201072120000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_rtp.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h"; sourceTree = ""; }; +107BB30107BB30107BB30000 /* switch_rtp */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_rtp.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +107C290107C290107C290000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_scheduler.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c"; sourceTree = ""; }; +107C9A0107C9A0107C9A0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_scheduler.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h"; sourceTree = ""; }; +108634010863401086340000 /* switch_scheduler */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_scheduler.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +1086AA01086AA01086AA0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_stun.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c"; sourceTree = ""; }; +1086B301086B301086B30000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_stun.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h"; sourceTree = ""; }; +1090B901090B901090B90000 /* switch_stun */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_stun.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +10912F010912F010912F0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_swig.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c"; sourceTree = ""; }; +109A920109A920109A920000 /* switch_swig */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_swig.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +109B080109B080109B080000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_time.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_time.c"; sourceTree = ""; }; +10A46B010A46B010A46B0000 /* switch_time */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_time.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +10A4E1010A4E1010A4E10000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_utils.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c"; sourceTree = ""; }; +10A552010A552010A5520000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_utils.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h"; sourceTree = ""; }; +10AEEA010AEEA010AEEA0000 /* switch_utils */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_utils.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +10AF60010AF60010AF600000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_xml.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c"; sourceTree = ""; }; +10AFCF010AFCF010AFCF0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch_xml.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h"; sourceTree = ""; }; +10B970010B970010B9700000 /* switch_xml */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libswitch_xml.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ /* Begin PBXGroup section */ - 27FC39A70CDBA14A00BC5B29 = { - isa = PBXGroup; - children = ( - ); - sourceTree = ""; - }; + 4B33F04B33F04B33F0000000 = { + isa = PBXGroup; + children = ( + 4B37204B37204B3720000000 /* Sources */, + 4B3AE04B3AE04B3AE0000000 /* Resources */, + 4D39F04D39F04D39F0000000 /* Products */, + ); + sourceTree = ""; + }; + 4B37204B37204B3720000000 /* Sources */ = { + isa = PBXGroup; + children = ( + 4B40804B40804B4080000000 /* freeswitch */, + 4B4E504B4E504B4E50000000 /* switch_apr */, + 4B56E04B56E04B56E0000000 /* switch_buffer */, + 4B64104B64104B6410000000 /* switch_caller */, + 4B70504B70504B7050000000 /* switch_channel */, + 4B7DA04B7DA04B7DA0000000 /* switch_config */, + 4B8AF04B8AF04B8AF0000000 /* switch_console */, + 4B98204B98204B9820000000 /* switch_core */, + 4BA6704BA6704BA670000000 /* switch_core_asr */, + 4BAF204BAF204BAF20000000 /* switch_core_codec */, + 4BB7C04BB7C04BB7C0000000 /* switch_core_db */, + 4BC4004BC4004BC400000000 /* switch_core_directory */, + 4BCE204BCE204BCE20000000 /* switch_core_event_hook */, + 4BDB804BDB804BDB80000000 /* switch_core_file */, + 4BE4004BE4004BE400000000 /* switch_core_hash */, + 4BECA04BECA04BECA0000000 /* switch_core_io */, + 4BF5804BF5804BF580000000 /* switch_core_media_bug */, + 4BFE704BFE704BFE70000000 /* switch_core_memory */, + 4C06104C06104C0610000000 /* switch_core_port_allocator */, + 4C0F204C0F204C0F20000000 /* switch_core_rwlock */, + 4C18F04C18F04C18F0000000 /* switch_core_session */, + 4C21B04C21B04C21B0000000 /* switch_core_speech */, + 4C2A504C2A504C2A50000000 /* switch_core_sqldb */, + 4C33204C33204C3320000000 /* switch_core_state_machine */, + 4C3BD04C3BD04C3BD0000000 /* switch_core_timer */, + 4C44604C44604C4460000000 /* switch_dso */, + 4C51F04C51F04C51F0000000 /* switch_event */, + 4C5F904C5F904C5F90000000 /* switch_ivr */, + 4C6D204C6D204C6D20000000 /* switch_ivr_async */, + 4C75C04C75C04C75C0000000 /* switch_ivr_bridge */, + 4C7E604C7E604C7E60000000 /* switch_ivr_menu */, + 4C87404C87404C8740000000 /* switch_ivr_originate */, + 4C90004C90004C9000000000 /* switch_ivr_play_say */, + 4C99604C99604C9960000000 /* switch_loadable_module */, + 4CA6F04CA6F04CA6F0000000 /* switch_log */, + 4CB4504CB4504CB450000000 /* switch_odbc */, + 4CC1F04CC1F04CC1F0000000 /* switch_pcm */, + 4CCAB04CCAB04CCAB0000000 /* switch_regex */, + 4CD8504CD8504CD850000000 /* switch_resample */, + 4CE5A04CE5A04CE5A0000000 /* switch_rtp */, + 4CF3304CF3304CF330000000 /* switch_scheduler */, + 4D00804D00804D0080000000 /* switch_stun */, + 4D0E204D0E204D0E20000000 /* switch_swig */, + 4D16F04D16F04D16F0000000 /* switch_time */, + 4D1FC04D1FC04D1FC0000000 /* switch_utils */, + 4D2D604D2D604D2D60000000 /* switch_xml */, + ); + name = Sources; + sourceTree = ""; + }; + 4B3AE04B3AE04B3AE0000000 /* Resources */ = { + isa = PBXGroup; + children = ( + ); + name = Resources; + sourceTree = ""; + }; + 4B40804B40804B4080000000 /* freeswitch */ = { + isa = PBXGroup; + children = ( + 4B44E04B44E04B44E0000000 /* Source Files */, + 4B49A04B49A04B49A0000000 /* Header Files */, + ); + name = freeswitch; + sourceTree = ""; + }; + 4B44E04B44E04B44E0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4DC9B04DC9B04DC9B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B49A04B49A04B49A0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4DD0C04DD0C04DD0C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B4E504B4E504B4E50000000 /* switch_apr */ = { + isa = PBXGroup; + children = ( + 4B52004B52004B5200000000 /* Source Files */, + ); + name = switch_apr; + sourceTree = ""; + }; + 4B52004B52004B5200000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4E6D104E6D104E6D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B56E04B56E04B56E0000000 /* switch_buffer */ = { + isa = PBXGroup; + children = ( + 4B5AA04B5AA04B5AA0000000 /* Source Files */, + 4B5F904B5F904B5F90000000 /* Header Files */, + ); + name = switch_buffer; + sourceTree = ""; + }; + 4B5AA04B5AA04B5AA0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4F0B504F0B504F0B50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B5F904B5F904B5F90000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4F12504F12504F1250000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B64104B64104B6410000000 /* switch_caller */ = { + isa = PBXGroup; + children = ( + 4B67404B67404B6740000000 /* Source Files */, + 4B6BD04B6BD04B6BD0000000 /* Header Files */, + ); + name = switch_caller; + sourceTree = ""; + }; + 4B67404B67404B6740000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4FB3D04FB3D04FB3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B6BD04B6BD04B6BD0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4FBAE04FBAE04FBAE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B70504B70504B7050000000 /* switch_channel */ = { + isa = PBXGroup; + children = ( + 4B74904B74904B7490000000 /* Source Files */, + 4B79204B79204B7920000000 /* Header Files */, + ); + name = switch_channel; + sourceTree = ""; + }; + 4B74904B74904B7490000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 609BD0609BD0609BD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B79204B79204B7920000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 60A2F060A2F060A2F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B7DA04B7DA04B7DA0000000 /* switch_config */ = { + isa = PBXGroup; + children = ( + 4B81E04B81E04B81E0000000 /* Source Files */, + 4B86404B86404B8640000000 /* Header Files */, + ); + name = switch_config; + sourceTree = ""; + }; + 4B81E04B81E04B81E0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 614470614470614470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B86404B86404B8640000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 614B80614B80614B80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B8AF04B8AF04B8AF0000000 /* switch_console */ = { + isa = PBXGroup; + children = ( + 4B8F204B8F204B8F20000000 /* Source Files */, + 4B93904B93904B9390000000 /* Header Files */, + ); + name = switch_console; + sourceTree = ""; + }; + 4B8F204B8F204B8F20000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 61ED0061ED0061ED00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4B93904B93904B9390000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 61F41061F41061F410000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4B98204B98204B9820000000 /* switch_core */ = { + isa = PBXGroup; + children = ( + 4B9C904B9C904B9C90000000 /* Source Files */, + 4BA0F04BA0F04BA0F0000000 /* Header Files */, + ); + name = switch_core; + sourceTree = ""; + }; + 4B9C904B9C904B9C90000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 629590629590629590000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BA0F04BA0F04BA0F0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 629CA0629CA0629CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h */, + 62B33062B33062B330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/private/switch_core_pvt.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4BA6704BA6704BA670000000 /* switch_core_asr */ = { + isa = PBXGroup; + children = ( + 4BAA904BAA904BAA90000000 /* Source Files */, + ); + name = switch_core_asr; + sourceTree = ""; + }; + 4BAA904BAA904BAA90000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 635090635090635090000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BAF204BAF204BAF20000000 /* switch_core_codec */ = { + isa = PBXGroup; + children = ( + 4BB3604BB3604BB360000000 /* Source Files */, + ); + name = switch_core_codec; + sourceTree = ""; + }; + 4BB3604BB3604BB360000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 63EE6063EE6063EE60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BB7C04BB7C04BB7C0000000 /* switch_core_db */ = { + isa = PBXGroup; + children = ( + 4BBC004BBC004BBC00000000 /* Source Files */, + 4BC0704BC0704BC070000000 /* Header Files */, + ); + name = switch_core_db; + sourceTree = ""; + }; + 4BBC004BBC004BBC00000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 648BF0648BF0648BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BC0704BC0704BC070000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 649330649330649330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4BC4004BC4004BC400000000 /* switch_core_directory */ = { + isa = PBXGroup; + children = ( + 4BC9604BC9604BC960000000 /* Source Files */, + ); + name = switch_core_directory; + sourceTree = ""; + }; + 4BC9604BC9604BC960000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6534B06534B06534B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BCE204BCE204BCE20000000 /* switch_core_event_hook */ = { + isa = PBXGroup; + children = ( + 4BD2304BD2304BD230000000 /* Source Files */, + 4BD6F04BD6F04BD6F0000000 /* Header Files */, + ); + name = switch_core_event_hook; + sourceTree = ""; + }; + 4BD2304BD2304BD230000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 65D37065D37065D370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BD6F04BD6F04BD6F0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 65D42065D42065D420000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4BDB804BDB804BDB80000000 /* switch_core_file */ = { + isa = PBXGroup; + children = ( + 4BDFA04BDFA04BDFA0000000 /* Source Files */, + ); + name = switch_core_file; + sourceTree = ""; + }; + 4BDFA04BDFA04BDFA0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 667D10667D10667D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BE4004BE4004BE400000000 /* switch_core_hash */ = { + isa = PBXGroup; + children = ( + 4BE8404BE8404BE840000000 /* Source Files */, + ); + name = switch_core_hash; + sourceTree = ""; + }; + 4BE8404BE8404BE840000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 671AA0671AA0671AA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BECA04BECA04BECA0000000 /* switch_core_io */ = { + isa = PBXGroup; + children = ( + 4BF0E04BF0E04BF0E0000000 /* Source Files */, + ); + name = switch_core_io; + sourceTree = ""; + }; + 4BF0E04BF0E04BF0E0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 67B87067B87067B870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BF5804BF5804BF580000000 /* switch_core_media_bug */ = { + isa = PBXGroup; + children = ( + 4BFA104BFA104BFA10000000 /* Source Files */, + ); + name = switch_core_media_bug; + sourceTree = ""; + }; + 4BFA104BFA104BFA10000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6856E06856E06856E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4BFE704BFE704BFE70000000 /* switch_core_memory */ = { + isa = PBXGroup; + children = ( + 4C02A04C02A04C02A0000000 /* Source Files */, + ); + name = switch_core_memory; + sourceTree = ""; + }; + 4C02A04C02A04C02A0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 68F56068F56068F560000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C06104C06104C0610000000 /* switch_core_port_allocator */ = { + isa = PBXGroup; + children = ( + 4C0B904C0B904C0B90000000 /* Source Files */, + ); + name = switch_core_port_allocator; + sourceTree = ""; + }; + 4C0B904C0B904C0B90000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6992B06992B06992B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C0F204C0F204C0F20000000 /* switch_core_rwlock */ = { + isa = PBXGroup; + children = ( + 4C14604C14604C1460000000 /* Source Files */, + ); + name = switch_core_rwlock; + sourceTree = ""; + }; + 4C14604C14604C1460000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6A32206A32206A3220000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C18F04C18F04C18F0000000 /* switch_core_session */ = { + isa = PBXGroup; + children = ( + 4C1D104C1D104C1D10000000 /* Source Files */, + ); + name = switch_core_session; + sourceTree = ""; + }; + 4C1D104C1D104C1D10000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6ACF706ACF706ACF70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C21B04C21B04C21B0000000 /* switch_core_speech */ = { + isa = PBXGroup; + children = ( + 4C25D04C25D04C25D0000000 /* Source Files */, + ); + name = switch_core_speech; + sourceTree = ""; + }; + 4C25D04C25D04C25D0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6B6D506B6D506B6D50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C2A504C2A504C2A50000000 /* switch_core_sqldb */ = { + isa = PBXGroup; + children = ( + 4C2E704C2E704C2E70000000 /* Source Files */, + ); + name = switch_core_sqldb; + sourceTree = ""; + }; + 4C2E704C2E704C2E70000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6C0AE06C0AE06C0AE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C33204C33204C3320000000 /* switch_core_state_machine */ = { + isa = PBXGroup; + children = ( + 4C37004C37004C3700000000 /* Source Files */, + ); + name = switch_core_state_machine; + sourceTree = ""; + }; + 4C37004C37004C3700000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6CA8706CA8706CA870000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C3BD04C3BD04C3BD0000000 /* switch_core_timer */ = { + isa = PBXGroup; + children = ( + 4C40004C40004C4000000000 /* Source Files */, + ); + name = switch_core_timer; + sourceTree = ""; + }; + 4C40004C40004C4000000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6D47E06D47E06D47E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C44604C44604C4460000000 /* switch_dso */ = { + isa = PBXGroup; + children = ( + 4C48D04C48D04C48D0000000 /* Source Files */, + 4C4D204C4D204C4D20000000 /* Header Files */, + ); + name = switch_dso; + sourceTree = ""; + }; + 4C48D04C48D04C48D0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6DE5306DE5306DE530000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C4D204C4D204C4D20000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 6DEC606DEC606DEC60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4C51F04C51F04C51F0000000 /* switch_event */ = { + isa = PBXGroup; + children = ( + 4C56604C56604C5660000000 /* Source Files */, + 4C5AC04C5AC04C5AC0000000 /* Header Files */, + ); + name = switch_event; + sourceTree = ""; + }; + 4C56604C56604C5660000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6E8DE06E8DE06E8DE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C5AC04C5AC04C5AC0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 6E94E06E94E06E94E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4C5F904C5F904C5F90000000 /* switch_ivr */ = { + isa = PBXGroup; + children = ( + 4C64004C64004C6400000000 /* Source Files */, + 4C68504C68504C6850000000 /* Header Files */, + ); + name = switch_ivr; + sourceTree = ""; + }; + 4C64004C64004C6400000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 6F36606F36606F3660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C68504C68504C6850000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 6F3D606F3D606F3D60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4C6D204C6D204C6D20000000 /* switch_ivr_async */ = { + isa = PBXGroup; + children = ( + 4C71604C71604C7160000000 /* Source Files */, + ); + name = switch_ivr_async; + sourceTree = ""; + }; + 4C71604C71604C7160000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 1001E301001E301001E30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C75C04C75C04C75C0000000 /* switch_ivr_bridge */ = { + isa = PBXGroup; + children = ( + 4C7A004C7A004C7A00000000 /* Source Files */, + ); + name = switch_ivr_bridge; + sourceTree = ""; + }; + 4C7A004C7A004C7A00000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 100BB90100BB90100BB90000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C7E604C7E604C7E60000000 /* switch_ivr_menu */ = { + isa = PBXGroup; + children = ( + 4C82A04C82A04C82A0000000 /* Source Files */, + ); + name = switch_ivr_menu; + sourceTree = ""; + }; + 4C82A04C82A04C82A0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 10158B010158B010158B0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C87404C87404C8740000000 /* switch_ivr_originate */ = { + isa = PBXGroup; + children = ( + 4C8B504C8B504C8B50000000 /* Source Files */, + ); + name = switch_ivr_originate; + sourceTree = ""; + }; + 4C8B504C8B504C8B50000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 101F620101F620101F620000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C90004C90004C9000000000 /* switch_ivr_play_say */ = { + isa = PBXGroup; + children = ( + 4BF9904BF9904BF990000000 /* Source Files */, + ); + name = switch_ivr_play_say; + sourceTree = ""; + }; + 4BF9904BF9904BF990000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 685660685660685660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4C99604C99604C9960000000 /* switch_loadable_module */ = { + isa = PBXGroup; + children = ( + 4C9DA04C9DA04C9DA0000000 /* Source Files */, + 4CA2604CA2604CA260000000 /* Header Files */, + ); + name = switch_loadable_module; + sourceTree = ""; + }; + 4C9DA04C9DA04C9DA0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 103321010332101033210000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CA2604CA2604CA260000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 1033D701033D701033D70000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CA6F04CA6F04CA6F0000000 /* switch_log */ = { + isa = PBXGroup; + children = ( + 4CAB304CAB304CAB30000000 /* Source Files */, + 4CAF804CAF804CAF80000000 /* Header Files */, + ); + name = switch_log; + sourceTree = ""; + }; + 4CAB304CAB304CAB30000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 103DBD0103DBD0103DBD0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CAF804CAF804CAF80000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 103E2E0103E2E0103E2E0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CB4504CB4504CB450000000 /* switch_odbc */ = { + isa = PBXGroup; + children = ( + 4CB8C04CB8C04CB8C0000000 /* Source Files */, + 4CBD204CBD204CBD20000000 /* Header Files */, + ); + name = switch_odbc; + sourceTree = ""; + }; + 4CB8C04CB8C04CB8C0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 104845010484501048450000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CBD204CBD204CBD20000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 1048B501048B501048B50000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CC1F04CC1F04CC1F0000000 /* switch_pcm */ = { + isa = PBXGroup; + children = ( + 4CC6604CC6604CC660000000 /* Source Files */, + ); + name = switch_pcm; + sourceTree = ""; + }; + 4CC6604CC6604CC660000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 1052CC01052CC01052CC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CCAB04CCAB04CCAB0000000 /* switch_regex */ = { + isa = PBXGroup; + children = ( + 4CCF204CCF204CCF20000000 /* Source Files */, + 4CD3804CD3804CD380000000 /* Header Files */, + ); + name = switch_regex; + sourceTree = ""; + }; + 4CCF204CCF204CCF20000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 105CA40105CA40105CA40000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CD3804CD3804CD380000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 105D150105D150105D150000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CD8504CD8504CD850000000 /* switch_resample */ = { + isa = PBXGroup; + children = ( + 4CDC904CDC904CDC90000000 /* Source Files */, + 4CE1004CE1004CE100000000 /* Header Files */, + ); + name = switch_resample; + sourceTree = ""; + }; + 4CDC904CDC904CDC90000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 106723010672301067230000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CE1004CE1004CE100000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 106794010679401067940000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CE5A04CE5A04CE5A0000000 /* switch_rtp */ = { + isa = PBXGroup; + children = ( + 4CEA104CEA104CEA10000000 /* Source Files */, + 4CEE604CEE604CEE60000000 /* Header Files */, + ); + name = switch_rtp; + sourceTree = ""; + }; + 4CEA104CEA104CEA10000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 1071A301071A301071A30000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CEE604CEE604CEE60000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 107212010721201072120000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4CF3304CF3304CF330000000 /* switch_scheduler */ = { + isa = PBXGroup; + children = ( + 4CF7704CF7704CF770000000 /* Source Files */, + 4CFBE04CFBE04CFBE0000000 /* Header Files */, + ); + name = switch_scheduler; + sourceTree = ""; + }; + 4CF7704CF7704CF770000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 107C290107C290107C290000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4CFBE04CFBE04CFBE0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 107C9A0107C9A0107C9A0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4D00804D00804D0080000000 /* switch_stun */ = { + isa = PBXGroup; + children = ( + 4D04F04D04F04D04F0000000 /* Source Files */, + 4D09504D09504D0950000000 /* Header Files */, + ); + name = switch_stun; + sourceTree = ""; + }; + 4D04F04D04F04D04F0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 1086AA01086AA01086AA0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4D09504D09504D0950000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 1086B301086B301086B30000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4D0E204D0E204D0E20000000 /* switch_swig */ = { + isa = PBXGroup; + children = ( + 4D12904D12904D1290000000 /* Source Files */, + ); + name = switch_swig; + sourceTree = ""; + }; + 4D12904D12904D1290000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 10912F010912F010912F0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4D16F04D16F04D16F0000000 /* switch_time */ = { + isa = PBXGroup; + children = ( + 4D1B604D1B604D1B60000000 /* Source Files */, + ); + name = switch_time; + sourceTree = ""; + }; + 4D1B604D1B604D1B60000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 109B080109B080109B080000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4D1FC04D1FC04D1FC0000000 /* switch_utils */ = { + isa = PBXGroup; + children = ( + 4D24304D24304D2430000000 /* Source Files */, + 4D28904D28904D2890000000 /* Header Files */, + ); + name = switch_utils; + sourceTree = ""; + }; + 4D24304D24304D2430000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 10A4E1010A4E1010A4E10000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4D28904D28904D2890000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 10A552010A552010A5520000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4D2D604D2D604D2D60000000 /* switch_xml */ = { + isa = PBXGroup; + children = ( + 4D31D04D31D04D31D0000000 /* Source Files */, + 4D36204D36204D3620000000 /* Header Files */, + ); + name = switch_xml; + sourceTree = ""; + }; + 4D31D04D31D04D31D0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 10AF60010AF60010AF600000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4D36204D36204D3620000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 10AFCF010AFCF010AFCF0000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4D39F04D39F04D39F0000000 /* Products */ = { + isa = PBXGroup; + children = ( + 4E66004E66004E6600000000 /* freeswitch */, + 4F04004F04004F0400000000 /* switch_apr */, + 4FAC804FAC804FAC80000000 /* switch_buffer */, + 609480609480609480000000 /* switch_caller */, + 613D20613D20613D20000000 /* switch_channel */, + 61E5B061E5B061E5B0000000 /* switch_config */, + 628E40628E40628E40000000 /* switch_console */, + 634940634940634940000000 /* switch_core */, + 63E72063E72063E720000000 /* switch_core_asr */, + 6484B06484B06484B0000000 /* switch_core_codec */, + 652D60652D60652D60000000 /* switch_core_db */, + 65CBE065CBE065CBE0000000 /* switch_core_directory */, + 667580667580667580000000 /* switch_core_event_hook */, + 671360671360671360000000 /* switch_core_file */, + 67B13067B13067B130000000 /* switch_core_hash */, + 684F10684F10684F10000000 /* switch_core_io */, + 68EDD068EDD068EDD0000000 /* switch_core_media_bug */, + 698B70698B70698B70000000 /* switch_core_memory */, + 6A2A906A2A906A2A90000000 /* switch_core_port_allocator */, + 6AC8306AC8306AC830000000 /* switch_core_rwlock */, + 6B66106B66106B6610000000 /* switch_core_session */, + 6C03A06C03A06C03A0000000 /* switch_core_speech */, + 6CA1306CA1306CA130000000 /* switch_core_sqldb */, + 6D40506D40506D4050000000 /* switch_core_state_machine */, + 6DDDF06DDDF06DDDF0000000 /* switch_core_timer */, + 6E86906E86906E8690000000 /* switch_dso */, + 6F2F106F2F106F2F10000000 /* switch_event */, + 10016D010016D010016D0000 /* switch_ivr */, + 100B430100B430100B430000 /* switch_ivr_async */, + 101515010151501015150000 /* switch_ivr_bridge */, + 101EEC0101EEC0101EEC0000 /* switch_ivr_menu */, + 1028D001028D001028D00000 /* switch_ivr_originate */, + 1032AB01032AB01032AB0000 /* switch_ivr_play_say */, + 103D460103D460103D460000 /* switch_loadable_module */, + 1047CF01047CF01047CF0000 /* switch_log */, + 105256010525601052560000 /* switch_odbc */, + 105C2E0105C2E0105C2E0000 /* switch_pcm */, + 1066AD01066AD01066AD0000 /* switch_regex */, + 10712D010712D010712D0000 /* switch_resample */, + 107BB30107BB30107BB30000 /* switch_rtp */, + 108634010863401086340000 /* switch_scheduler */, + 1090B901090B901090B90000 /* switch_stun */, + 109A920109A920109A920000 /* switch_swig */, + 10A46B010A46B010A46B0000 /* switch_time */, + 10AEEA010AEEA010AEEA0000 /* switch_utils */, + 10B970010B970010B9700000 /* switch_xml */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ +/* Begin PBXNativeTarget section */ + 4DF1004DF1004DF100000000 /* freeswitch */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4DF4F04DF4F04DF4F0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */; + buildPhases = ( + 4DE2F04DE2F04DE2F0000000 /* CMake ReRun */, + 4DDB804DDB804DDB80000000 /* Sources */, + 4DE9A04DE9A04DE9A0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names"; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + 10C6D1010C6D1010C6D10000 /* PBXTargetDependency */, + 10C748010C748010C7480000 /* PBXTargetDependency */, + 10BD79010BD79010BD790000 /* PBXTargetDependency */, + 10BDF0010BDF0010BDF00000 /* PBXTargetDependency */, + 10BC0F010BC0F010BC0F0000 /* PBXTargetDependency */, + 10C135010C135010C1350000 /* PBXTargetDependency */, + 10BAA6010BAA6010BAA60000 /* PBXTargetDependency */, + 10CEC8010CEC8010CEC80000 /* PBXTargetDependency */, + 10CF3F010CF3F010CF3F0000 /* PBXTargetDependency */, + 10BB18010BB18010BB180000 /* PBXTargetDependency */, + 10BB91010BB91010BB910000 /* PBXTargetDependency */, + 10BC84010BC84010BC840000 /* PBXTargetDependency */, + 10BD02010BD02010BD020000 /* PBXTargetDependency */, + 10BE69010BE69010BE690000 /* PBXTargetDependency */, + 10BEE0010BEE0010BEE00000 /* PBXTargetDependency */, + 10BF4F010BF4F010BF4F0000 /* PBXTargetDependency */, + 10BFC7010BFC7010BFC70000 /* PBXTargetDependency */, + 10C047010C047010C0470000 /* PBXTargetDependency */, + 10C0BE010C0BE010C0BE0000 /* PBXTargetDependency */, + 10C1A4010C1A4010C1A40000 /* PBXTargetDependency */, + 10C229010C229010C2290000 /* PBXTargetDependency */, + 10C298010C298010C2980000 /* PBXTargetDependency */, + 10C318010C318010C3180000 /* PBXTargetDependency */, + 10C38F010C38F010C38F0000 /* PBXTargetDependency */, + 10C406010C406010C4060000 /* PBXTargetDependency */, + 10C47D010C47D010C47D0000 /* PBXTargetDependency */, + 10C4EC010C4EC010C4EC0000 /* PBXTargetDependency */, + 10C56C010C56C010C56C0000 /* PBXTargetDependency */, + 10C5E3010C5E3010C5E30000 /* PBXTargetDependency */, + 10C65A010C65A010C65A0000 /* PBXTargetDependency */, + 10C7BF010C7BF010C7BF0000 /* PBXTargetDependency */, + 10C836010C836010C8360000 /* PBXTargetDependency */, + 10C8A5010C8A5010C8A50000 /* PBXTargetDependency */, + 10C925010C925010C9250000 /* PBXTargetDependency */, + 10C99F010C99F010C99F0000 /* PBXTargetDependency */, + 10CA1B010CA1B010CA1B0000 /* PBXTargetDependency */, + 10CA99010CA99010CA990000 /* PBXTargetDependency */, + 10CB10010CB10010CB100000 /* PBXTargetDependency */, + 10CB87010CB87010CB870000 /* PBXTargetDependency */, + 10CBFE010CBFE010CBFE0000 /* PBXTargetDependency */, + 10CC75010CC75010CC750000 /* PBXTargetDependency */, + 10CCEC010CCEC010CCEC0000 /* PBXTargetDependency */, + 10CD63010CD63010CD630000 /* PBXTargetDependency */, + 10CDDA010CDDA010CDDA0000 /* PBXTargetDependency */, + 10CE51010CE51010CE510000 /* PBXTargetDependency */, + ); + name = freeswitch; + productName = freeswitch; + productReference = 4E66004E66004E6600000000 /* freeswitch */; + productType = "com.apple.product-type.tool"; + }; + 4E8A204E8A204E8A20000000 /* libswitch_apr.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4E8E004E8E004E8E00000000 /* Build configuration list for PBXNativeTarget "switch_apr" */; + buildPhases = ( + 4E7BF04E7BF04E7BF0000000 /* CMake ReRun */, + 4E74704E74704E7470000000 /* Sources */, + 4E82D04E82D04E82D0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_apr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_apr.a"; + productName = "libswitch_apr.a"; + productReference = 4F04004F04004F0400000000 /* switch_apr */; + productType = "com.apple.product-type.library.static"; + }; + 4F32B04F32B04F32B0000000 /* libswitch_buffer.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4F36904F36904F3690000000 /* Build configuration list for PBXNativeTarget "switch_buffer" */; + buildPhases = ( + 4F24904F24904F2490000000 /* CMake ReRun */, + 4F1D204F1D204F1D20000000 /* Sources */, + 4F2B404F2B404F2B40000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_buffer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_buffer.a"; + productName = "libswitch_buffer.a"; + productReference = 4FAC804FAC804FAC80000000 /* switch_buffer */; + productType = "com.apple.product-type.library.static"; + }; + 601AB0601AB0601AB0000000 /* libswitch_caller.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 601E90601E90601E90000000 /* Build configuration list for PBXNativeTarget "switch_caller" */; + buildPhases = ( + 600C90600C90600C90000000 /* CMake ReRun */, + 600520600520600520000000 /* Sources */, + 601340601340601340000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_caller; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_caller.a"; + productName = "libswitch_caller.a"; + productReference = 609480609480609480000000 /* switch_caller */; + productType = "com.apple.product-type.library.static"; + }; + 60C35060C35060C350000000 /* libswitch_channel.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 60C73060C73060C730000000 /* Build configuration list for PBXNativeTarget "switch_channel" */; + buildPhases = ( + 60B53060B53060B530000000 /* CMake ReRun */, + 60B20060B20060B200000000 /* Sources */, + 60BBE060BBE060BBE0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_channel; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_channel.a"; + productName = "libswitch_channel.a"; + productReference = 613D20613D20613D20000000 /* switch_channel */; + productType = "com.apple.product-type.library.static"; + }; + 616BE0616BE0616BE0000000 /* libswitch_config.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 616FC0616FC0616FC0000000 /* Build configuration list for PBXNativeTarget "switch_config" */; + buildPhases = ( + 615DC0615DC0615DC0000000 /* CMake ReRun */, + 615650615650615650000000 /* Sources */, + 616470616470616470000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_config; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_config.a"; + productName = "libswitch_config.a"; + productReference = 61E5B061E5B061E5B0000000 /* switch_config */; + productType = "com.apple.product-type.library.static"; + }; + 621470621470621470000000 /* libswitch_console.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 621850621850621850000000 /* Build configuration list for PBXNativeTarget "switch_console" */; + buildPhases = ( + 620650620650620650000000 /* CMake ReRun */, + 620320620320620320000000 /* Sources */, + 620D00620D00620D00000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_console; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_console.a"; + productName = "libswitch_console.a"; + productReference = 628E40628E40628E40000000 /* switch_console */; + productType = "com.apple.product-type.library.static"; + }; + 62CF6062CF6062CF60000000 /* libswitch_core.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 62D34062D34062D340000000 /* Build configuration list for PBXNativeTarget "switch_core" */; + buildPhases = ( + 62C14062C14062C140000000 /* CMake ReRun */, + 62B40062B40062B400000000 /* Sources */, + 62C7F062C7F062C7F0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core.a"; + productName = "libswitch_core.a"; + productReference = 634940634940634940000000 /* switch_core */; + productType = "com.apple.product-type.library.static"; + }; + 636D20636D20636D20000000 /* libswitch_core_asr.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 637100637100637100000000 /* Build configuration list for PBXNativeTarget "switch_core_asr" */; + buildPhases = ( + 635F00635F00635F00000000 /* CMake ReRun */, + 635790635790635790000000 /* Sources */, + 6365B06365B06365B0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_asr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_asr.a"; + productName = "libswitch_core_asr.a"; + productReference = 63E72063E72063E720000000 /* switch_core_asr */; + productType = "com.apple.product-type.library.static"; + }; + 640B30640B30640B30000000 /* libswitch_core_codec.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 640F10640F10640F10000000 /* Build configuration list for PBXNativeTarget "switch_core_codec" */; + buildPhases = ( + 63FD1063FD1063FD10000000 /* CMake ReRun */, + 63F5A063F5A063F5A0000000 /* Sources */, + 6403C06403C06403C0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_codec; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_codec.a"; + productName = "libswitch_core_codec.a"; + productReference = 6484B06484B06484B0000000 /* switch_core_codec */; + productType = "com.apple.product-type.library.static"; + }; + 64B39064B39064B390000000 /* libswitch_core_db.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 64B77064B77064B770000000 /* Build configuration list for PBXNativeTarget "switch_core_db" */; + buildPhases = ( + 64A57064A57064A570000000 /* CMake ReRun */, + 64A24064A24064A240000000 /* Sources */, + 64AC2064AC2064AC20000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_db; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_db.a"; + productName = "libswitch_core_db.a"; + productReference = 652D60652D60652D60000000 /* switch_core_db */; + productType = "com.apple.product-type.library.static"; + }; + 655150655150655150000000 /* libswitch_core_directory.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 655530655530655530000000 /* Build configuration list for PBXNativeTarget "switch_core_directory" */; + buildPhases = ( + 654320654320654320000000 /* CMake ReRun */, + 653560653560653560000000 /* Sources */, + 654A00654A00654A00000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_directory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_directory.a"; + productName = "libswitch_core_directory.a"; + productReference = 65CBE065CBE065CBE0000000 /* switch_core_directory */; + productType = "com.apple.product-type.library.static"; + }; + 65FAF065FAF065FAF0000000 /* libswitch_core_event_hook.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 65FED065FED065FED0000000 /* Build configuration list for PBXNativeTarget "switch_core_event_hook" */; + buildPhases = ( + 65ECC065ECC065ECC0000000 /* CMake ReRun */, + 65DF4065DF4065DF40000000 /* Sources */, + 65F3A065F3A065F3A0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_event_hook; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_event_hook.a"; + productName = "libswitch_core_event_hook.a"; + productReference = 667580667580667580000000 /* switch_core_event_hook */; + productType = "com.apple.product-type.library.static"; + }; + 6699A06699A06699A0000000 /* libswitch_core_file.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 669D80669D80669D80000000 /* Build configuration list for PBXNativeTarget "switch_core_file" */; + buildPhases = ( + 668B80668B80668B80000000 /* CMake ReRun */, + 668410668410668410000000 /* Sources */, + 669230669230669230000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_file; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_file.a"; + productName = "libswitch_core_file.a"; + productReference = 671360671360671360000000 /* switch_core_file */; + productType = "com.apple.product-type.library.static"; + }; + 673770673770673770000000 /* libswitch_core_hash.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 673B50673B50673B50000000 /* Build configuration list for PBXNativeTarget "switch_core_hash" */; + buildPhases = ( + 672950672950672950000000 /* CMake ReRun */, + 6721E06721E06721E0000000 /* Sources */, + 673000673000673000000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_hash; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_hash.a"; + productName = "libswitch_core_hash.a"; + productReference = 67B13067B13067B130000000 /* switch_core_hash */; + productType = "com.apple.product-type.library.static"; + }; + 67D54067D54067D540000000 /* libswitch_core_io.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 67D92067D92067D920000000 /* Build configuration list for PBXNativeTarget "switch_core_io" */; + buildPhases = ( + 67C72067C72067C720000000 /* CMake ReRun */, + 67BFB067BFB067BFB0000000 /* Sources */, + 67CDD067CDD067CDD0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_io; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_io.a"; + productName = "libswitch_core_io.a"; + productReference = 684F10684F10684F10000000 /* switch_core_io */; + productType = "com.apple.product-type.library.static"; + }; + 687340687340687340000000 /* libswitch_core_media_bug.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 687720687720687720000000 /* Build configuration list for PBXNativeTarget "switch_core_media_bug" */; + buildPhases = ( + 686510686510686510000000 /* CMake ReRun */, + 685750685750685750000000 /* Sources */, + 686BF0686BF0686BF0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_media_bug; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_media_bug.a"; + productName = "libswitch_core_media_bug.a"; + productReference = 68EDD068EDD068EDD0000000 /* switch_core_media_bug */; + productType = "com.apple.product-type.library.static"; + }; + 6911D06911D06911D0000000 /* libswitch_core_memory.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6915B06915B06915B0000000 /* Build configuration list for PBXNativeTarget "switch_core_memory" */; + buildPhases = ( + 6903B06903B06903B0000000 /* CMake ReRun */, + 6900D06900D06900D0000000 /* Sources */, + 690A60690A60690A60000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_memory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_memory.a"; + productName = "libswitch_core_memory.a"; + productReference = 698B70698B70698B70000000 /* switch_core_memory */; + productType = "com.apple.product-type.library.static"; + }; + 69AFB069AFB069AFB0000000 /* libswitch_core_port_allocator.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 69B3A069B3A069B3A0000000 /* Build configuration list for PBXNativeTarget "switch_core_port_allocator" */; + buildPhases = ( + 69A18069A18069A180000000 /* CMake ReRun */, + 699360699360699360000000 /* Sources */, + 69A86069A86069A860000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_port_allocator; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_port_allocator.a"; + productName = "libswitch_core_port_allocator.a"; + productReference = 6A2A906A2A906A2A90000000 /* switch_core_port_allocator */; + productType = "com.apple.product-type.library.static"; + }; + 6A4E906A4E906A4E90000000 /* libswitch_core_rwlock.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6A52706A52706A5270000000 /* Build configuration list for PBXNativeTarget "switch_core_rwlock" */; + buildPhases = ( + 6A40706A40706A4070000000 /* CMake ReRun */, + 6A3D906A3D906A3D90000000 /* Sources */, + 6A47206A47206A4720000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_rwlock; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_rwlock.a"; + productName = "libswitch_core_rwlock.a"; + productReference = 6AC8306AC8306AC830000000 /* switch_core_rwlock */; + productType = "com.apple.product-type.library.static"; + }; + 6AEC706AEC706AEC70000000 /* libswitch_core_session.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6AF0506AF0506AF050000000 /* Build configuration list for PBXNativeTarget "switch_core_session" */; + buildPhases = ( + 6ADE406ADE406ADE40000000 /* CMake ReRun */, + 6AD0406AD0406AD040000000 /* Sources */, + 6AE5206AE5206AE520000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_session; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_session.a"; + productName = "libswitch_core_session.a"; + productReference = 6B66106B66106B6610000000 /* switch_core_session */; + productType = "com.apple.product-type.library.static"; + }; + 6B8A006B8A006B8A00000000 /* libswitch_core_speech.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6B8DE06B8DE06B8DE0000000 /* Build configuration list for PBXNativeTarget "switch_core_speech" */; + buildPhases = ( + 6B7BE06B7BE06B7BE0000000 /* CMake ReRun */, + 6B79006B79006B7900000000 /* Sources */, + 6B82906B82906B8290000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_speech; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_speech.a"; + productName = "libswitch_core_speech.a"; + productReference = 6C03A06C03A06C03A0000000 /* switch_core_speech */; + productType = "com.apple.product-type.library.static"; + }; + 6C27B06C27B06C27B0000000 /* libswitch_core_sqldb.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6C2B906C2B906C2B90000000 /* Build configuration list for PBXNativeTarget "switch_core_sqldb" */; + buildPhases = ( + 6C19906C19906C1990000000 /* CMake ReRun */, + 6C12206C12206C1220000000 /* Sources */, + 6C20406C20406C2040000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_sqldb; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_sqldb.a"; + productName = "libswitch_core_sqldb.a"; + productReference = 6CA1306CA1306CA130000000 /* switch_core_sqldb */; + productType = "com.apple.product-type.library.static"; + }; + 6CC5706CC5706CC570000000 /* libswitch_core_state_machine.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6CC9606CC9606CC960000000 /* Build configuration list for PBXNativeTarget "switch_core_state_machine" */; + buildPhases = ( + 6CB7406CB7406CB740000000 /* CMake ReRun */, + 6CA9206CA9206CA920000000 /* Sources */, + 6CBE206CBE206CBE20000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_state_machine; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_state_machine.a"; + productName = "libswitch_core_state_machine.a"; + productReference = 6D40506D40506D4050000000 /* switch_core_state_machine */; + productType = "com.apple.product-type.library.static"; + }; + 6D64706D64706D6470000000 /* libswitch_core_timer.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6D68506D68506D6850000000 /* Build configuration list for PBXNativeTarget "switch_core_timer" */; + buildPhases = ( + 6D56506D56506D5650000000 /* CMake ReRun */, + 6D4EE06D4EE06D4EE0000000 /* Sources */, + 6D5D006D5D006D5D00000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_timer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_core_timer.a"; + productName = "libswitch_core_timer.a"; + productReference = 6DDDF06DDDF06DDDF0000000 /* switch_core_timer */; + productType = "com.apple.product-type.library.static"; + }; + 6E0CB06E0CB06E0CB0000000 /* libswitch_dso.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6E10906E10906E1090000000 /* Build configuration list for PBXNativeTarget "switch_dso" */; + buildPhases = ( + 6DFE906DFE906DFE90000000 /* CMake ReRun */, + 6DF7206DF7206DF720000000 /* Sources */, + 6E05406E05406E0540000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_dso; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_dso.a"; + productName = "libswitch_dso.a"; + productReference = 6E86906E86906E8690000000 /* switch_dso */; + productType = "com.apple.product-type.library.static"; + }; + 6EB5406EB5406EB540000000 /* libswitch_event.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6EB9206EB9206EB920000000 /* Build configuration list for PBXNativeTarget "switch_event" */; + buildPhases = ( + 6EA7206EA7206EA720000000 /* CMake ReRun */, + 6E9FB06E9FB06E9FB0000000 /* Sources */, + 6EADD06EADD06EADD0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_event; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_event.a"; + productName = "libswitch_event.a"; + productReference = 6F2F106F2F106F2F10000000 /* switch_event */; + productType = "com.apple.product-type.library.static"; + }; + 6F5DB06F5DB06F5DB0000000 /* libswitch_ivr.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6F61906F61906F6190000000 /* Build configuration list for PBXNativeTarget "switch_ivr" */; + buildPhases = ( + 6F4F906F4F906F4F90000000 /* CMake ReRun */, + 6F48206F48206F4820000000 /* Sources */, + 6F56406F56406F5640000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr.a"; + productName = "libswitch_ivr.a"; + productReference = 10016D010016D010016D0000 /* switch_ivr */; + productType = "com.apple.product-type.library.static"; + }; + 10039B010039B010039B0000 /* libswitch_ivr_async.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1003E701003E701003E70000 /* Build configuration list for PBXNativeTarget "switch_ivr_async" */; + buildPhases = ( + 1002C701002C701002C70000 /* CMake ReRun */, + 100254010025401002540000 /* Sources */, + 100333010033301003330000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_async; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr_async.a"; + productName = "libswitch_ivr_async.a"; + productReference = 100B430100B430100B430000 /* switch_ivr_async */; + productType = "com.apple.product-type.library.static"; + }; + 100D710100D710100D710000 /* libswitch_ivr_bridge.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 100DBD0100DBD0100DBD0000 /* Build configuration list for PBXNativeTarget "switch_ivr_bridge" */; + buildPhases = ( + 100C9D0100C9D0100C9D0000 /* CMake ReRun */, + 100C2A0100C2A0100C2A0000 /* Sources */, + 100D090100D090100D090000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_bridge; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr_bridge.a"; + productName = "libswitch_ivr_bridge.a"; + productReference = 101515010151501015150000 /* switch_ivr_bridge */; + productType = "com.apple.product-type.library.static"; + }; + 101743010174301017430000 /* libswitch_ivr_menu.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 10178F010178F010178F0000 /* Build configuration list for PBXNativeTarget "switch_ivr_menu" */; + buildPhases = ( + 10166F010166F010166F0000 /* CMake ReRun */, + 1015FC01015FC01015FC0000 /* Sources */, + 1016DB01016DB01016DB0000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_menu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr_menu.a"; + productName = "libswitch_ivr_menu.a"; + productReference = 101EEC0101EEC0101EEC0000 /* switch_ivr_menu */; + productType = "com.apple.product-type.library.static"; + }; + 102126010212601021260000 /* libswitch_ivr_originate.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 102165010216501021650000 /* Build configuration list for PBXNativeTarget "switch_ivr_originate" */; + buildPhases = ( + 102048010204801020480000 /* CMake ReRun */, + 101F6D0101F6D0101F6D0000 /* Sources */, + 1020B601020B601020B60000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_originate; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr_originate.a"; + productName = "libswitch_ivr_originate.a"; + productReference = 1028D001028D001028D00000 /* switch_ivr_originate */; + productType = "com.apple.product-type.library.static"; + }; + 102B140102B140102B140000 /* libswitch_ivr_play_say.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 102B530102B530102B530000 /* Build configuration list for PBXNativeTarget "switch_ivr_play_say" */; + buildPhases = ( + 102A360102A360102A360000 /* CMake ReRun */, + 102959010295901029590000 /* Sources */, + 102AA40102AA40102AA40000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_play_say; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_ivr_play_say.a"; + productName = "libswitch_ivr_play_say.a"; + productReference = 1032AB01032AB01032AB0000 /* switch_ivr_play_say */; + productType = "com.apple.product-type.library.static"; + }; + 10358C010358C010358C0000 /* libswitch_loadable_module.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1035D801035D801035D80000 /* Build configuration list for PBXNativeTarget "switch_loadable_module" */; + buildPhases = ( + 1034B801034B801034B80000 /* CMake ReRun */, + 1033DE01033DE01033DE0000 /* Sources */, + 103524010352401035240000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_loadable_module; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_loadable_module.a"; + productName = "libswitch_loadable_module.a"; + productReference = 103D460103D460103D460000 /* switch_loadable_module */; + productType = "com.apple.product-type.library.static"; + }; + 10402F010402F010402F0000 /* libswitch_log.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 10406D010406D010406D0000 /* Build configuration list for PBXNativeTarget "switch_log" */; + buildPhases = ( + 103F510103F510103F510000 /* CMake ReRun */, + 103EDC0103EDC0103EDC0000 /* Sources */, + 103FBF0103FBF0103FBF0000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_log; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_log.a"; + productName = "libswitch_log.a"; + productReference = 1047CF01047CF01047CF0000 /* switch_log */; + productType = "com.apple.product-type.library.static"; + }; + 104AB60104AB60104AB60000 /* libswitch_odbc.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 104AF40104AF40104AF40000 /* Build configuration list for PBXNativeTarget "switch_odbc" */; + buildPhases = ( + 1049D801049D801049D80000 /* CMake ReRun */, + 104963010496301049630000 /* Sources */, + 104A460104A460104A460000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_odbc; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_odbc.a"; + productName = "libswitch_odbc.a"; + productReference = 105256010525601052560000 /* switch_odbc */; + productType = "com.apple.product-type.library.static"; + }; + 10548E010548E010548E0000 /* libswitch_pcm.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1054CC01054CC01054CC0000 /* Build configuration list for PBXNativeTarget "switch_pcm" */; + buildPhases = ( + 1053B001053B001053B00000 /* CMake ReRun */, + 10533B010533B010533B0000 /* Sources */, + 10541E010541E010541E0000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_pcm; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_pcm.a"; + productName = "libswitch_pcm.a"; + productReference = 105C2E0105C2E0105C2E0000 /* switch_pcm */; + productType = "com.apple.product-type.library.static"; + }; + 105F130105F130105F130000 /* libswitch_regex.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 105F510105F510105F510000 /* Build configuration list for PBXNativeTarget "switch_regex" */; + buildPhases = ( + 105E350105E350105E350000 /* CMake ReRun */, + 105DC00105DC00105DC00000 /* Sources */, + 105EA30105EA30105EA30000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_regex; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_regex.a"; + productName = "libswitch_regex.a"; + productReference = 1066AD01066AD01066AD0000 /* switch_regex */; + productType = "com.apple.product-type.library.static"; + }; + 106992010699201069920000 /* libswitch_resample.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1069D101069D101069D10000 /* Build configuration list for PBXNativeTarget "switch_resample" */; + buildPhases = ( + 1068B401068B401068B40000 /* CMake ReRun */, + 1067D501067D501067D50000 /* Sources */, + 106922010692201069220000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_resample.a"; + productName = "libswitch_resample.a"; + productReference = 10712D010712D010712D0000 /* switch_resample */; + productType = "com.apple.product-type.library.static"; + }; + 107413010741301074130000 /* libswitch_rtp.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 107451010745101074510000 /* Build configuration list for PBXNativeTarget "switch_rtp" */; + buildPhases = ( + 107335010733501073350000 /* CMake ReRun */, + 1072C001072C001072C00000 /* Sources */, + 1073A301073A301073A30000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_rtp; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_rtp.a"; + productName = "libswitch_rtp.a"; + productReference = 107BB30107BB30107BB30000 /* switch_rtp */; + productType = "com.apple.product-type.library.static"; + }; + 107E980107E980107E980000 /* libswitch_scheduler.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 107ED70107ED70107ED70000 /* Build configuration list for PBXNativeTarget "switch_scheduler" */; + buildPhases = ( + 107DBA0107DBA0107DBA0000 /* CMake ReRun */, + 107CDB0107CDB0107CDB0000 /* Sources */, + 107E280107E280107E280000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_scheduler; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_scheduler.a"; + productName = "libswitch_scheduler.a"; + productReference = 108634010863401086340000 /* switch_scheduler */; + productType = "com.apple.product-type.library.static"; + }; + 10890D010890D010890D0000 /* libswitch_stun.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 108959010895901089590000 /* Build configuration list for PBXNativeTarget "switch_stun" */; + buildPhases = ( + 108836010883601088360000 /* CMake ReRun */, + 108766010876601087660000 /* Sources */, + 1088A501088A501088A50000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_stun; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_stun.a"; + productName = "libswitch_stun.a"; + productReference = 1090B901090B901090B90000 /* switch_stun */; + productType = "com.apple.product-type.library.static"; + }; + 1092F201092F201092F20000 /* libswitch_swig.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 109330010933001093300000 /* Build configuration list for PBXNativeTarget "switch_swig" */; + buildPhases = ( + 109214010921401092140000 /* CMake ReRun */, + 10919F010919F010919F0000 /* Sources */, + 109282010928201092820000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_swig; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_swig.a"; + productName = "libswitch_swig.a"; + productReference = 109A920109A920109A920000 /* switch_swig */; + productType = "com.apple.product-type.library.static"; + }; + 109CCB0109CCB0109CCB0000 /* libswitch_time.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 109D090109D090109D090000 /* Build configuration list for PBXNativeTarget "switch_time" */; + buildPhases = ( + 109BED0109BED0109BED0000 /* CMake ReRun */, + 109B780109B780109B780000 /* Sources */, + 109C5B0109C5B0109C5B0000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_time; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_time.a"; + productName = "libswitch_time.a"; + productReference = 10A46B010A46B010A46B0000 /* switch_time */; + productType = "com.apple.product-type.library.static"; + }; + 10A750010A750010A7500000 /* libswitch_utils.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 10A78E010A78E010A78E0000 /* Build configuration list for PBXNativeTarget "switch_utils" */; + buildPhases = ( + 10A672010A672010A6720000 /* CMake ReRun */, + 10A5FD010A5FD010A5FD0000 /* Sources */, + 10A6E0010A6E0010A6E00000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_utils; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_utils.a"; + productName = "libswitch_utils.a"; + productReference = 10AEEA010AEEA010AEEA0000 /* switch_utils */; + productType = "com.apple.product-type.library.static"; + }; + 10B1D0010B1D0010B1D00000 /* libswitch_xml.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 10B20E010B20E010B20E0000 /* Build configuration list for PBXNativeTarget "switch_xml" */; + buildPhases = ( + 10B0F2010B0F2010B0F20000 /* CMake ReRun */, + 10B07D010B07D010B07D0000 /* Sources */, + 10B160010B160010B1600000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_xml; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + name = "libswitch_xml.a"; + productName = "libswitch_xml.a"; + productReference = 10B970010B970010B9700000 /* switch_xml */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + /* Begin PBXProject section */ - 27FC39A90CDBA14A00BC5B29 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 27FC39AC0CDBA14A00BC5B29 /* Build configuration list for PBXProject "freeswitch" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 0; - mainGroup = 27FC39A70CDBA14A00BC5B29; - projectDirPath = ""; - projectRoot = ""; - targets = ( - ); - }; + 4D3C704D3C704D3C70000000 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 4D42304D42304D4230000000 /* Build configuration list for PBXProject "freeswitch" */; + buildSettings = { + }; + buildStyles = ( + 4B24204B24204B2420000000 /* Debug */, + 4B28404B28404B2840000000 /* Release */, + 4B2C304B2C304B2C30000000 /* MinSizeRel */, + 4B30204B30204B3020000000 /* RelWithDebInfo */, + ); + hasScannedForEncodings = 0; + mainGroup = 4B33F04B33F04B33F0000000; + projectRoot = "/Users/shaneburrell/freeswitch-svn-real"; + targets = ( + 4D57E04D57E04D57E0000000 /* ALL_BUILD */, + 4DF1004DF1004DF100000000 /* freeswitch */, + 4E8A204E8A204E8A20000000 /* libswitch_apr.a */, + 4F32B04F32B04F32B0000000 /* libswitch_buffer.a */, + 601AB0601AB0601AB0000000 /* libswitch_caller.a */, + 60C35060C35060C350000000 /* libswitch_channel.a */, + 616BE0616BE0616BE0000000 /* libswitch_config.a */, + 621470621470621470000000 /* libswitch_console.a */, + 62CF6062CF6062CF60000000 /* libswitch_core.a */, + 636D20636D20636D20000000 /* libswitch_core_asr.a */, + 640B30640B30640B30000000 /* libswitch_core_codec.a */, + 64B39064B39064B390000000 /* libswitch_core_db.a */, + 655150655150655150000000 /* libswitch_core_directory.a */, + 65FAF065FAF065FAF0000000 /* libswitch_core_event_hook.a */, + 6699A06699A06699A0000000 /* libswitch_core_file.a */, + 673770673770673770000000 /* libswitch_core_hash.a */, + 67D54067D54067D540000000 /* libswitch_core_io.a */, + 687340687340687340000000 /* libswitch_core_media_bug.a */, + 6911D06911D06911D0000000 /* libswitch_core_memory.a */, + 69AFB069AFB069AFB0000000 /* libswitch_core_port_allocator.a */, + 6A4E906A4E906A4E90000000 /* libswitch_core_rwlock.a */, + 6AEC706AEC706AEC70000000 /* libswitch_core_session.a */, + 6B8A006B8A006B8A00000000 /* libswitch_core_speech.a */, + 6C27B06C27B06C27B0000000 /* libswitch_core_sqldb.a */, + 6CC5706CC5706CC570000000 /* libswitch_core_state_machine.a */, + 6D64706D64706D6470000000 /* libswitch_core_timer.a */, + 6E0CB06E0CB06E0CB0000000 /* libswitch_dso.a */, + 6EB5406EB5406EB540000000 /* libswitch_event.a */, + 6F5DB06F5DB06F5DB0000000 /* libswitch_ivr.a */, + 10039B010039B010039B0000 /* libswitch_ivr_async.a */, + 100D710100D710100D710000 /* libswitch_ivr_bridge.a */, + 101743010174301017430000 /* libswitch_ivr_menu.a */, + 102126010212601021260000 /* libswitch_ivr_originate.a */, + 102B140102B140102B140000 /* libswitch_ivr_play_say.a */, + 10358C010358C010358C0000 /* libswitch_loadable_module.a */, + 10402F010402F010402F0000 /* libswitch_log.a */, + 104AB60104AB60104AB60000 /* libswitch_odbc.a */, + 10548E010548E010548E0000 /* libswitch_pcm.a */, + 105F130105F130105F130000 /* libswitch_regex.a */, + 106992010699201069920000 /* libswitch_resample.a */, + 107413010741301074130000 /* libswitch_rtp.a */, + 107E980107E980107E980000 /* libswitch_scheduler.a */, + 10890D010890D010890D0000 /* libswitch_stun.a */, + 1092F201092F201092F20000 /* libswitch_swig.a */, + 109CCB0109CCB0109CCB0000 /* libswitch_time.a */, + 10A750010A750010A7500000 /* libswitch_utils.a */, + 10B1D0010B1D0010B1D00000 /* libswitch_xml.a */, + ); + }; /* End PBXProject section */ +/* Begin PBXShellScriptBuildPhase section */ + 4D50604D50604D5060000000 /* */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# shell script goes here +exit 0"; + }; + 4D59C04D59C04D59C0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4D60B04D60B04D60B0000000 /* CMake Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ALL_BUILD_cmakeRulesBuildPhase.make$CONFIGURATION all"; + }; + 4DE2F04DE2F04DE2F0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4DE9A04DE9A04DE9A0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/freeswitch_postBuildPhase.make$CONFIGURATION all"; + }; + 4E7BF04E7BF04E7BF0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4E82D04E82D04E82D0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_apr_postBuildPhase.make$CONFIGURATION all"; + }; + 4F24904F24904F2490000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4F2B404F2B404F2B40000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_buffer_postBuildPhase.make$CONFIGURATION all"; + }; + 600C90600C90600C90000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 601340601340601340000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_caller_postBuildPhase.make$CONFIGURATION all"; + }; + 60B53060B53060B530000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 60BBE060BBE060BBE0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_channel_postBuildPhase.make$CONFIGURATION all"; + }; + 615DC0615DC0615DC0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 616470616470616470000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_config_postBuildPhase.make$CONFIGURATION all"; + }; + 620650620650620650000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 620D00620D00620D00000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_console_postBuildPhase.make$CONFIGURATION all"; + }; + 62C14062C14062C140000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 62C7F062C7F062C7F0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_postBuildPhase.make$CONFIGURATION all"; + }; + 635F00635F00635F00000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6365B06365B06365B0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_asr_postBuildPhase.make$CONFIGURATION all"; + }; + 63FD1063FD1063FD10000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6403C06403C06403C0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_codec_postBuildPhase.make$CONFIGURATION all"; + }; + 64A57064A57064A570000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 64AC2064AC2064AC20000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_db_postBuildPhase.make$CONFIGURATION all"; + }; + 654320654320654320000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 654A00654A00654A00000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_directory_postBuildPhase.make$CONFIGURATION all"; + }; + 65ECC065ECC065ECC0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 65F3A065F3A065F3A0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_event_hook_postBuildPhase.make$CONFIGURATION all"; + }; + 668B80668B80668B80000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 669230669230669230000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_file_postBuildPhase.make$CONFIGURATION all"; + }; + 672950672950672950000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 673000673000673000000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_hash_postBuildPhase.make$CONFIGURATION all"; + }; + 67C72067C72067C720000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 67CDD067CDD067CDD0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_io_postBuildPhase.make$CONFIGURATION all"; + }; + 686510686510686510000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 686BF0686BF0686BF0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_media_bug_postBuildPhase.make$CONFIGURATION all"; + }; + 6903B06903B06903B0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 690A60690A60690A60000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_memory_postBuildPhase.make$CONFIGURATION all"; + }; + 69A18069A18069A180000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 69A86069A86069A860000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_port_allocator_postBuildPhase.make$CONFIGURATION all"; + }; + 6A40706A40706A4070000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6A47206A47206A4720000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_rwlock_postBuildPhase.make$CONFIGURATION all"; + }; + 6ADE406ADE406ADE40000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6AE5206AE5206AE520000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_session_postBuildPhase.make$CONFIGURATION all"; + }; + 6B7BE06B7BE06B7BE0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6B82906B82906B8290000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_speech_postBuildPhase.make$CONFIGURATION all"; + }; + 6C19906C19906C1990000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6C20406C20406C2040000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_sqldb_postBuildPhase.make$CONFIGURATION all"; + }; + 6CB7406CB7406CB740000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6CBE206CBE206CBE20000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_state_machine_postBuildPhase.make$CONFIGURATION all"; + }; + 6D56506D56506D5650000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6D5D006D5D006D5D00000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_core_timer_postBuildPhase.make$CONFIGURATION all"; + }; + 6DFE906DFE906DFE90000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6E05406E05406E0540000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_dso_postBuildPhase.make$CONFIGURATION all"; + }; + 6EA7206EA7206EA720000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6EADD06EADD06EADD0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_event_postBuildPhase.make$CONFIGURATION all"; + }; + 6F4F906F4F906F4F90000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6F56406F56406F5640000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_postBuildPhase.make$CONFIGURATION all"; + }; + 1002C701002C701002C70000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 100333010033301003330000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_async_postBuildPhase.make$CONFIGURATION all"; + }; + 100C9D0100C9D0100C9D0000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 100D090100D090100D090000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_bridge_postBuildPhase.make$CONFIGURATION all"; + }; + 10166F010166F010166F0000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 1016DB01016DB01016DB0000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_menu_postBuildPhase.make$CONFIGURATION all"; + }; + 102048010204801020480000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 1020B601020B601020B60000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_originate_postBuildPhase.make$CONFIGURATION all"; + }; + 102A360102A360102A360000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 102AA40102AA40102AA40000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_ivr_play_say_postBuildPhase.make$CONFIGURATION all"; + }; + 1034B801034B801034B80000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 103524010352401035240000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_loadable_module_postBuildPhase.make$CONFIGURATION all"; + }; + 103F510103F510103F510000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 103FBF0103FBF0103FBF0000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_log_postBuildPhase.make$CONFIGURATION all"; + }; + 1049D801049D801049D80000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 104A460104A460104A460000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_odbc_postBuildPhase.make$CONFIGURATION all"; + }; + 1053B001053B001053B00000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 10541E010541E010541E0000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_pcm_postBuildPhase.make$CONFIGURATION all"; + }; + 105E350105E350105E350000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 105EA30105EA30105EA30000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_regex_postBuildPhase.make$CONFIGURATION all"; + }; + 1068B401068B401068B40000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 106922010692201069220000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_resample_postBuildPhase.make$CONFIGURATION all"; + }; + 107335010733501073350000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 1073A301073A301073A30000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_rtp_postBuildPhase.make$CONFIGURATION all"; + }; + 107DBA0107DBA0107DBA0000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 107E280107E280107E280000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_scheduler_postBuildPhase.make$CONFIGURATION all"; + }; + 108836010883601088360000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 1088A501088A501088A50000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_stun_postBuildPhase.make$CONFIGURATION all"; + }; + 109214010921401092140000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 109282010928201092820000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_swig_postBuildPhase.make$CONFIGURATION all"; + }; + 109BED0109BED0109BED0000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 109C5B0109C5B0109C5B0000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_time_postBuildPhase.make$CONFIGURATION all"; + }; + 10A672010A672010A6720000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 10A6E0010A6E0010A6E00000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_utils_postBuildPhase.make$CONFIGURATION all"; + }; + 10B0F2010B0F2010B0F20000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 10B160010B160010B1600000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/switch_xml_postBuildPhase.make$CONFIGURATION all"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 4DDB804DDB804DDB80000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4DCB604DCB604DCB60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4E74704E74704E7470000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4E6F104E6F104E6F10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4F1D204F1D204F1D20000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4F0C604F0C604F0C60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 600520600520600520000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4FB5604FB5604FB560000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 60B20060B20060B200000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 609D90609D90609D90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 615650615650615650000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 614600614600614600000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 620320620320620320000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 61EE9061EE9061EE90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 62B40062B40062B400000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 629710629710629710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 635790635790635790000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 635230635230635230000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63F5A063F5A063F5A0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63F06063F06063F060000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 64A24064A24064A240000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 648DF0648DF0648DF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 653560653560653560000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6535F06535F06535F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 65DF4065DF4065DF40000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 65D58065D58065D580000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 668410668410668410000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 667E20667E20667E20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6721E06721E06721E0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671CA0671CA0671CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67BFB067BFB067BFB0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 67BA7067BA7067BA70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 685750685750685750000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6857E06857E06857E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6900D06900D06900D0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F67068F67068F670000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 699360699360699360000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 699460699460699460000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6A3D906A3D906A3D90000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6A33306A33306A3330000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6AD0406AD0406AD040000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6AD1706AD1706AD170000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6B79006B79006B7900000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6B6F506B6F506B6F50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6C12206C12206C1220000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6C0CE06C0CE06C0CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6CA9206CA9206CA920000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6CAA206CAA206CAA20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6D4EE06D4EE06D4EE0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6D48F06D48F06D48F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6DF7206DF7206DF720000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6DE7206DE7206DE720000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6E9FB06E9FB06E9FB0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6E8EF06E8EF06E8EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6F48206F48206F4820000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6F37E06F37E06F37E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 100254010025401002540000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 100200010020001002000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 100C2A0100C2A0100C2A0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 100BD60100BD60100BD60000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1015FC01015FC01015FC0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1015A801015A801015A80000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 101F6D0101F6D0101F6D0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 101F810101F810101F810000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 102959010295901029590000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 10296C010296C010296C0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1033DE01033DE01033DE0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 103341010334101033410000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 103EDC0103EDC0103EDC0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 103DC80103DC80103DC80000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 104963010496301049630000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 104861010486101048610000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_odbc.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 10533B010533B010533B0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1052D501052D501052D50000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 105DC00105DC00105DC00000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 105CC10105CC10105CC10000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1067D501067D501067D50000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 106740010674001067400000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1072C001072C001072C00000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1071AC01071AC01071AC0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 107CDB0107CDB0107CDB0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 107C460107C460107C460000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 108766010876601087660000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1086C601086C601086C60000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 10919F010919F010919F0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 10914B010914B010914B0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_swig.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 109B780109B780109B780000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 109B240109B240109B240000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 10A5FD010A5FD010A5FD0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 10A4FE010A4FE010A4FE0000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 10B07D010B07D010B07D0000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 10AF69010AF69010AF690000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 10BA2F010BA2F010BA2F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4DF1004DF1004DF100000000 /* freeswitch */; + targetProxy = 10B9E1010B9E1010B9E10000 /* PBXContainerItemProxy */; + }; + 10BAA6010BAA6010BAA60000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4E8A204E8A204E8A20000000 /* libswitch_apr.a */; + targetProxy = 10BA57010BA57010BA570000 /* PBXContainerItemProxy */; + }; + 10BB18010BB18010BB180000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4F32B04F32B04F32B0000000 /* libswitch_buffer.a */; + targetProxy = 10BACC010BACC010BACC0000 /* PBXContainerItemProxy */; + }; + 10BB91010BB91010BB910000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 601AB0601AB0601AB0000000 /* libswitch_caller.a */; + targetProxy = 10BB45010BB45010BB450000 /* PBXContainerItemProxy */; + }; + 10BC0F010BC0F010BC0F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 60C35060C35060C350000000 /* libswitch_channel.a */; + targetProxy = 10BBC0010BBC0010BBC00000 /* PBXContainerItemProxy */; + }; + 10BC84010BC84010BC840000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 616BE0616BE0616BE0000000 /* libswitch_config.a */; + targetProxy = 10BC37010BC37010BC370000 /* PBXContainerItemProxy */; + }; + 10BD02010BD02010BD020000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 621470621470621470000000 /* libswitch_console.a */; + targetProxy = 10BCB3010BCB3010BCB30000 /* PBXContainerItemProxy */; + }; + 10BD79010BD79010BD790000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 62CF6062CF6062CF60000000 /* libswitch_core.a */; + targetProxy = 10BD2A010BD2A010BD2A0000 /* PBXContainerItemProxy */; + }; + 10BDF0010BDF0010BDF00000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 636D20636D20636D20000000 /* libswitch_core_asr.a */; + targetProxy = 10BDA1010BDA1010BDA10000 /* PBXContainerItemProxy */; + }; + 10BE69010BE69010BE690000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 640B30640B30640B30000000 /* libswitch_core_codec.a */; + targetProxy = 10BE1F010BE1F010BE1F0000 /* PBXContainerItemProxy */; + }; + 10BEE0010BEE0010BEE00000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 64B39064B39064B390000000 /* libswitch_core_db.a */; + targetProxy = 10BE91010BE91010BE910000 /* PBXContainerItemProxy */; + }; + 10BF4F010BF4F010BF4F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 655150655150655150000000 /* libswitch_core_directory.a */; + targetProxy = 10BF08010BF08010BF080000 /* PBXContainerItemProxy */; + }; + 10BFC7010BFC7010BFC70000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 65FAF065FAF065FAF0000000 /* libswitch_core_event_hook.a */; + targetProxy = 10BF80010BF80010BF800000 /* PBXContainerItemProxy */; + }; + 10C047010C047010C0470000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6699A06699A06699A0000000 /* libswitch_core_file.a */; + targetProxy = 10BFF8010BFF8010BFF80000 /* PBXContainerItemProxy */; + }; + 10C0BE010C0BE010C0BE0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 673770673770673770000000 /* libswitch_core_hash.a */; + targetProxy = 10C06F010C06F010C06F0000 /* PBXContainerItemProxy */; + }; + 10C135010C135010C1350000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 67D54067D54067D540000000 /* libswitch_core_io.a */; + targetProxy = 10C0E6010C0E6010C0E60000 /* PBXContainerItemProxy */; + }; + 10C1A4010C1A4010C1A40000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 687340687340687340000000 /* libswitch_core_media_bug.a */; + targetProxy = 10C15D010C15D010C15D0000 /* PBXContainerItemProxy */; + }; + 10C229010C229010C2290000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6911D06911D06911D0000000 /* libswitch_core_memory.a */; + targetProxy = 10C1D3010C1D3010C1D30000 /* PBXContainerItemProxy */; + }; + 10C298010C298010C2980000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 69AFB069AFB069AFB0000000 /* libswitch_core_port_allocator.a */; + targetProxy = 10C251010C251010C2510000 /* PBXContainerItemProxy */; + }; + 10C318010C318010C3180000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6A4E906A4E906A4E90000000 /* libswitch_core_rwlock.a */; + targetProxy = 10C2C9010C2C9010C2C90000 /* PBXContainerItemProxy */; + }; + 10C38F010C38F010C38F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6AEC706AEC706AEC70000000 /* libswitch_core_session.a */; + targetProxy = 10C340010C340010C3400000 /* PBXContainerItemProxy */; + }; + 10C406010C406010C4060000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6B8A006B8A006B8A00000000 /* libswitch_core_speech.a */; + targetProxy = 10C3B7010C3B7010C3B70000 /* PBXContainerItemProxy */; + }; + 10C47D010C47D010C47D0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6C27B06C27B06C27B0000000 /* libswitch_core_sqldb.a */; + targetProxy = 10C42E010C42E010C42E0000 /* PBXContainerItemProxy */; + }; + 10C4EC010C4EC010C4EC0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6CC5706CC5706CC570000000 /* libswitch_core_state_machine.a */; + targetProxy = 10C4A5010C4A5010C4A50000 /* PBXContainerItemProxy */; + }; + 10C56C010C56C010C56C0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6D64706D64706D6470000000 /* libswitch_core_timer.a */; + targetProxy = 10C51D010C51D010C51D0000 /* PBXContainerItemProxy */; + }; + 10C5E3010C5E3010C5E30000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6E0CB06E0CB06E0CB0000000 /* libswitch_dso.a */; + targetProxy = 10C594010C594010C5940000 /* PBXContainerItemProxy */; + }; + 10C65A010C65A010C65A0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6EB5406EB5406EB540000000 /* libswitch_event.a */; + targetProxy = 10C60B010C60B010C60B0000 /* PBXContainerItemProxy */; + }; + 10C6D1010C6D1010C6D10000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6F5DB06F5DB06F5DB0000000 /* libswitch_ivr.a */; + targetProxy = 10C682010C682010C6820000 /* PBXContainerItemProxy */; + }; + 10C748010C748010C7480000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10039B010039B010039B0000 /* libswitch_ivr_async.a */; + targetProxy = 10C6F9010C6F9010C6F90000 /* PBXContainerItemProxy */; + }; + 10C7BF010C7BF010C7BF0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 100D710100D710100D710000 /* libswitch_ivr_bridge.a */; + targetProxy = 10C770010C770010C7700000 /* PBXContainerItemProxy */; + }; + 10C836010C836010C8360000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 101743010174301017430000 /* libswitch_ivr_menu.a */; + targetProxy = 10C7E7010C7E7010C7E70000 /* PBXContainerItemProxy */; + }; + 10C8A5010C8A5010C8A50000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 102126010212601021260000 /* libswitch_ivr_originate.a */; + targetProxy = 10C85E010C85E010C85E0000 /* PBXContainerItemProxy */; + }; + 10C925010C925010C9250000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 102B140102B140102B140000 /* libswitch_ivr_play_say.a */; + targetProxy = 10C8D6010C8D6010C8D60000 /* PBXContainerItemProxy */; + }; + 10C99F010C99F010C99F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10358C010358C010358C0000 /* libswitch_loadable_module.a */; + targetProxy = 10C1DC010C1DC010C1DC0000 /* PBXContainerItemProxy */; + }; + 10CA1B010CA1B010CA1B0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10402F010402F010402F0000 /* libswitch_log.a */; + targetProxy = 10C9D5010C9D5010C9D50000 /* PBXContainerItemProxy */; + }; + 10CA99010CA99010CA990000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 104AB60104AB60104AB60000 /* libswitch_odbc.a */; + targetProxy = 10CA4A010CA4A010CA4A0000 /* PBXContainerItemProxy */; + }; + 10CB10010CB10010CB100000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10548E010548E010548E0000 /* libswitch_pcm.a */; + targetProxy = 10CAC1010CAC1010CAC10000 /* PBXContainerItemProxy */; + }; + 10CB87010CB87010CB870000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 105F130105F130105F130000 /* libswitch_regex.a */; + targetProxy = 10CB38010CB38010CB380000 /* PBXContainerItemProxy */; + }; + 10CBFE010CBFE010CBFE0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 106992010699201069920000 /* libswitch_resample.a */; + targetProxy = 10CBAF010CBAF010CBAF0000 /* PBXContainerItemProxy */; + }; + 10CC75010CC75010CC750000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 107413010741301074130000 /* libswitch_rtp.a */; + targetProxy = 10CC26010CC26010CC260000 /* PBXContainerItemProxy */; + }; + 10CCEC010CCEC010CCEC0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 107E980107E980107E980000 /* libswitch_scheduler.a */; + targetProxy = 10CC9D010CC9D010CC9D0000 /* PBXContainerItemProxy */; + }; + 10CD63010CD63010CD630000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10890D010890D010890D0000 /* libswitch_stun.a */; + targetProxy = 10CD14010CD14010CD140000 /* PBXContainerItemProxy */; + }; + 10CDDA010CDDA010CDDA0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1092F201092F201092F20000 /* libswitch_swig.a */; + targetProxy = 10CD8B010CD8B010CD8B0000 /* PBXContainerItemProxy */; + }; + 10CE51010CE51010CE510000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 109CCB0109CCB0109CCB0000 /* libswitch_time.a */; + targetProxy = 10CE02010CE02010CE020000 /* PBXContainerItemProxy */; + }; + 10CEC8010CEC8010CEC80000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10A750010A750010A7500000 /* libswitch_utils.a */; + targetProxy = 10CE79010CE79010CE790000 /* PBXContainerItemProxy */; + }; + 10CF3F010CF3F010CF3F0000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 10B1D0010B1D0010B1D00000 /* libswitch_xml.a */; + targetProxy = 10CEF0010CEF0010CEF00000 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ - 27FC39AA0CDBA14A00BC5B29 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - }; - name = Debug; - }; - 27FC39AB0CDBA14A00BC5B29 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - }; - name = Release; - }; + 4D43104D43104D4310000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + 4D44D04D44D04D44D0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; + 4D46804D46804D4680000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = MinSizeRel; + }; + 4D49004D49004D4900000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = RelWithDebInfo; + }; + 4D6D804D6D804D6D80000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 4D7FD04D7FD04D7FD0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 4D92304D92304D9230000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 4DA4404DA4404DA440000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 4DF8304DF8304DF830000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a -lteletone -lpcre -lresample /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_asr.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_channel.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_io.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_apr.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_utils.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_xml.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_caller.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_config.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_console.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_codec.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_db.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_directory.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_event_hook.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_file.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_hash.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_media_bug.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_memory.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_port_allocator.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_rwlock.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_session.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_speech.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_sqldb.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_state_machine.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_core_timer.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_dso.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_event.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_bridge.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_menu.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_originate.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_ivr_play_say.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_loadable_module.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_log.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_odbc.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_pcm.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_regex.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_resample.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_rtp.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_scheduler.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_stun.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_swig.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libswitch_time.a -lstfu -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 4E0F704E0F704E0F70000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a -lteletone -lpcre -lresample /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_asr.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_channel.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_io.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_apr.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_utils.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_xml.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_caller.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_config.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_console.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_codec.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_db.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_directory.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_event_hook.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_file.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_hash.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_media_bug.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_memory.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_port_allocator.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_rwlock.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_session.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_speech.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_sqldb.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_state_machine.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_core_timer.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_dso.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_event.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_bridge.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_menu.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_originate.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_ivr_play_say.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_loadable_module.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_log.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_odbc.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_pcm.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_regex.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_resample.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_rtp.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_scheduler.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_stun.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_swig.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libswitch_time.a -lstfu -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 4E25604E25604E2560000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a -lteletone -lpcre -lresample /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_asr.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_channel.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_io.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_apr.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_utils.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_xml.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_caller.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_config.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_console.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_codec.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_db.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_directory.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_event_hook.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_file.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_hash.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_media_bug.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_memory.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_port_allocator.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_rwlock.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_session.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_speech.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_sqldb.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_state_machine.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_core_timer.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_dso.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_event.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_bridge.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_menu.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_originate.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_ivr_play_say.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_loadable_module.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_log.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_odbc.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_pcm.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_regex.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_resample.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_rtp.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_scheduler.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_stun.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_swig.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libswitch_time.a -lstfu -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 4E3B004E3B004E3B00000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a -lteletone -lpcre -lresample /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_asr.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_channel.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_io.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_apr.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_utils.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_xml.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_caller.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_buffer.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_config.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_console.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_codec.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_db.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_directory.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_event_hook.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_file.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_hash.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_media_bug.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_memory.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_port_allocator.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_rwlock.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_session.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_speech.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_sqldb.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_state_machine.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_core_timer.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_dso.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_event.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_async.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_bridge.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_menu.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_originate.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_ivr_play_say.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_loadable_module.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_log.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_odbc.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_pcm.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_regex.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_resample.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_rtp.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_scheduler.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_stun.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_swig.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libswitch_time.a -lstfu -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 4E91404E91404E9140000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_apr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 4EA9404EA9404EA940000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_apr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 4EBFF04EBFF04EBFF0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_apr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 4ED6A04ED6A04ED6A0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_apr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 4F3A104F3A104F3A10000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_buffer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 4F52204F52204F5220000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_buffer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 4F68C04F68C04F68C0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_buffer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 4F7F704F7F704F7F70000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_buffer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 602210602210602210000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_caller; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 603A20603A20603A20000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_caller; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6050C06050C06050C0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_caller; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 606770606770606770000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_caller; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 60CAB060CAB060CAB0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_channel; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 60E2C060E2C060E2C0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_channel; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 60F96060F96060F960000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_channel; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 611010611010611010000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_channel; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 617340617340617340000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_config; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 618B50618B50618B50000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_config; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 61A1F061A1F061A1F0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_config; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 61B8A061B8A061B8A0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_config; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 621BD0621BD0621BD0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_console; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6233E06233E06233E0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_console; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 624A80624A80624A80000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_console; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 626130626130626130000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_console; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 62D68062D68062D680000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 62EE8062EE8062EE80000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 630530630530630530000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 631BE0631BE0631BE0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 637480637480637480000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_asr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6377B06377B06377B0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_asr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 63A35063A35063A350000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_asr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 63BA0063BA0063BA00000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_asr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 641290641290641290000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_codec; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 642A20642A20642A20000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_codec; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6440C06440C06440C0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_codec; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 645770645770645770000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_codec; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 64BAF064BAF064BAF0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_db; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 64D30064D30064D300000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_db; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 64E9A064E9A064E9A0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_db; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 650050650050650050000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_db; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6556E06556E06556E0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_directory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6570D06570D06570D0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_directory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 658780658780658780000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_directory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 659E80659E80659E80000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_directory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 660080660080660080000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_event_hook; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 661A70661A70661A70000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_event_hook; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 663120663120663120000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_event_hook; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 664820664820664820000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_event_hook; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 66A10066A10066A100000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_file; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 66B8E066B8E066B8E0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_file; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 66CF9066CF9066CF90000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_file; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 66E64066E64066E640000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_file; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 673ED0673ED0673ED0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_hash; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6756B06756B06756B0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_hash; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 676D60676D60676D60000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_hash; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 678410678410678410000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_hash; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 67DCA067DCA067DCA0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_io; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 67F4B067F4B067F4B0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_io; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 680B50680B50680B50000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_io; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 682200682200682200000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_io; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6878D06878D06878D0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_media_bug; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6892C06892C06892C0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_media_bug; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 68A97068A97068A970000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_media_bug; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 68C07068C07068C070000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_media_bug; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 691930691930691930000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_memory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 693120693120693120000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_memory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 694740694740694740000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_memory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 695E30695E30695E30000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_memory; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 69B76069B76069B760000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_port_allocator; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 69CF8069CF8069CF80000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_port_allocator; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 69E64069E64069E640000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_port_allocator; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 69FD5069FD5069FD50000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_port_allocator; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6A55F06A55F06A55F0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_rwlock; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6A6DE06A6DE06A6DE0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_rwlock; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6A84006A84006A8400000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_rwlock; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6A9AF06A9AF06A9AF0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_rwlock; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6AF3D06AF3D06AF3D0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_session; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6B0BC06B0BC06B0BC0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_session; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6B21E06B21E06B21E0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_session; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6B38D06B38D06B38D0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_session; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6B91606B91606B9160000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_speech; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6BA9506BA9506BA950000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_speech; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6BBF706BBF706BBF70000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_speech; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6BD6606BD6606BD660000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_speech; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6C2F106C2F106C2F10000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_sqldb; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6C46A06C46A06C46A0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_sqldb; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6C5D406C5D406C5D40000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_sqldb; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6C73F06C73F06C73F0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_sqldb; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6CCD206CCD206CCD20000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_state_machine; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6CE5406CE5406CE540000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_state_machine; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6CFC006CFC006CFC00000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_state_machine; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6D13106D13106D1310000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_state_machine; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6D6BD06D6BD06D6BD0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_timer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6D83606D83606D8360000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_timer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6D9A006D9A006D9A00000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_timer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6DB0B06DB0B06DB0B0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_core_timer; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6E13D06E13D06E13D0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_dso; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6E2BD06E2BD06E2BD0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_dso; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6E42806E42806E4280000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_dso; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6E59306E59306E5930000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_dso; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6EBCA06EBCA06EBCA0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_event; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6ED4A06ED4A06ED4A0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_event; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6EEB506EEB506EEB50000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_event; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6F02006F02006F0200000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_event; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 6F64D06F64D06F64D0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 6F7CD06F7CD06F7CD0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 6F93806F93806F9380000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 6FAA306FAA306FAA30000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 100421010042101004210000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_async; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 100453010045301004530000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_async; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 10070C010070C010070C0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_async; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 100875010087501008750000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_async; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 100DF70100DF70100DF70000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_bridge; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 100F700100F700100F700000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_bridge; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 1010DB01010DB01010DB0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_bridge; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 101244010124401012440000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_bridge; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 1017C901017C901017C90000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_menu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 10194C010194C010194C0000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_menu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 101AB50101AB50101AB50000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_menu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 101C1E0101C1E0101C1E0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_menu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 10219A010219A010219A0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_originate; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 102321010232101023210000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_originate; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 102489010248901024890000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_originate; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 1025F601025F601025F60000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_originate; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 102B880102B880102B880000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_play_say; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 102D060102D060102D060000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_play_say; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 102E710102E710102E710000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_play_say; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 102FDA0102FDA0102FDA0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_ivr_play_say; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 103621010362101036210000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_loadable_module; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 103797010379701037970000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_loadable_module; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 1038FF01038FF01038FF0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_loadable_module; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 103A6C0103A6C0103A6C0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_loadable_module; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 1040A301040A301040A30000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_log; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 104225010422501042250000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_log; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 10438F010438F010438F0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_log; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 1044F601044F601044F60000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_log; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 104B2A0104B2A0104B2A0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_odbc; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 104CAC0104CAC0104CAC0000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_odbc; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 104E160104E160104E160000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_odbc; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 104F7D0104F7D0104F7D0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_odbc; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 105502010550201055020000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_pcm; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 105684010568401056840000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_pcm; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 1057EE01057EE01057EE0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_pcm; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 105955010595501059550000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_pcm; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 105F8B0105F8B0105F8B0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_regex; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 10610C010610C010610C0000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_regex; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 106275010627501062750000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_regex; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 1063DC01063DC01063DC0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_regex; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 106A0B0106A0B0106A0B0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 106A3D0106A3D0106A3D0000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 106CF60106CF60106CF60000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 106E5F0106E5F0106E5F0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 107487010748701074870000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_rtp; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 107609010760901076090000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_rtp; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 107773010777301077730000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_rtp; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 1078DA01078DA01078DA0000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_rtp; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 107F110107F110107F110000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_scheduler; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 108094010809401080940000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_scheduler; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 1081FD01081FD01081FD0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_scheduler; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 108366010836601083660000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_scheduler; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 10898F010898F010898F0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_stun; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 108B100108B100108B100000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_stun; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 108C790108C790108C790000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_stun; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 108DE00108DE00108DE00000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_stun; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 109366010936601093660000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_swig; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 1094E801094E801094E80000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_swig; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 109652010965201096520000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_swig; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 1097B901097B901097B90000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_swig; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 109D3F0109D3F0109D3F0000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_time; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 109EC10109EC10109EC10000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_time; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 10A02B010A02B010A02B0000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_time; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 10A192010A192010A1920000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_time; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 10A7C8010A7C8010A7C80000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_utils; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 10A949010A949010A9490000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_utils; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 10AAB2010AAB2010AAB20000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_utils; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 10AC19010AC19010AC190000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_utils; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; + 10B244010B244010B2440000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_xml; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Debug; + }; + 10B3C6010B3C6010B3C60000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_xml; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = Release; + }; + 10B530010B530010B5300000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " -DNDEBUG "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_xml; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = MinSizeRel; + }; + 10B697010B697010B6970000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = ".a"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = " "; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = switch_xml; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + name = RelWithDebInfo; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 27FC39AC0CDBA14A00BC5B29 /* Build configuration list for PBXProject "freeswitch" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 27FC39AA0CDBA14A00BC5B29 /* Debug */, - 27FC39AB0CDBA14A00BC5B29 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; + 4D42304D42304D4230000000 /* Build configuration list for PBXProject "freeswitch" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4D43104D43104D4310000000 /* Debug */, + 4D44D04D44D04D44D0000000 /* Release */, + 4D46804D46804D4680000000 /* MinSizeRel */, + 4D49004D49004D4900000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4D6A204D6A204D6A20000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4D6D804D6D804D6D80000000 /* Debug */, + 4D7FD04D7FD04D7FD0000000 /* Release */, + 4D92304D92304D9230000000 /* MinSizeRel */, + 4DA4404DA4404DA440000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4DF4F04DF4F04DF4F0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4DF8304DF8304DF830000000 /* Debug */, + 4E0F704E0F704E0F70000000 /* Release */, + 4E25604E25604E2560000000 /* MinSizeRel */, + 4E3B004E3B004E3B00000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4E8E004E8E004E8E00000000 /* Build configuration list for PBXNativeTarget "switch_apr" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4E91404E91404E9140000000 /* Debug */, + 4EA9404EA9404EA940000000 /* Release */, + 4EBFF04EBFF04EBFF0000000 /* MinSizeRel */, + 4ED6A04ED6A04ED6A0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4F36904F36904F3690000000 /* Build configuration list for PBXNativeTarget "switch_buffer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4F3A104F3A104F3A10000000 /* Debug */, + 4F52204F52204F5220000000 /* Release */, + 4F68C04F68C04F68C0000000 /* MinSizeRel */, + 4F7F704F7F704F7F70000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 601E90601E90601E90000000 /* Build configuration list for PBXNativeTarget "switch_caller" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 602210602210602210000000 /* Debug */, + 603A20603A20603A20000000 /* Release */, + 6050C06050C06050C0000000 /* MinSizeRel */, + 606770606770606770000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 60C73060C73060C730000000 /* Build configuration list for PBXNativeTarget "switch_channel" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 60CAB060CAB060CAB0000000 /* Debug */, + 60E2C060E2C060E2C0000000 /* Release */, + 60F96060F96060F960000000 /* MinSizeRel */, + 611010611010611010000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 616FC0616FC0616FC0000000 /* Build configuration list for PBXNativeTarget "switch_config" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 617340617340617340000000 /* Debug */, + 618B50618B50618B50000000 /* Release */, + 61A1F061A1F061A1F0000000 /* MinSizeRel */, + 61B8A061B8A061B8A0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 621850621850621850000000 /* Build configuration list for PBXNativeTarget "switch_console" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 621BD0621BD0621BD0000000 /* Debug */, + 6233E06233E06233E0000000 /* Release */, + 624A80624A80624A80000000 /* MinSizeRel */, + 626130626130626130000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 62D34062D34062D340000000 /* Build configuration list for PBXNativeTarget "switch_core" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 62D68062D68062D680000000 /* Debug */, + 62EE8062EE8062EE80000000 /* Release */, + 630530630530630530000000 /* MinSizeRel */, + 631BE0631BE0631BE0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 637100637100637100000000 /* Build configuration list for PBXNativeTarget "switch_core_asr" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 637480637480637480000000 /* Debug */, + 6377B06377B06377B0000000 /* Release */, + 63A35063A35063A350000000 /* MinSizeRel */, + 63BA0063BA0063BA00000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 640F10640F10640F10000000 /* Build configuration list for PBXNativeTarget "switch_core_codec" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 641290641290641290000000 /* Debug */, + 642A20642A20642A20000000 /* Release */, + 6440C06440C06440C0000000 /* MinSizeRel */, + 645770645770645770000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 64B77064B77064B770000000 /* Build configuration list for PBXNativeTarget "switch_core_db" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 64BAF064BAF064BAF0000000 /* Debug */, + 64D30064D30064D300000000 /* Release */, + 64E9A064E9A064E9A0000000 /* MinSizeRel */, + 650050650050650050000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 655530655530655530000000 /* Build configuration list for PBXNativeTarget "switch_core_directory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6556E06556E06556E0000000 /* Debug */, + 6570D06570D06570D0000000 /* Release */, + 658780658780658780000000 /* MinSizeRel */, + 659E80659E80659E80000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 65FED065FED065FED0000000 /* Build configuration list for PBXNativeTarget "switch_core_event_hook" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 660080660080660080000000 /* Debug */, + 661A70661A70661A70000000 /* Release */, + 663120663120663120000000 /* MinSizeRel */, + 664820664820664820000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 669D80669D80669D80000000 /* Build configuration list for PBXNativeTarget "switch_core_file" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 66A10066A10066A100000000 /* Debug */, + 66B8E066B8E066B8E0000000 /* Release */, + 66CF9066CF9066CF90000000 /* MinSizeRel */, + 66E64066E64066E640000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 673B50673B50673B50000000 /* Build configuration list for PBXNativeTarget "switch_core_hash" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 673ED0673ED0673ED0000000 /* Debug */, + 6756B06756B06756B0000000 /* Release */, + 676D60676D60676D60000000 /* MinSizeRel */, + 678410678410678410000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 67D92067D92067D920000000 /* Build configuration list for PBXNativeTarget "switch_core_io" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 67DCA067DCA067DCA0000000 /* Debug */, + 67F4B067F4B067F4B0000000 /* Release */, + 680B50680B50680B50000000 /* MinSizeRel */, + 682200682200682200000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 687720687720687720000000 /* Build configuration list for PBXNativeTarget "switch_core_media_bug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6878D06878D06878D0000000 /* Debug */, + 6892C06892C06892C0000000 /* Release */, + 68A97068A97068A970000000 /* MinSizeRel */, + 68C07068C07068C070000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6915B06915B06915B0000000 /* Build configuration list for PBXNativeTarget "switch_core_memory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 691930691930691930000000 /* Debug */, + 693120693120693120000000 /* Release */, + 694740694740694740000000 /* MinSizeRel */, + 695E30695E30695E30000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 69B3A069B3A069B3A0000000 /* Build configuration list for PBXNativeTarget "switch_core_port_allocator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 69B76069B76069B760000000 /* Debug */, + 69CF8069CF8069CF80000000 /* Release */, + 69E64069E64069E640000000 /* MinSizeRel */, + 69FD5069FD5069FD50000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6A52706A52706A5270000000 /* Build configuration list for PBXNativeTarget "switch_core_rwlock" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6A55F06A55F06A55F0000000 /* Debug */, + 6A6DE06A6DE06A6DE0000000 /* Release */, + 6A84006A84006A8400000000 /* MinSizeRel */, + 6A9AF06A9AF06A9AF0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6AF0506AF0506AF050000000 /* Build configuration list for PBXNativeTarget "switch_core_session" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6AF3D06AF3D06AF3D0000000 /* Debug */, + 6B0BC06B0BC06B0BC0000000 /* Release */, + 6B21E06B21E06B21E0000000 /* MinSizeRel */, + 6B38D06B38D06B38D0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6B8DE06B8DE06B8DE0000000 /* Build configuration list for PBXNativeTarget "switch_core_speech" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6B91606B91606B9160000000 /* Debug */, + 6BA9506BA9506BA950000000 /* Release */, + 6BBF706BBF706BBF70000000 /* MinSizeRel */, + 6BD6606BD6606BD660000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6C2B906C2B906C2B90000000 /* Build configuration list for PBXNativeTarget "switch_core_sqldb" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6C2F106C2F106C2F10000000 /* Debug */, + 6C46A06C46A06C46A0000000 /* Release */, + 6C5D406C5D406C5D40000000 /* MinSizeRel */, + 6C73F06C73F06C73F0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6CC9606CC9606CC960000000 /* Build configuration list for PBXNativeTarget "switch_core_state_machine" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6CCD206CCD206CCD20000000 /* Debug */, + 6CE5406CE5406CE540000000 /* Release */, + 6CFC006CFC006CFC00000000 /* MinSizeRel */, + 6D13106D13106D1310000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6D68506D68506D6850000000 /* Build configuration list for PBXNativeTarget "switch_core_timer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6D6BD06D6BD06D6BD0000000 /* Debug */, + 6D83606D83606D8360000000 /* Release */, + 6D9A006D9A006D9A00000000 /* MinSizeRel */, + 6DB0B06DB0B06DB0B0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6E10906E10906E1090000000 /* Build configuration list for PBXNativeTarget "switch_dso" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6E13D06E13D06E13D0000000 /* Debug */, + 6E2BD06E2BD06E2BD0000000 /* Release */, + 6E42806E42806E4280000000 /* MinSizeRel */, + 6E59306E59306E5930000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6EB9206EB9206EB920000000 /* Build configuration list for PBXNativeTarget "switch_event" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6EBCA06EBCA06EBCA0000000 /* Debug */, + 6ED4A06ED4A06ED4A0000000 /* Release */, + 6EEB506EEB506EEB50000000 /* MinSizeRel */, + 6F02006F02006F0200000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6F61906F61906F6190000000 /* Build configuration list for PBXNativeTarget "switch_ivr" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6F64D06F64D06F64D0000000 /* Debug */, + 6F7CD06F7CD06F7CD0000000 /* Release */, + 6F93806F93806F9380000000 /* MinSizeRel */, + 6FAA306FAA306FAA30000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 1003E701003E701003E70000 /* Build configuration list for PBXNativeTarget "switch_ivr_async" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 100421010042101004210000 /* Debug */, + 100453010045301004530000 /* Release */, + 10070C010070C010070C0000 /* MinSizeRel */, + 100875010087501008750000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 100DBD0100DBD0100DBD0000 /* Build configuration list for PBXNativeTarget "switch_ivr_bridge" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 100DF70100DF70100DF70000 /* Debug */, + 100F700100F700100F700000 /* Release */, + 1010DB01010DB01010DB0000 /* MinSizeRel */, + 101244010124401012440000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 10178F010178F010178F0000 /* Build configuration list for PBXNativeTarget "switch_ivr_menu" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1017C901017C901017C90000 /* Debug */, + 10194C010194C010194C0000 /* Release */, + 101AB50101AB50101AB50000 /* MinSizeRel */, + 101C1E0101C1E0101C1E0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 102165010216501021650000 /* Build configuration list for PBXNativeTarget "switch_ivr_originate" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 10219A010219A010219A0000 /* Debug */, + 102321010232101023210000 /* Release */, + 102489010248901024890000 /* MinSizeRel */, + 1025F601025F601025F60000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 102B530102B530102B530000 /* Build configuration list for PBXNativeTarget "switch_ivr_play_say" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 102B880102B880102B880000 /* Debug */, + 102D060102D060102D060000 /* Release */, + 102E710102E710102E710000 /* MinSizeRel */, + 102FDA0102FDA0102FDA0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 1035D801035D801035D80000 /* Build configuration list for PBXNativeTarget "switch_loadable_module" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 103621010362101036210000 /* Debug */, + 103797010379701037970000 /* Release */, + 1038FF01038FF01038FF0000 /* MinSizeRel */, + 103A6C0103A6C0103A6C0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 10406D010406D010406D0000 /* Build configuration list for PBXNativeTarget "switch_log" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1040A301040A301040A30000 /* Debug */, + 104225010422501042250000 /* Release */, + 10438F010438F010438F0000 /* MinSizeRel */, + 1044F601044F601044F60000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 104AF40104AF40104AF40000 /* Build configuration list for PBXNativeTarget "switch_odbc" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 104B2A0104B2A0104B2A0000 /* Debug */, + 104CAC0104CAC0104CAC0000 /* Release */, + 104E160104E160104E160000 /* MinSizeRel */, + 104F7D0104F7D0104F7D0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 1054CC01054CC01054CC0000 /* Build configuration list for PBXNativeTarget "switch_pcm" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 105502010550201055020000 /* Debug */, + 105684010568401056840000 /* Release */, + 1057EE01057EE01057EE0000 /* MinSizeRel */, + 105955010595501059550000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 105F510105F510105F510000 /* Build configuration list for PBXNativeTarget "switch_regex" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 105F8B0105F8B0105F8B0000 /* Debug */, + 10610C010610C010610C0000 /* Release */, + 106275010627501062750000 /* MinSizeRel */, + 1063DC01063DC01063DC0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 1069D101069D101069D10000 /* Build configuration list for PBXNativeTarget "switch_resample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 106A0B0106A0B0106A0B0000 /* Debug */, + 106A3D0106A3D0106A3D0000 /* Release */, + 106CF60106CF60106CF60000 /* MinSizeRel */, + 106E5F0106E5F0106E5F0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 107451010745101074510000 /* Build configuration list for PBXNativeTarget "switch_rtp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 107487010748701074870000 /* Debug */, + 107609010760901076090000 /* Release */, + 107773010777301077730000 /* MinSizeRel */, + 1078DA01078DA01078DA0000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 107ED70107ED70107ED70000 /* Build configuration list for PBXNativeTarget "switch_scheduler" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 107F110107F110107F110000 /* Debug */, + 108094010809401080940000 /* Release */, + 1081FD01081FD01081FD0000 /* MinSizeRel */, + 108366010836601083660000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 108959010895901089590000 /* Build configuration list for PBXNativeTarget "switch_stun" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 10898F010898F010898F0000 /* Debug */, + 108B100108B100108B100000 /* Release */, + 108C790108C790108C790000 /* MinSizeRel */, + 108DE00108DE00108DE00000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 109330010933001093300000 /* Build configuration list for PBXNativeTarget "switch_swig" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 109366010936601093660000 /* Debug */, + 1094E801094E801094E80000 /* Release */, + 109652010965201096520000 /* MinSizeRel */, + 1097B901097B901097B90000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 109D090109D090109D090000 /* Build configuration list for PBXNativeTarget "switch_time" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 109D3F0109D3F0109D3F0000 /* Debug */, + 109EC10109EC10109EC10000 /* Release */, + 10A02B010A02B010A02B0000 /* MinSizeRel */, + 10A192010A192010A1920000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 10A78E010A78E010A78E0000 /* Build configuration list for PBXNativeTarget "switch_utils" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 10A7C8010A7C8010A7C80000 /* Debug */, + 10A949010A949010A9490000 /* Release */, + 10AAB2010AAB2010AAB20000 /* MinSizeRel */, + 10AC19010AC19010AC190000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 10B20E010B20E010B20E0000 /* Build configuration list for PBXNativeTarget "switch_xml" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 10B244010B244010B2440000 /* Debug */, + 10B3C6010B3C6010B3C60000 /* Release */, + 10B530010B530010B5300000 /* MinSizeRel */, + 10B697010B697010B6970000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; /* End XCConfigurationList section */ - }; - rootObject = 27FC39A90CDBA14A00BC5B29 /* Project object */; + }; + rootObject = 4D3C704D3C704D3C70000000 /* Project object */; } From rupa at freeswitch.org Wed Feb 11 13:33:22 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 15:33:22 -0600 Subject: [Freeswitch-svn] [commit] r11894 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Wed Feb 11 15:33:22 2009 New Revision: 11894 Log: implement param reorder_by_rate which umm.. does that default to false Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Wed Feb 11 15:33:22 2009 @@ -84,6 +84,7 @@ size_t lstrip; size_t tstrip; size_t digit_len; + struct lcr_obj *prev; struct lcr_obj *next; }; @@ -109,6 +110,7 @@ char *order_by; char *pre_order; char *custom_sql; + switch_bool_t reorder_by_rate; }; typedef struct profile_obj profile_t; @@ -117,6 +119,7 @@ int matches; switch_memory_pool_t *pool; char *lookup_number; + profile_t *profile; }; typedef struct callback_obj callback_t; @@ -164,6 +167,20 @@ return data; } +profile_t *locate_profile(const char *profile_name) +{ + profile_t *profile = NULL; + + if(switch_strlen_zero(profile_name)) { + profile = globals.default_profile; + } else if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error invalid profile %s\n", profile_name); + } + + return profile; +} + + void init_max_lens(max_len maxes) { maxes->digit_str = (headers[LCR_DIGITS_PLACE] == NULL ? 0 : strlen(headers[LCR_DIGITS_PLACE])); @@ -304,9 +321,9 @@ lcr_route additional = NULL; lcr_route current = NULL; callback_t *cbt = (callback_t *) pArg; + switch_memory_pool_t *pool = cbt->pool; - cbt->matches++; if(argc != LCR_QUERY_COLS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, @@ -324,6 +341,7 @@ return SWITCH_STATUS_SUCCESS; } + cbt->matches++; additional = switch_core_alloc(pool, sizeof(lcr_obj_t)); additional->digit_len = strlen(argv[LCR_DIGITS_PLACE]); @@ -342,6 +360,7 @@ if (cbt->head == NULL) { additional->next = cbt->head; cbt->head = additional; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s to head of list\n", additional->carrier_name); return SWITCH_STATUS_SUCCESS; } @@ -354,23 +373,50 @@ additional->gw_prefix, additional->gw_suffix); break; } - - if (current->next == NULL) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "adding route to end of list\n"); - current->next = additional; - break; + + if(!cbt->profile->reorder_by_rate) { + /* use db order */ + if (current->next == NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s to end of list\n", additional->carrier_name); + current->next = additional; + additional->prev = current; + break; + } + } else { + if(current->rate > additional->rate) { + /* insert myself here */ + if(current->prev != NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s before %s\n", + additional->carrier_name, current->carrier_name); + current->prev->next = additional; + } else { + /* put this one at the head */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Inserting %s to list head before %s\n", + additional->carrier_name, current->carrier_name); + cbt->head = additional; + } + additional->next = current; + current->prev = additional; + break; + } else if(current->next == NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "adding %s to end of list after %s\n", + additional->carrier_name, current->carrier_name); + current->next = additional; + additional->prev = current; + break; + } } } return SWITCH_STATUS_SUCCESS; } -switch_status_t lcr_do_lookup(callback_t *cb_struct, char *digits, char* profile_name) +switch_status_t lcr_do_lookup(callback_t *cb_struct, char *digits) { /* instantiate the object/struct we defined earlier */ switch_stream_handle_t sql_stream = { 0 }; size_t n, digit_len = strlen(digits); char *digits_copy; - profile_t *profile; + profile_t *profile = cb_struct->profile; switch_bool_t lookup_status; digits_copy = string_digitsonly(cb_struct->pool, digits); @@ -378,14 +424,6 @@ return SWITCH_FALSE; } - /* locate the profile */ - if(switch_strlen_zero(profile_name)) { - profile = globals.default_profile; - } else if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error invalid profile %s\n", profile_name); - return SWITCH_STATUS_FALSE; - } - /* SWITCH_STANDARD_STREAM doesn't use pools. but we only have to free sql_stream.data */ SWITCH_STANDARD_STREAM(sql_stream); @@ -497,6 +535,7 @@ switch_stream_handle_t order_by = { 0 }; switch_stream_handle_t pre_order = { 0 }; switch_stream_handle_t *thisorder = NULL; + char *reorder_by_rate = SWITCH_FALSE; char *id_s = NULL; char *custom_sql = NULL; int argc, x = 0; @@ -547,6 +586,8 @@ id_s = val; } else if (!strcasecmp(var, "custom_sql") && !switch_strlen_zero(val)) { custom_sql = val; + } else if (!strcasecmp(var, "reorder_by_rate") && !switch_strlen_zero(val)) { + reorder_by_rate = val; } } @@ -567,7 +608,7 @@ profile->pre_order = switch_core_strdup(globals.pool, (char *)pre_order.data); } else { /* default to rate */ - profile->order_by = ", rate"; + profile->pre_order = ""; } if(!switch_strlen_zero(id_s)) { @@ -584,6 +625,10 @@ } } + if(!switch_strlen_zero("reorder_by_rate")) { + profile->reorder_by_rate = switch_true(reorder_by_rate); + } + switch_core_hash_insert(globals.profile_hash, profile->name, profile); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Loaded lcr profile %s.\n", profile->name); } @@ -614,6 +659,10 @@ switch_core_new_memory_pool(&pool); } routes.pool = pool; + if(!(routes.profile = locate_profile(lcr_profile))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown profile: %s\n", lcr_profile); + goto end; + } if (!caller_profile) { caller_profile = switch_channel_get_caller_profile(channel); @@ -621,7 +670,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "LCR Lookup on %s\n", caller_profile->destination_number); routes.lookup_number = caller_profile->destination_number; - if (lcr_do_lookup(&routes, caller_profile->destination_number, lcr_profile) == SWITCH_STATUS_SUCCESS) { + if (lcr_do_lookup(&routes, caller_profile->destination_number) == SWITCH_STATUS_SUCCESS) { if ((extension = switch_caller_extension_new(session, caller_profile->destination_number, caller_profile->destination_number)) == 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "memory error!\n"); goto end; @@ -683,6 +732,10 @@ switch_core_new_memory_pool(&pool); } routes.pool = pool; + if(!(routes.profile = locate_profile(lcr_profile))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown profile: %s\n", lcr_profile); + goto end; + } if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { dest = argv[0]; @@ -692,7 +745,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "LCR Lookup on %s\n", dest); routes.lookup_number = dest; - if (lcr_do_lookup(&routes, dest, lcr_profile) == SWITCH_STATUS_SUCCESS) { + if (lcr_do_lookup(&routes, dest) == SWITCH_STATUS_SUCCESS) { for (cur_route = routes.head; cur_route; cur_route = cur_route->next) { switch_snprintf(vbuf, sizeof(vbuf), "lcr_route_%d", cnt++); switch_channel_set_variable(channel, vbuf, cur_route->dialstring); @@ -710,7 +763,8 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "LCR lookup failed for %s\n", dest); } } - + +end: if(!session) { switch_core_destroy_memory_pool(&pool); } @@ -746,11 +800,15 @@ } cb_struct.lookup_number = destination_number; cb_struct.pool = pool; + if(!(cb_struct.profile = locate_profile(lcr_profile))) { + stream->write_function(stream, "-ERR Unknown profile: %s\n", lcr_profile); + goto end; + } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO , "data passed to lcr is [%s]\n", cmd ); - lookup_status = lcr_do_lookup(&cb_struct, destination_number, lcr_profile); + lookup_status = lcr_do_lookup(&cb_struct, destination_number); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO , "lcr lookup returned [%d]\n" , lookup_status @@ -813,6 +871,7 @@ } } +end: switch_core_destroy_memory_pool(&pool); return SWITCH_STATUS_SUCCESS; usage: @@ -847,14 +906,16 @@ stream->write_function(stream, "Name:\t\t%s\n", profile->name); if(switch_strlen_zero(profile->custom_sql)) { - stream->write_function(stream, "ID:\t\t%d\n", profile->id); - stream->write_function(stream, "order by:\t%s\n", profile->order_by); + stream->write_function(stream, " ID:\t\t%d\n", profile->id); + stream->write_function(stream, " order by:\t%s\n", profile->order_by); if(!switch_strlen_zero(profile->pre_order)) { - stream->write_function(stream, "pre_order:\t%s\n", profile->pre_order); + stream->write_function(stream, " pre_order:\t%s\n", profile->pre_order); } } else { - stream->write_function(stream, "custom sql:\t%s\n", profile->custom_sql); + stream->write_function(stream, " custom sql:\t%s\n", profile->custom_sql); } + stream->write_function(stream, " Reorder rate:\t%s\n", + profile->reorder_by_rate ? "enabled" : "disabled"); stream->write_function(stream, "\n"); } } else { From shaneb at freeswitch.org Wed Feb 11 14:59:20 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 16:59:20 -0600 Subject: [Freeswitch-svn] [commit] r11895 - freeswitch/trunk/src Message-ID: Author: shaneb Date: Wed Feb 11 16:59:20 2009 New Revision: 11895 Log: Started matching VC project layout Modified: freeswitch/trunk/src/CMakeLists.txt Modified: freeswitch/trunk/src/CMakeLists.txt ============================================================================== --- freeswitch/trunk/src/CMakeLists.txt (original) +++ freeswitch/trunk/src/CMakeLists.txt Wed Feb 11 16:59:20 2009 @@ -6,159 +6,64 @@ INCLUDE_DIRECTORIES(include/ ../libs/libresample/include/ ../libs/srtp/crypto/include/ ../libs/srtp/include/) -SET ( switch_ivr_SRCS switch_ivr.c include/switch_ivr.h) -ADD_LIBRARY(switch_ivr STATIC ${switch_ivr_SRCS}) - -SET ( switch_core_SRCS switch_core.c include/switch_core.h include/switch_core.h include/private/switch_core_pvt.h) -ADD_LIBRARY(switch_core STATIC ${switch_core_SRCS}) - -SET ( switch_core_io_SRCS switch_core_io.c ) -ADD_LIBRARY(switch_core_io STATIC ${switch_core_io_SRCS}) - -SET ( switch_core_asr_SRCS switch_core_asr.c ) -ADD_LIBRARY(switch_core_asr STATIC ${switch_core_asr_SRCS}) - -SET ( switch_apr_SRCS switch_apr.c ) -ADD_LIBRARY(switch_apr STATIC ${switch_apr_SRCS}) - if( HAVE_NETDB_H) add_definitions( -DHAVE_NETDB_H) endif( HAVE_NETDB_H) -SET ( switch_utils_SRCS switch_utils.c include/switch_utils.h) -ADD_LIBRARY(switch_utils STATIC ${switch_utils_SRCS}) - -SET ( switch_xml_SRCS switch_xml.c include/switch_xml.h) -ADD_LIBRARY(switch_xml STATIC ${switch_xml_SRCS}) - -SET ( switch_buffer_SRCS switch_buffer.c include/switch_buffer.h) -ADD_LIBRARY(switch_buffer ${switch_buffer_SRCS}) - -SET ( switch_caller_SRCS switch_caller.c include/switch_caller.h) -ADD_LIBRARY(switch_caller ${switch_caller_SRCS}) - -SET ( switch_channel_SRCS switch_channel.c include/switch_channel.h) -ADD_LIBRARY(switch_channel ${switch_channel_SRCS}) - -SET ( switch_config_SRCS switch_config.c include/switch_config.h) -ADD_LIBRARY(switch_config ${switch_config_SRCS}) - -SET ( switch_console_SRCS switch_console.c include/switch_console.h) -ADD_LIBRARY(switch_console ${switch_console_SRCS}) - -SET ( switch_core_codec_SRCS switch_core_codec.c) -ADD_LIBRARY(switch_core_codec ${switch_core_codec_SRCS}) - -SET ( switch_core_db_SRCS switch_core_db.c include/switch_core_db.h) -ADD_LIBRARY(switch_core_db ${switch_core_db_SRCS}) - -SET ( switch_core_directory_SRCS switch_core_directory.c) -ADD_LIBRARY(switch_core_directory ${switch_core_directory_SRCS}) - -SET ( switch_core_event_hook_SRCS switch_core_event_hook.c include/switch_core_event_hook.h) -ADD_LIBRARY(switch_core_event_hook ${switch_core_event_hook_SRCS}) - - - -SET ( switch_core_file_SRCS switch_core_file.c) -ADD_LIBRARY(switch_core_file ${switch_core_file_SRCS}) - -SET ( switch_core_hash_SRCS switch_core_hash.c) -ADD_LIBRARY(switch_core_hash ${switch_core_hash_SRCS}) - - -SET ( switch_core_media_bug_SRCS switch_core_media_bug.c) -ADD_LIBRARY(switch_core_media_bug ${switch_core_media_bug_SRCS}) - -SET ( switch_core_memory_SRCS switch_core_memory.c) -ADD_LIBRARY(switch_core_memory ${switch_core_memory_SRCS}) - -SET ( switch_core_port_allocator_SRCS switch_core_port_allocator.c) -ADD_LIBRARY(switch_core_port_allocator ${switch_core_port_allocator_SRCS}) - -SET ( switch_core_rwlock_SRCS switch_core_rwlock.c) -ADD_LIBRARY(switch_core_rwlock ${switch_core_rwlock_SRCS}) - -SET ( switch_core_session_SRCS switch_core_session.c) -ADD_LIBRARY(switch_core_session ${switch_core_session_SRCS}) - -SET ( switch_core_speech_SRCS switch_core_speech.c) -ADD_LIBRARY(switch_core_speech ${switch_core_speech_SRCS}) - - - - - - -SET ( switch_core_sqldb_SRCS switch_core_sqldb.c) -ADD_LIBRARY(switch_core_sqldb ${switch_core_sqldb_SRCS}) - -SET ( switch_core_state_machine_SRCS switch_core_state_machine.c) -ADD_LIBRARY(switch_core_state_machine ${switch_core_state_machine_SRCS}) - -SET ( switch_core_timer_SRCS switch_core_timer.c) -ADD_LIBRARY(switch_core_timer ${switch_core_timer_SRCS}) - -SET ( switch_dso_SRCS switch_dso.c include/switch_dso.h) -ADD_LIBRARY(switch_dso ${switch_dso_SRCS}) - -SET ( switch_event_SRCS switch_event.c include/switch_event.h) -ADD_LIBRARY(switch_event ${switch_event_SRCS}) - -SET ( switch_ivr_async_SRCS switch_ivr_async.c) -ADD_LIBRARY(switch_ivr_async ${switch_ivr_async_SRCS}) - -SET ( switch_ivr_bridge_SRCS switch_ivr_bridge.c) -ADD_LIBRARY(switch_ivr_bridge ${switch_ivr_bridge_SRCS}) - -SET ( switch_ivr_menu_SRCS switch_ivr_menu.c) -ADD_LIBRARY(switch_ivr_menu ${switch_ivr_menu_SRCS}) - - - - -SET ( switch_ivr_originate_SRCS switch_ivr_originate.c) -ADD_LIBRARY(switch_ivr_originate ${switch_ivr_originate_SRCS}) - -SET ( switch_ivr_play_say_SRCS switch_ivr_play_say.c) -ADD_LIBRARY(switch_ivr_play_say ${switch_ivr_play_say_SRCS}) - -SET ( switch_loadable_module_SRCS switch_loadable_module.c include/switch_loadable_module.h) -ADD_LIBRARY(switch_loadable_module ${switch_loadable_module_SRCS}) - -SET ( switch_log_SRCS switch_log.c include/switch_log.h) -ADD_LIBRARY(switch_log ${switch_log_SRCS}) - - - - - -SET ( switch_odbc_SRCS switch_odbc.c include/switch_odbc.h) -ADD_LIBRARY(switch_odbc ${switch_odbc_SRCS}) - -SET ( switch_pcm_SRCS switch_pcm.c) -ADD_LIBRARY(switch_pcm ${switch_pcm_SRCS}) - -SET ( switch_regex_SRCS switch_regex.c include/switch_regex.h) -ADD_LIBRARY(switch_regex ${switch_regex_SRCS}) - -SET ( switch_resample_SRCS switch_resample.c include/switch_resample.h) -ADD_LIBRARY(switch_resample ${switch_resample_SRCS}) - -SET ( switch_rtp_SRCS switch_rtp.c include/switch_rtp.h) -ADD_LIBRARY(switch_rtp ${switch_rtp_SRCS}) - -SET ( switch_scheduler_SRCS switch_scheduler.c include/switch_scheduler.h) -ADD_LIBRARY(switch_scheduler ${switch_scheduler_SRCS}) +SET ( freeswitch_la_SRCS -SET ( switch_stun_SRCS switch_stun.c include/switch_stun.h) -ADD_LIBRARY(switch_stun ${switch_stun_SRCS}) +switch_apr.c +switch_buffer.c +switch_caller.c +switch_channel.c +switch_console.c +switch_core_media_bug.c +switch_core_timer.c +switch_core_asr.c +switch_core_event_hook.c +switch_core_speech.c +switch_core_memory.c +switch_core_codec.c +switch_core_file.c +switch_core_hash.c +switch_core_sqldb.c +switch_core_session.c +switch_core_directory.c +switch_core_state_machine.c +switch_core_io.c +switch_core_rwlock.c +switch_core_port_allocator.c +switch_core.c +switch_scheduler.c +switch_core_db.c +switch_dso.c +switch_loadable_module.c +switch_utils.c +switch_event.c +switch_resample.c +switch_regex.c +switch_rtp.c +switch_ivr_bridge.c +switch_ivr_originate.c +switch_ivr_async.c +switch_ivr_play_say.c +switch_ivr_menu.c +switch_ivr.c +switch_stun.c +switch_log.c +switch_xml.c +switch_config.c +switch_time.c +../libs/stfu/stfu.c +switch_cpp.cpp +g711.c +switch_pcm.c +../libs/libteletone/src/libteletone_detect.c +../libs/libteletone/src/libteletone_generate.c +) -SET ( switch_swig_SRCS switch_swig.c) -ADD_LIBRARY(switch_swig ${switch_swig_SRCS}) -SET ( switch_time_SRCS switch_time.c) -ADD_LIBRARY(switch_time ${switch_time_SRCS}) +ADD_LIBRARY(freeswitch_la ${freeswitch_la_SRCS}) From shaneb at freeswitch.org Wed Feb 11 15:11:28 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 17:11:28 -0600 Subject: [Freeswitch-svn] [commit] r11896 - freeswitch/trunk Message-ID: Author: shaneb Date: Wed Feb 11 17:11:28 2009 New Revision: 11896 Log: Started matching VC project layout Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Wed Feb 11 17:11:28 2009 @@ -180,6 +180,6 @@ ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) -TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample switch_ivr switch_ivr_async switch_core switch_core_asr switch_channel switch_core_io switch_apr switch_utils switch_xml switch_buffer switch_caller switch_buffer switch_config switch_console switch_core_codec switch_core_db switch_core_directory switch_core_event_hook switch_core_file switch_core_hash switch_core_media_bug switch_core_memory switch_core_port_allocator switch_core_rwlock switch_core_session switch_core_speech switch_core_sqldb switch_core_state_machine switch_core_timer switch_dso switch_event switch_ivr_async switch_ivr_bridge switch_ivr_menu switch_ivr_originate switch_ivr_play_say switch_loadable_module switch_log switch_odbc switch_pcm switch_regex switch_resample switch_rtp switch_scheduler switch_stun switch_swig switch_time stfu ${optionalLibs}) +TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample freeswith_la stfu ${optionalLibs}) From anthm at freeswitch.org Wed Feb 11 15:39:30 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 17:39:30 -0600 Subject: [Freeswitch-svn] [commit] r11897 - freeswitch/trunk/libs/sofia-sip/m4 Message-ID: Author: anthm Date: Wed Feb 11 17:39:30 2009 New Revision: 11897 Log: temp hack to avoid horrible random bug, as in the function random Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 ============================================================================== --- freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 (original) +++ freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Wed Feb 11 17:39:30 2009 @@ -526,7 +526,7 @@ AC_FUNC_ALLOCA -AC_CHECK_FUNCS([gettimeofday strerror random initstate tcsetattr flock \ +AC_CHECK_FUNCS([gettimeofday strerror random tcsetattr flock \ socketpair gethostname gethostbyname getipnodebyname \ poll epoll_create kqueue select if_nameindex \ signal alarm \ From brian at freeswitch.org Wed Feb 11 15:58:48 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Wed, 11 Feb 2009 17:58:48 -0600 Subject: [Freeswitch-svn] [commit] r11898 - freeswitch/trunk/conf/dialplan Message-ID: Author: brian Date: Wed Feb 11 17:58:48 2009 New Revision: 11898 Log: tweak description Modified: freeswitch/trunk/conf/dialplan/default.xml Modified: freeswitch/trunk/conf/dialplan/default.xml ============================================================================== --- freeswitch/trunk/conf/dialplan/default.xml (original) +++ freeswitch/trunk/conf/dialplan/default.xml Wed Feb 11 17:58:48 2009 @@ -641,9 +641,6 @@ --> - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + @@ -271,7 +266,7 @@ - + From mikej at freeswitch.org Thu Feb 12 14:09:11 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 16:09:11 -0600 Subject: [Freeswitch-svn] [commit] r11969 - in freeswitch/trunk/libs: sofia-sip/libsofia-sip-ua/su win32/sofia Message-ID: Author: mikej Date: Thu Feb 12 16:09:11 2009 New Revision: 11969 Log: add sres_sip Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/ (props changed) freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj Thu Feb 12 16:09:11 2009 @@ -618,6 +618,10 @@ > + + @@ -1347,6 +1351,10 @@ > + + Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Thu Feb 12 16:09:11 2009 @@ -619,6 +619,10 @@ > + + @@ -1348,6 +1352,10 @@ > + + From silik0n at freeswitch.org Thu Feb 12 14:27:30 2009 From: silik0n at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 16:27:30 -0600 Subject: [Freeswitch-svn] [commit] r11970 - freeswitch/trunk/scripts/contrib/swk Message-ID: Author: silik0n Date: Thu Feb 12 16:27:30 2009 New Revision: 11970 Log: I want one too Added: freeswitch/trunk/scripts/contrib/swk/ From brian at freeswitch.org Thu Feb 12 14:45:11 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 16:45:11 -0600 Subject: [Freeswitch-svn] [commit] r11971 - freeswitch/trunk/src/mod/codecs/mod_amrwb Message-ID: Author: brian Date: Thu Feb 12 16:45:11 2009 New Revision: 11971 Log: mod_amrwb passthru codec Added: freeswitch/trunk/src/mod/codecs/mod_amrwb/ freeswitch/trunk/src/mod/codecs/mod_amrwb/Makefile freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c Added: freeswitch/trunk/src/mod/codecs/mod_amrwb/Makefile ============================================================================== --- (empty file) +++ freeswitch/trunk/src/mod/codecs/mod_amrwb/Makefile Thu Feb 12 16:45:11 2009 @@ -0,0 +1,10 @@ +BASE=../../../.. + +AMR_DIR=$(BASE)/libs/amrwb +AMR_A=$(AMR_DIR)/libamrwb.a + +LOCAL_INSERT_CFLAGS=if test -d $(AMR_DIR); then echo "-I$(AMR_DIR)" ; else echo "-DAMRWB_PASSTHROUGH" ; fi ; +LOCAL_INSERT_LDFLAGS=test ! -d $(AMR_DIR) || echo "$(AMR_A)"; + + +include $(BASE)/build/modmake.rules Added: freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c ============================================================================== --- (empty file) +++ freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c Thu Feb 12 16:45:11 2009 @@ -0,0 +1,299 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Anthony Minessale II + * Brian K. West + * + * The amrwb codec itself is not distributed with this module. + * + * mod_amrwb.c -- GSM-AMRWB Codec Module + * + */ + +#include "switch.h" + +SWITCH_MODULE_LOAD_FUNCTION(mod_amrwb_load); +SWITCH_MODULE_DEFINITION(mod_amrwb, mod_amrwb_load, NULL, NULL); + +#ifndef AMRWB_PASSTHROUGH +#include "dec_if.h" +#include "enc_if.h" + +typedef enum { + AMRWB_OPT_OCTET_ALIGN = (1 << 0), + AMRWB_OPT_CRC = (1 << 1), + AMRWB_OPT_MODE_CHANGE_NEIGHBOR = (1 << 2), + AMRWB_OPT_ROBUST_SORTING = (1 << 3), + AMRWB_OPT_INTERLEAVING = (1 << 4) +} amrwb_flag_t; + +typedef enum { + AMRWB_BITRATE_7K = 0, + AMRWB_BITRATE_8K, + AMRWB_BITRATE_12K, + AMRWB_BITRATE_14K, + AMRWB_BITRATE_16K, + AMRWB_BITRATE_18K, + AMRWB_BITRATE_20K, + AMRWB_BITRATE_23K, + AMRWB_BITRATE_24K +} amrwb_bitrate_t; + +struct amrwb_context { + void *encoder_state; + void *decoder_state; + switch_byte_t enc_modes; + switch_byte_t enc_mode; + uint32_t change_period; + switch_byte_t max_ptime; + switch_byte_t ptime; + switch_byte_t channels; + switch_byte_t flags; +}; + +#define AMRWB_DEFAULT_BITRATE AMRWB_BITRATE_24K + +static struct { + switch_byte_t default_bitrate; +} globals; + +#endif + +static switch_status_t switch_amrwb_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ +#ifdef AMRWB_PASSTHROUGH + codec->flags |= SWITCH_CODEC_FLAG_PASSTHROUGH; + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + return SWITCH_STATUS_SUCCESS; +#else + struct amrwb_context *context = NULL; + int encoding, decoding; + int x, i, argc; + char *argv[10]; + char fmtptmp[128]; + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding) || (!(context = switch_core_alloc(codec->memory_pool, sizeof(struct amrwb_context))))) { + return SWITCH_STATUS_FALSE; + } else { + + if (codec->fmtp_in) { + argc = switch_separate_string(codec->fmtp_in, ';', argv, (sizeof(argv) / sizeof(argv[0]))); + for (x = 0; x < argc; x++) { + char *data = argv[x]; + char *arg; + while (*data && *data == ' ') { + data++; + } + if ((arg = strchr(data, '='))) { + *arg++ = '\0'; + if (!strcasecmp(data, "octet-align")) { + if (atoi(arg)) { + switch_set_flag(context, AMRWB_OPT_OCTET_ALIGN); + } + } else if (!strcasecmp(data, "mode-change-neighbor")) { + if (atoi(arg)) { + switch_set_flag(context, AMRWB_OPT_MODE_CHANGE_NEIGHBOR); + } + } else if (!strcasecmp(data, "crc")) { + if (atoi(arg)) { + switch_set_flag(context, AMRWB_OPT_CRC); + } + } else if (!strcasecmp(data, "robust-sorting")) { + if (atoi(arg)) { + switch_set_flag(context, AMRWB_OPT_ROBUST_SORTING); + } + } else if (!strcasecmp(data, "interveaving")) { + if (atoi(arg)) { + switch_set_flag(context, AMRWB_OPT_INTERLEAVING); + } + } else if (!strcasecmp(data, "mode-change-period")) { + context->change_period = atoi(arg); + } else if (!strcasecmp(data, "ptime")) { + context->ptime = (switch_byte_t) atoi(arg); + } else if (!strcasecmp(data, "channels")) { + context->channels = (switch_byte_t) atoi(arg); + } else if (!strcasecmp(data, "maxptime")) { + context->max_ptime = (switch_byte_t) atoi(arg); + } else if (!strcasecmp(data, "mode-set")) { + int y, m_argc; + char *m_argv[8]; + m_argc = switch_separate_string(arg, ',', m_argv, (sizeof(m_argv) / sizeof(m_argv[0]))); + for (y = 0; y < m_argc; y++) { + context->enc_modes |= (1 << atoi(m_argv[y])); + } + } + } + } + } + + if (context->enc_modes) { + for (i = 8; i > -1; i++) { + if (context->enc_modes & (1 << i)) { + context->enc_mode = (switch_byte_t) i; + break; + } + } + } + + if (!context->enc_mode) { + context->enc_mode = globals.default_bitrate; + } + + switch_snprintf(fmtptmp, sizeof(fmtptmp), "octet-align=%d; mode-set=%d", switch_test_flag(context, AMRWB_OPT_OCTET_ALIGN) ? 1 : 0, context->enc_mode); + codec->fmtp_out = switch_core_strdup(codec->memory_pool, fmtptmp); + + context->enc_mode = AMRWB_DEFAULT_BITRATE; + context->encoder_state = NULL; + context->decoder_state = NULL; + + if (encoding) { + context->encoder_state = E_IF_init(); + } + + if (decoding) { + context->decoder_state = D_IF_init(); + } + + codec->private_info = context; + + return SWITCH_STATUS_SUCCESS; + } +#endif +} + +static switch_status_t switch_amrwb_destroy(switch_codec_t *codec) +{ +#ifndef AMRWB_PASSTHROUGH + struct amrwb_context *context = codec->private_info; + + if (context->encoder_state) { + E_IF_exit(context->encoder_state); + } + if (context->decoder_state) { + D_IF_exit(context->decoder_state); + } + codec->private_info = NULL; +#endif + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_amrwb_encode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *decoded_data, + uint32_t decoded_data_len, + uint32_t decoded_rate, void *encoded_data, uint32_t * encoded_data_len, uint32_t * encoded_rate, + unsigned int *flag) +{ +#ifdef AMRWB_PASSTHROUGH + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "This codec is only usable in passthrough mode!\n"); + return SWITCH_STATUS_FALSE; +#else + struct amrwb_context *context = codec->private_info; + + if (!context) { + return SWITCH_STATUS_FALSE; + } + + *encoded_data_len = E_IF_encode(context->encoder_state, context->enc_mode, (int16_t *) decoded_data, (switch_byte_t *) encoded_data, 0); + + return SWITCH_STATUS_SUCCESS; +#endif +} + +static switch_status_t switch_amrwb_decode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *encoded_data, + uint32_t encoded_data_len, + uint32_t encoded_rate, void *decoded_data, uint32_t * decoded_data_len, uint32_t * decoded_rate, + unsigned int *flag) +{ +#ifdef AMRWB_PASSTHROUGH + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "This codec is only usable in passthrough mode!\n"); + return SWITCH_STATUS_FALSE; +#else + struct amrwb_context *context = codec->private_info; + + if (!context) { + return SWITCH_STATUS_FALSE; + } + + D_IF_decode(context->decoder_state, (unsigned char *) encoded_data, (int16_t *) decoded_data, 0); + *decoded_data_len = codec->implementation->decoded_bytes_per_packet; + + return SWITCH_STATUS_SUCCESS; +#endif +} + +/* Registration */ +SWITCH_MODULE_LOAD_FUNCTION(mod_amrwb_load) +{ + switch_codec_interface_t *codec_interface; +#ifndef AMRWB_PASSTHROUGH + char *cf = "amrwb.conf"; + switch_xml_t cfg, xml, settings, param; + + memset(&globals, 0, sizeof(globals)); + globals.default_bitrate = AMRWB_DEFAULT_BITRATE; + + if ((xml = switch_xml_open_cfg(cf, &cfg, NULL))) { + if ((settings = switch_xml_child(cfg, "settings"))) { + for (param = switch_xml_child(settings, "param"); param; param = param->next) { + char *var = (char *) switch_xml_attr_soft(param, "name"); + char *val = (char *) switch_xml_attr_soft(param, "value"); + if (!strcasecmp(var, "default-bitrate")) { + globals.default_bitrate = (switch_byte_t) atoi(val); + } + } + } + } +#endif + + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + + SWITCH_ADD_CODEC(codec_interface, "AMR-WB"); + switch_core_codec_add_implementation(pool, codec_interface, + SWITCH_CODEC_TYPE_AUDIO, 100, "AMR-WB", "octet-align=0", 16000, 16000, 23850, + 20000, 320, 640, 0, 1, 1, + switch_amrwb_init, switch_amrwb_encode, switch_amrwb_decode, switch_amrwb_destroy); + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ From brian at freeswitch.org Thu Feb 12 14:45:35 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 16:45:35 -0600 Subject: [Freeswitch-svn] [commit] r11972 - freeswitch/trunk/build Message-ID: Author: brian Date: Thu Feb 12 16:45:34 2009 New Revision: 11972 Log: add here too Modified: freeswitch/trunk/build/modules.conf.in Modified: freeswitch/trunk/build/modules.conf.in ============================================================================== --- freeswitch/trunk/build/modules.conf.in (original) +++ freeswitch/trunk/build/modules.conf.in Thu Feb 12 16:45:34 2009 @@ -23,6 +23,7 @@ #asr_tts/mod_cepstral codecs/mod_g723_1 codecs/mod_amr +#codecs/mod_amrwb codecs/mod_g729 codecs/mod_h26x codecs/mod_voipcodecs From brian at freeswitch.org Thu Feb 12 15:02:52 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 17:02:52 -0600 Subject: [Freeswitch-svn] [commit] r11973 - freeswitch/trunk/src/mod/codecs/mod_amrwb Message-ID: Author: brian Date: Thu Feb 12 17:02:52 2009 New Revision: 11973 Log: fix emails Modified: freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c Modified: freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c Thu Feb 12 17:02:52 2009 @@ -23,8 +23,8 @@ * * Contributor(s): * - * Anthony Minessale II - * Brian K. West + * Anthony Minessale II + * Brian K. West * * The amrwb codec itself is not distributed with this module. * From mikej at freeswitch.org Thu Feb 12 15:32:31 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 17:32:31 -0600 Subject: [Freeswitch-svn] [commit] r11974 - freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx Message-ID: Author: mikej Date: Thu Feb 12 17:32:31 2009 New Revision: 11974 Log: don't leak Modified: freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c Modified: freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c Thu Feb 12 17:32:31 2009 @@ -164,7 +164,8 @@ NULL); if (ps->config == NULL) { - return SWITCH_STATUS_GENERR; + status = SWITCH_STATUS_GENERR; + goto end; } switch_mutex_lock(ps->flag_mutex); From brian at freeswitch.org Thu Feb 12 15:46:29 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 17:46:29 -0600 Subject: [Freeswitch-svn] [commit] r11975 - freeswitch/trunk/scripts Message-ID: Author: brian Date: Thu Feb 12 17:46:29 2009 New Revision: 11975 Log: don't delete the gcore might not get a second chance Modified: freeswitch/trunk/scripts/freeswitch-gcore Modified: freeswitch/trunk/scripts/freeswitch-gcore ============================================================================== --- freeswitch/trunk/scripts/freeswitch-gcore (original) +++ freeswitch/trunk/scripts/freeswitch-gcore Thu Feb 12 17:46:29 2009 @@ -9,4 +9,4 @@ --eval-command='thread apply all bt' \ --eval-command='thread apply all bt full' \ --eval-command='quit' -rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid +#rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid From rupa at freeswitch.org Thu Feb 12 15:52:03 2009 From: rupa at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 17:52:03 -0600 Subject: [Freeswitch-svn] [commit] r11976 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: rupa Date: Thu Feb 12 17:52:03 2009 New Revision: 11976 Log: MODAPP-213 - lcr_carrier/rate vars on a and b legs Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Thu Feb 12 17:52:03 2009 @@ -161,7 +161,9 @@ destination_number += lstrip; } - data = switch_core_sprintf(pool, "%s%s%s%s%s", cur_route->gw_prefix, cur_route->prefix + data = switch_core_sprintf(pool, "[lcr_carrier=%s,lcr_rate=%s]%s%s%s%s%s" + , cur_route->carrier_name, cur_route->rate_str + , cur_route->gw_prefix, cur_route->prefix , destination_number, cur_route->suffix, cur_route->gw_suffix); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Returning Dialstring %s\n", data); @@ -706,6 +708,7 @@ switch_channel_set_variable(channel, SWITCH_CONTINUE_ON_FAILURE_VARIABLE, "true"); switch_channel_set_variable(channel, SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE, "true"); + switch_channel_set_variable(channel, "import", "lcr_carrier,lcr_rate"); for (cur_route = routes.head; cur_route; cur_route = cur_route->next) { switch_caller_extension_add_application(session, extension, "bridge", cur_route->dialstring); @@ -787,6 +790,7 @@ switch_channel_set_variable(channel, "lcr_route_count", vbuf); *(rbuf + strlen(rbuf) - 1) = '\0'; switch_channel_set_variable(channel, "lcr_auto_route", rbuf); + switch_channel_set_variable(channel, "import", "lcr_carrier,lcr_rate"); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "LCR lookup failed for %s\n", dest); } From anthm at freeswitch.org Thu Feb 12 16:08:12 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 18:08:12 -0600 Subject: [Freeswitch-svn] [commit] r11977 - in freeswitch/trunk/src/mod/applications: mod_commands mod_dptools Message-ID: Author: anthm Date: Thu Feb 12 18:08:12 2009 New Revision: 11977 Log: potential xml root readlock issue Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Thu Feb 12 18:08:12 2009 @@ -347,9 +347,11 @@ if ((domain = strchr(user, '@'))) { *domain++ = '\0'; } else { - domain = "cluecon.com"; + if (!(domain = switch_core_get_variable("domain"))) { + domain = "cluecon.com"; + } } - + switch_event_create(¶ms, SWITCH_EVENT_REQUEST_PARAMS); switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "user", user); switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "mailbox", user); @@ -465,16 +467,17 @@ } } - if (xml && x_user) { + if (x_user) { xmlstr = switch_xml_toxml(x_user, SWITCH_FALSE); switch_assert(xmlstr); stream->write_function(stream, "%s", xmlstr); free(xmlstr); - switch_xml_free(xml); } } - + + switch_xml_free(xml); + free(mydata); return SWITCH_STATUS_SUCCESS; } @@ -683,18 +686,17 @@ } } - if (xml && obj) { + if (obj) { xmlstr = switch_xml_toxml(obj, SWITCH_FALSE); switch_assert(xmlstr); - stream->write_function(stream, "%s", xmlstr); free(xmlstr); - switch_xml_free(xml); - } + switch_xml_free(xml); switch_event_destroy(¶ms); free(mydata); + return SWITCH_STATUS_SUCCESS; } Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Thu Feb 12 18:08:12 2009 @@ -2391,9 +2391,7 @@ done: - if (xml) { - switch_xml_free(xml); - } + switch_xml_free(xml); if (params) { switch_event_destroy(¶ms); From anthm at freeswitch.org Thu Feb 12 16:32:58 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 12 Feb 2009 18:32:58 -0600 Subject: [Freeswitch-svn] [commit] r11978 - in freeswitch/trunk/src: . include/private Message-ID: Author: anthm Date: Thu Feb 12 18:32:58 2009 New Revision: 11978 Log: MODAPP-215 Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h freeswitch/trunk/src/switch_core.c Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h ============================================================================== --- freeswitch/trunk/src/include/private/switch_core_pvt.h (original) +++ freeswitch/trunk/src/include/private/switch_core_pvt.h Thu Feb 12 18:32:58 2009 @@ -191,6 +191,7 @@ switch_time_t timestamp; switch_mutex_t *throttle_mutex; switch_mutex_t *global_mutex; + switch_mutex_t *global_var_mutex; uint32_t sps_total; int32_t sps; int32_t sps_last; Modified: freeswitch/trunk/src/switch_core.c ============================================================================== --- freeswitch/trunk/src/switch_core.c (original) +++ freeswitch/trunk/src/switch_core.c Thu Feb 12 18:32:58 2009 @@ -243,9 +243,9 @@ SWITCH_DECLARE(char *) switch_core_get_variable(const char *varname) { char *val; - switch_mutex_lock(runtime.global_mutex); + switch_mutex_lock(runtime.global_var_mutex); val = (char *) switch_core_hash_find(runtime.global_vars, varname); - switch_mutex_unlock(runtime.global_mutex); + switch_mutex_unlock(runtime.global_var_mutex); return val; } @@ -254,7 +254,7 @@ char *val; if (varname) { - switch_mutex_lock(runtime.global_mutex); + switch_mutex_lock(runtime.global_var_mutex); val = (char *) switch_core_hash_find(runtime.global_vars, varname); if (val) { free(val); @@ -266,7 +266,7 @@ } else { switch_core_hash_delete(runtime.global_vars, varname); } - switch_mutex_unlock(runtime.global_mutex); + switch_mutex_unlock(runtime.global_var_mutex); } } @@ -1046,6 +1046,7 @@ switch_mutex_init(&runtime.throttle_mutex, SWITCH_MUTEX_NESTED, runtime.memory_pool); switch_mutex_init(&runtime.global_mutex, SWITCH_MUTEX_NESTED, runtime.memory_pool); + switch_mutex_init(&runtime.global_var_mutex, SWITCH_MUTEX_NESTED, runtime.memory_pool); switch_core_set_globals(); switch_core_session_init(runtime.memory_pool); switch_core_hash_init(&runtime.global_vars, runtime.memory_pool); From mikej at freeswitch.org Thu Feb 12 22:02:32 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 00:02:32 -0600 Subject: [Freeswitch-svn] [commit] r11979 - in freeswitch/trunk/libs/speex: . doc include/speex libspeex src symbian ti ti/speex_C54_test ti/speex_C55_test ti/speex_C64_test win32 win32/VS2003 win32/VS2003/libspeex win32/VS2003/libspeexdsp win32/VS2003/speexdec win32/VS2003/speexenc win32/VS2003/tests win32/VS2005 win32/VS2005/libspeex win32/VS2005/libspeexdsp win32/VS2005/speexdec win32/VS2005/speexenc win32/VS2005/tests win32/VS2008 win32/VS2008/libspeex win32/VS2008/libspeexdsp win32/VS2008/speexdec win32/VS2008/speexenc win32/VS2008/tests win32/libspeex win32/speexdec win32/speexenc Message-ID: Author: mikej Date: Fri Feb 13 00:02:32 2009 New Revision: 11979 Log: update speex to 1.2rc1 Added: freeswitch/trunk/libs/speex/include/speex/speex_buffer.h freeswitch/trunk/libs/speex/include/speex/speex_resampler.h freeswitch/trunk/libs/speex/libspeex/buffer.c freeswitch/trunk/libs/speex/libspeex/echo_diagnostic.m freeswitch/trunk/libs/speex/libspeex/filterbank.c freeswitch/trunk/libs/speex/libspeex/filterbank.h freeswitch/trunk/libs/speex/libspeex/modes_wb.c freeswitch/trunk/libs/speex/libspeex/os_support.h freeswitch/trunk/libs/speex/libspeex/resample.c freeswitch/trunk/libs/speex/libspeex/resample_sse.h freeswitch/trunk/libs/speex/libspeex/scal.c freeswitch/trunk/libs/speex/libspeex/testjitter.c freeswitch/trunk/libs/speex/speexdsp.pc.in freeswitch/trunk/libs/speex/ti/os_support_custom.h freeswitch/trunk/libs/speex/win32/VS2003/libspeex.sln freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/ freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.am freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/libspeexdsp.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/ freeswitch/trunk/libs/speex/win32/VS2003/tests/Makefile.am freeswitch/trunk/libs/speex/win32/VS2003/tests/Makefile.in freeswitch/trunk/libs/speex/win32/VS2003/tests/testdenoise.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/testecho.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_uwb.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_wb.vcproj freeswitch/trunk/libs/speex/win32/VS2003/tests/testresample.vcproj freeswitch/trunk/libs/speex/win32/VS2005/libspeex.sln freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/ freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.am freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/ freeswitch/trunk/libs/speex/win32/VS2005/tests/Makefile.am freeswitch/trunk/libs/speex/win32/VS2005/tests/Makefile.in freeswitch/trunk/libs/speex/win32/VS2005/tests/testdenoise.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/testecho.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_uwb.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_wb.vcproj freeswitch/trunk/libs/speex/win32/VS2005/tests/testresample.vcproj freeswitch/trunk/libs/speex/win32/VS2008/ freeswitch/trunk/libs/speex/win32/VS2008/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/libspeex/ freeswitch/trunk/libs/speex/win32/VS2008/libspeex.sln freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/ freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj freeswitch/trunk/libs/speex/win32/VS2008/speexdec/ freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/speexdec/speexdec.vcproj freeswitch/trunk/libs/speex/win32/VS2008/speexenc/ freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/speexenc/speexenc.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/ freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.am freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/tests/testdenoise.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/testecho.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_uwb.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_wb.vcproj freeswitch/trunk/libs/speex/win32/VS2008/tests/testresample.vcproj freeswitch/trunk/libs/speex/win32/libspeex.def freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp.dsp freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp_dynamic.dsp freeswitch/trunk/libs/speex/win32/libspeexdsp.def Modified: freeswitch/trunk/libs/speex/COPYING freeswitch/trunk/libs/speex/Makefile.am freeswitch/trunk/libs/speex/Speex.kdevelop freeswitch/trunk/libs/speex/Speex.spec freeswitch/trunk/libs/speex/Speex.spec.in freeswitch/trunk/libs/speex/TODO freeswitch/trunk/libs/speex/acinclude.m4 freeswitch/trunk/libs/speex/config.h.in freeswitch/trunk/libs/speex/configure.ac freeswitch/trunk/libs/speex/doc/Makefile.am freeswitch/trunk/libs/speex/doc/manual.pdf freeswitch/trunk/libs/speex/include/speex/Makefile.am freeswitch/trunk/libs/speex/include/speex/speex.h freeswitch/trunk/libs/speex/include/speex/speex_bits.h freeswitch/trunk/libs/speex/include/speex/speex_callbacks.h freeswitch/trunk/libs/speex/include/speex/speex_echo.h freeswitch/trunk/libs/speex/include/speex/speex_header.h freeswitch/trunk/libs/speex/include/speex/speex_jitter.h freeswitch/trunk/libs/speex/include/speex/speex_preprocess.h freeswitch/trunk/libs/speex/include/speex/speex_stereo.h freeswitch/trunk/libs/speex/include/speex/speex_types.h freeswitch/trunk/libs/speex/libspeex/Makefile.am freeswitch/trunk/libs/speex/libspeex/_kiss_fft_guts.h freeswitch/trunk/libs/speex/libspeex/arch.h freeswitch/trunk/libs/speex/libspeex/bits.c freeswitch/trunk/libs/speex/libspeex/cb_search.c freeswitch/trunk/libs/speex/libspeex/cb_search.h freeswitch/trunk/libs/speex/libspeex/cb_search_bfin.h freeswitch/trunk/libs/speex/libspeex/fftwrap.c freeswitch/trunk/libs/speex/libspeex/fftwrap.h freeswitch/trunk/libs/speex/libspeex/filters.c freeswitch/trunk/libs/speex/libspeex/filters.h freeswitch/trunk/libs/speex/libspeex/filters_arm4.h freeswitch/trunk/libs/speex/libspeex/filters_bfin.h freeswitch/trunk/libs/speex/libspeex/filters_sse.h freeswitch/trunk/libs/speex/libspeex/fixed_debug.h freeswitch/trunk/libs/speex/libspeex/fixed_generic.h freeswitch/trunk/libs/speex/libspeex/jitter.c freeswitch/trunk/libs/speex/libspeex/kiss_fft.c freeswitch/trunk/libs/speex/libspeex/kiss_fft.h freeswitch/trunk/libs/speex/libspeex/kiss_fftr.c freeswitch/trunk/libs/speex/libspeex/kiss_fftr.h freeswitch/trunk/libs/speex/libspeex/lpc.h freeswitch/trunk/libs/speex/libspeex/lsp.c freeswitch/trunk/libs/speex/libspeex/lsp.h freeswitch/trunk/libs/speex/libspeex/ltp.c freeswitch/trunk/libs/speex/libspeex/ltp.h freeswitch/trunk/libs/speex/libspeex/ltp_arm4.h freeswitch/trunk/libs/speex/libspeex/ltp_bfin.h freeswitch/trunk/libs/speex/libspeex/math_approx.h freeswitch/trunk/libs/speex/libspeex/mdf.c freeswitch/trunk/libs/speex/libspeex/modes.c freeswitch/trunk/libs/speex/libspeex/modes.h freeswitch/trunk/libs/speex/libspeex/nb_celp.c freeswitch/trunk/libs/speex/libspeex/nb_celp.h freeswitch/trunk/libs/speex/libspeex/preprocess.c freeswitch/trunk/libs/speex/libspeex/pseudofloat.h freeswitch/trunk/libs/speex/libspeex/quant_lsp.c freeswitch/trunk/libs/speex/libspeex/quant_lsp.h freeswitch/trunk/libs/speex/libspeex/quant_lsp_bfin.h freeswitch/trunk/libs/speex/libspeex/sb_celp.c freeswitch/trunk/libs/speex/libspeex/sb_celp.h freeswitch/trunk/libs/speex/libspeex/smallft.c freeswitch/trunk/libs/speex/libspeex/speex.c freeswitch/trunk/libs/speex/libspeex/speex_callbacks.c freeswitch/trunk/libs/speex/libspeex/speex_header.c freeswitch/trunk/libs/speex/libspeex/stack_alloc.h freeswitch/trunk/libs/speex/libspeex/stereo.c freeswitch/trunk/libs/speex/libspeex/testdenoise.c freeswitch/trunk/libs/speex/libspeex/testecho.c freeswitch/trunk/libs/speex/libspeex/testenc.c freeswitch/trunk/libs/speex/libspeex/testenc_uwb.c freeswitch/trunk/libs/speex/libspeex/testenc_wb.c freeswitch/trunk/libs/speex/libspeex/vbr.c freeswitch/trunk/libs/speex/libspeex/vbr.h freeswitch/trunk/libs/speex/libspeex/vorbis_psy.h freeswitch/trunk/libs/speex/libspeex/vq.c freeswitch/trunk/libs/speex/libspeex/vq.h freeswitch/trunk/libs/speex/libspeex/window.c freeswitch/trunk/libs/speex/speex.m4 freeswitch/trunk/libs/speex/speex.pc.in freeswitch/trunk/libs/speex/src/Makefile.am freeswitch/trunk/libs/speex/src/speexdec.1 freeswitch/trunk/libs/speex/src/speexdec.c freeswitch/trunk/libs/speex/src/speexenc.1 freeswitch/trunk/libs/speex/src/speexenc.c freeswitch/trunk/libs/speex/src/wav_io.c freeswitch/trunk/libs/speex/src/wav_io.h freeswitch/trunk/libs/speex/symbian/bld.inf freeswitch/trunk/libs/speex/symbian/speex.mmp freeswitch/trunk/libs/speex/ti/Makefile.am freeswitch/trunk/libs/speex/ti/config.h freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.pjt freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.pjt freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.pjt freeswitch/trunk/libs/speex/ti/testenc-TI-C5x.c freeswitch/trunk/libs/speex/ti/testenc-TI-C64x.c freeswitch/trunk/libs/speex/win32/Makefile.am freeswitch/trunk/libs/speex/win32/VS2003/Makefile.am freeswitch/trunk/libs/speex/win32/VS2003/libspeex/Makefile.am freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.vcproj freeswitch/trunk/libs/speex/win32/VS2003/speexdec/speexdec.vcproj freeswitch/trunk/libs/speex/win32/VS2003/speexenc/speexenc.vcproj freeswitch/trunk/libs/speex/win32/VS2005/Makefile.am freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj freeswitch/trunk/libs/speex/win32/VS2005/speexdec/speexdec.vcproj freeswitch/trunk/libs/speex/win32/VS2005/speexenc/speexenc.vcproj freeswitch/trunk/libs/speex/win32/config.h freeswitch/trunk/libs/speex/win32/libspeex/Makefile.am freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsp freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsw freeswitch/trunk/libs/speex/win32/libspeex/libspeex_dynamic.dsp freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsp freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsw freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsp freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsw Modified: freeswitch/trunk/libs/speex/COPYING ============================================================================== --- freeswitch/trunk/libs/speex/COPYING (original) +++ freeswitch/trunk/libs/speex/COPYING Fri Feb 13 00:02:32 2009 @@ -1,10 +1,11 @@ -Copyright 2002-2006 - Xiph.org Foundation - Jean-Marc Valin - David Rowe - EpicGames - Analog Devices - Commonwealth Scientific and Industrial Research Organisation (CSIRO) +Copyright 2002-2008 Xiph.org Foundation +Copyright 2002-2008 Jean-Marc Valin +Copyright 2005-2007 Analog Devices Inc. +Copyright 2005-2008 Commonwealth Scientific and Industrial Research + Organisation (CSIRO) +Copyright 1993, 2002, 2006 David Rowe +Copyright 2003 EpicGames +Copyright 1992-1994 Jutta Degener, Carsten Bormann Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: freeswitch/trunk/libs/speex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -2,18 +2,18 @@ # To disable automatic dependency tracking if using other tools than # gcc and gmake, add the option 'no-dependencies' -AUTOMAKE_OPTIONS = 1.7 +AUTOMAKE_OPTIONS = 1.8 m4datadir = $(datadir)/aclocal m4data_DATA = speex.m4 pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = speex.pc +pkgconfig_DATA = speex.pc speexdsp.pc EXTRA_DIST = Speex.spec Speex.spec.in Speex.kdevelop speex.m4 speex.pc.in README.blackfin README.symbian README.TI-DSP #Fools KDevelop into including all files -SUBDIRS = libspeex include doc win32 symbian ti +SUBDIRS = libspeex include @src@ doc win32 symbian ti DIST_SUBDIRS = libspeex include src doc win32 symbian ti Modified: freeswitch/trunk/libs/speex/Speex.kdevelop ============================================================================== --- freeswitch/trunk/libs/speex/Speex.kdevelop (original) +++ freeswitch/trunk/libs/speex/Speex.kdevelop Fri Feb 13 00:02:32 2009 @@ -11,11 +11,14 @@ false + kdevsubversion + + Speex libspeex/libspeex.la - default + float src/Speex @@ -25,23 +28,47 @@ false true + false + false - - optimized - GccOptions - GppOptions - G77Options - -O2 -g0 - - - --enable-debug=full - debug - GccOptions - GppOptions - G77Options - -O0 -g3 - + + float + kdevgccoptions + kdevgppoptions + kdevpgf77options + -O2 -g -Wall + + --disable-shared + + + + + + + + + + + --enable-fixed-point --disable-shared + fixed + kdevgccoptions + kdevgppoptions + kdevpgf77options + -O2 -g -Wall + + + + + + + + + + + + + @@ -49,9 +76,11 @@ false - 1 + 4 false + true + 0 @@ -69,6 +98,7 @@ false true + 10 @@ -88,10 +118,50 @@ true true true - 250 + 350 400 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + true + false + false + true + true + true + true + .; + false + false + + false + 3 + /usr/share/qt3 + 3 + EmbeddedKDevDesigner + /usr/share/qt3/bin/qmake + /usr/bin/designer-qt3 + + + + + set + m_,_ + theValue + true + true + + + true + true + Horizontal + @@ -101,6 +171,7 @@ *.o,*.lo,CVS true + false @@ -120,4 +191,11 @@ .cpp + + + + + + + Modified: freeswitch/trunk/libs/speex/Speex.spec ============================================================================== --- freeswitch/trunk/libs/speex/Speex.spec (original) +++ freeswitch/trunk/libs/speex/Speex.spec Fri Feb 13 00:02:32 2009 @@ -1,5 +1,5 @@ %define name speex -%define ver 1.2beta1 +%define ver 1.2rc1 %define rel 1 Summary: An open-source, patent-free speech codec @@ -67,4 +67,5 @@ %{_includedir}/speex/speex*.h /usr/share/aclocal/speex.m4 %{_libdir}/pkgconfig/speex.pc +%{_libdir}/pkgconfig/speexdsp.pc %{_libdir}/libspeex*.a Modified: freeswitch/trunk/libs/speex/Speex.spec.in ============================================================================== --- freeswitch/trunk/libs/speex/Speex.spec.in (original) +++ freeswitch/trunk/libs/speex/Speex.spec.in Fri Feb 13 00:02:32 2009 @@ -67,4 +67,5 @@ %{_includedir}/speex/speex*.h /usr/share/aclocal/speex.m4 %{_libdir}/pkgconfig/speex.pc +%{_libdir}/pkgconfig/speexdsp.pc %{_libdir}/libspeex*.a Modified: freeswitch/trunk/libs/speex/TODO ============================================================================== --- freeswitch/trunk/libs/speex/TODO (original) +++ freeswitch/trunk/libs/speex/TODO Fri Feb 13 00:02:32 2009 @@ -1,29 +1,43 @@ -Better saturation handling in mdf? -get rid of crap that shouldn't be exposed in speex.h +For 1.2: +Major points: +- Make documentation match the actual code (especially jitter buffer, AEC and preprocessor) +- Get AGC to work in fixed-point even if not totally converted +- Stabilise all APIs (need feedback) +- Short-term estimate in jitter buffer +- Control delay in new AEC API. +- NaN checks? +- Better error reporting +- Make kiss-fft 32-bit safe + +Minor issues: +- Fix last frame of speexenc + + +Post 1.2: +improve float<->int conversion +split encoder and decoder? +Merge TriMedia stuff +packet dump +Do VAD properly +--enable-{aec,preprocessor,jitter,resampler} + +Optimisations +- Add restrict in a few places? +- enable 4x4 version of pitch_xcorr() at least on some archs? +- use __builtin_expect() (likely()/unlikely()) Would be nice: +Implement wideband split as IIR instead of QMF? -Allocator override (speex_lib_ctl) -Better error handling +Allocator override (speex_lib_ctl?) Fixed-point: - - Wideband - - Initialization + - VBR - Jitter buffer + - AGC Denoiser: - - Smooth gain (remove musical noise) - Better noise adaptation - - Do some tuning AGC: - - Use median filtering instead of "non-linear mean" - - - -Features --Add maximum/minimum bit-rate control for VBR --Improve error handling (with perror-like call?) - -Long-term quality improvements --Improve perceptual enhancement (including wideband) + - Use median filtering instead of "non-linear mean"? Standards -Complete Speex RTP profile @@ -32,4 +46,3 @@ ideas: Peelable stream (double codebook, higher bands, stereo) LPC from spectral domain -Better psycho-acoustic model. Masking curve from Vorbis? Modified: freeswitch/trunk/libs/speex/acinclude.m4 ============================================================================== --- freeswitch/trunk/libs/speex/acinclude.m4 (original) +++ freeswitch/trunk/libs/speex/acinclude.m4 Fri Feb 13 00:02:32 2009 @@ -19,7 +19,7 @@ elif test "x$ogg_prefix" != "x" ; then OGG_LIBS="-L$ogg_prefix/lib" elif test "x$prefix" != "xNONE" ; then - OGG_LIBS="" + OGG_LIBS="-L$prefix/lib" fi OGG_LIBS="$OGG_LIBS -logg" Modified: freeswitch/trunk/libs/speex/config.h.in ============================================================================== --- freeswitch/trunk/libs/speex/config.h.in (original) +++ freeswitch/trunk/libs/speex/config.h.in Fri Feb 13 00:02:32 2009 @@ -9,14 +9,17 @@ /* Make use of Blackfin assembly optimizations */ #undef BFIN_ASM -/* Disable wideband codec */ -#undef DISABLE_WIDEBAND +/* Disable all parts of the API that are using floats */ +#undef DISABLE_FLOAT_API + +/* Disable VBR and VAD from the codec */ +#undef DISABLE_VBR /* Enable valgrind extra checks */ #undef ENABLE_VALGRIND -/* Enable support for Epic 4.8 kbps mode */ -#undef EPIC_48K +/* Symbol visibility prefix */ +#undef EXPORT /* Debug fixed-point implementation */ #undef FIXED_DEBUG @@ -24,9 +27,18 @@ /* Compile as fixed-point */ #undef FIXED_POINT +/* Compile as floating-point */ +#undef FLOATING_POINT + +/* Define to 1 if you have the header file. */ +#undef HAVE_ALLOCA_H + /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H +/* Define to 1 if you have the header file. */ +#undef HAVE_GETOPT_H + /* Define to 1 if you have the `getopt_long' function. */ #undef HAVE_GETOPT_LONG @@ -84,16 +96,13 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Reduce precision to 16 bits (EXPERIMENTAL) */ -#undef PRECISION16 - -/* The size of a `int', as computed by sizeof. */ +/* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT -/* The size of a `long', as computed by sizeof. */ +/* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG -/* The size of a `short', as computed by sizeof. */ +/* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* Version extra */ @@ -120,12 +129,21 @@ /* Make use of alloca */ #undef USE_ALLOCA +/* Use FFTW3 for FFT */ +#undef USE_GPL_FFTW3 + +/* Use Intel Math Kernel Library for FFT */ +#undef USE_INTEL_MKL + +/* Use KISS Fast Fourier Transform */ +#undef USE_KISS_FFT + +/* Use FFT from OggVorbis */ +#undef USE_SMALLFT + /* Use C99 variable-size arrays */ #undef VAR_ARRAYS -/* Enable Vorbis-style psychoacoustics (EXPERIMENTAL) */ -#undef VORBIS_PSYCHO - /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #undef WORDS_BIGENDIAN Modified: freeswitch/trunk/libs/speex/configure.ac ============================================================================== --- freeswitch/trunk/libs/speex/configure.ac (original) +++ freeswitch/trunk/libs/speex/configure.ac Fri Feb 13 00:02:32 2009 @@ -6,15 +6,15 @@ SPEEX_MAJOR_VERSION=1 SPEEX_MINOR_VERSION=1 -SPEEX_MICRO_VERSION=13 +SPEEX_MICRO_VERSION=16 SPEEX_EXTRA_VERSION= #SPEEX_VERSION= -SPEEX_VERSION=$SPEEX_MAJOR_VERSION.$SPEEX_MINOR_VERSION.$SPEEX_MICRO_VERSION$SPEEX_EXTRA_VERSION -SPEEX_VERSION="1.2beta1" +#SPEEX_VERSION=$SPEEX_MAJOR_VERSION.$SPEEX_MINOR_VERSION.$SPEEX_MICRO_VERSION$SPEEX_EXTRA_VERSION +SPEEX_VERSION="1.2rc1" -SPEEX_LT_CURRENT=5 +SPEEX_LT_CURRENT=6 SPEEX_LT_REVISION=0 -SPEEX_LT_AGE=4 +SPEEX_LT_AGE=5 AC_SUBST(SPEEX_LT_CURRENT) AC_SUBST(SPEEX_LT_REVISION) @@ -30,6 +30,7 @@ AM_MAINTAINER_MODE AC_CANONICAL_HOST +AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL AC_C_BIGENDIAN @@ -40,7 +41,8 @@ AC_MSG_CHECKING(for C99 variable-size arrays) AC_TRY_COMPILE( , [ -int foo=10; +int foo; +foo = 10; int array[foo]; ], [has_var_arrays=yes;AC_DEFINE([VAR_ARRAYS], [], [Use C99 variable-size arrays]) @@ -49,8 +51,14 @@ ) AC_MSG_RESULT($has_var_arrays) +AC_CHECK_HEADERS([alloca.h getopt.h]) AC_MSG_CHECKING(for alloca) -AC_TRY_COMPILE( [#include ], [ +AC_TRY_COMPILE( [ +#ifdef HAVE_ALLOCA_H +# include +#endif +#include +], [ int foo=10; int *array = alloca(foo); ], @@ -64,9 +72,49 @@ ) AC_MSG_RESULT($has_alloca) +AC_MSG_CHECKING(for SSE in current arch/CFLAGS) +AC_LINK_IFELSE([ +AC_LANG_PROGRAM([[ +#include +__m128 testfunc(float *a, float *b) { + return _mm_add_ps(_mm_loadu_ps(a), _mm_loadu_ps(b)); +} +]])], +[ +has_sse=yes +], +[ +has_sse=no +] +) +AC_MSG_RESULT($has_sse) + +SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fvisibility=hidden" +AC_MSG_CHECKING(for ELF visibility) +AC_COMPILE_IFELSE([ +AC_LANG_PROGRAM([[ +#pragma GCC visibility push(hidden) +__attribute__((visibility("default"))) +int var=10; +]])], +[ +has_visibility=yes +AC_DEFINE([EXPORT], [__attribute__((visibility("default")))], [Symbol visibility prefix]) +], +[ +has_visibility=no +AC_DEFINE([EXPORT], [], [Symbol visibility prefix]) +CFLAGS="$SAVE_CFLAGS" +] +) +AC_MSG_RESULT($has_visibility) AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h) +XIPH_PATH_OGG([src="src"], [src=""]) +AC_SUBST(src) + AC_CHECK_LIB(m, sin) # Check for getopt_long; if not found, use included source. @@ -86,30 +134,45 @@ AC_DEFINE_UNQUOTED(SPEEX_MICRO_VERSION, ${SPEEX_MICRO_VERSION}, [Version micro]) AC_DEFINE_UNQUOTED(SPEEX_EXTRA_VERSION, "${SPEEX_EXTRA_VERSION}", [Version extra]) -AC_ARG_ENABLE(wideband, [ --disable-wideband Disable wideband codec], -[if test "$enableval" = no; then - AC_DEFINE([DISABLE_WIDEBAND], , [Disable wideband codec]) -fi]) - -AC_ARG_ENABLE(vorbis-psy, [ --enable-vorbis-psy Enable Vorbis-style psychoacoustics (EXPERIMENTAL)], -[if test "$enableval" = yes; then - AC_DEFINE([VORBIS_PSYCHO], , [Enable Vorbis-style psychoacoustics (EXPERIMENTAL)]) -fi]) - AC_ARG_ENABLE(valgrind, [ --enable-valgrind Enable valgrind extra checks], [if test "$enableval" = yes; then AC_DEFINE([ENABLE_VALGRIND], , [Enable valgrind extra checks]) fi]) -AC_ARG_ENABLE(sse, [ --enable-sse Enable SSE support], [if test "$enableval" = yes; then -AC_DEFINE([_USE_SSE], , [Enable SSE support]) +AC_ARG_ENABLE(sse, [ --enable-sse Enable SSE support], [ +if test "x$enableval" != xno; then +has_sse=yes CFLAGS="$CFLAGS -O3 -msse" +else +has_sse=no fi ]) + +FFT=smallft + AC_ARG_ENABLE(fixed-point, [ --enable-fixed-point Compile as fixed-point], [if test "$enableval" = yes; then + FFT=kiss + has_sse=no AC_DEFINE([FIXED_POINT], , [Compile as fixed-point]) +else + AC_DEFINE([FLOATING_POINT], , [Compile as floating-point]) +fi], +AC_DEFINE([FLOATING_POINT], , [Compile as floating-point])) + +if test "$has_sse" = yes; then + AC_DEFINE([_USE_SSE], , [Enable SSE support]) +fi + +AC_ARG_ENABLE(float-api, [ --disable-float-api Disable the floating-point API], +[if test "$enableval" = no; then + AC_DEFINE([DISABLE_FLOAT_API], , [Disable all parts of the API that are using floats]) +fi]) + +AC_ARG_ENABLE(vbr, [ --disable-vbr Disable VBR and VAD from the codec], +[if test "$enableval" = no; then + AC_DEFINE([DISABLE_VBR], , [Disable VBR and VAD from the codec]) fi]) AC_ARG_ENABLE(arm4-asm, [ --enable-arm4-asm Make use of ARM4 assembly optimizations], @@ -122,7 +185,7 @@ AC_DEFINE([ARM5E_ASM], , [Make use of ARM5E assembly optimizations]) fi]) -AC_ARG_ENABLE(blackfin-asm, [ --enable-blackfin-asm Make use of Blackfin assembly optimizations], +AC_ARG_ENABLE(blackfin-asm, [ --enable-blackfin-asm Make use of Blackfin assembly optimizations], [if test "$enableval" = yes; then AC_DEFINE([BFIN_ASM], , [Make use of Blackfin assembly optimizations]) LDFLAGS="-Wl,-elf2flt=-s100000" @@ -133,21 +196,49 @@ AC_DEFINE([FIXED_DEBUG], , [Debug fixed-point implementation]) fi]) -AC_ARG_ENABLE(epic-48k, [ --enable-epic-48k Enable support for Epic 4.8 kbps mode], -[if test "$enableval" = yes; then - AC_DEFINE([EPIC_48K], , [Enable support for Epic 4.8 kbps mode]) -fi]) - AC_ARG_ENABLE(ti-c55x, [ --enable-ti-c55x Enable support for TI C55X DSP], [if test "$enableval" = yes; then has_char16=yes; AC_DEFINE([TI_C55X], , [Enable support for TI C55X DSP]) fi]) -AC_ARG_ENABLE(16bit-precision, [ --enable-16bit-precision Reduce precision to 16 bits (EXPERIMENTAL)], -[if test "$enableval" = yes; then - AC_DEFINE([PRECISION16], , [Reduce precision to 16 bits (EXPERIMENTAL)]) -fi]) +AC_ARG_WITH([fft], [AS_HELP_STRING([--with-fft=choice],[use an alternate FFT implementation. The available choices are +kiss (default fixed point), smallft (default floating point), gpl-fftw3 and proprietary-intel-mkl])], +[FFT=$withval] +) + +FFT_PKGCONFIG= +AS_CASE([$FFT], + [kiss], [ + AC_DEFINE([USE_KISS_FFT], [], [Use KISS Fast Fourier Transform]) + ], + [smallft], [ + AC_DEFINE([USE_SMALLFT], [], [Use FFT from OggVorbis]) + ], + [gpl-fftw3], [ + AC_DEFINE([USE_GPL_FFTW3], [], [Use FFTW3 for FFT]) + PKG_CHECK_MODULES(FFT, fftw3f) + ], + [proprietary-intel-mkl], [ + AC_DEFINE([USE_INTEL_MKL], [], [Use Intel Math Kernel Library for FFT]) + AC_MSG_CHECKING(for valid MKL) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[ +#include +void func() { + DFTI_DESCRIPTOR_HANDLE h; + MKL_LONG result=DftiCreateDescriptor(&h, DFTI_SINGLE, DFTI_REAL, 0); +}]])], + [AC_MSG_RESULT(yes)], + [AC_MSG_FAILURE([Failed to compile MKL test program. Make sure you set CFLAGS to include the include directory and set LDFLAGS to include the library directory and all necesarry libraries.])] + ) + ], + [AC_MSG_FAILURE([Unknown FFT $FFT specified for --with-fft])] +) +AM_CONDITIONAL(BUILD_KISS_FFT, [test "$FFT" = "kiss"]) +AM_CONDITIONAL(BUILD_SMALLFT, [test "$FFT" = "smallft"]) +AC_SUBST(FFT_PKGCONFIG) + AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) @@ -182,47 +273,28 @@ AC_SUBST(SIZE16) AC_SUBST(SIZE32) - -AC_DEFUN([AX_COMPILER_VENDOR], -[ -AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, - [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown - # note: don't check for gcc first since some other compilers define __GNUC__ - for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do - vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[ -#if !($vencpp) - thisisanerror; -#endif -])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break]) - done - ]) -]) - -AX_COMPILER_VENDOR - -# Enable 64 bit build -AC_ARG_ENABLE(64, -[AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"]) - -if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then - if test "${enable_64}" = "yes"; then - CFLAGS="$CFLAGS -m64" - CXXFLAGS="$CXXFLAGS -m64" - fi -fi - AC_OUTPUT([Makefile libspeex/Makefile src/Makefile doc/Makefile Speex.spec - include/Makefile include/speex/Makefile speex.pc + include/Makefile include/speex/Makefile speex.pc speexdsp.pc win32/Makefile win32/libspeex/Makefile win32/speexenc/Makefile win32/speexdec/Makefile symbian/Makefile - win32/VS2003/Makefile win32/VS2005/Makefile + win32/VS2003/Makefile + win32/VS2003/tests/Makefile win32/VS2003/libspeex/Makefile + win32/VS2003/libspeexdsp/Makefile win32/VS2003/speexdec/Makefile win32/VS2003/speexenc/Makefile + win32/VS2005/Makefile win32/VS2005/libspeex/Makefile win32/VS2005/speexdec/Makefile win32/VS2005/speexenc/Makefile + win32/VS2005/libspeexdsp/Makefile + win32/VS2005/tests/Makefile + win32/VS2008/libspeexdsp/Makefile + win32/VS2008/Makefile + win32/VS2008/speexdec/Makefile + win32/VS2008/tests/Makefile + win32/VS2008/libspeex/Makefile + win32/VS2008/speexenc/Makefile include/speex/speex_config_types.h ti/Makefile ti/speex_C54_test/Makefile ti/speex_C55_test/Makefile ti/speex_C64_test/Makefile ]) Modified: freeswitch/trunk/libs/speex/doc/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/doc/Makefile.am (original) +++ freeswitch/trunk/libs/speex/doc/Makefile.am Fri Feb 13 00:02:32 2009 @@ -1,5 +1,3 @@ -docdir=$(prefix)/share/doc/@PACKAGE at -@VERSION@ - doc_DATA = manual.pdf EXTRA_DIST = $(doc_DATA) Modified: freeswitch/trunk/libs/speex/doc/manual.pdf ============================================================================== Binary files. No diff available. Modified: freeswitch/trunk/libs/speex/include/speex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/include/speex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,13 +3,7 @@ nodist_pkginclude_HEADERS = speex_config_types.h -pkginclude_HEADERS = speex.h \ - speex_types.h \ - speex_bits.h \ - speex_header.h \ - speex_callbacks.h \ - speex_stereo.h \ - speex_preprocess.h \ - speex_jitter.h \ - speex_echo.h +pkginclude_HEADERS = speex.h speex_bits.h speex_buffer.h speex_callbacks.h \ + speex_echo.h speex_header.h speex_jitter.h speex_preprocess.h speex_resampler.h \ + speex_stereo.h speex_types.h Modified: freeswitch/trunk/libs/speex/include/speex/speex.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex.h Fri Feb 13 00:02:32 2009 @@ -35,6 +35,10 @@ #ifndef SPEEX_H #define SPEEX_H +/** @defgroup Codec Speex encoder and decoder + * This is the Speex codec itself. + * @{ + */ #include "speex/speex_bits.h" #include "speex/speex_types.h" @@ -151,19 +155,9 @@ /** Get status of input/output high-pass filtering */ #define SPEEX_GET_HIGHPASS 45 -/* Used internally, NOT TO BE USED in applications */ -/** Used internally*/ -#define SPEEX_GET_PI_GAIN 100 -/** Used internally*/ -#define SPEEX_GET_EXC 101 -/** Used internally*/ -#define SPEEX_GET_INNOV 102 -/** Used internally*/ -#define SPEEX_GET_DTX_STATUS 103 -/** Used internally*/ -#define SPEEX_SET_INNOVATION_SAVE 104 -/** Used internally*/ -#define SPEEX_SET_WIDEBAND 105 +/** Get "activity level" of the last decoded frame, i.e. + how much damage we cause if we remove the frame */ +#define SPEEX_GET_ACTIVITY 47 /* Preserving compatibility:*/ @@ -218,11 +212,6 @@ /** modeID for the defined ultra-wideband mode */ #define SPEEX_MODEID_UWB 2 -#ifdef EPIC_48K -/** modeID for the Epic 48K mode */ -#define SPEEX_MODEID_NB_48K 1000 -#endif - struct SpeexMode; @@ -307,7 +296,7 @@ * encode, you need one state per channel. * * @param mode The mode to use (either speex_nb_mode or speex_wb.mode) - * @return A newly created encoder + * @return A newly created encoder state or NULL if state allocation fails */ void *speex_encoder_init(const SpeexMode *mode); @@ -318,7 +307,9 @@ /** Uses an existing encoder state to encode one frame of speech pointed to by "in". The encoded bit-stream is saved in "bits". @param state Encoder state - @param in Frame that will be encoded with a +-2^15 range + @param in Frame that will be encoded with a +-2^15 range. This data MAY be + overwritten by the encoder and should be considered uninitialised + after the call. @param bits Bit-stream where the data will be written @return 0 if frame needs not be transmitted (DTX only), 1 otherwise */ @@ -338,7 +329,7 @@ * @param state Encoder state * @param request ioctl-type request (one of the SPEEX_* macros) * @param ptr Data exchanged to-from function - * @return 0 if no error, -1 if request in unknown + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter */ int speex_encoder_ctl(void *state, int request, void *ptr); @@ -349,7 +340,7 @@ * decode, you need one state per channel. * * @param mode Speex mode (one of speex_nb_mode or speex_wb_mode) - * @return A newly created decoder state + * @return A newly created decoder state or NULL if state allocation fails */ void *speex_decoder_init(const SpeexMode *mode); @@ -384,7 +375,7 @@ * @param state Decoder state * @param request ioctl-type request (one of the SPEEX_* macros) * @param ptr Data exchanged to-from function - * @return 0 if no error, -1 if request in unknown + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter */ int speex_decoder_ctl(void *state, int request, void *ptr); @@ -394,12 +385,14 @@ * @param mode Speex mode * @param request ioctl-type request (one of the SPEEX_* macros) * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter */ int speex_mode_query(const SpeexMode *mode, int request, void *ptr); /** Functions for controlling the behavior of libspeex * @param request ioctl-type request (one of the SPEEX_LIB_* macros) * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter */ int speex_lib_ctl(int request, void *ptr); @@ -412,20 +405,20 @@ /** Default "ultra-wideband" mode */ extern const SpeexMode speex_uwb_mode; -#ifdef EPIC_48K -/** 4.8 kbps narrowband mode */ -extern const SpeexMode speex_nb_48k_mode; -#endif - /** List of all modes available */ extern const SpeexMode * const speex_mode_list[SPEEX_NB_MODES]; /** Obtain one of the modes available */ const SpeexMode * speex_lib_get_mode (int mode); +#ifndef WIN32 +/* We actually override the function in the narrowband case so that we can avoid linking in the wideband stuff */ +#define speex_lib_get_mode(mode) ((mode)==SPEEX_MODEID_NB ? &speex_nb_mode : speex_lib_get_mode (mode)) +#endif + #ifdef __cplusplus } #endif - +/** @}*/ #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_bits.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_bits.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_bits.h Fri Feb 13 00:02:32 2009 @@ -35,6 +35,11 @@ #ifndef BITS_H #define BITS_H +/** @defgroup SpeexBits SpeexBits: Bit-stream manipulations + * This is the structure that holds the bit-stream when encoding or decoding + * with Speex. It allows some manipulations as well. + * @{ + */ #ifdef __cplusplus extern "C" { @@ -59,6 +64,9 @@ /** Initializes SpeexBits struct using a pre-allocated buffer*/ void speex_bits_init_buffer(SpeexBits *bits, void *buff, int buf_size); +/** Sets the bits in a SpeexBits struct to use data from an existing buffer (for decoding without copying data) */ +void speex_bits_set_bit_buffer(SpeexBits *bits, void *buff, int buf_size); + /** Frees all resources associated to a SpeexBits struct. Right now this does nothing since no resources are allocated, but this could change in the future.*/ void speex_bits_destroy(SpeexBits *bits); @@ -72,13 +80,20 @@ void speex_bits_read_from(SpeexBits *bits, char *bytes, int len); /** Append bytes to the bit-stream + * * @param bits Bit-stream to operate on * @param bytes pointer to the bytes what will be appended * @param len Number of bytes of append */ void speex_bits_read_whole_bytes(SpeexBits *bits, char *bytes, int len); -/** Write the content of a bit-stream to an area of memory */ +/** Write the content of a bit-stream to an area of memory + * + * @param bits Bit-stream to operate on + * @param bytes Memory location where to write the bits + * @param max_len Maximum number of bytes to write (i.e. size of the "bytes" buffer) + * @return Number of bytes written to the "bytes" buffer +*/ int speex_bits_write(SpeexBits *bits, char *bytes, int max_len); /** Like speex_bits_write, but writes only the complete bytes in the stream. Also removes the written bytes from the stream */ @@ -114,13 +129,19 @@ */ int speex_bits_nbytes(SpeexBits *bits); -/** Same as speex_bits_unpack_unsigned, but without modifying the cursor position */ +/** Same as speex_bits_unpack_unsigned, but without modifying the cursor position + * + * @param bits Bit-stream to operate on + * @param nbBits Number of bits to look for + * @return Value of the bits peeked, interpreted as unsigned + */ unsigned int speex_bits_peek_unsigned(SpeexBits *bits, int nbBits); /** Get the value of the next bit in the stream, without modifying the * "cursor" position * * @param bits Bit-stream to operate on + * @return Value of the bit peeked (one bit only) */ int speex_bits_peek(SpeexBits *bits); @@ -134,6 +155,7 @@ /** Returns the number of bits remaining to be read in a stream * * @param bits Bit-stream to operate on + * @return Number of bits that can still be read from the stream */ int speex_bits_remaining(SpeexBits *bits); @@ -148,4 +170,5 @@ } #endif +/* @} */ #endif Added: freeswitch/trunk/libs/speex/include/speex/speex_buffer.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/include/speex/speex_buffer.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,68 @@ +/* Copyright (C) 2007 Jean-Marc Valin + + File: speex_buffer.h + This is a very simple ring buffer implementation. It is not thread-safe + so you need to do your own locking. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef SPEEX_BUFFER_H +#define SPEEX_BUFFER_H + +#include "speex/speex_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct SpeexBuffer_; +typedef struct SpeexBuffer_ SpeexBuffer; + +SpeexBuffer *speex_buffer_init(int size); + +void speex_buffer_destroy(SpeexBuffer *st); + +int speex_buffer_write(SpeexBuffer *st, void *data, int len); + +int speex_buffer_writezeros(SpeexBuffer *st, int len); + +int speex_buffer_read(SpeexBuffer *st, void *data, int len); + +int speex_buffer_get_available(SpeexBuffer *st); + +int speex_buffer_resize(SpeexBuffer *st, int len); + +#ifdef __cplusplus +} +#endif + +#endif + + + + Modified: freeswitch/trunk/libs/speex/include/speex/speex_callbacks.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_callbacks.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_callbacks.h Fri Feb 13 00:02:32 2009 @@ -35,6 +35,9 @@ #ifndef SPEEX_CALLBACKS_H #define SPEEX_CALLBACKS_H +/** @defgroup SpeexCallbacks Various definitions for Speex callbacks supported by the decoder. + * @{ + */ #include "speex.h" @@ -110,13 +113,16 @@ - +/** Standard handler for low mode request (change low mode, no questions asked) */ int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data); +/** Standard handler for VBR request (Set VBR, no questions asked) */ int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data); +/** Standard handler for enhancer request (Turn enhancer on/off, no questions asked) */ int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data); +/** Standard handler for VBR quality request (Set VBR quality, no questions asked) */ int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data); @@ -124,5 +130,5 @@ } #endif - +/** @} */ #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_echo.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_echo.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_echo.h Fri Feb 13 00:02:32 2009 @@ -33,7 +33,10 @@ #ifndef SPEEX_ECHO_H #define SPEEX_ECHO_H - +/** @defgroup SpeexEchoState SpeexEchoState: Acoustic echo canceller + * This is the acoustic echo canceller module. + * @{ + */ #include "speex/speex_types.h" #ifdef __cplusplus @@ -48,41 +51,120 @@ /** Get sampling rate */ #define SPEEX_ECHO_GET_SAMPLING_RATE 25 +/* Can't set window sizes */ +/** Get size of impulse response (int32) */ +#define SPEEX_ECHO_GET_IMPULSE_RESPONSE_SIZE 27 + +/* Can't set window content */ +/** Get impulse response (int32[]) */ +#define SPEEX_ECHO_GET_IMPULSE_RESPONSE 29 -/*struct drft_lookup;*/ +/** Internal echo canceller state. Should never be accessed directly. */ struct SpeexEchoState_; +/** @class SpeexEchoState + * This holds the state of the echo canceller. You need one per channel. +*/ + +/** Internal echo canceller state. Should never be accessed directly. */ typedef struct SpeexEchoState_ SpeexEchoState; -/** Creates a new echo canceller state */ +/** Creates a new echo canceller state + * @param frame_size Number of samples to process at one time (should correspond to 10-20 ms) + * @param filter_length Number of samples of echo to cancel (should generally correspond to 100-500 ms) + * @return Newly-created echo canceller state + */ SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length); -/** Destroys an echo canceller state */ +/** Creates a new multi-channel echo canceller state + * @param frame_size Number of samples to process at one time (should correspond to 10-20 ms) + * @param filter_length Number of samples of echo to cancel (should generally correspond to 100-500 ms) + * @param nb_mic Number of microphone channels + * @param nb_speakers Number of speaker channels + * @return Newly-created echo canceller state + */ +SpeexEchoState *speex_echo_state_init_mc(int frame_size, int filter_length, int nb_mic, int nb_speakers); + +/** Destroys an echo canceller state + * @param st Echo canceller state +*/ void speex_echo_state_destroy(SpeexEchoState *st); -/** Performs echo cancellation a frame */ -void speex_echo_cancel(SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out, spx_int32_t *Yout); +/** Performs echo cancellation a frame, based on the audio sent to the speaker (no delay is added + * to playback in this form) + * + * @param st Echo canceller state + * @param rec Signal from the microphone (near end + far end echo) + * @param play Signal played to the speaker (received from far end) + * @param out Returns near-end signal with echo removed + */ +void speex_echo_cancellation(SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out); -/** Perform echo cancellation using internal playback buffer */ -void speex_echo_capture(SpeexEchoState *st, const spx_int16_t *rec, spx_int16_t *out, spx_int32_t *Yout); +/** Performs echo cancellation a frame (deprecated) */ +void speex_echo_cancel(SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out, spx_int32_t *Yout); -/** Let the echo canceller know that a frame was just played */ +/** Perform echo cancellation using internal playback buffer, which is delayed by two frames + * to account for the delay introduced by most soundcards (but it could be off!) + * @param st Echo canceller state + * @param rec Signal from the microphone (near end + far end echo) + * @param out Returns near-end signal with echo removed +*/ +void speex_echo_capture(SpeexEchoState *st, const spx_int16_t *rec, spx_int16_t *out); + +/** Let the echo canceller know that a frame was just queued to the soundcard + * @param st Echo canceller state + * @param play Signal played to the speaker (received from far end) +*/ void speex_echo_playback(SpeexEchoState *st, const spx_int16_t *play); -/** Reset the echo canceller state */ +/** Reset the echo canceller to its original state + * @param st Echo canceller state + */ void speex_echo_state_reset(SpeexEchoState *st); /** Used like the ioctl function to control the echo canceller parameters * - * @param state Encoder state + * @param st Echo canceller state * @param request ioctl-type request (one of the SPEEX_ECHO_* macros) * @param ptr Data exchanged to-from function * @return 0 if no error, -1 if request in unknown */ int speex_echo_ctl(SpeexEchoState *st, int request, void *ptr); + + +struct SpeexDecorrState_; + +typedef struct SpeexDecorrState_ SpeexDecorrState; + + +/** Create a state for the channel decorrelation algorithm + This is useful for multi-channel echo cancellation only + * @param rate Sampling rate + * @param channels Number of channels (it's a bit pointless if you don't have at least 2) + * @param frame_size Size of the frame to process at ones (counting samples *per* channel) +*/ +SpeexDecorrState *speex_decorrelate_new(int rate, int channels, int frame_size); + +/** Remove correlation between the channels by modifying the phase and possibly + adding noise in a way that is not (or little) perceptible. + * @param st Decorrelator state + * @param in Input audio in interleaved format + * @param out Result of the decorrelation (out *may* alias in) + * @param strength How much alteration of the audio to apply from 0 to 100. +*/ +void speex_decorrelate(SpeexDecorrState *st, const spx_int16_t *in, spx_int16_t *out, int strength); + +/** Destroy a Decorrelation state + * @param st State to destroy +*/ +void speex_decorrelate_destroy(SpeexDecorrState *st); + + #ifdef __cplusplus } #endif + +/** @}*/ #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_header.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_header.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_header.h Fri Feb 13 00:02:32 2009 @@ -36,6 +36,10 @@ #ifndef SPEEX_HEADER_H #define SPEEX_HEADER_H +/** @defgroup SpeexHeader SpeexHeader: Makes it easy to write/parse an Ogg/Speex header + * This is the Speex header for the Ogg encapsulation. You don't need that if you just use RTP. + * @{ + */ #include "speex/speex_types.h" @@ -45,6 +49,7 @@ struct SpeexMode; +/** Length of the Speex header identifier */ #define SPEEX_HEADER_STRING_LENGTH 8 /** Maximum number of characters for encoding the Speex version number in the header */ @@ -78,9 +83,12 @@ /** Creates a SpeexHeader from a packet */ SpeexHeader *speex_packet_to_header(char *packet, int size); +/** Frees the memory allocated by either speex_header_to_packet() or speex_packet_to_header() */ +void speex_header_free(void *ptr); + #ifdef __cplusplus } #endif - +/** @} */ #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_jitter.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_jitter.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_jitter.h Fri Feb 13 00:02:32 2009 @@ -35,83 +35,163 @@ #ifndef SPEEX_JITTER_H #define SPEEX_JITTER_H +/** @defgroup JitterBuffer JitterBuffer: Adaptive jitter buffer + * This is the jitter buffer that reorders UDP/RTP packets and adjusts the buffer size + * to maintain good quality and low latency. + * @{ + */ -#include "speex.h" -#include "speex_bits.h" +#include "speex/speex_types.h" #ifdef __cplusplus extern "C" { #endif +/** Generic adaptive jitter buffer state */ struct JitterBuffer_; +/** Generic adaptive jitter buffer state */ typedef struct JitterBuffer_ JitterBuffer; +/** Definition of an incoming packet */ typedef struct _JitterBufferPacket JitterBufferPacket; +/** Definition of an incoming packet */ struct _JitterBufferPacket { - char *data; - spx_uint32_t len; - spx_uint32_t timestamp; - spx_uint32_t span; + char *data; /**< Data bytes contained in the packet */ + spx_uint32_t len; /**< Length of the packet in bytes */ + spx_uint32_t timestamp; /**< Timestamp for the packet */ + spx_uint32_t span; /**< Time covered by the packet (same units as timestamp) */ + spx_uint16_t sequence; /**< RTP Sequence number if available (0 otherwise) */ + spx_uint32_t user_data; /**< Put whatever data you like here (it's ignored by the jitter buffer) */ }; - +/** Packet has been retrieved */ #define JITTER_BUFFER_OK 0 +/** Packet is lost or is late */ #define JITTER_BUFFER_MISSING 1 -#define JITTER_BUFFER_INCOMPLETE 2 +/** A "fake" packet is meant to be inserted here to increase buffering */ +#define JITTER_BUFFER_INSERTION 2 +/** There was an error in the jitter buffer */ #define JITTER_BUFFER_INTERNAL_ERROR -1 +/** Invalid argument */ #define JITTER_BUFFER_BAD_ARGUMENT -2 -/** Initialise jitter buffer */ -JitterBuffer *jitter_buffer_init(int tick); -/** Reset jitter buffer */ +/** Set minimum amount of extra buffering required (margin) */ +#define JITTER_BUFFER_SET_MARGIN 0 +/** Get minimum amount of extra buffering required (margin) */ +#define JITTER_BUFFER_GET_MARGIN 1 +/* JITTER_BUFFER_SET_AVAILABLE_COUNT wouldn't make sense */ + +/** Get the amount of available packets currently buffered */ +#define JITTER_BUFFER_GET_AVAILABLE_COUNT 3 +/** Included because of an early misspelling (will remove in next release) */ +#define JITTER_BUFFER_GET_AVALIABLE_COUNT 3 + +/** Assign a function to destroy unused packet. When setting that, the jitter + buffer no longer copies packet data. */ +#define JITTER_BUFFER_SET_DESTROY_CALLBACK 4 +/** */ +#define JITTER_BUFFER_GET_DESTROY_CALLBACK 5 + +/** Tell the jitter buffer to only adjust the delay in multiples of the step parameter provided */ +#define JITTER_BUFFER_SET_DELAY_STEP 6 +/** */ +#define JITTER_BUFFER_GET_DELAY_STEP 7 + +/** Tell the jitter buffer to only do concealment in multiples of the size parameter provided */ +#define JITTER_BUFFER_SET_CONCEALMENT_SIZE 8 +#define JITTER_BUFFER_GET_CONCEALMENT_SIZE 9 + +/** Absolute max amount of loss that can be tolerated regardless of the delay. Typical loss + should be half of that or less. */ +#define JITTER_BUFFER_SET_MAX_LATE_RATE 10 +#define JITTER_BUFFER_GET_MAX_LATE_RATE 11 + +/** Equivalent cost of one percent late packet in timestamp units */ +#define JITTER_BUFFER_SET_LATE_COST 12 +#define JITTER_BUFFER_GET_LATE_COST 13 + + +/** Initialises jitter buffer + * + * @param step_size Starting value for the size of concleanment packets and delay + adjustment steps. Can be changed at any time using JITTER_BUFFER_SET_DELAY_STEP + and JITTER_BUFFER_GET_CONCEALMENT_SIZE. + * @return Newly created jitter buffer state + */ +JitterBuffer *jitter_buffer_init(int step_size); + +/** Restores jitter buffer to its original state + * + * @param jitter Jitter buffer state + */ void jitter_buffer_reset(JitterBuffer *jitter); -/** Destroy jitter buffer */ +/** Destroys jitter buffer + * + * @param jitter Jitter buffer state + */ void jitter_buffer_destroy(JitterBuffer *jitter); -/** Put one packet into the jitter buffer */ +/** Put one packet into the jitter buffer + * + * @param jitter Jitter buffer state + * @param packet Incoming packet +*/ void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet); -/** Get one packet from the jitter buffer */ -int jitter_buffer_get(JitterBuffer *jitter, JitterBufferPacket *packet, spx_uint32_t *current_timestamp); - -/** Get pointer timestamp of jitter buffer */ +/** Get one packet from the jitter buffer + * + * @param jitter Jitter buffer state + * @param packet Returned packet + * @param desired_span Number of samples (or units) we wish to get from the buffer (no guarantee) + * @param current_timestamp Timestamp for the returned packet +*/ +int jitter_buffer_get(JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t desired_span, spx_int32_t *start_offset); + +/** Used right after jitter_buffer_get() to obtain another packet that would have the same timestamp. + * This is mainly useful for media where a single "frame" can be split into several packets. + * + * @param jitter Jitter buffer state + * @param packet Returned packet + */ +int jitter_buffer_get_another(JitterBuffer *jitter, JitterBufferPacket *packet); + +/** Get pointer timestamp of jitter buffer + * + * @param jitter Jitter buffer state +*/ int jitter_buffer_get_pointer_timestamp(JitterBuffer *jitter); -/** Advance by one tick */ +/** Advance by one tick + * + * @param jitter Jitter buffer state +*/ void jitter_buffer_tick(JitterBuffer *jitter); +/** Telling the jitter buffer about the remaining data in the application buffer + * @param jitter Jitter buffer state + * @param rem Amount of data buffered by the application (timestamp units) + */ +void jitter_buffer_remaining_span(JitterBuffer *jitter, spx_uint32_t rem); + +/** Used like the ioctl function to control the jitter buffer parameters + * + * @param jitter Jitter buffer state + * @param request ioctl-type request (one of the JITTER_BUFFER_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown +*/ +int jitter_buffer_ctl(JitterBuffer *jitter, int request, void *ptr); -/** Speex jitter-buffer state. */ -typedef struct SpeexJitter { - SpeexBits current_packet; /**< Current Speex packet */ - int valid_bits; /**< True if Speex bits are valid */ - JitterBuffer *packets; - void *dec; /**< Pointer to Speex decoder */ - spx_int32_t frame_size; /**< Frame size of Speex decoder */ -} SpeexJitter; - -/** Initialise jitter buffer */ -void speex_jitter_init(SpeexJitter *jitter, void *decoder, int sampling_rate); - -/** Destroy jitter buffer */ -void speex_jitter_destroy(SpeexJitter *jitter); - -/** Put one packet into the jitter buffer */ -void speex_jitter_put(SpeexJitter *jitter, char *packet, int len, int timestamp); +int jitter_buffer_update_delay(JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t *start_offset); -/** Get one packet from the jitter buffer */ -void speex_jitter_get(SpeexJitter *jitter, spx_int16_t *out, int *start_offset); - -/** Get pointer timestamp of jitter buffer */ -int speex_jitter_get_pointer_timestamp(SpeexJitter *jitter); +/* @} */ #ifdef __cplusplus } #endif - #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_preprocess.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_preprocess.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_preprocess.h Fri Feb 13 00:02:32 2009 @@ -1,8 +1,10 @@ /* Copyright (C) 2003 Epic Games Written by Jean-Marc Valin */ /** - @file speex_preprocess.h - @brief Speex preprocessor + * @file speex_preprocess.h + * @brief Speex preprocessor. The preprocess can do noise suppression, + * residual echo suppression (after using the echo canceller), automatic + * gain control (AGC) and voice activity detection (VAD). */ /* Redistribution and use in source and binary forms, with or without @@ -34,91 +36,61 @@ #ifndef SPEEX_PREPROCESS_H #define SPEEX_PREPROCESS_H +/** @defgroup SpeexPreprocessState SpeexPreprocessState: The Speex preprocessor + * This is the Speex preprocessor. The preprocess can do noise suppression, + * residual echo suppression (after using the echo canceller), automatic + * gain control (AGC) and voice activity detection (VAD). + * @{ + */ #include "speex/speex_types.h" #ifdef __cplusplus extern "C" { #endif - -struct drft_lookup; - -/** Speex pre-processor state. */ -typedef struct SpeexPreprocessState { - int frame_size; /**< Number of samples processed each time */ - int ps_size; /**< Number of points in the power spectrum */ - int sampling_rate; /**< Sampling rate of the input/output */ - - /* parameters */ - int denoise_enabled; - int agc_enabled; - float agc_level; - int vad_enabled; - int dereverb_enabled; - float reverb_decay; - float reverb_level; - float speech_prob_start; - float speech_prob_continue; - float *frame; /**< Processing frame (2*ps_size) */ - float *ps; /**< Current power spectrum */ - float *gain2; /**< Adjusted gains */ - float *window; /**< Analysis/Synthesis window */ - float *noise; /**< Noise estimate */ - float *reverb_estimate; /**< Estimate of reverb energy */ - float *old_ps; /**< Power spectrum for last frame */ - float *gain; /**< Ephraim Malah gain */ - float *prior; /**< A-priori SNR */ - float *post; /**< A-posteriori SNR */ - - float *S; /**< Smoothed power spectrum */ - float *Smin; /**< See Cohen paper */ - float *Stmp; /**< See Cohen paper */ - float *update_prob; /**< Propability of speech presence for noise update */ - - float *zeta; /**< Smoothed a priori SNR */ - float Zpeak; - float Zlast; - - float *loudness_weight; /**< Perceptual loudness curve */ - - float *echo_noise; - - float *noise_bands; - float *noise_bands2; - int noise_bandsN; - float *speech_bands; - float *speech_bands2; - int speech_bandsN; - - float *inbuf; /**< Input buffer (overlapped analysis) */ - float *outbuf; /**< Output buffer (for overlap and add) */ - - float speech_prob; - int last_speech; - float loudness; /**< loudness estimate */ - float loudness2; /**< loudness estimate */ - int nb_adapt; /**< Number of frames used for adaptation so far */ - int nb_loudness_adapt; /**< Number of frames used for loudness adaptation so far */ - int consec_noise; /**< Number of consecutive noise frames */ - int nb_preprocess; /**< Number of frames processed so far */ - struct drft_lookup *fft_lookup; /**< Lookup table for the FFT */ +/** State of the preprocessor (one per channel). Should never be accessed directly. */ +struct SpeexPreprocessState_; -} SpeexPreprocessState; +/** State of the preprocessor (one per channel). Should never be accessed directly. */ +typedef struct SpeexPreprocessState_ SpeexPreprocessState; -/** Creates a new preprocessing state */ + +/** Creates a new preprocessing state. You MUST create one state per channel processed. + * @param frame_size Number of samples to process at one time (should correspond to 10-20 ms). Must be + * the same value as that used for the echo canceller for residual echo cancellation to work. + * @param sampling_rate Sampling rate used for the input. + * @return Newly created preprocessor state +*/ SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampling_rate); -/** Destroys a denoising state */ +/** Destroys a preprocessor state + * @param st Preprocessor state to destroy +*/ void speex_preprocess_state_destroy(SpeexPreprocessState *st); -/** Preprocess a frame */ +/** Preprocess a frame + * @param st Preprocessor state + * @param x Audio sample vector (in and out). Must be same size as specified in speex_preprocess_state_init(). + * @return Bool value for voice activity (1 for speech, 0 for noise/silence), ONLY if VAD turned on. +*/ +int speex_preprocess_run(SpeexPreprocessState *st, spx_int16_t *x); + +/** Preprocess a frame (deprecated, use speex_preprocess_run() instead)*/ int speex_preprocess(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo); -/** Preprocess a frame */ -void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo); +/** Update preprocessor state, but do not compute the output + * @param st Preprocessor state + * @param x Audio sample vector (in only). Must be same size as specified in speex_preprocess_state_init(). +*/ +void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x); -/** Used like the ioctl function to control the preprocessor parameters */ +/** Used like the ioctl function to control the preprocessor parameters + * @param st Preprocessor state + * @param request ioctl-type request (one of the SPEEX_PREPROCESS_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown +*/ int speex_preprocess_ctl(SpeexPreprocessState *st, int request, void *ptr); @@ -138,9 +110,9 @@ /** Get preprocessor Voice Activity Detection state */ #define SPEEX_PREPROCESS_GET_VAD 5 -/** Set preprocessor Automatic Gain Control level */ +/** Set preprocessor Automatic Gain Control level (float) */ #define SPEEX_PREPROCESS_SET_AGC_LEVEL 6 -/** Get preprocessor Automatic Gain Control level */ +/** Get preprocessor Automatic Gain Control level (float) */ #define SPEEX_PREPROCESS_GET_AGC_LEVEL 7 /** Set preprocessor dereverb state */ @@ -158,14 +130,90 @@ /** Get preprocessor dereverb decay */ #define SPEEX_PREPROCESS_GET_DEREVERB_DECAY 13 +/** Set probability required for the VAD to go from silence to voice */ #define SPEEX_PREPROCESS_SET_PROB_START 14 +/** Get probability required for the VAD to go from silence to voice */ #define SPEEX_PREPROCESS_GET_PROB_START 15 +/** Set probability required for the VAD to stay in the voice state (integer percent) */ #define SPEEX_PREPROCESS_SET_PROB_CONTINUE 16 +/** Get probability required for the VAD to stay in the voice state (integer percent) */ #define SPEEX_PREPROCESS_GET_PROB_CONTINUE 17 +/** Set maximum attenuation of the noise in dB (negative number) */ +#define SPEEX_PREPROCESS_SET_NOISE_SUPPRESS 18 +/** Get maximum attenuation of the noise in dB (negative number) */ +#define SPEEX_PREPROCESS_GET_NOISE_SUPPRESS 19 + +/** Set maximum attenuation of the residual echo in dB (negative number) */ +#define SPEEX_PREPROCESS_SET_ECHO_SUPPRESS 20 +/** Get maximum attenuation of the residual echo in dB (negative number) */ +#define SPEEX_PREPROCESS_GET_ECHO_SUPPRESS 21 + +/** Set maximum attenuation of the residual echo in dB when near end is active (negative number) */ +#define SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE 22 +/** Get maximum attenuation of the residual echo in dB when near end is active (negative number) */ +#define SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE 23 + +/** Set the corresponding echo canceller state so that residual echo suppression can be performed (NULL for no residual echo suppression) */ +#define SPEEX_PREPROCESS_SET_ECHO_STATE 24 +/** Get the corresponding echo canceller state */ +#define SPEEX_PREPROCESS_GET_ECHO_STATE 25 + +/** Set maximal gain increase in dB/second (int32) */ +#define SPEEX_PREPROCESS_SET_AGC_INCREMENT 26 + +/** Get maximal gain increase in dB/second (int32) */ +#define SPEEX_PREPROCESS_GET_AGC_INCREMENT 27 + +/** Set maximal gain decrease in dB/second (int32) */ +#define SPEEX_PREPROCESS_SET_AGC_DECREMENT 28 + +/** Get maximal gain decrease in dB/second (int32) */ +#define SPEEX_PREPROCESS_GET_AGC_DECREMENT 29 + +/** Set maximal gain in dB (int32) */ +#define SPEEX_PREPROCESS_SET_AGC_MAX_GAIN 30 + +/** Get maximal gain in dB (int32) */ +#define SPEEX_PREPROCESS_GET_AGC_MAX_GAIN 31 + +/* Can't set loudness */ +/** Get loudness */ +#define SPEEX_PREPROCESS_GET_AGC_LOUDNESS 33 + +/* Can't set gain */ +/** Get current gain (int32 percent) */ +#define SPEEX_PREPROCESS_GET_AGC_GAIN 35 + +/* Can't set spectrum size */ +/** Get spectrum size for power spectrum (int32) */ +#define SPEEX_PREPROCESS_GET_PSD_SIZE 37 + +/* Can't set power spectrum */ +/** Get power spectrum (int32[] of squared values) */ +#define SPEEX_PREPROCESS_GET_PSD 39 + +/* Can't set noise size */ +/** Get spectrum size for noise estimate (int32) */ +#define SPEEX_PREPROCESS_GET_NOISE_PSD_SIZE 41 + +/* Can't set noise estimate */ +/** Get noise estimate (int32[] of squared values) */ +#define SPEEX_PREPROCESS_GET_NOISE_PSD 43 + +/* Can't set speech probability */ +/** Get speech probability in last frame (int32). */ +#define SPEEX_PREPROCESS_GET_PROB 45 + +/** Set preprocessor Automatic Gain Control level (int32) */ +#define SPEEX_PREPROCESS_SET_AGC_TARGET 46 +/** Get preprocessor Automatic Gain Control level (int32) */ +#define SPEEX_PREPROCESS_GET_AGC_TARGET 47 + #ifdef __cplusplus } #endif +/** @}*/ #endif Added: freeswitch/trunk/libs/speex/include/speex/speex_resampler.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/include/speex/speex_resampler.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,340 @@ +/* Copyright (C) 2007 Jean-Marc Valin + + File: speex_resampler.h + Resampling code + + The design goals of this code are: + - Very fast algorithm + - Low memory requirement + - Good *perceptual* quality (and not best SNR) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + + +#ifndef SPEEX_RESAMPLER_H +#define SPEEX_RESAMPLER_H + +#ifdef OUTSIDE_SPEEX + +/********* WARNING: MENTAL SANITY ENDS HERE *************/ + +/* If the resampler is defined outside of Speex, we change the symbol names so that + there won't be any clash if linking with Speex later on. */ + +/* #define RANDOM_PREFIX your software name here */ +#ifndef RANDOM_PREFIX +#error "Please define RANDOM_PREFIX (above) to something specific to your project to prevent symbol name clashes" +#endif + +#define CAT_PREFIX2(a,b) a ## b +#define CAT_PREFIX(a,b) CAT_PREFIX2(a, b) + +#define speex_resampler_init CAT_PREFIX(RANDOM_PREFIX,_resampler_init) +#define speex_resampler_init_frac CAT_PREFIX(RANDOM_PREFIX,_resampler_init_frac) +#define speex_resampler_destroy CAT_PREFIX(RANDOM_PREFIX,_resampler_destroy) +#define speex_resampler_process_float CAT_PREFIX(RANDOM_PREFIX,_resampler_process_float) +#define speex_resampler_process_int CAT_PREFIX(RANDOM_PREFIX,_resampler_process_int) +#define speex_resampler_process_interleaved_float CAT_PREFIX(RANDOM_PREFIX,_resampler_process_interleaved_float) +#define speex_resampler_process_interleaved_int CAT_PREFIX(RANDOM_PREFIX,_resampler_process_interleaved_int) +#define speex_resampler_set_rate CAT_PREFIX(RANDOM_PREFIX,_resampler_set_rate) +#define speex_resampler_get_rate CAT_PREFIX(RANDOM_PREFIX,_resampler_get_rate) +#define speex_resampler_set_rate_frac CAT_PREFIX(RANDOM_PREFIX,_resampler_set_rate_frac) +#define speex_resampler_get_ratio CAT_PREFIX(RANDOM_PREFIX,_resampler_get_ratio) +#define speex_resampler_set_quality CAT_PREFIX(RANDOM_PREFIX,_resampler_set_quality) +#define speex_resampler_get_quality CAT_PREFIX(RANDOM_PREFIX,_resampler_get_quality) +#define speex_resampler_set_input_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_set_input_stride) +#define speex_resampler_get_input_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_get_input_stride) +#define speex_resampler_set_output_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_set_output_stride) +#define speex_resampler_get_output_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_get_output_stride) +#define speex_resampler_get_input_latency CAT_PREFIX(RANDOM_PREFIX,_resampler_get_input_latency) +#define speex_resampler_get_output_latency CAT_PREFIX(RANDOM_PREFIX,_resampler_get_output_latency) +#define speex_resampler_skip_zeros CAT_PREFIX(RANDOM_PREFIX,_resampler_skip_zeros) +#define speex_resampler_reset_mem CAT_PREFIX(RANDOM_PREFIX,_resampler_reset_mem) +#define speex_resampler_strerror CAT_PREFIX(RANDOM_PREFIX,_resampler_strerror) + +#define spx_int16_t short +#define spx_int32_t int +#define spx_uint16_t unsigned short +#define spx_uint32_t unsigned int + +#else /* OUTSIDE_SPEEX */ + +#include "speex/speex_types.h" + +#endif /* OUTSIDE_SPEEX */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define SPEEX_RESAMPLER_QUALITY_MAX 10 +#define SPEEX_RESAMPLER_QUALITY_MIN 0 +#define SPEEX_RESAMPLER_QUALITY_DEFAULT 4 +#define SPEEX_RESAMPLER_QUALITY_VOIP 3 +#define SPEEX_RESAMPLER_QUALITY_DESKTOP 5 + +enum { + RESAMPLER_ERR_SUCCESS = 0, + RESAMPLER_ERR_ALLOC_FAILED = 1, + RESAMPLER_ERR_BAD_STATE = 2, + RESAMPLER_ERR_INVALID_ARG = 3, + RESAMPLER_ERR_PTR_OVERLAP = 4, + + RESAMPLER_ERR_MAX_ERROR +}; + +struct SpeexResamplerState_; +typedef struct SpeexResamplerState_ SpeexResamplerState; + +/** Create a new resampler with integer input and output rates. + * @param nb_channels Number of channels to be processed + * @param in_rate Input sampling rate (integer number of Hz). + * @param out_rate Output sampling rate (integer number of Hz). + * @param quality Resampling quality between 0 and 10, where 0 has poor quality + * and 10 has very high quality. + * @return Newly created resampler state + * @retval NULL Error: not enough memory + */ +SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels, + spx_uint32_t in_rate, + spx_uint32_t out_rate, + int quality, + int *err); + +/** Create a new resampler with fractional input/output rates. The sampling + * rate ratio is an arbitrary rational number with both the numerator and + * denominator being 32-bit integers. + * @param nb_channels Number of channels to be processed + * @param ratio_num Numerator of the sampling rate ratio + * @param ratio_den Denominator of the sampling rate ratio + * @param in_rate Input sampling rate rounded to the nearest integer (in Hz). + * @param out_rate Output sampling rate rounded to the nearest integer (in Hz). + * @param quality Resampling quality between 0 and 10, where 0 has poor quality + * and 10 has very high quality. + * @return Newly created resampler state + * @retval NULL Error: not enough memory + */ +SpeexResamplerState *speex_resampler_init_frac(spx_uint32_t nb_channels, + spx_uint32_t ratio_num, + spx_uint32_t ratio_den, + spx_uint32_t in_rate, + spx_uint32_t out_rate, + int quality, + int *err); + +/** Destroy a resampler state. + * @param st Resampler state + */ +void speex_resampler_destroy(SpeexResamplerState *st); + +/** Resample a float array. The input and output buffers must *not* overlap. + * @param st Resampler state + * @param channel_index Index of the channel to process for the multi-channel + * base (0 otherwise) + * @param in Input buffer + * @param in_len Number of input samples in the input buffer. Returns the + * number of samples processed + * @param out Output buffer + * @param out_len Size of the output buffer. Returns the number of samples written + */ +int speex_resampler_process_float(SpeexResamplerState *st, + spx_uint32_t channel_index, + const float *in, + spx_uint32_t *in_len, + float *out, + spx_uint32_t *out_len); + +/** Resample an int array. The input and output buffers must *not* overlap. + * @param st Resampler state + * @param channel_index Index of the channel to process for the multi-channel + * base (0 otherwise) + * @param in Input buffer + * @param in_len Number of input samples in the input buffer. Returns the number + * of samples processed + * @param out Output buffer + * @param out_len Size of the output buffer. Returns the number of samples written + */ +int speex_resampler_process_int(SpeexResamplerState *st, + spx_uint32_t channel_index, + const spx_int16_t *in, + spx_uint32_t *in_len, + spx_int16_t *out, + spx_uint32_t *out_len); + +/** Resample an interleaved float array. The input and output buffers must *not* overlap. + * @param st Resampler state + * @param in Input buffer + * @param in_len Number of input samples in the input buffer. Returns the number + * of samples processed. This is all per-channel. + * @param out Output buffer + * @param out_len Size of the output buffer. Returns the number of samples written. + * This is all per-channel. + */ +int speex_resampler_process_interleaved_float(SpeexResamplerState *st, + const float *in, + spx_uint32_t *in_len, + float *out, + spx_uint32_t *out_len); + +/** Resample an interleaved int array. The input and output buffers must *not* overlap. + * @param st Resampler state + * @param in Input buffer + * @param in_len Number of input samples in the input buffer. Returns the number + * of samples processed. This is all per-channel. + * @param out Output buffer + * @param out_len Size of the output buffer. Returns the number of samples written. + * This is all per-channel. + */ +int speex_resampler_process_interleaved_int(SpeexResamplerState *st, + const spx_int16_t *in, + spx_uint32_t *in_len, + spx_int16_t *out, + spx_uint32_t *out_len); + +/** Set (change) the input/output sampling rates (integer value). + * @param st Resampler state + * @param in_rate Input sampling rate (integer number of Hz). + * @param out_rate Output sampling rate (integer number of Hz). + */ +int speex_resampler_set_rate(SpeexResamplerState *st, + spx_uint32_t in_rate, + spx_uint32_t out_rate); + +/** Get the current input/output sampling rates (integer value). + * @param st Resampler state + * @param in_rate Input sampling rate (integer number of Hz) copied. + * @param out_rate Output sampling rate (integer number of Hz) copied. + */ +void speex_resampler_get_rate(SpeexResamplerState *st, + spx_uint32_t *in_rate, + spx_uint32_t *out_rate); + +/** Set (change) the input/output sampling rates and resampling ratio + * (fractional values in Hz supported). + * @param st Resampler state + * @param ratio_num Numerator of the sampling rate ratio + * @param ratio_den Denominator of the sampling rate ratio + * @param in_rate Input sampling rate rounded to the nearest integer (in Hz). + * @param out_rate Output sampling rate rounded to the nearest integer (in Hz). + */ +int speex_resampler_set_rate_frac(SpeexResamplerState *st, + spx_uint32_t ratio_num, + spx_uint32_t ratio_den, + spx_uint32_t in_rate, + spx_uint32_t out_rate); + +/** Get the current resampling ratio. This will be reduced to the least + * common denominator. + * @param st Resampler state + * @param ratio_num Numerator of the sampling rate ratio copied + * @param ratio_den Denominator of the sampling rate ratio copied + */ +void speex_resampler_get_ratio(SpeexResamplerState *st, + spx_uint32_t *ratio_num, + spx_uint32_t *ratio_den); + +/** Set (change) the conversion quality. + * @param st Resampler state + * @param quality Resampling quality between 0 and 10, where 0 has poor + * quality and 10 has very high quality. + */ +int speex_resampler_set_quality(SpeexResamplerState *st, + int quality); + +/** Get the conversion quality. + * @param st Resampler state + * @param quality Resampling quality between 0 and 10, where 0 has poor + * quality and 10 has very high quality. + */ +void speex_resampler_get_quality(SpeexResamplerState *st, + int *quality); + +/** Set (change) the input stride. + * @param st Resampler state + * @param stride Input stride + */ +void speex_resampler_set_input_stride(SpeexResamplerState *st, + spx_uint32_t stride); + +/** Get the input stride. + * @param st Resampler state + * @param stride Input stride copied + */ +void speex_resampler_get_input_stride(SpeexResamplerState *st, + spx_uint32_t *stride); + +/** Set (change) the output stride. + * @param st Resampler state + * @param stride Output stride + */ +void speex_resampler_set_output_stride(SpeexResamplerState *st, + spx_uint32_t stride); + +/** Get the output stride. + * @param st Resampler state copied + * @param stride Output stride + */ +void speex_resampler_get_output_stride(SpeexResamplerState *st, + spx_uint32_t *stride); + +/** Get the latency in input samples introduced by the resampler. + * @param st Resampler state + */ +int speex_resampler_get_input_latency(SpeexResamplerState *st); + +/** Get the latency in output samples introduced by the resampler. + * @param st Resampler state + */ +int speex_resampler_get_output_latency(SpeexResamplerState *st); + +/** Make sure that the first samples to go out of the resamplers don't have + * leading zeros. This is only useful before starting to use a newly created + * resampler. It is recommended to use that when resampling an audio file, as + * it will generate a file with the same length. For real-time processing, + * it is probably easier not to use this call (so that the output duration + * is the same for the first frame). + * @param st Resampler state + */ +int speex_resampler_skip_zeros(SpeexResamplerState *st); + +/** Reset a resampler so a new (unrelated) stream can be processed. + * @param st Resampler state + */ +int speex_resampler_reset_mem(SpeexResamplerState *st); + +/** Returns the English meaning for an error code + * @param err Error code + * @return English string + */ +const char *speex_resampler_strerror(int err); + +#ifdef __cplusplus +} +#endif + +#endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_stereo.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_stereo.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_stereo.h Fri Feb 13 00:02:32 2009 @@ -34,6 +34,10 @@ #ifndef STEREO_H #define STEREO_H +/** @defgroup SpeexStereoState SpeexStereoState: Handling Speex stereo files + * This describes the Speex intensity stereo encoding/decoding + * @{ + */ #include "speex/speex_types.h" #include "speex/speex_bits.h" @@ -42,7 +46,7 @@ extern "C" { #endif -/** State used for decoding (intensity) stereo information */ +/** If you access any of these fields directly, I'll personally come and bite you */ typedef struct SpeexStereoState { float balance; /**< Left/right balance info */ float e_ratio; /**< Ratio of energies: E(left+right)/[E(left)+E(right)] */ @@ -52,9 +56,18 @@ float reserved2; /**< Reserved for future use */ } SpeexStereoState; -/** Initialization value for a stereo state */ +/** Deprecated. Use speex_stereo_state_init() instead. */ #define SPEEX_STEREO_STATE_INIT {1,.5,1,1,0,0} +/** Initialise/create a stereo stereo state */ +SpeexStereoState *speex_stereo_state_init(); + +/** Reset/re-initialise an already allocated stereo state */ +void speex_stereo_state_reset(SpeexStereoState *stereo); + +/** Destroy a stereo stereo state */ +void speex_stereo_state_destroy(SpeexStereoState *stereo); + /** Transforms a stereo frame into a mono frame and stores intensity stereo info in 'bits' */ void speex_encode_stereo(float *data, int frame_size, SpeexBits *bits); @@ -74,5 +87,5 @@ } #endif - +/** @} */ #endif Modified: freeswitch/trunk/libs/speex/include/speex/speex_types.h ============================================================================== --- freeswitch/trunk/libs/speex/include/speex/speex_types.h (original) +++ freeswitch/trunk/libs/speex/include/speex/speex_types.h Fri Feb 13 00:02:32 2009 @@ -31,10 +31,10 @@ typedef _G_int16_t spx_int16_t; typedef _G_uint16_t spx_uint16_t; # elif defined(__MINGW32__) - typedef short spx_int16_t; - typedef unsigned short spx_uint16_t; - typedef int spx_int32_t; - typedef unsigned int spx_uint32_t; + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; # elif defined(__MWERKS__) typedef int spx_int32_t; typedef unsigned int spx_uint32_t; @@ -56,7 +56,7 @@ typedef SInt32 spx_int32_t; typedef UInt32 spx_uint32_t; -#elif defined(__MACOSX__) /* MacOS X Framework build */ +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ # include typedef int16_t spx_int16_t; Modified: freeswitch/trunk/libs/speex/libspeex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/libspeex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -2,41 +2,54 @@ #AUTOMAKE_OPTIONS = no-dependencies -EXTRA_DIST=testenc.c testenc_wb.c testenc_uwb.c testdenoise.c testecho.c +EXTRA_DIST=echo_diagnostic.m -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) +INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) @OGG_CFLAGS@ @FFT_CFLAGS@ -lib_LTLIBRARIES = libspeex.la +lib_LTLIBRARIES = libspeex.la libspeexdsp.la # Sources for compilation in the library -libspeex_la_SOURCES = nb_celp.c sb_celp.c lpc.c ltp.c lsp.c quant_lsp.c \ - lsp_tables_nb.c gain_table.c gain_table_lbr.c cb_search.c filters.c bits.c \ - modes.c speex.c vq.c high_lsp_tables.c vbr.c hexc_table.c \ - exc_5_256_table.c exc_5_64_table.c exc_8_128_table.c exc_10_32_table.c \ - exc_10_16_table.c exc_20_32_table.c hexc_10_32_table.c misc.c speex_header.c \ - speex_callbacks.c math_approx.c stereo.c preprocess.c smallft.c lbr_48k_tables.c \ - jitter.c mdf.c vorbis_psy.c fftwrap.c kiss_fft.c _kiss_fft_guts.h kiss_fft.h \ - kiss_fftr.c kiss_fftr.h window.c - -noinst_HEADERS = lsp.h nb_celp.h lpc.h lpc_bfin.h ltp.h quant_lsp.h \ - cb_search.h filters.h stack_alloc.h vq.h vq_sse.h vq_arm4.h vq_bfin.h \ - modes.h sb_celp.h vbr.h misc.h misc_bfin.h ltp_sse.h ltp_arm4.h \ - ltp_bfin.h filters_sse.h filters_arm4.h filters_bfin.h math_approx.h \ - smallft.h arch.h fixed_arm4.h fixed_arm5e.h fixed_bfin.h fixed_debug.h \ - fixed_generic.h cb_search_sse.h cb_search_arm4.h cb_search_bfin.h vorbis_psy.h \ - fftwrap.h pseudofloat.h lsp_bfin.h quant_lsp_bfin.h +libspeex_la_SOURCES = cb_search.c exc_10_32_table.c exc_8_128_table.c \ + filters.c gain_table.c hexc_table.c high_lsp_tables.c lsp.c \ + ltp.c speex.c stereo.c vbr.c vq.c bits.c exc_10_16_table.c \ + exc_20_32_table.c exc_5_256_table.c exc_5_64_table.c gain_table_lbr.c hexc_10_32_table.c \ + lpc.c lsp_tables_nb.c modes.c modes_wb.c nb_celp.c quant_lsp.c sb_celp.c \ + speex_callbacks.c speex_header.c window.c + +if BUILD_KISS_FFT + FFTSRC=kiss_fft.c _kiss_fft_guts.h kiss_fft.h kiss_fftr.c kiss_fftr.h +else +if BUILD_SMALLFT + FFTSRC=smallft.c +else + FFTSRC= +endif +endif + +libspeexdsp_la_SOURCES = preprocess.c jitter.c mdf.c fftwrap.c filterbank.c resample.c buffer.c scal.c $(FFTSRC) + +noinst_HEADERS = arch.h cb_search_arm4.h cb_search_bfin.h cb_search_sse.h \ + filters.h filters_arm4.h filters_bfin.h filters_sse.h fixed_arm4.h \ + fixed_arm5e.h fixed_bfin.h fixed_debug.h lpc.h lpc_bfin.h ltp.h ltp_arm4.h \ + ltp_sse.h math_approx.h misc_bfin.h nb_celp.h quant_lsp.h sb_celp.h \ + stack_alloc.h vbr.h vq.h vq_arm4.h vq_bfin.h vq_sse.h cb_search.h fftwrap.h \ + filterbank.h fixed_generic.h lsp.h lsp_bfin.h ltp_bfin.h modes.h os_support.h \ + pseudofloat.h quant_lsp_bfin.h smallft.h vorbis_psy.h resample_sse.h libspeex_la_LDFLAGS = -no-undefined -version-info @SPEEX_LT_CURRENT@:@SPEEX_LT_REVISION@:@SPEEX_LT_AGE@ +libspeexdsp_la_LDFLAGS = -no-undefined -version-info @SPEEX_LT_CURRENT@:@SPEEX_LT_REVISION@:@SPEEX_LT_AGE@ -noinst_PROGRAMS = testenc testenc_wb testenc_uwb testdenoise testecho +noinst_PROGRAMS = testenc testenc_wb testenc_uwb testdenoise testecho testjitter testenc_SOURCES = testenc.c -testenc_LDADD = $(top_builddir)/libspeex/libspeex.la +testenc_LDADD = libspeex.la testenc_wb_SOURCES = testenc_wb.c -testenc_wb_LDADD = $(top_builddir)/libspeex/libspeex.la +testenc_wb_LDADD = libspeex.la testenc_uwb_SOURCES = testenc_uwb.c -testenc_uwb_LDADD = $(top_builddir)/libspeex/libspeex.la +testenc_uwb_LDADD = libspeex.la testdenoise_SOURCES = testdenoise.c -testdenoise_LDADD = $(top_builddir)/libspeex/libspeex.la +testdenoise_LDADD = libspeexdsp.la @FFT_LIBS@ testecho_SOURCES = testecho.c -testecho_LDADD = $(top_builddir)/libspeex/libspeex.la +testecho_LDADD = libspeexdsp.la @FFT_LIBS@ +testjitter_SOURCES = testjitter.c +testjitter_LDADD = libspeexdsp.la @FFT_LIBS@ Modified: freeswitch/trunk/libs/speex/libspeex/_kiss_fft_guts.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/_kiss_fft_guts.h (original) +++ freeswitch/trunk/libs/speex/libspeex/_kiss_fft_guts.h Fri Feb 13 00:02:32 2009 @@ -20,6 +20,7 @@ and defines typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ #include "kiss_fft.h" +#include "math_approx.h" #define MAXFACTORS 32 /* e.g. an fft of length 128 has 4 factors @@ -44,7 +45,7 @@ C_ADDTO( res , a) : res += a * */ #ifdef FIXED_POINT -#include "misc.h" +#include "arch.h" # define FRACBITS 15 # define SAMPPROD spx_int32_t #define SAMP_MAX 32767 @@ -67,6 +68,10 @@ do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \ (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0) +# define C_MUL4(m,a,b) \ + do{ (m).r = PSHR32( smul((a).r,(b).r) - smul((a).i,(b).i),17 ); \ + (m).i = PSHR32( smul((a).r,(b).i) + smul((a).i,(b).r),17 ); }while(0) + # define DIVSCALAR(x,k) \ (x) = sround( smul( x, SAMP_MAX/k ) ) @@ -84,6 +89,9 @@ #define C_MUL(m,a,b) \ do{ (m).r = (a).r*(b).r - (a).i*(b).i;\ (m).i = (a).r*(b).i + (a).i*(b).r; }while(0) + +#define C_MUL4(m,a,b) C_MUL(m,a,b) + # define C_FIXDIV(c,div) /* NOOP */ # define C_MULBYSCALAR( c, s ) \ do{ (c).r *= (s);\ @@ -140,6 +148,11 @@ (x)->r = KISS_FFT_COS(phase);\ (x)->i = KISS_FFT_SIN(phase);\ }while(0) +#define kf_cexp2(x,phase) \ + do{ \ + (x)->r = spx_cos_norm((phase));\ + (x)->i = spx_cos_norm((phase)-32768);\ +}while(0) /* a debugging function */ Modified: freeswitch/trunk/libs/speex/libspeex/arch.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/arch.h (original) +++ freeswitch/trunk/libs/speex/libspeex/arch.h Fri Feb 13 00:02:32 2009 @@ -35,12 +35,55 @@ #ifndef ARCH_H #define ARCH_H +#ifndef SPEEX_VERSION +#define SPEEX_MAJOR_VERSION 1 /**< Major Speex version. */ +#define SPEEX_MINOR_VERSION 1 /**< Minor Speex version. */ +#define SPEEX_MICRO_VERSION 15 /**< Micro Speex version. */ +#define SPEEX_EXTRA_VERSION "" /**< Extra Speex version. */ +#define SPEEX_VERSION "speex-1.2beta3" /**< Speex version string. */ +#endif + +/* A couple test to catch stupid option combinations */ +#ifdef FIXED_POINT + +#ifdef FLOATING_POINT +#error You cannot compile as floating point and fixed point at the same time +#endif +#ifdef _USE_SSE +#error SSE is only for floating-point +#endif +#if ((defined (ARM4_ASM)||defined (ARM4_ASM)) && defined(BFIN_ASM)) || (defined (ARM4_ASM)&&defined(ARM5E_ASM)) +#error Make up your mind. What CPU do you have? +#endif +#ifdef VORBIS_PSYCHO +#error Vorbis-psy model currently not implemented in fixed-point +#endif + +#else + +#ifndef FLOATING_POINT +#error You now need to define either FIXED_POINT or FLOATING_POINT +#endif +#if defined (ARM4_ASM) || defined(ARM5E_ASM) || defined(BFIN_ASM) +#error I suppose you can have a [ARM4/ARM5E/Blackfin] that has float instructions? +#endif +#ifdef FIXED_POINT_DEBUG +#error "Don't you think enabling fixed-point is a good thing to do if you want to debug that?" +#endif + + +#endif + +#ifndef OUTSIDE_SPEEX #include "speex/speex_types.h" +#endif #define ABS(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute integer value. */ #define ABS16(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute 16-bit value. */ +#define MIN16(a,b) ((a) < (b) ? (a) : (b)) /**< Maximum 16-bit value. */ #define MAX16(a,b) ((a) > (b) ? (a) : (b)) /**< Maximum 16-bit value. */ #define ABS32(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute 32-bit value. */ +#define MIN32(a,b) ((a) < (b) ? (a) : (b)) /**< Maximum 32-bit value. */ #define MAX32(a,b) ((a) > (b) ? (a) : (b)) /**< Maximum 32-bit value. */ #ifdef FIXED_POINT @@ -64,10 +107,12 @@ #define LPC_SHIFT 13 #define LSP_SHIFT 13 #define SIG_SHIFT 14 +#define GAIN_SHIFT 6 #define VERY_SMALL 0 #define VERY_LARGE32 ((spx_word32_t)2147483647) #define VERY_LARGE16 ((spx_word16_t)32767) +#define Q15_ONE ((spx_word16_t)32767) #ifdef FIXED_DEBUG @@ -80,8 +125,6 @@ #include "fixed_arm5e.h" #elif defined (ARM4_ASM) #include "fixed_arm4.h" -#elif defined (ARM5E_ASM) -#include "fixed_arm5e.h" #elif defined (BFIN_ASM) #include "fixed_bfin.h" #endif @@ -106,13 +149,11 @@ #define GAIN_SCALING 1.f #define GAIN_SCALING_1 1.f -#define LPC_SHIFT 0 -#define LSP_SHIFT 0 -#define SIG_SHIFT 0 #define VERY_SMALL 1e-15f #define VERY_LARGE32 1e15f #define VERY_LARGE16 1e15f +#define Q15_ONE ((spx_word16_t)1.f) #define QCONST16(x,bits) (x) #define QCONST32(x,bits) (x) @@ -127,6 +168,7 @@ #define SHL32(a,shift) (a) #define PSHR16(a,shift) (a) #define PSHR32(a,shift) (a) +#define VSHR32(a,shift) (a) #define SATURATE16(x,a) (x) #define SATURATE32(x,a) (x) @@ -147,6 +189,7 @@ #define MULT16_32_Q13(a,b) ((a)*(b)) #define MULT16_32_Q14(a,b) ((a)*(b)) #define MULT16_32_Q15(a,b) ((a)*(b)) +#define MULT16_32_P15(a,b) ((a)*(b)) #define MAC16_32_Q11(c,a,b) ((c)+(a)*(b)) #define MAC16_32_Q15(c,a,b) ((c)+(a)*(b)) @@ -186,4 +229,11 @@ #endif + + +#ifdef FIXED_DEBUG +extern long long spx_mips; +#endif + + #endif Modified: freeswitch/trunk/libs/speex/libspeex/bits.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/bits.c (original) +++ freeswitch/trunk/libs/speex/libspeex/bits.c Fri Feb 13 00:02:32 2009 @@ -37,14 +37,15 @@ #endif #include -#include "misc.h" +#include "arch.h" +#include "os_support.h" /* Maximum size of the bit-stream (for fixed-size allocation) */ #ifndef MAX_CHARS_PER_FRAME #define MAX_CHARS_PER_FRAME (2000/BYTES_PER_CHAR) #endif -void speex_bits_init(SpeexBits *bits) +EXPORT void speex_bits_init(SpeexBits *bits) { bits->chars = (char*)speex_alloc(MAX_CHARS_PER_FRAME); if (!bits->chars) @@ -57,7 +58,7 @@ speex_bits_reset(bits); } -void speex_bits_init_buffer(SpeexBits *bits, void *buff, int buf_size) +EXPORT void speex_bits_init_buffer(SpeexBits *bits, void *buff, int buf_size) { bits->chars = (char*)buff; bits->buf_size = buf_size; @@ -67,15 +68,30 @@ speex_bits_reset(bits); } -void speex_bits_destroy(SpeexBits *bits) +EXPORT void speex_bits_set_bit_buffer(SpeexBits *bits, void *buff, int buf_size) +{ + bits->chars = (char*)buff; + bits->buf_size = buf_size; + + bits->owner=0; + + bits->nbBits=buf_size<charPtr=0; + bits->bitPtr=0; + bits->overflow=0; + +} + +EXPORT void speex_bits_destroy(SpeexBits *bits) { if (bits->owner) speex_free(bits->chars); /* Will do something once the allocation is dynamic */ } -void speex_bits_reset(SpeexBits *bits) +EXPORT void speex_bits_reset(SpeexBits *bits) { + /* We only need to clear the first byte now */ bits->chars[0]=0; bits->nbBits=0; bits->charPtr=0; @@ -83,20 +99,20 @@ bits->overflow=0; } -void speex_bits_rewind(SpeexBits *bits) +EXPORT void speex_bits_rewind(SpeexBits *bits) { bits->charPtr=0; bits->bitPtr=0; bits->overflow=0; } -void speex_bits_read_from(SpeexBits *bits, char *chars, int len) +EXPORT void speex_bits_read_from(SpeexBits *bits, char *chars, int len) { int i; int nchars = len / BYTES_PER_CHAR; if (nchars > bits->buf_size) { - speex_warning_int("Packet is larger than allocated buffer: ", len); + speex_notify("Packet is larger than allocated buffer"); if (bits->owner) { char *tmp = (char*)speex_realloc(bits->chars, nchars); @@ -109,7 +125,7 @@ speex_warning("Could not resize input buffer: truncating input"); } } else { - speex_warning("Do not own input buffer: truncating input"); + speex_warning("Do not own input buffer: truncating oversize input"); nchars=bits->buf_size; } } @@ -130,18 +146,14 @@ static void speex_bits_flush(SpeexBits *bits) { - int i; int nchars = ((bits->nbBits+BITS_PER_CHAR-1)>>LOG2_BITS_PER_CHAR); if (bits->charPtr>0) - { - for (i=bits->charPtr;ichars[i-bits->charPtr]=bits->chars[i]; - } + SPEEX_MOVE(bits->chars, &bits->chars[bits->charPtr], nchars-bits->charPtr); bits->nbBits -= bits->charPtr<charPtr=0; } -void speex_bits_read_whole_bytes(SpeexBits *bits, char *chars, int nbytes) +EXPORT void speex_bits_read_whole_bytes(SpeexBits *bits, char *chars, int nbytes) { int i,pos; int nchars = nbytes/BYTES_PER_CHAR; @@ -158,10 +170,10 @@ bits->chars=tmp; } else { nchars=bits->buf_size-(bits->nbBits>>LOG2_BITS_PER_CHAR)-1; - speex_warning("Could not resize input buffer: truncating input"); + speex_warning("Could not resize input buffer: truncating oversize input"); } } else { - speex_warning("Do not own input buffer: truncating input"); + speex_warning("Do not own input buffer: truncating oversize input"); nchars=bits->buf_size; } } @@ -173,7 +185,7 @@ bits->nbBits+=nchars<chars[0]=bits->chars[max_nchars]; else bits->chars[0]=0; - for (i=1;i<((bits->nbBits)>>LOG2_BITS_PER_CHAR)+1;i++) - bits->chars[i]=0; bits->charPtr=0; bits->nbBits &= (BITS_PER_CHAR-1); return max_nchars*BYTES_PER_CHAR; } -void speex_bits_pack(SpeexBits *bits, int data, int nbBits) +EXPORT void speex_bits_pack(SpeexBits *bits, int data, int nbBits) { unsigned int d=data; if (bits->charPtr+((nbBits+bits->bitPtr)>>LOG2_BITS_PER_CHAR) >= bits->buf_size) { - speex_warning("Buffer too small to pack bits"); + speex_notify("Buffer too small to pack bits"); if (bits->owner) { - int new_nchars = ((bits->buf_size+5)*3)>>1; + int new_nchars = ((bits->buf_size+5)*3)>>1; char *tmp = (char*)speex_realloc(bits->chars, new_nchars); if (tmp) { - speex_memset_bytes(tmp, 0, new_nchars); bits->buf_size=new_nchars; bits->chars=tmp; } else { @@ -260,7 +269,7 @@ } } -int speex_bits_unpack_signed(SpeexBits *bits, int nbBits) +EXPORT int speex_bits_unpack_signed(SpeexBits *bits, int nbBits) { unsigned int d=speex_bits_unpack_unsigned(bits,nbBits); /* If number is negative */ @@ -271,7 +280,7 @@ return d; } -unsigned int speex_bits_unpack_unsigned(SpeexBits *bits, int nbBits) +EXPORT unsigned int speex_bits_unpack_unsigned(SpeexBits *bits, int nbBits) { unsigned int d=0; if ((bits->charPtr<bitPtr+nbBits>bits->nbBits) @@ -293,7 +302,7 @@ return d; } -unsigned int speex_bits_peek_unsigned(SpeexBits *bits, int nbBits) +EXPORT unsigned int speex_bits_peek_unsigned(SpeexBits *bits, int nbBits) { unsigned int d=0; int bitPtr, charPtr; @@ -322,7 +331,7 @@ return d; } -int speex_bits_peek(SpeexBits *bits) +EXPORT int speex_bits_peek(SpeexBits *bits) { if ((bits->charPtr<bitPtr+1>bits->nbBits) bits->overflow=1; @@ -331,7 +340,7 @@ return (bits->chars[bits->charPtr]>>(BITS_PER_CHAR-1 - bits->bitPtr))&1; } -void speex_bits_advance(SpeexBits *bits, int n) +EXPORT void speex_bits_advance(SpeexBits *bits, int n) { if (((bits->charPtr<bitPtr+n>bits->nbBits) || bits->overflow){ bits->overflow=1; @@ -341,7 +350,7 @@ bits->bitPtr = (bits->bitPtr+n) & (BITS_PER_CHAR-1); /* modulo by BITS_PER_CHAR */ } -int speex_bits_remaining(SpeexBits *bits) +EXPORT int speex_bits_remaining(SpeexBits *bits) { if (bits->overflow) return -1; @@ -349,12 +358,12 @@ return bits->nbBits-((bits->charPtr<bitPtr); } -int speex_bits_nbytes(SpeexBits *bits) +EXPORT int speex_bits_nbytes(SpeexBits *bits) { return ((bits->nbBits+BITS_PER_CHAR-1)>>LOG2_BITS_PER_CHAR); } -void speex_bits_insert_terminator(SpeexBits *bits) +EXPORT void speex_bits_insert_terminator(SpeexBits *bits) { if (bits->bitPtr) speex_bits_pack(bits, 0, 1); Added: freeswitch/trunk/libs/speex/libspeex/buffer.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/buffer.c Fri Feb 13 00:02:32 2009 @@ -0,0 +1,176 @@ +/* Copyright (C) 2007 Jean-Marc Valin + + File: buffer.c + This is a very simple ring buffer implementation. It is not thread-safe + so you need to do your own locking. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +#include "os_support.h" +#include "arch.h" +#include + +struct SpeexBuffer_ { + char *data; + int size; + int read_ptr; + int write_ptr; + int available; +}; + +EXPORT SpeexBuffer *speex_buffer_init(int size) +{ + SpeexBuffer *st = speex_alloc(sizeof(SpeexBuffer)); + st->data = speex_alloc(size); + st->size = size; + st->read_ptr = 0; + st->write_ptr = 0; + st->available = 0; + return st; +} + +EXPORT void speex_buffer_destroy(SpeexBuffer *st) +{ + speex_free(st->data); + speex_free(st); +} + +EXPORT int speex_buffer_write(SpeexBuffer *st, void *_data, int len) +{ + int end; + int end1; + char *data = _data; + if (len > st->size) + { + data += len-st->size; + len = st->size; + } + end = st->write_ptr + len; + end1 = end; + if (end1 > st->size) + end1 = st->size; + SPEEX_COPY(st->data + st->write_ptr, data, end1 - st->write_ptr); + if (end > st->size) + { + end -= st->size; + SPEEX_COPY(st->data, data+end1 - st->write_ptr, end); + } + st->available += len; + if (st->available > st->size) + { + st->available = st->size; + st->read_ptr = st->write_ptr; + } + st->write_ptr += len; + if (st->write_ptr > st->size) + st->write_ptr -= st->size; + return len; +} + +EXPORT int speex_buffer_writezeros(SpeexBuffer *st, int len) +{ + /* This is almost the same as for speex_buffer_write() but using + SPEEX_MEMSET() instead of SPEEX_COPY(). Update accordingly. */ + int end; + int end1; + if (len > st->size) + { + len = st->size; + } + end = st->write_ptr + len; + end1 = end; + if (end1 > st->size) + end1 = st->size; + SPEEX_MEMSET(st->data + st->write_ptr, 0, end1 - st->write_ptr); + if (end > st->size) + { + end -= st->size; + SPEEX_MEMSET(st->data, 0, end); + } + st->available += len; + if (st->available > st->size) + { + st->available = st->size; + st->read_ptr = st->write_ptr; + } + st->write_ptr += len; + if (st->write_ptr > st->size) + st->write_ptr -= st->size; + return len; +} + +EXPORT int speex_buffer_read(SpeexBuffer *st, void *_data, int len) +{ + int end, end1; + char *data = _data; + if (len > st->available) + { + SPEEX_MEMSET(data+st->available, 0, st->size-st->available); + len = st->available; + } + end = st->read_ptr + len; + end1 = end; + if (end1 > st->size) + end1 = st->size; + SPEEX_COPY(data, st->data + st->read_ptr, end1 - st->read_ptr); + + if (end > st->size) + { + end -= st->size; + SPEEX_COPY(data+end1 - st->read_ptr, st->data, end); + } + st->available -= len; + st->read_ptr += len; + if (st->read_ptr > st->size) + st->read_ptr -= st->size; + return len; +} + +EXPORT int speex_buffer_get_available(SpeexBuffer *st) +{ + return st->available; +} + +EXPORT int speex_buffer_resize(SpeexBuffer *st, int len) +{ + int old_len = st->size; + if (len > old_len) + { + st->data = speex_realloc(st->data, len); + /* FIXME: move data/pointers properly for growing the buffer */ + } else { + /* FIXME: move data/pointers properly for shrinking the buffer */ + st->data = speex_realloc(st->data, len); + } + return len; +} Modified: freeswitch/trunk/libs/speex/libspeex/cb_search.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/cb_search.c (original) +++ freeswitch/trunk/libs/speex/libspeex/cb_search.c Fri Feb 13 00:02:32 2009 @@ -37,7 +37,9 @@ #include "filters.h" #include "stack_alloc.h" #include "vq.h" -#include "misc.h" +#include "arch.h" +#include "math_approx.h" +#include "os_support.h" #ifdef _USE_SSE #include "cb_search_sse.h" @@ -146,8 +148,7 @@ ALLOC(e, nsf, spx_sig_t); /* FIXME: Do we still need to copy the target? */ - for (i=0;i -#include "misc.h" +#include "arch.h" /** Split codebook parameters. */ typedef struct split_cb_params { Modified: freeswitch/trunk/libs/speex/libspeex/cb_search_bfin.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/cb_search_bfin.h (original) +++ freeswitch/trunk/libs/speex/libspeex/cb_search_bfin.h Fri Feb 13 00:02:32 2009 @@ -73,7 +73,10 @@ : : "m" (subvect_size), "m" (shape_cb), "m" (r), "m" (resp), "m" (E) : "A0", "P0", "P1", "P2", "P3", "P4", "R0", "R1", "R2", "I0", "I1", "L0", - "L1", "A0", "A1", "memory", "LC0", "LC1" + "L1", "A0", "A1", "memory" +#if !(__GNUC__ == 3) + , "LC0", "LC1" /* gcc 3.4 doesn't know about LC registers */ +#endif ); shape_cb += subvect_size; resp += subvect_size; Added: freeswitch/trunk/libs/speex/libspeex/echo_diagnostic.m ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/echo_diagnostic.m Fri Feb 13 00:02:32 2009 @@ -0,0 +1,72 @@ +% Attempts to diagnose AEC problems from recorded samples +% +% out = echo_diagnostic(rec_file, play_file, out_file, tail_length) +% +% Computes the full matrix inversion to cancel echo from the +% recording 'rec_file' using the far end signal 'play_file' using +% a filter length of 'tail_length'. The output is saved to 'out_file'. +function out = echo_diagnostic(rec_file, play_file, out_file, tail_length) + +F=fopen(rec_file,'rb'); +rec=fread(F,Inf,'short'); +fclose (F); +F=fopen(play_file,'rb'); +play=fread(F,Inf,'short'); +fclose (F); + +rec = [rec; zeros(1024,1)]; +play = [play; zeros(1024,1)]; + +N = length(rec); +corr = real(ifft(fft(rec).*conj(fft(play)))); +acorr = real(ifft(fft(play).*conj(fft(play)))); + +[a,b] = max(corr); + +if b > N/2 + b = b-N; +end +printf ("Far end to near end delay is %d samples\n", b); +if (b > .3*tail_length) + printf ('This is too much delay, try delaying the far-end signal a bit\n'); +else if (b < 0) + printf ('You have a negative delay, the echo canceller has no chance to cancel anything!\n'); + else + printf ('Delay looks OK.\n'); + end + end +end +N2 = round(N/2); +corr1 = real(ifft(fft(rec(1:N2)).*conj(fft(play(1:N2))))); +corr2 = real(ifft(fft(rec(N2+1:end)).*conj(fft(play(N2+1:end))))); + +[a,b1] = max(corr1); +if b1 > N2/2 + b1 = b1-N2; +end +[a,b2] = max(corr2); +if b2 > N2/2 + b2 = b2-N2; +end +drift = (b1-b2)/N2; +printf ('Drift estimate is %f%% (%d samples)\n', 100*drift, b1-b2); +if abs(b1-b2) < 10 + printf ('A drift of a few (+-10) samples is normal.\n'); +else + if abs(b1-b2) < 30 + printf ('There may be (not sure) excessive clock drift. Is the capture and playback done on the same soundcard?\n'); + else + printf ('Your clock is drifting! No way the AEC will be able to do anything with that. Most likely, you''re doing capture and playback from two different cards.\n'); + end + end +end +acorr(1) = .001+1.00001*acorr(1); +AtA = toeplitz(acorr(1:tail_length)); +bb = corr(1:tail_length); +h = AtA\bb; + +out = (rec - filter(h, 1, play)); + +F=fopen(out_file,'w'); +fwrite(F,out,'short'); +fclose (F); Modified: freeswitch/trunk/libs/speex/libspeex/fftwrap.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/fftwrap.c (original) +++ freeswitch/trunk/libs/speex/libspeex/fftwrap.c Fri Feb 13 00:02:32 2009 @@ -36,11 +36,8 @@ #include "config.h" #endif -/*#define USE_SMALLFT*/ -#define USE_KISS_FFT - - -#include "misc.h" +#include "arch.h" +#include "os_support.h" #define MAX_FFT_SIZE 2048 @@ -64,7 +61,7 @@ } for (i=0;i> shift; + out[i] = PSHR16(in[i], shift); } } #endif @@ -103,8 +100,8 @@ if (in==out) { int i; - speex_warning("FFT should not be done in-place"); float scale = 1./((struct drft_lookup *)table)->n; + speex_warning("FFT should not be done in-place"); for (i=0;i<((struct drft_lookup *)table)->n;i++) out[i] = scale*in[i]; } else { @@ -120,7 +117,6 @@ { if (in==out) { - int i; speex_warning("FFT should not be done in-place"); } else { int i; @@ -130,6 +126,119 @@ spx_drft_backward((struct drft_lookup *)table, out); } +#elif defined(USE_INTEL_MKL) +#include + +struct mkl_config { + DFTI_DESCRIPTOR_HANDLE desc; + int N; +}; + +void *spx_fft_init(int size) +{ + struct mkl_config *table = (struct mkl_config *) speex_alloc(sizeof(struct mkl_config)); + table->N = size; + DftiCreateDescriptor(&table->desc, DFTI_SINGLE, DFTI_REAL, 1, size); + DftiSetValue(table->desc, DFTI_PACKED_FORMAT, DFTI_PACK_FORMAT); + DftiSetValue(table->desc, DFTI_PLACEMENT, DFTI_NOT_INPLACE); + DftiSetValue(table->desc, DFTI_FORWARD_SCALE, 1.0f / size); + DftiCommitDescriptor(table->desc); + return table; +} + +void spx_fft_destroy(void *table) +{ + struct mkl_config *t = (struct mkl_config *) table; + DftiFreeDescriptor(t->desc); + speex_free(table); +} + +void spx_fft(void *table, spx_word16_t *in, spx_word16_t *out) +{ + struct mkl_config *t = (struct mkl_config *) table; + DftiComputeForward(t->desc, in, out); +} + +void spx_ifft(void *table, spx_word16_t *in, spx_word16_t *out) +{ + struct mkl_config *t = (struct mkl_config *) table; + DftiComputeBackward(t->desc, in, out); +} + +#elif defined(USE_GPL_FFTW3) + +#include + +struct fftw_config { + float *in; + float *out; + fftwf_plan fft; + fftwf_plan ifft; + int N; +}; + +void *spx_fft_init(int size) +{ + struct fftw_config *table = (struct fftw_config *) speex_alloc(sizeof(struct fftw_config)); + table->in = fftwf_malloc(sizeof(float) * (size+2)); + table->out = fftwf_malloc(sizeof(float) * (size+2)); + + table->fft = fftwf_plan_dft_r2c_1d(size, table->in, (fftwf_complex *) table->out, FFTW_PATIENT); + table->ifft = fftwf_plan_dft_c2r_1d(size, (fftwf_complex *) table->in, table->out, FFTW_PATIENT); + + table->N = size; + return table; +} + +void spx_fft_destroy(void *table) +{ + struct fftw_config *t = (struct fftw_config *) table; + fftwf_destroy_plan(t->fft); + fftwf_destroy_plan(t->ifft); + fftwf_free(t->in); + fftwf_free(t->out); + speex_free(table); +} + + +void spx_fft(void *table, spx_word16_t *in, spx_word16_t *out) +{ + int i; + struct fftw_config *t = (struct fftw_config *) table; + const int N = t->N; + float *iptr = t->in; + float *optr = t->out; + const float m = 1.0 / N; + for(i=0;ifft); + + out[0] = optr[0]; + for(i=1;iN; + float *iptr = t->in; + float *optr = t->out; + + iptr[0] = in[0]; + iptr[1] = 0.0f; + for(i=1;iifft); + + for(i=0;ifreq_data = (kiss_fft_cpx*)speex_alloc(sizeof(kiss_fft_cpx)*((size>>1)+1)); table->forward = kiss_fftr_alloc(size,0,NULL,NULL); table->backward = kiss_fftr_alloc(size,1,NULL,NULL); table->N = size; @@ -158,7 +265,6 @@ struct kiss_config *t = (struct kiss_config *)table; kiss_fftr_free(t->forward); kiss_fftr_free(t->backward); - speex_free(t->freq_data); speex_free(table); } @@ -166,18 +272,10 @@ void spx_fft(void *table, spx_word16_t *in, spx_word16_t *out) { - int i; int shift; struct kiss_config *t = (struct kiss_config *)table; shift = maximize_range(in, in, 32000, t->N); - kiss_fftr(t->forward, in, t->freq_data); - out[0] = t->freq_data[0].r; - for (i=1;iN>>1;i++) - { - out[(i<<1)-1] = t->freq_data[i].r; - out[(i<<1)] = t->freq_data[i].i; - } - out[(i<<1)-1] = t->freq_data[i].r; + kiss_fftr2(t->forward, in, out); renorm_range(in, in, shift, t->N); renorm_range(out, out, shift, t->N); } @@ -190,32 +288,16 @@ float scale; struct kiss_config *t = (struct kiss_config *)table; scale = 1./t->N; - kiss_fftr(t->forward, in, t->freq_data); - out[0] = scale*t->freq_data[0].r; - for (i=1;iN>>1;i++) - { - out[(i<<1)-1] = scale*t->freq_data[i].r; - out[(i<<1)] = scale*t->freq_data[i].i; - } - out[(i<<1)-1] = scale*t->freq_data[i].r; + kiss_fftr2(t->forward, in, out); + for (i=0;iN;i++) + out[i] *= scale; } #endif void spx_ifft(void *table, spx_word16_t *in, spx_word16_t *out) { - int i; struct kiss_config *t = (struct kiss_config *)table; - t->freq_data[0].r = in[0]; - t->freq_data[0].i = 0; - for (i=1;iN>>1;i++) - { - t->freq_data[i].r = in[(i<<1)-1]; - t->freq_data[i].i = in[(i<<1)]; - } - t->freq_data[i].r = in[(i<<1)-1]; - t->freq_data[i].i = 0; - - kiss_fftri(t->backward, t->freq_data, out); + kiss_fftri2(t->backward, in, out); } Modified: freeswitch/trunk/libs/speex/libspeex/fftwrap.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/fftwrap.h (original) +++ freeswitch/trunk/libs/speex/libspeex/fftwrap.h Fri Feb 13 00:02:32 2009 @@ -35,7 +35,7 @@ #ifndef FFTWRAP_H #define FFTWRAP_H -#include "misc.h" +#include "arch.h" /** Compute tables for an FFT */ void *spx_fft_init(int size); Added: freeswitch/trunk/libs/speex/libspeex/filterbank.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/filterbank.c Fri Feb 13 00:02:32 2009 @@ -0,0 +1,227 @@ +/* Copyright (C) 2006 Jean-Marc Valin */ +/** + @file filterbank.c + @brief Converting between psd and filterbank + */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "filterbank.h" +#include "arch.h" +#include +#include "math_approx.h" +#include "os_support.h" + +#ifdef FIXED_POINT + +#define toBARK(n) (MULT16_16(26829,spx_atan(SHR32(MULT16_16(97,n),2))) + MULT16_16(4588,spx_atan(MULT16_32_Q15(20,MULT16_16(n,n)))) + MULT16_16(3355,n)) + +#else +#define toBARK(n) (13.1f*atan(.00074f*(n))+2.24f*atan((n)*(n)*1.85e-8f)+1e-4f*(n)) +#endif + +#define toMEL(n) (2595.f*log10(1.f+(n)/700.f)) + +FilterBank *filterbank_new(int banks, spx_word32_t sampling, int len, int type) +{ + FilterBank *bank; + spx_word32_t df; + spx_word32_t max_mel, mel_interval; + int i; + int id1; + int id2; + df = DIV32(SHL32(sampling,15),MULT16_16(2,len)); + max_mel = toBARK(EXTRACT16(sampling/2)); + mel_interval = PDIV32(max_mel,banks-1); + + bank = (FilterBank*)speex_alloc(sizeof(FilterBank)); + bank->nb_banks = banks; + bank->len = len; + bank->bank_left = (int*)speex_alloc(len*sizeof(int)); + bank->bank_right = (int*)speex_alloc(len*sizeof(int)); + bank->filter_left = (spx_word16_t*)speex_alloc(len*sizeof(spx_word16_t)); + bank->filter_right = (spx_word16_t*)speex_alloc(len*sizeof(spx_word16_t)); + /* Think I can safely disable normalisation that for fixed-point (and probably float as well) */ +#ifndef FIXED_POINT + bank->scaling = (float*)speex_alloc(banks*sizeof(float)); +#endif + for (i=0;i max_mel) + break; +#ifdef FIXED_POINT + id1 = DIV32(mel,mel_interval); +#else + id1 = (int)(floor(mel/mel_interval)); +#endif + if (id1>banks-2) + { + id1 = banks-2; + val = Q15_ONE; + } else { + val = DIV32_16(mel - id1*mel_interval,EXTRACT16(PSHR32(mel_interval,15))); + } + id2 = id1+1; + bank->bank_left[i] = id1; + bank->filter_left[i] = SUB16(Q15_ONE,val); + bank->bank_right[i] = id2; + bank->filter_right[i] = val; + } + + /* Think I can safely disable normalisation for fixed-point (and probably float as well) */ +#ifndef FIXED_POINT + for (i=0;inb_banks;i++) + bank->scaling[i] = 0; + for (i=0;ilen;i++) + { + int id = bank->bank_left[i]; + bank->scaling[id] += bank->filter_left[i]; + id = bank->bank_right[i]; + bank->scaling[id] += bank->filter_right[i]; + } + for (i=0;inb_banks;i++) + bank->scaling[i] = Q15_ONE/(bank->scaling[i]); +#endif + return bank; +} + +void filterbank_destroy(FilterBank *bank) +{ + speex_free(bank->bank_left); + speex_free(bank->bank_right); + speex_free(bank->filter_left); + speex_free(bank->filter_right); +#ifndef FIXED_POINT + speex_free(bank->scaling); +#endif + speex_free(bank); +} + +void filterbank_compute_bank32(FilterBank *bank, spx_word32_t *ps, spx_word32_t *mel) +{ + int i; + for (i=0;inb_banks;i++) + mel[i] = 0; + + for (i=0;ilen;i++) + { + int id; + id = bank->bank_left[i]; + mel[id] += MULT16_32_P15(bank->filter_left[i],ps[i]); + id = bank->bank_right[i]; + mel[id] += MULT16_32_P15(bank->filter_right[i],ps[i]); + } + /* Think I can safely disable normalisation that for fixed-point (and probably float as well) */ +#ifndef FIXED_POINT + /*for (i=0;inb_banks;i++) + mel[i] = MULT16_32_P15(Q15(bank->scaling[i]),mel[i]); + */ +#endif +} + +void filterbank_compute_psd16(FilterBank *bank, spx_word16_t *mel, spx_word16_t *ps) +{ + int i; + for (i=0;ilen;i++) + { + spx_word32_t tmp; + int id1, id2; + id1 = bank->bank_left[i]; + id2 = bank->bank_right[i]; + tmp = MULT16_16(mel[id1],bank->filter_left[i]); + tmp += MULT16_16(mel[id2],bank->filter_right[i]); + ps[i] = EXTRACT16(PSHR32(tmp,15)); + } +} + + +#ifndef FIXED_POINT +void filterbank_compute_bank(FilterBank *bank, float *ps, float *mel) +{ + int i; + for (i=0;inb_banks;i++) + mel[i] = 0; + + for (i=0;ilen;i++) + { + int id = bank->bank_left[i]; + mel[id] += bank->filter_left[i]*ps[i]; + id = bank->bank_right[i]; + mel[id] += bank->filter_right[i]*ps[i]; + } + for (i=0;inb_banks;i++) + mel[i] *= bank->scaling[i]; +} + +void filterbank_compute_psd(FilterBank *bank, float *mel, float *ps) +{ + int i; + for (i=0;ilen;i++) + { + int id = bank->bank_left[i]; + ps[i] = mel[id]*bank->filter_left[i]; + id = bank->bank_right[i]; + ps[i] += mel[id]*bank->filter_right[i]; + } +} + +void filterbank_psy_smooth(FilterBank *bank, float *ps, float *mask) +{ + /* Low freq slope: 14 dB/Bark*/ + /* High freq slope: 9 dB/Bark*/ + /* Noise vs tone: 5 dB difference */ + /* FIXME: Temporary kludge */ + float bark[100]; + int i; + /* Assumes 1/3 Bark resolution */ + float decay_low = 0.34145f; + float decay_high = 0.50119f; + filterbank_compute_bank(bank, ps, bark); + for (i=1;inb_banks;i++) + { + /*float decay_high = 13-1.6*log10(bark[i-1]); + decay_high = pow(10,(-decay_high/30.f));*/ + bark[i] = bark[i] + decay_high*bark[i-1]; + } + for (i=bank->nb_banks-2;i>=0;i--) + { + bark[i] = bark[i] + decay_low*bark[i+1]; + } + filterbank_compute_psd(bank, bark, mask); +} + +#endif Added: freeswitch/trunk/libs/speex/libspeex/filterbank.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/filterbank.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,66 @@ +/* Copyright (C) 2006 Jean-Marc Valin */ +/** + @file filterbank.h + @brief Converting between psd and filterbank + */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef FILTERBANK_H +#define FILTERBANK_H + +#include "arch.h" + +typedef struct { + int *bank_left; + int *bank_right; + spx_word16_t *filter_left; + spx_word16_t *filter_right; +#ifndef FIXED_POINT + float *scaling; +#endif + int nb_banks; + int len; +} FilterBank; + + +FilterBank *filterbank_new(int banks, spx_word32_t sampling, int len, int type); + +void filterbank_destroy(FilterBank *bank); + +void filterbank_compute_bank32(FilterBank *bank, spx_word32_t *ps, spx_word32_t *mel); + +void filterbank_compute_psd16(FilterBank *bank, spx_word16_t *mel, spx_word16_t *psd); + +#ifndef FIXED_POINT +void filterbank_compute_bank(FilterBank *bank, float *psd, float *mel); +void filterbank_compute_psd(FilterBank *bank, float *mel, float *psd); +#endif + + +#endif Modified: freeswitch/trunk/libs/speex/libspeex/filters.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/filters.c (original) +++ freeswitch/trunk/libs/speex/libspeex/filters.c Fri Feb 13 00:02:32 2009 @@ -36,7 +36,7 @@ #include "filters.h" #include "stack_alloc.h" -#include "misc.h" +#include "arch.h" #include "math_approx.h" #include "ltp.h" #include @@ -62,6 +62,24 @@ } } +void sanitize_values32(spx_word32_t *vec, spx_word32_t min_val, spx_word32_t max_val, int len) +{ + int i; + for (i=0;i=min_val && vec[i] <= max_val)) + { + if (vec[i] < min_val) + vec[i] = min_val; + else if (vec[i] > max_val) + vec[i] = max_val; + else /* Has to be NaN */ + vec[i] = 0; + } + } +} + void highpass(const spx_word16_t *x, spx_word16_t *y, int len, int filtID, spx_mem_t *mem) { int i; @@ -83,8 +101,8 @@ spx_word16_t yi; spx_word32_t vout = ADD32(MULT16_16(num[0], x[i]),mem[0]); yi = EXTRACT16(SATURATE(PSHR32(vout,14),32767)); - mem[0] = ADD32(MAC16_16(mem[1], num[1],x[i]), MULT16_32_Q14(-den[1],vout)); - mem[1] = ADD32(MULT16_16(num[2],x[i]), MULT16_32_Q14(-den[2],vout)); + mem[0] = ADD32(MAC16_16(mem[1], num[1],x[i]), SHL32(MULT16_32_Q15(-den[1],vout),1)); + mem[1] = ADD32(MULT16_16(num[2],x[i]), SHL32(MULT16_32_Q15(-den[2],vout),1)); y[i] = yi; } } @@ -218,10 +236,10 @@ for (i=0;i>1; for (i=0;i>1; + N2 = N>>1; + ALLOC(xx1, M2+N2, spx_word16_t); + ALLOC(xx2, M2+N2, spx_word16_t); + + for (i = 0; i < N2; i++) + xx1[i] = x1[N2-1-i]; + for (i = 0; i < M2; i++) + xx1[N2+i] = mem1[2*i+1]; + for (i = 0; i < N2; i++) + xx2[i] = x2[N2-1-i]; + for (i = 0; i < M2; i++) + xx2[N2+i] = mem2[2*i+1]; - for (i = 0; i < N; i += 4) { + for (i = 0; i < N2; i += 2) { spx_sig_t y0, y1, y2, y3; - spx_word16_t x0; + spx_word16_t x10, x20; y0 = y1 = y2 = y3 = 0; - x0 = xx[N-4-i]; + x10 = xx1[N2-2-i]; + x20 = xx2[N2-2-i]; - for (j = 0; j < M; j += 4) { - spx_word16_t x1; + for (j = 0; j < M2; j += 2) { + spx_word16_t x11, x21; spx_word16_t a0, a1; - a0 = a[j]; - a1 = a[j+1]; - x1 = xx[N-2+j-i]; - - y0 = ADD32(y0,SHR(MULT16_16(a0, x1),2)); - y1 = ADD32(y1,SHR(MULT16_16(a1, x1),2)); - y2 = ADD32(y2,SHR(MULT16_16(a0, x0),2)); - y3 = ADD32(y3,SHR(MULT16_16(a1, x0),2)); - - a0 = a[j+2]; - a1 = a[j+3]; - x0 = xx[N+j-i]; - - y0 = ADD32(y0,SHR(MULT16_16(a0, x0),2)); - y1 = ADD32(y1,SHR(MULT16_16(a1, x0),2)); - y2 = ADD32(y2,SHR(MULT16_16(a0, x1),2)); - y3 = ADD32(y3,SHR(MULT16_16(a1, x1),2)); - } - y[i] = y0; - y[i+1] = y1; - y[i+2] = y2; - y[i+3] = y3; + a0 = a[2*j]; + a1 = a[2*j+1]; + x11 = xx1[N2-1+j-i]; + x21 = xx2[N2-1+j-i]; + +#ifdef FIXED_POINT + /* We multiply twice by the same coef to avoid overflows */ + y0 = MAC16_16(MAC16_16(y0, a0, x11), NEG16(a0), x21); + y1 = MAC16_16(MAC16_16(y1, a1, x11), a1, x21); + y2 = MAC16_16(MAC16_16(y2, a0, x10), NEG16(a0), x20); + y3 = MAC16_16(MAC16_16(y3, a1, x10), a1, x20); +#else + y0 = ADD32(y0,MULT16_16(a0, x11-x21)); + y1 = ADD32(y1,MULT16_16(a1, x11+x21)); + y2 = ADD32(y2,MULT16_16(a0, x10-x20)); + y3 = ADD32(y3,MULT16_16(a1, x10+x20)); +#endif + a0 = a[2*j+2]; + a1 = a[2*j+3]; + x10 = xx1[N2+j-i]; + x20 = xx2[N2+j-i]; + +#ifdef FIXED_POINT + /* We multiply twice by the same coef to avoid overflows */ + y0 = MAC16_16(MAC16_16(y0, a0, x10), NEG16(a0), x20); + y1 = MAC16_16(MAC16_16(y1, a1, x10), a1, x20); + y2 = MAC16_16(MAC16_16(y2, a0, x11), NEG16(a0), x21); + y3 = MAC16_16(MAC16_16(y3, a1, x11), a1, x21); +#else + y0 = ADD32(y0,MULT16_16(a0, x10-x20)); + y1 = ADD32(y1,MULT16_16(a1, x10+x20)); + y2 = ADD32(y2,MULT16_16(a0, x11-x21)); + y3 = ADD32(y3,MULT16_16(a1, x11+x21)); +#endif + } +#ifdef FIXED_POINT + y[2*i] = EXTRACT16(SATURATE32(PSHR32(y0,15),32767)); + y[2*i+1] = EXTRACT16(SATURATE32(PSHR32(y1,15),32767)); + y[2*i+2] = EXTRACT16(SATURATE32(PSHR32(y2,15),32767)); + y[2*i+3] = EXTRACT16(SATURATE32(PSHR32(y3,15),32767)); +#else + /* Normalize up explicitly if we're in float */ + y[2*i] = 2.f*y0; + y[2*i+1] = 2.f*y1; + y[2*i+2] = 2.f*y2; + y[2*i+3] = 2.f*y3; +#endif } - for (i = 0; i < M - 1; i += 2) - mem[i+1] = xx[i]; + for (i = 0; i < M2; i++) + mem1[2*i+1] = xx1[i]; + for (i = 0; i < M2; i++) + mem2[2*i+1] = xx2[i]; } #ifdef FIXED_POINT #if 0 -spx_word16_t shift_filt[3][7] = {{-33, 1043, -4551, 19959, 19959, -4551, 1043}, +const spx_word16_t shift_filt[3][7] = {{-33, 1043, -4551, 19959, 19959, -4551, 1043}, {-98, 1133, -4425, 29179, 8895, -2328, 444}, {444, -2328, 8895, 29179, -4425, 1133, -98}}; #else -spx_word16_t shift_filt[3][7] = {{-390, 1540, -4993, 20123, 20123, -4993, 1540}, +const spx_word16_t shift_filt[3][7] = {{-390, 1540, -4993, 20123, 20123, -4993, 1540}, {-1064, 2817, -6694, 31589, 6837, -990, -209}, {-209, -990, 6837, 31589, -6694, 2817, -1064}}; #endif #else #if 0 -float shift_filt[3][7] = {{-9.9369e-04, 3.1831e-02, -1.3889e-01, 6.0910e-01, 6.0910e-01, -1.3889e-01, 3.1831e-02}, +const float shift_filt[3][7] = {{-9.9369e-04, 3.1831e-02, -1.3889e-01, 6.0910e-01, 6.0910e-01, -1.3889e-01, 3.1831e-02}, {-0.0029937, 0.0345613, -0.1350474, 0.8904793, 0.2714479, -0.0710304, 0.0135403}, {0.0135403, -0.0710304, 0.2714479, 0.8904793, -0.1350474, 0.0345613, -0.0029937}}; #else -float shift_filt[3][7] = {{-0.011915, 0.046995, -0.152373, 0.614108, 0.614108, -0.152373, 0.046995}, - {-0.0324855, 0.0859768, -0.2042986, 0.9640297, 0.2086420, -0.0302054, -0.0063646}, - {-0.0063646, -0.0302054, 0.2086420, 0.9640297, -0.2042986, 0.0859768, -0.0324855}}; +const float shift_filt[3][7] = {{-0.011915f, 0.046995f, -0.152373f, 0.614108f, 0.614108f, -0.152373f, 0.046995f}, + {-0.0324855f, 0.0859768f, -0.2042986f, 0.9640297f, 0.2086420f, -0.0302054f, -0.0063646f}, + {-0.0063646f, -0.0302054f, 0.2086420f, 0.9640297f, -0.2042986f, 0.0859768f, -0.0324855f}}; #endif #endif @@ -784,7 +675,9 @@ spx_word16_t g1, g2; spx_word16_t ngain; spx_word16_t gg1, gg2; - +#ifdef FIXED_POINT + int scaledown=0; +#endif #if 0 /* Set to 1 to enable full pitch search */ int nol_pitch[6]; spx_word16_t nol_pitch_coef[6]; @@ -819,6 +712,23 @@ else interp_pitch(exc, iexc+nsf, -corr_pitch, 80); +#ifdef FIXED_POINT + for (i=0;i16383) + { + scaledown = 1; + break; + } + } + if (scaledown) + { + for (i=0;i>2), "3" (sig_shift) @@ -95,295 +94,3 @@ return sig_shift; } -#define OVERRIDE_FILTER_MEM2 -void filter_mem2(const spx_sig_t *x, const spx_coef_t *num, const spx_coef_t *den, spx_sig_t *y, int N, int ord, spx_mem_t *mem) -{ - int i,j; - spx_sig_t xi,yi,nyi; - - for (i=0;i -void filter_mem2_10(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem) +void filter_mem16_10(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem) { __m128 num[3], den[3], mem[3]; @@ -87,7 +87,7 @@ _mm_store_ss(_mem+9, mem[2]); } -void filter_mem2_8(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem) +void filter_mem16_8(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem) { __m128 num[2], den[2], mem[2]; @@ -130,18 +130,18 @@ } -#define OVERRIDE_FILTER_MEM2 -void filter_mem2(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem) +#define OVERRIDE_FILTER_MEM16 +void filter_mem16(const float *x, const float *_num, const float *_den, float *y, int N, int ord, float *_mem, char *stack) { if(ord==10) - filter_mem2_10(x, _num, _den, y, N, ord, _mem); + filter_mem16_10(x, _num, _den, y, N, ord, _mem); else if (ord==8) - filter_mem2_8(x, _num, _den, y, N, ord, _mem); + filter_mem16_8(x, _num, _den, y, N, ord, _mem); } -void iir_mem2_10(const float *x, const float *_den, float *y, int N, int ord, float *_mem) +void iir_mem16_10(const float *x, const float *_den, float *y, int N, int ord, float *_mem) { __m128 den[3], mem[3]; @@ -190,7 +190,7 @@ } -void iir_mem2_8(const float *x, const float *_den, float *y, int N, int ord, float *_mem) +void iir_mem16_8(const float *x, const float *_den, float *y, int N, int ord, float *_mem) { __m128 den[2], mem[2]; @@ -229,17 +229,17 @@ _mm_storeu_ps(_mem+4, mem[1]); } -#define OVERRIDE_IIR_MEM2 -void iir_mem2(const float *x, const float *_den, float *y, int N, int ord, float *_mem) +#define OVERRIDE_IIR_MEM16 +void iir_mem16(const float *x, const float *_den, float *y, int N, int ord, float *_mem, char *stack) { if(ord==10) - iir_mem2_10(x, _den, y, N, ord, _mem); + iir_mem16_10(x, _den, y, N, ord, _mem); else if (ord==8) - iir_mem2_8(x, _den, y, N, ord, _mem); + iir_mem16_8(x, _den, y, N, ord, _mem); } -void fir_mem2_10(const float *x, const float *_num, float *y, int N, int ord, float *_mem) +void fir_mem16_10(const float *x, const float *_num, float *y, int N, int ord, float *_mem) { __m128 num[3], mem[3]; @@ -287,7 +287,7 @@ _mm_store_ss(_mem+9, mem[2]); } -void fir_mem2_8(const float *x, const float *_num, float *y, int N, int ord, float *_mem) +void fir_mem16_8(const float *x, const float *_num, float *y, int N, int ord, float *_mem) { __m128 num[2], mem[2]; @@ -326,11 +326,11 @@ _mm_storeu_ps(_mem+4, mem[1]); } -#define OVERRIDE_FIR_MEM2 -void fir_mem2(const float *x, const float *_num, float *y, int N, int ord, float *_mem) +#define OVERRIDE_FIR_MEM16 +void fir_mem16(const float *x, const float *_num, float *y, int N, int ord, float *_mem, char *stack) { if(ord==10) - fir_mem2_10(x, _num, y, N, ord, _mem); + fir_mem16_10(x, _num, y, N, ord, _mem); else if (ord==8) - fir_mem2_8(x, _num, y, N, ord, _mem); + fir_mem16_8(x, _num, y, N, ord, _mem); } Modified: freeswitch/trunk/libs/speex/libspeex/fixed_debug.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/fixed_debug.h (original) +++ freeswitch/trunk/libs/speex/libspeex/fixed_debug.h Fri Feb 13 00:02:32 2009 @@ -74,53 +74,57 @@ return res; } -static inline short EXTRACT16(int x) +#define EXTRACT16(x) _EXTRACT16(x, __FILE__, __LINE__) +static inline short _EXTRACT16(int x, char *file, int line) { int res; if (!VERIFY_SHORT(x)) { - fprintf (stderr, "EXTRACT16: input is not short: %d\n", x); + fprintf (stderr, "EXTRACT16: input is not short: %d in %s: line %d\n", x, file, line); } res = x; spx_mips++; return res; } -static inline int EXTEND32(int x) +#define EXTEND32(x) _EXTEND32(x, __FILE__, __LINE__) +static inline int _EXTEND32(int x, char *file, int line) { int res; if (!VERIFY_SHORT(x)) { - fprintf (stderr, "EXTRACT16: input is not short: %d\n", x); + fprintf (stderr, "EXTEND32: input is not short: %d in %s: line %d\n", x, file, line); } res = x; spx_mips++; return res; } -static inline short SHR16(int a, int shift) +#define SHR16(a, shift) _SHR16(a, shift, __FILE__, __LINE__) +static inline short _SHR16(int a, int shift, char *file, int line) { int res; if (!VERIFY_SHORT(a) || !VERIFY_SHORT(shift)) { - fprintf (stderr, "SHR16: inputs are not short: %d %d\n", a, shift); + fprintf (stderr, "SHR16: inputs are not short: %d >> %d in %s: line %d\n", a, shift, file, line); } res = a>>shift; if (!VERIFY_SHORT(res)) - fprintf (stderr, "SHR16: output is not short: %d\n", res); + fprintf (stderr, "SHR16: output is not short: %d in %s: line %d\n", res, file, line); spx_mips++; return res; } -static inline short SHL16(int a, int shift) +#define SHL16(a, shift) _SHL16(a, shift, __FILE__, __LINE__) +static inline short _SHL16(int a, int shift, char *file, int line) { int res; if (!VERIFY_SHORT(a) || !VERIFY_SHORT(shift)) { - fprintf (stderr, "SHR16: inputs are not short: %d %d\n", a, shift); + fprintf (stderr, "SHL16: inputs are not short: %d %d in %s: line %d\n", a, shift, file, line); } res = a<>shift; if (!VERIFY_INT(res)) + { fprintf (stderr, "SHR32: output is not int: %d\n", (int)res); + } spx_mips++; return res; } @@ -143,62 +149,71 @@ long long res; if (!VERIFY_INT(a) || !VERIFY_SHORT(shift)) { - fprintf (stderr, "SHR32: inputs are not int: %d %d\n", (int)a, shift); + fprintf (stderr, "SHL32: inputs are not int: %d %d\n", (int)a, shift); } res = a<>1))),shift)) +#define PSHR32(a,shift) (SHR32(ADD32((a),((EXTEND32(1)<<((shift))>>1))),shift)) +#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift))) -#define PSHR16(a,shift) (SHR16(ADD16(a,(1<<((shift)-1))),shift)) -#define PSHR32(a,shift) (SHR32(ADD32(a,(1<<((shift)-1))),shift)) #define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) #define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) -#define SHR(a,shift) ((a) >> (shift)) -#define SHL(a,shift) ((a) << (shift)) +//#define SHR(a,shift) ((a) >> (shift)) +//#define SHL(a,shift) ((a) << (shift)) -static inline short ADD16(int a, int b) +#define ADD16(a, b) _ADD16(a, b, __FILE__, __LINE__) +static inline short _ADD16(int a, int b, char *file, int line) { int res; if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b)) { - fprintf (stderr, "ADD16: inputs are not short: %d %d\n", a, b); + fprintf (stderr, "ADD16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line); } res = a+b; if (!VERIFY_SHORT(res)) - fprintf (stderr, "ADD16: output is not short: %d+%d=%d\n", a,b,res); + { + fprintf (stderr, "ADD16: output is not short: %d+%d=%d in %s: line %d\n", a,b,res, file, line); + } spx_mips++; return res; } -static inline short SUB16(int a, int b) + +#define SUB16(a, b) _SUB16(a, b, __FILE__, __LINE__) +static inline short _SUB16(int a, int b, char *file, int line) { int res; if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b)) { - fprintf (stderr, "SUB16: inputs are not short: %d %d\n", a, b); + fprintf (stderr, "SUB16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line); } res = a-b; if (!VERIFY_SHORT(res)) - fprintf (stderr, "SUB16: output is not short: %d\n", res); + fprintf (stderr, "SUB16: output is not short: %d in %s: line %d\n", res, file, line); spx_mips++; return res; } -static inline int ADD32(long long a, long long b) +#define ADD32(a, b) _ADD32(a, b, __FILE__, __LINE__) +static inline int _ADD32(long long a, long long b, char *file, int line) { long long res; if (!VERIFY_INT(a) || !VERIFY_INT(b)) { - fprintf (stderr, "ADD32: inputs are not int: %d %d\n", (int)a, (int)b); + fprintf (stderr, "ADD32: inputs are not int: %d %d in %s: line %d\n", (int)a, (int)b, file, line); } res = a+b; if (!VERIFY_INT(res)) { - fprintf (stderr, "ADD32: output is not int: %d\n", (int)res); + fprintf (stderr, "ADD32: output is not int: %d in %s: line %d\n", (int)res, file, line); } spx_mips++; return res; @@ -220,8 +235,6 @@ #define ADD64(a,b) (MIPS_INC(a)+(b)) -#define PSHR(a,shift) (SHR((a)+(1<<((shift)-1)),shift)) - /* result fits in 16 bits */ static inline short MULT16_16_16(int a, int b) { @@ -237,36 +250,56 @@ return res; } -static inline int MULT16_16(int a, int b) +#define MULT16_16(a, b) _MULT16_16(a, b, __FILE__, __LINE__) +static inline int _MULT16_16(int a, int b, char *file, int line) { long long res; if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b)) { - fprintf (stderr, "MULT16_16: inputs are not short: %d %d\n", a, b); + fprintf (stderr, "MULT16_16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line); } res = ((long long)a)*b; if (!VERIFY_INT(res)) - fprintf (stderr, "MULT16_16: output is not int: %d\n", (int)res); + fprintf (stderr, "MULT16_16: output is not int: %d in %s: line %d\n", (int)res, file, line); spx_mips++; return res; } #define MAC16_16(c,a,b) (spx_mips--,ADD32((c),MULT16_16((a),(b)))) -#define MAC16_16_Q11(c,a,b) (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11)))) -#define MAC16_16_Q13(c,a,b) (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13)))) -#define MAC16_16_P13(c,a,b) (ADD32((c),SHR(ADD32(4096,MULT16_16((a),(b))),13))) +#define MAC16_16_Q11(c,a,b) (EXTRACT16(ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11))))) +#define MAC16_16_Q13(c,a,b) (EXTRACT16(ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13))))) +#define MAC16_16_P13(c,a,b) (EXTRACT16(ADD32((c),SHR32(ADD32(4096,MULT16_16((a),(b))),13)))) -static inline int MULT16_32_QX(int a, long long b, int Q) +#define MULT16_32_QX(a, b, Q) _MULT16_32_QX(a, b, Q, __FILE__, __LINE__) +static inline int _MULT16_32_QX(int a, long long b, int Q, char *file, int line) { long long res; if (!VERIFY_SHORT(a) || !VERIFY_INT(b)) { - fprintf (stderr, "MULT16_32_Q%d: inputs are not short+int: %d %d\n", Q, (int)a, (int)b); + fprintf (stderr, "MULT16_32_Q%d: inputs are not short+int: %d %d in %s: line %d\n", Q, (int)a, (int)b, file, line); } + if (ABS32(b)>=(EXTEND32(1)<<(15+Q))) + fprintf (stderr, "MULT16_32_Q%d: second operand too large: %d %d in %s: line %d\n", Q, (int)a, (int)b, file, line); res = (((long long)a)*(long long)b) >> Q; if (!VERIFY_INT(res)) - fprintf (stderr, "MULT16_32_Q%d: output is not int: %d*%d=%d\n", Q, (int)a, (int)b,(int)res); + fprintf (stderr, "MULT16_32_Q%d: output is not int: %d*%d=%d in %s: line %d\n", Q, (int)a, (int)b,(int)res, file, line); + spx_mips+=5; + return res; +} + +static inline int MULT16_32_PX(int a, long long b, int Q) +{ + long long res; + if (!VERIFY_SHORT(a) || !VERIFY_INT(b)) + { + fprintf (stderr, "MULT16_32_P%d: inputs are not short+int: %d %d\n", Q, (int)a, (int)b); + } + if (ABS32(b)>=(EXTEND32(1)<<(15+Q))) + fprintf (stderr, "MULT16_32_Q%d: second operand too large: %d %d\n", Q, (int)a, (int)b); + res = ((((long long)a)*(long long)b) + ((EXTEND32(1)<>1))>> Q; + if (!VERIFY_INT(res)) + fprintf (stderr, "MULT16_32_P%d: output is not int: %d*%d=%d\n", Q, (int)a, (int)b,(int)res); spx_mips+=5; return res; } @@ -278,6 +311,7 @@ #define MULT16_32_Q13(a,b) MULT16_32_QX(a,b,13) #define MULT16_32_Q14(a,b) MULT16_32_QX(a,b,14) #define MULT16_32_Q15(a,b) MULT16_32_QX(a,b,15) +#define MULT16_32_P15(a,b) MULT16_32_PX(a,b,15) #define MAC16_32_Q15(c,a,b) ADD32((c),MULT16_32_Q15((a),(b))) static inline int SATURATE(int a, int b) @@ -341,7 +375,9 @@ res = ((long long)a)*b; res >>= 15; if (!VERIFY_SHORT(res)) + { fprintf (stderr, "MULT16_16_Q15: output is not short: %d\n", (int)res); + } spx_mips+=3; return res; } @@ -398,23 +434,24 @@ return res; } +#define DIV32_16(a, b) _DIV32_16(a, b, __FILE__, __LINE__) -static inline int DIV32_16(long long a, long long b) +static inline int _DIV32_16(long long a, long long b, char *file, int line) { long long res; if (b==0) { - fprintf(stderr, "DIV32_16: divide by zero: %d/%d\n", (int)a, (int)b); + fprintf(stderr, "DIV32_16: divide by zero: %d/%d in %s: line %d\n", (int)a, (int)b, file, line); return 0; } if (!VERIFY_INT(a) || !VERIFY_SHORT(b)) { - fprintf (stderr, "DIV32_16: inputs are not int/short: %d %d\n", (int)a, (int)b); + fprintf (stderr, "DIV32_16: inputs are not int/short: %d %d in %s: line %d\n", (int)a, (int)b, file, line); } res = a/b; if (!VERIFY_SHORT(res)) { - fprintf (stderr, "DIV32_16: output is not short: %d / %d = %d\n", (int)a,(int)b,(int)res); + fprintf (stderr, "DIV32_16: output is not short: %d / %d = %d in %s: line %d\n", (int)a,(int)b,(int)res, file, line); if (res>32767) res = 32767; if (res<-32768) @@ -423,22 +460,24 @@ spx_mips+=20; return res; } -static inline int DIV32(long long a, long long b) + +#define DIV32(a, b) _DIV32(a, b, __FILE__, __LINE__) +static inline int _DIV32(long long a, long long b, char *file, int line) { long long res; if (b==0) { - fprintf(stderr, "DIV32: divide by zero: %d/%d\n", (int)a, (int)b); + fprintf(stderr, "DIV32: divide by zero: %d/%d in %s: line %d\n", (int)a, (int)b, file, line); return 0; } if (!VERIFY_INT(a) || !VERIFY_INT(b)) { - fprintf (stderr, "DIV32: inputs are not int/short: %d %d\n", (int)a, (int)b); + fprintf (stderr, "DIV32: inputs are not int/short: %d %d in %s: line %d\n", (int)a, (int)b, file, line); } res = a/b; if (!VERIFY_INT(res)) - fprintf (stderr, "DIV32: output is not int: %d\n", (int)res); + fprintf (stderr, "DIV32: output is not int: %d in %s: line %d\n", (int)res, file, line); spx_mips+=36; return res; } Modified: freeswitch/trunk/libs/speex/libspeex/fixed_generic.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/fixed_generic.h (original) +++ freeswitch/trunk/libs/speex/libspeex/fixed_generic.h Fri Feb 13 00:02:32 2009 @@ -46,14 +46,15 @@ #define SHL16(a,shift) ((a) << (shift)) #define SHR32(a,shift) ((a) >> (shift)) #define SHL32(a,shift) ((a) << (shift)) -#define PSHR16(a,shift) (SHR16((a)+(1<<((shift)-1)),shift)) -#define PSHR32(a,shift) (SHR32((a)+(1<<((shift)-1)),shift)) +#define PSHR16(a,shift) (SHR16((a)+((1<<((shift))>>1)),shift)) +#define PSHR32(a,shift) (SHR32((a)+((EXTEND32(1)<<((shift))>>1)),shift)) +#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift))) #define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) #define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) #define SHR(a,shift) ((a) >> (shift)) #define SHL(a,shift) ((spx_word32_t)(a) << (shift)) -#define PSHR(a,shift) (SHR((a)+(1<<((shift)-1)),shift)) +#define PSHR(a,shift) (SHR((a)+((EXTEND32(1)<<((shift))>>1)),shift)) #define SATURATE(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x))) @@ -77,6 +78,7 @@ #define MULT16_32_Q11(a,b) ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11)) #define MAC16_32_Q11(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11))) +#define MULT16_32_P15(a,b) ADD32(MULT16_16((a),SHR((b),15)), PSHR(MULT16_16((a),((b)&0x00007fff)),15)) #define MULT16_32_Q15(a,b) ADD32(MULT16_16((a),SHR((b),15)), SHR(MULT16_16((a),((b)&0x00007fff)),15)) #define MAC16_32_Q15(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),15)), SHR(MULT16_16((a),((b)&0x00007fff)),15))) Modified: freeswitch/trunk/libs/speex/libspeex/jitter.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/jitter.c (original) +++ freeswitch/trunk/libs/speex/libspeex/jitter.c Fri Feb 13 00:02:32 2009 @@ -32,283 +32,490 @@ */ +/* +TODO: +- Add short-term estimate +- Defensive programming + + warn when last returned < last desired (begative buffering) + + warn if update_delay not called between get() and tick() or is called twice in a row +- Linked list structure for holding the packets instead of the current fixed-size array + + return memory to a pool + + allow pre-allocation of the pool + + optional max number of elements +- Statistics + + drift + + loss + + late + + jitter + + buffering delay +*/ #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include "misc.h" +#include "arch.h" #include #include #include -#include +#include "os_support.h" -#define LATE_BINS 10 -#define MAX_MARGIN 30 /**< Number of bins in margin histogram */ +#ifndef NULL +#define NULL 0 +#endif #define SPEEX_JITTER_MAX_BUFFER_SIZE 200 /**< Maximum number of packets in jitter buffer */ - +#define TSUB(a,b) ((spx_int32_t)((a)-(b))) #define GT32(a,b) (((spx_int32_t)((a)-(b)))>0) #define GE32(a,b) (((spx_int32_t)((a)-(b)))>=0) #define LT32(a,b) (((spx_int32_t)((a)-(b)))<0) #define LE32(a,b) (((spx_int32_t)((a)-(b)))<=0) +#define ROUND_DOWN(x, step) ((x)<0 ? ((x)-(step)+1)/(step)*(step) : (x)/(step)*(step)) + +#define MAX_TIMINGS 40 +#define MAX_BUFFERS 3 +#define TOP_DELAY 40 + +/** Buffer that keeps the time of arrival of the latest packets */ +struct TimingBuffer { + int filled; /**< Number of entries occupied in "timing" and "counts"*/ + int curr_count; /**< Number of packet timings we got (including those we discarded) */ + spx_int32_t timing[MAX_TIMINGS]; /**< Sorted list of all timings ("latest" packets first) */ + spx_int16_t counts[MAX_TIMINGS]; /**< Order the packets were put in (will be used for short-term estimate) */ +}; + +static void tb_init(struct TimingBuffer *tb) +{ + tb->filled = 0; + tb->curr_count = 0; +} + +/* Add the timing of a new packet to the TimingBuffer */ +static void tb_add(struct TimingBuffer *tb, spx_int16_t timing) +{ + int pos; + /* Discard packet that won't make it into the list because they're too early */ + if (tb->filled >= MAX_TIMINGS && timing >= tb->timing[tb->filled-1]) + { + tb->curr_count++; + return; + } + + /* Find where the timing info goes in the sorted list */ + pos = 0; + /* FIXME: Do bisection instead of linear search */ + while (posfilled && timing >= tb->timing[pos]) + { + pos++; + } + + speex_assert(pos <= tb->filled && pos < MAX_TIMINGS); + + /* Shift everything so we can perform the insertion */ + if (pos < tb->filled) + { + int move_size = tb->filled-pos; + if (tb->filled == MAX_TIMINGS) + move_size -= 1; + SPEEX_MOVE(&tb->timing[pos+1], &tb->timing[pos], move_size); + SPEEX_MOVE(&tb->counts[pos+1], &tb->counts[pos], move_size); + } + /* Insert */ + tb->timing[pos] = timing; + tb->counts[pos] = tb->curr_count; + + tb->curr_count++; + if (tb->filledfilled++; +} + + + /** Jitter buffer structure */ struct JitterBuffer_ { - spx_uint32_t pointer_timestamp; /**< Timestamp of what we will *get* next */ - spx_uint32_t current_timestamp; /**< Timestamp of the local clock (what we will *play* next) */ - - char *buf[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Buffer of packets (NULL if slot is free) */ - spx_uint32_t timestamp[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Timestamp of packet */ - int span[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Timestamp of packet */ - int len[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Number of bytes in packet */ - - int tick_size; /**< Output granularity */ - int reset_state; /**< True if state was just reset */ - int buffer_margin; /**< How many frames we want to keep in the buffer (lower bound) */ - - int lost_count; /**< Number of consecutive lost packets */ - float shortterm_margin[MAX_MARGIN]; /**< Short term margin histogram */ - float longterm_margin[MAX_MARGIN]; /**< Long term margin histogram */ - float loss_rate; /**< Average loss rate */ + spx_uint32_t pointer_timestamp; /**< Timestamp of what we will *get* next */ + spx_uint32_t last_returned_timestamp; /**< Useful for getting the next packet with the same timestamp (for fragmented media) */ + spx_uint32_t next_stop; /**< Estimated time the next get() will be called */ + + spx_int32_t buffered; /**< Amount of data we think is still buffered by the application (timestamp units)*/ + + JitterBufferPacket packets[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Packets stored in the buffer */ + spx_uint32_t arrival[SPEEX_JITTER_MAX_BUFFER_SIZE]; /**< Packet arrival time (0 means it was late, even though it's a valid timestamp) */ + + void (*destroy) (void *); /**< Callback for destroying a packet */ + + spx_int32_t delay_step; /**< Size of the steps when adjusting buffering (timestamp units) */ + spx_int32_t concealment_size; /**< Size of the packet loss concealment "units" */ + int reset_state; /**< True if state was just reset */ + int buffer_margin; /**< How many frames we want to keep in the buffer (lower bound) */ + int late_cutoff; /**< How late must a packet be for it not to be considered at all */ + int interp_requested; /**< An interpolation is requested by speex_jitter_update_delay() */ + int auto_adjust; /**< Whether to automatically adjust the delay at any time */ + + struct TimingBuffer _tb[MAX_BUFFERS]; /**< Don't use those directly */ + struct TimingBuffer *timeBuffers[MAX_BUFFERS]; /**< Storing arrival time of latest frames so we can compute some stats */ + int window_size; /**< Total window over which the late frames are counted */ + int subwindow_size; /**< Sub-window size for faster computation */ + int max_late_rate; /**< Absolute maximum amount of late packets tolerable (in percent) */ + int latency_tradeoff; /**< Latency equivalent of losing one percent of packets */ + int auto_tradeoff; /**< Latency equivalent of losing one percent of packets (automatic default) */ + + int lost_count; /**< Number of consecutive lost packets */ }; +/** Based on available data, this computes the optimal delay for the jitter buffer. + The optimised function is in timestamp units and is: + cost = delay + late_factor*[number of frames that would be late if we used that delay] + @param tb Array of buffers + @param late_factor Equivalent cost of a late frame (in timestamp units) + */ +static spx_int16_t compute_opt_delay(JitterBuffer *jitter) +{ + int i; + spx_int16_t opt=0; + spx_int32_t best_cost=0x7fffffff; + int late = 0; + int pos[MAX_BUFFERS]; + int tot_count; + float late_factor; + int penalty_taken = 0; + int best = 0; + int worst = 0; + spx_int32_t deltaT; + struct TimingBuffer *tb; + + tb = jitter->_tb; + + /* Number of packet timings we have received (including those we didn't keep) */ + tot_count = 0; + for (i=0;ilatency_tradeoff != 0) + late_factor = jitter->latency_tradeoff * 100.0f / tot_count; + else + late_factor = jitter->auto_tradeoff * jitter->window_size/tot_count; + + /*fprintf(stderr, "late_factor = %f\n", late_factor);*/ + for (i=0;idelay_step); + pos[next]++; + + /* Actual cost function that tells us how bad using this delay would be */ + cost = -latest + late_factor*late; + /*fprintf(stderr, "cost %d = %d + %f * %d\n", cost, -latest, late_factor, late);*/ + if (cost < best_cost) + { + best_cost = cost; + opt = latest; + } + } else { + break; + } + + /* For the next timing we will consider, there will be one more late packet to count */ + late++; + /* Two-frame penalty if we're going to increase the amount of late frames (hysteresis) */ + if (latest >= 0 && !penalty_taken) + { + penalty_taken = 1; + late+=4; + } + } + + deltaT = best-worst; + /* This is a default "automatic latency tradeoff" when none is provided */ + jitter->auto_tradeoff = 1 + deltaT/TOP_DELAY; + /*fprintf(stderr, "auto_tradeoff = %d (%d %d %d)\n", jitter->auto_tradeoff, best, worst, i);*/ + + /* FIXME: Compute a short-term estimate too and combine with the long-term one */ + + /* Prevents reducing the buffer size when we haven't really had much data */ + if (tot_count < TOP_DELAY && opt > 0) + return 0; + return opt; +} + + /** Initialise jitter buffer */ -JitterBuffer *jitter_buffer_init(int tick) +EXPORT JitterBuffer *jitter_buffer_init(int step_size) { JitterBuffer *jitter = (JitterBuffer*)speex_alloc(sizeof(JitterBuffer)); if (jitter) { int i; + spx_int32_t tmp; for (i=0;ibuf[i]=NULL; - jitter->tick_size = tick; - jitter->buffer_margin = 1; + jitter->packets[i].data=NULL; + jitter->delay_step = step_size; + jitter->concealment_size = step_size; + /*FIXME: Should this be 0 or 1?*/ + jitter->buffer_margin = 0; + jitter->late_cutoff = 50; + jitter->destroy = NULL; + jitter->latency_tradeoff = 0; + jitter->auto_adjust = 1; + tmp = 4; + jitter_buffer_ctl(jitter, JITTER_BUFFER_SET_MAX_LATE_RATE, &tmp); jitter_buffer_reset(jitter); } return jitter; } /** Reset jitter buffer */ -void jitter_buffer_reset(JitterBuffer *jitter) +EXPORT void jitter_buffer_reset(JitterBuffer *jitter) { int i; for (i=0;ibuf[i]) + if (jitter->packets[i].data) { - speex_free(jitter->buf[i]); - jitter->buf[i] = NULL; + if (jitter->destroy) + jitter->destroy(jitter->packets[i].data); + else + speex_free(jitter->packets[i].data); + jitter->packets[i].data = NULL; } } /* Timestamp is actually undefined at this point */ jitter->pointer_timestamp = 0; - jitter->current_timestamp = 0; + jitter->next_stop = 0; jitter->reset_state = 1; jitter->lost_count = 0; - jitter->loss_rate = 0; - for (i=0;ibuffered = 0; + jitter->auto_tradeoff = 32000; + + for (i=0;ishortterm_margin[i] = 0; - jitter->longterm_margin[i] = 0; + tb_init(&jitter->_tb[i]); + jitter->timeBuffers[i] = &jitter->_tb[i]; } /*fprintf (stderr, "reset\n");*/ } /** Destroy jitter buffer */ -void jitter_buffer_destroy(JitterBuffer *jitter) +EXPORT void jitter_buffer_destroy(JitterBuffer *jitter) { jitter_buffer_reset(jitter); speex_free(jitter); } +/** Take the following timing into consideration for future calculations */ +static void update_timings(JitterBuffer *jitter, spx_int32_t timing) +{ + if (timing < -32767) + timing = -32767; + if (timing > 32767) + timing = 32767; + /* If the current sub-window is full, perform a rotation and discard oldest sub-widow */ + if (jitter->timeBuffers[0]->curr_count >= jitter->subwindow_size) + { + int i; + /*fprintf(stderr, "Rotate buffer\n");*/ + struct TimingBuffer *tmp = jitter->timeBuffers[MAX_BUFFERS-1]; + for (i=MAX_BUFFERS-1;i>=1;i--) + jitter->timeBuffers[i] = jitter->timeBuffers[i-1]; + jitter->timeBuffers[0] = tmp; + tb_init(jitter->timeBuffers[0]); + } + tb_add(jitter->timeBuffers[0], timing); +} + +/** Compensate all timings when we do an adjustment of the buffering */ +static void shift_timings(JitterBuffer *jitter, spx_int16_t amount) +{ + int i, j; + for (i=0;itimeBuffers[i]->filled;j++) + jitter->timeBuffers[i]->timing[j] += amount; + } +} + + /** Put one packet into the jitter buffer */ -void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet) +EXPORT void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet) { int i,j; - spx_int32_t arrival_margin; + int late; /*fprintf (stderr, "put packet %d %d\n", timestamp, span);*/ - if (jitter->reset_state) - { - jitter->reset_state=0; - jitter->pointer_timestamp = packet->timestamp; - jitter->current_timestamp = packet->timestamp; - /*fprintf(stderr, "reset to %d\n", timestamp);*/ - } /* Cleanup buffer (remove old packets that weren't played) */ - for (i=0;ireset_state) { - if (jitter->buf[i] && LE32(jitter->timestamp[i] + jitter->span[i], jitter->pointer_timestamp)) + for (i=0;ibuf[i]); - jitter->buf[i] = NULL; + /* Make sure we don't discard a "just-late" packet in case we want to play it next (if we interpolate). */ + if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp + jitter->packets[i].span, jitter->pointer_timestamp)) + { + /*fprintf (stderr, "cleaned (not played)\n");*/ + if (jitter->destroy) + jitter->destroy(jitter->packets[i].data); + else + speex_free(jitter->packets[i].data); + jitter->packets[i].data = NULL; + } } } - - /*Find an empty slot in the buffer*/ - for (i=0;itimestamp, jitter->next_stop, jitter->pointer_timestamp);*/ + /* Check if packet is late (could still be useful though) */ + if (!jitter->reset_state && LT32(packet->timestamp, jitter->next_stop)) { - if (jitter->buf[i]==NULL) - break; + update_timings(jitter, ((spx_int32_t)packet->timestamp) - ((spx_int32_t)jitter->next_stop) - jitter->buffer_margin); + late = 1; + } else { + late = 0; } - /*fprintf(stderr, "%d %d %f\n", timestamp, jitter->pointer_timestamp, jitter->drift_average);*/ - /*No place left in the buffer*/ - if (i==SPEEX_JITTER_MAX_BUFFER_SIZE) + /* For some reason, the consumer has failed the last 20 fetches. Make sure this packet is + * used to resync. */ + if (jitter->lost_count>20) { - int earliest=jitter->timestamp[0]; - i=0; - for (j=1;jbuf[i] || LT32(jitter->timestamp[j],earliest)) - { - earliest = jitter->timestamp[j]; - i=j; - } - } - speex_free(jitter->buf[i]); - jitter->buf[i]=NULL; - if (jitter->lost_count>20) - { - jitter_buffer_reset(jitter); - } - /*fprintf (stderr, "Buffer is full, discarding earliest frame %d (currently at %d)\n", timestamp, jitter->pointer_timestamp);*/ + jitter_buffer_reset(jitter); } - /* Copy packet in buffer */ - jitter->buf[i]=(char*)speex_alloc(packet->len); - for (j=0;jlen;j++) - jitter->buf[i][j]=packet->data[j]; - jitter->timestamp[i]=packet->timestamp; - jitter->span[i]=packet->span; - jitter->len[i]=packet->len; - - /* Adjust the buffer size depending on network conditions */ - arrival_margin = (packet->timestamp - jitter->current_timestamp) - jitter->buffer_margin*jitter->tick_size; - - if (arrival_margin >= -LATE_BINS*jitter->tick_size) + /* Only insert the packet if it's not hopelessly late (i.e. totally useless) */ + if (jitter->reset_state || GE32(packet->timestamp+packet->span+jitter->delay_step, jitter->pointer_timestamp)) { - spx_int32_t int_margin; - for (i=0;ishortterm_margin[i] *= .98; - jitter->longterm_margin[i] *= .995; - } - int_margin = LATE_BINS + arrival_margin/jitter->tick_size; - if (int_margin>MAX_MARGIN-1) - int_margin = MAX_MARGIN-1; - if (int_margin>=0) + + /*Find an empty slot in the buffer*/ + for (i=0;ishortterm_margin[int_margin] += .02; - jitter->longterm_margin[int_margin] += .005; + if (jitter->packets[i].data==NULL) + break; } - } else { - /*fprintf (stderr, "way too late = %d\n", arrival_margin);*/ - if (jitter->lost_count>20) + /*No place left in the buffer, need to make room for it by discarding the oldest packet */ + if (i==SPEEX_JITTER_MAX_BUFFER_SIZE) { - jitter_buffer_reset(jitter); + int earliest=jitter->packets[0].timestamp; + i=0; + for (j=1;jpackets[i].data || LT32(jitter->packets[j].timestamp,earliest)) + { + earliest = jitter->packets[j].timestamp; + i=j; + } + } + if (jitter->destroy) + jitter->destroy(jitter->packets[i].data); + else + speex_free(jitter->packets[i].data); + jitter->packets[i].data=NULL; + /*fprintf (stderr, "Buffer is full, discarding earliest frame %d (currently at %d)\n", timestamp, jitter->pointer_timestamp);*/ } - } -#if 0 /* Enable to check how much is being buffered */ - if (rand()%1000==0) - { - int count = 0; - for (j=0;jdestroy) { - if (jitter->buf[j]) - count++; - } - fprintf (stderr, "buffer_size = %d\n", count); + jitter->packets[i].data = packet->data; + } else { + jitter->packets[i].data=(char*)speex_alloc(packet->len); + for (j=0;jlen;j++) + jitter->packets[i].data[j]=packet->data[j]; + } + jitter->packets[i].timestamp=packet->timestamp; + jitter->packets[i].span=packet->span; + jitter->packets[i].len=packet->len; + jitter->packets[i].sequence=packet->sequence; + jitter->packets[i].user_data=packet->user_data; + if (jitter->reset_state || late) + jitter->arrival[i] = 0; + else + jitter->arrival[i] = jitter->next_stop; } -#endif + + } /** Get one packet from the jitter buffer */ -int jitter_buffer_get(JitterBuffer *jitter, JitterBufferPacket *packet, spx_uint32_t *start_offset) +EXPORT int jitter_buffer_get(JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t desired_span, spx_int32_t *start_offset) { - int i, j; - float late_ratio_short; - float late_ratio_long; - float ontime_ratio_short; - float ontime_ratio_long; - float early_ratio_short; - float early_ratio_long; - int chunk_size; + int i; + unsigned int j; int incomplete = 0; + spx_int16_t opt; - if (LT32(jitter->current_timestamp+jitter->tick_size, jitter->pointer_timestamp)) - { - jitter->current_timestamp = jitter->pointer_timestamp; - speex_warning("did you forget to call jitter_buffer_tick() by any chance?"); - } - /*fprintf (stderr, "get packet %d %d\n", jitter->pointer_timestamp, jitter->current_timestamp);*/ + if (start_offset != NULL) + *start_offset = 0; - /* FIXME: This should be only what remaining of the current tick */ - chunk_size = jitter->tick_size; - - /* Compiling arrival statistics */ - - late_ratio_short = 0; - late_ratio_long = 0; - for (i=0;ishortterm_margin[i]; - late_ratio_long += jitter->longterm_margin[i]; - } - ontime_ratio_short = jitter->shortterm_margin[LATE_BINS]; - ontime_ratio_long = jitter->longterm_margin[LATE_BINS]; - early_ratio_short = early_ratio_long = 0; - for (i=LATE_BINS+1;ishortterm_margin[i]; - early_ratio_long += jitter->longterm_margin[i]; - } - if (0&&jitter->pointer_timestamp%1000==0) - { - /*fprintf (stderr, "%f %f %f %f %f %f\n", early_ratio_short, early_ratio_long, ontime_ratio_short, ontime_ratio_long, late_ratio_short, late_ratio_long);*/ - /*fprintf (stderr, "%f %f\n", early_ratio_short + ontime_ratio_short + late_ratio_short, early_ratio_long + ontime_ratio_long + late_ratio_long);*/ - } - - /* Adjusting the buffering */ - - if (late_ratio_short > .1 || late_ratio_long > .03) + /* Syncing on the first call */ + if (jitter->reset_state) { - /* If too many packets are arriving late */ - jitter->shortterm_margin[MAX_MARGIN-1] += jitter->shortterm_margin[MAX_MARGIN-2]; - jitter->longterm_margin[MAX_MARGIN-1] += jitter->longterm_margin[MAX_MARGIN-2]; - for (i=MAX_MARGIN-3;i>=0;i--) + int found = 0; + /* Find the oldest packet */ + spx_uint32_t oldest=0; + for (i=0;ishortterm_margin[i+1] = jitter->shortterm_margin[i]; - jitter->longterm_margin[i+1] = jitter->longterm_margin[i]; + if (jitter->packets[i].data && (!found || LT32(jitter->packets[i].timestamp,oldest))) + { + oldest = jitter->packets[i].timestamp; + found = 1; + } } - jitter->shortterm_margin[0] = 0; - jitter->longterm_margin[0] = 0; - jitter->pointer_timestamp -= jitter->tick_size; - jitter->current_timestamp -= jitter->tick_size; - /*fprintf (stderr, "i");*/ - /*fprintf (stderr, "interpolate (getting some slack)\n");*/ - } else if (late_ratio_short + ontime_ratio_short < .005 && late_ratio_long + ontime_ratio_long < .01 && early_ratio_short > .8) - { - /* Many frames arriving early */ - jitter->shortterm_margin[0] += jitter->shortterm_margin[1]; - jitter->longterm_margin[0] += jitter->longterm_margin[1]; - for (i=1;ishortterm_margin[i] = jitter->shortterm_margin[i+1]; - jitter->longterm_margin[i] = jitter->longterm_margin[i+1]; + jitter->reset_state=0; + jitter->pointer_timestamp = oldest; + jitter->next_stop = oldest; + } else { + packet->timestamp = 0; + packet->span = jitter->interp_requested; + return JITTER_BUFFER_MISSING; } - jitter->shortterm_margin[MAX_MARGIN-1] = 0; - jitter->longterm_margin[MAX_MARGIN-1] = 0; - /*fprintf (stderr, "drop frame\n");*/ - /*fprintf (stderr, "d");*/ - jitter->pointer_timestamp += jitter->tick_size; - jitter->current_timestamp += jitter->tick_size; - /*fprintf (stderr, "dropping packet (getting more aggressive)\n");*/ + } + + + jitter->last_returned_timestamp = jitter->pointer_timestamp; + + if (jitter->interp_requested != 0) + { + packet->timestamp = jitter->pointer_timestamp; + packet->span = jitter->interp_requested; + + /* Increment the pointer because it got decremented in the delay update */ + jitter->pointer_timestamp += jitter->interp_requested; + packet->len = 0; + /*fprintf (stderr, "Deferred interpolate\n");*/ + + jitter->interp_requested = 0; + + jitter->buffered = packet->span - desired_span; + + return JITTER_BUFFER_INSERTION; } /* Searching for the packet that fits best */ @@ -316,7 +523,7 @@ /* Search the buffer for a packet with the right timestamp and spanning the whole current chunk */ for (i=0;ibuf[i] && jitter->timestamp[i]==jitter->pointer_timestamp && GE32(jitter->timestamp[i]+jitter->span[i],jitter->pointer_timestamp+chunk_size)) + if (jitter->packets[i].data && jitter->packets[i].timestamp==jitter->pointer_timestamp && GE32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp+desired_span)) break; } @@ -325,7 +532,7 @@ { for (i=0;ibuf[i] && jitter->timestamp[i]<=jitter->pointer_timestamp && GE32(jitter->timestamp[i]+jitter->span[i],jitter->pointer_timestamp+chunk_size)) + if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp, jitter->pointer_timestamp) && GE32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp+desired_span)) break; } } @@ -335,7 +542,7 @@ { for (i=0;ibuf[i] && jitter->timestamp[i]<=jitter->pointer_timestamp && GT32(jitter->timestamp[i]+jitter->span[i],jitter->pointer_timestamp)) + if (jitter->packets[i].data && LE32(jitter->packets[i].timestamp, jitter->pointer_timestamp) && GT32(jitter->packets[i].timestamp+jitter->packets[i].span,jitter->pointer_timestamp)) break; } } @@ -350,12 +557,12 @@ for (i=0;ibuf[i] && LT32(jitter->timestamp[i],jitter->pointer_timestamp+chunk_size) && GE32(jitter->timestamp[i],jitter->pointer_timestamp)) + if (jitter->packets[i].data && LT32(jitter->packets[i].timestamp,jitter->pointer_timestamp+desired_span) && GE32(jitter->packets[i].timestamp,jitter->pointer_timestamp)) { - if (!found || LT32(jitter->timestamp[i],best_time) || (jitter->timestamp[i]==best_time && GT32(jitter->span[i],best_span))) + if (!found || LT32(jitter->packets[i].timestamp,best_time) || (jitter->packets[i].timestamp==best_time && GT32(jitter->packets[i].span,best_span))) { - best_time = jitter->timestamp[i]; - best_span = jitter->span[i]; + best_time = jitter->packets[i].timestamp; + best_span = jitter->packets[i].span; besti = i; found = 1; } @@ -365,144 +572,272 @@ { i=besti; incomplete = 1; - /*fprintf (stderr, "incomplete: %d %d %d %d\n", jitter->timestamp[i], jitter->pointer_timestamp, chunk_size, jitter->span[i]);*/ + /*fprintf (stderr, "incomplete: %d %d %d %d\n", jitter->packets[i].timestamp, jitter->pointer_timestamp, chunk_size, jitter->packets[i].span);*/ } } /* If we find something */ if (i!=SPEEX_JITTER_MAX_BUFFER_SIZE) { + spx_int32_t offset; + /* We (obviously) haven't lost this packet */ jitter->lost_count = 0; - jitter->loss_rate = .999*jitter->loss_rate; - /* Check for potential overflow */ - packet->len = jitter->len[i]; + + /* In this case, 0 isn't as a valid timestamp */ + if (jitter->arrival[i] != 0) + { + update_timings(jitter, ((spx_int32_t)jitter->packets[i].timestamp) - ((spx_int32_t)jitter->arrival[i]) - jitter->buffer_margin); + } + + /* Copy packet */ - for (j=0;jlen;j++) - packet->data[j] = jitter->buf[i][j]; - /* Remove packet */ - speex_free(jitter->buf[i]); - jitter->buf[i] = NULL; + if (jitter->destroy) + { + packet->data = jitter->packets[i].data; + packet->len = jitter->packets[i].len; + } else { + if (jitter->packets[i].len > packet->len) + { + speex_warning_int("jitter_buffer_get(): packet too large to fit. Size is", jitter->packets[i].len); + } else { + packet->len = jitter->packets[i].len; + } + for (j=0;jlen;j++) + packet->data[j] = jitter->packets[i].data[j]; + /* Remove packet */ + speex_free(jitter->packets[i].data); + } + jitter->packets[i].data = NULL; /* Set timestamp and span (if requested) */ - if (start_offset) - *start_offset = jitter->timestamp[i]-jitter->pointer_timestamp; - packet->timestamp = jitter->timestamp[i]; - packet->span = jitter->span[i]; - /* Point at the end of the current packet */ - jitter->pointer_timestamp = jitter->timestamp[i]+jitter->span[i]; - if (incomplete) - return JITTER_BUFFER_INCOMPLETE; - else - return JITTER_BUFFER_OK; + offset = (spx_int32_t)jitter->packets[i].timestamp-(spx_int32_t)jitter->pointer_timestamp; + if (start_offset != NULL) + *start_offset = offset; + else if (offset != 0) + speex_warning_int("jitter_buffer_get() discarding non-zero start_offset", offset); + + packet->timestamp = jitter->packets[i].timestamp; + jitter->last_returned_timestamp = packet->timestamp; + + packet->span = jitter->packets[i].span; + packet->sequence = jitter->packets[i].sequence; + packet->user_data = jitter->packets[i].user_data; + /* Point to the end of the current packet */ + jitter->pointer_timestamp = jitter->packets[i].timestamp+jitter->packets[i].span; + + jitter->buffered = packet->span - desired_span; + + if (start_offset != NULL) + jitter->buffered += *start_offset; + + return JITTER_BUFFER_OK; } /* If we haven't found anything worth returning */ + /*fprintf (stderr, "not found\n");*/ jitter->lost_count++; /*fprintf (stderr, "m");*/ /*fprintf (stderr, "lost_count = %d\n", jitter->lost_count);*/ - jitter->loss_rate = .999*jitter->loss_rate + .001; - if (start_offset) - *start_offset = 0; - packet->timestamp = jitter->pointer_timestamp; - packet->span = jitter->tick_size; - jitter->pointer_timestamp += chunk_size; - packet->len = 0; - return JITTER_BUFFER_MISSING; + + opt = compute_opt_delay(jitter); + + /* Should we force an increase in the buffer or just do normal interpolation? */ + if (opt < 0) + { + /* Need to increase buffering */ + + /* Shift histogram to compensate */ + shift_timings(jitter, -opt); + + packet->timestamp = jitter->pointer_timestamp; + packet->span = -opt; + /* Don't move the pointer_timestamp forward */ + packet->len = 0; + + jitter->buffered = packet->span - desired_span; + return JITTER_BUFFER_INSERTION; + /*jitter->pointer_timestamp -= jitter->delay_step;*/ + /*fprintf (stderr, "Forced to interpolate\n");*/ + } else { + /* Normal packet loss */ + packet->timestamp = jitter->pointer_timestamp; + + desired_span = ROUND_DOWN(desired_span, jitter->concealment_size); + packet->span = desired_span; + jitter->pointer_timestamp += desired_span; + packet->len = 0; + + jitter->buffered = packet->span - desired_span; + return JITTER_BUFFER_MISSING; + /*fprintf (stderr, "Normal loss\n");*/ + } -} -/** Get pointer timestamp of jitter buffer */ -int jitter_buffer_get_pointer_timestamp(JitterBuffer *jitter) -{ - return jitter->pointer_timestamp; } -void jitter_buffer_tick(JitterBuffer *jitter) +EXPORT int jitter_buffer_get_another(JitterBuffer *jitter, JitterBufferPacket *packet) { - jitter->current_timestamp += jitter->tick_size; + int i, j; + for (i=0;ipackets[i].data && jitter->packets[i].timestamp==jitter->last_returned_timestamp) + break; + } + if (i!=SPEEX_JITTER_MAX_BUFFER_SIZE) + { + /* Copy packet */ + packet->len = jitter->packets[i].len; + if (jitter->destroy) + { + packet->data = jitter->packets[i].data; + } else { + for (j=0;jlen;j++) + packet->data[j] = jitter->packets[i].data[j]; + /* Remove packet */ + speex_free(jitter->packets[i].data); + } + jitter->packets[i].data = NULL; + packet->timestamp = jitter->packets[i].timestamp; + packet->span = jitter->packets[i].span; + packet->sequence = jitter->packets[i].sequence; + packet->user_data = jitter->packets[i].user_data; + return JITTER_BUFFER_OK; + } else { + packet->data = NULL; + packet->len = 0; + packet->span = 0; + return JITTER_BUFFER_MISSING; + } } - - - - -void speex_jitter_init(SpeexJitter *jitter, void *decoder, int sampling_rate) +/* Let the jitter buffer know it's the right time to adjust the buffering delay to the network conditions */ +static int _jitter_buffer_update_delay(JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t *start_offset) { - jitter->dec = decoder; - speex_decoder_ctl(decoder, SPEEX_GET_FRAME_SIZE, &jitter->frame_size); - - jitter->packets = jitter_buffer_init(jitter->frame_size); - - speex_bits_init(&jitter->current_packet); - jitter->valid_bits = 0; - + spx_int16_t opt = compute_opt_delay(jitter); + /*fprintf(stderr, "opt adjustment is %d ", opt);*/ + + if (opt < 0) + { + shift_timings(jitter, -opt); + + jitter->pointer_timestamp += opt; + jitter->interp_requested = -opt; + /*fprintf (stderr, "Decision to interpolate %d samples\n", -opt);*/ + } else if (opt > 0) + { + shift_timings(jitter, -opt); + jitter->pointer_timestamp += opt; + /*fprintf (stderr, "Decision to drop %d samples\n", opt);*/ + } + + return opt; } -void speex_jitter_destroy(SpeexJitter *jitter) +/* Let the jitter buffer know it's the right time to adjust the buffering delay to the network conditions */ +EXPORT int jitter_buffer_update_delay(JitterBuffer *jitter, JitterBufferPacket *packet, spx_int32_t *start_offset) { - jitter_buffer_destroy(jitter->packets); - speex_bits_destroy(&jitter->current_packet); + /* If the programmer calls jitter_buffer_update_delay() directly, + automatically disable auto-adjustment */ + jitter->auto_adjust = 0; + + return _jitter_buffer_update_delay(jitter, packet, start_offset); } -void speex_jitter_put(SpeexJitter *jitter, char *packet, int len, int timestamp) +/** Get pointer timestamp of jitter buffer */ +EXPORT int jitter_buffer_get_pointer_timestamp(JitterBuffer *jitter) { - JitterBufferPacket p; - p.data = packet; - p.len = len; - p.timestamp = timestamp; - p.span = jitter->frame_size; - jitter_buffer_put(jitter->packets, &p); + return jitter->pointer_timestamp; } -void speex_jitter_get(SpeexJitter *jitter, short *out, int *current_timestamp) +EXPORT void jitter_buffer_tick(JitterBuffer *jitter) { - int i; - int ret; - char data[2048]; - JitterBufferPacket packet; - packet.data = data; - - if (jitter->valid_bits) - { - /* Try decoding last received packet */ - ret = speex_decode_int(jitter->dec, &jitter->current_packet, out); - if (ret == 0) - { - jitter_buffer_tick(jitter->packets); - return; - } else { - jitter->valid_bits = 0; - } - } - - ret = jitter_buffer_get(jitter->packets, &packet, NULL); + /* Automatically-adjust the buffering delay if requested */ + if (jitter->auto_adjust) + _jitter_buffer_update_delay(jitter, NULL, NULL); - if (ret != JITTER_BUFFER_OK) + if (jitter->buffered >= 0) { - /* No packet found */ - - /*fprintf (stderr, "lost/late frame\n");*/ - /*Packet is late or lost*/ - speex_decode_int(jitter->dec, NULL, out); + jitter->next_stop = jitter->pointer_timestamp - jitter->buffered; } else { - speex_bits_read_from(&jitter->current_packet, packet.data, packet.len); - /* Decode packet */ - ret = speex_decode_int(jitter->dec, &jitter->current_packet, out); - if (ret == 0) - { - jitter->valid_bits = 1; - } else { - /* Error while decoding */ - for (i=0;iframe_size;i++) - out[i]=0; - } + jitter->next_stop = jitter->pointer_timestamp; + speex_warning_int("jitter buffer sees negative buffering, your code might be broken. Value is ", jitter->buffered); } - jitter_buffer_tick(jitter->packets); + jitter->buffered = 0; +} + +EXPORT void jitter_buffer_remaining_span(JitterBuffer *jitter, spx_uint32_t rem) +{ + /* Automatically-adjust the buffering delay if requested */ + if (jitter->auto_adjust) + _jitter_buffer_update_delay(jitter, NULL, NULL); + + if (jitter->buffered < 0) + speex_warning_int("jitter buffer sees negative buffering, your code might be broken. Value is ", jitter->buffered); + jitter->next_stop = jitter->pointer_timestamp - rem; } -int speex_jitter_get_pointer_timestamp(SpeexJitter *jitter) + +/* Used like the ioctl function to control the jitter buffer parameters */ +EXPORT int jitter_buffer_ctl(JitterBuffer *jitter, int request, void *ptr) { - return jitter_buffer_get_pointer_timestamp(jitter->packets); + int count, i; + switch(request) + { + case JITTER_BUFFER_SET_MARGIN: + jitter->buffer_margin = *(spx_int32_t*)ptr; + break; + case JITTER_BUFFER_GET_MARGIN: + *(spx_int32_t*)ptr = jitter->buffer_margin; + break; + case JITTER_BUFFER_GET_AVALIABLE_COUNT: + count = 0; + for (i=0;ipackets[i].data && LE32(jitter->pointer_timestamp, jitter->packets[i].timestamp)) + { + count++; + } + } + *(spx_int32_t*)ptr = count; + break; + case JITTER_BUFFER_SET_DESTROY_CALLBACK: + jitter->destroy = (void (*) (void *))ptr; + break; + case JITTER_BUFFER_GET_DESTROY_CALLBACK: + *(void (**) (void *))ptr = jitter->destroy; + break; + case JITTER_BUFFER_SET_DELAY_STEP: + jitter->delay_step = *(spx_int32_t*)ptr; + break; + case JITTER_BUFFER_GET_DELAY_STEP: + *(spx_int32_t*)ptr = jitter->delay_step; + break; + case JITTER_BUFFER_SET_CONCEALMENT_SIZE: + jitter->concealment_size = *(spx_int32_t*)ptr; + break; + case JITTER_BUFFER_GET_CONCEALMENT_SIZE: + *(spx_int32_t*)ptr = jitter->concealment_size; + break; + case JITTER_BUFFER_SET_MAX_LATE_RATE: + jitter->max_late_rate = *(spx_int32_t*)ptr; + jitter->window_size = 100*TOP_DELAY/jitter->max_late_rate; + jitter->subwindow_size = jitter->window_size/MAX_BUFFERS; + break; + case JITTER_BUFFER_GET_MAX_LATE_RATE: + *(spx_int32_t*)ptr = jitter->max_late_rate; + break; + case JITTER_BUFFER_SET_LATE_COST: + jitter->latency_tradeoff = *(spx_int32_t*)ptr; + break; + case JITTER_BUFFER_GET_LATE_COST: + *(spx_int32_t*)ptr = jitter->latency_tradeoff; + break; + default: + speex_warning_int("Unknown jitter_buffer_ctl request: ", request); + return -1; + } + return 0; } + Modified: freeswitch/trunk/libs/speex/libspeex/kiss_fft.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/kiss_fft.c (original) +++ freeswitch/trunk/libs/speex/libspeex/kiss_fft.c Fri Feb 13 00:02:32 2009 @@ -1,5 +1,6 @@ /* Copyright (c) 2003-2004, Mark Borgerding +Copyright (c) 2005-2007, Jean-Marc Valin All rights reserved. @@ -18,127 +19,149 @@ #endif #include "_kiss_fft_guts.h" -#include "misc.h" +#include "arch.h" +#include "os_support.h" /* The guts header contains all the multiplication and addition macros that are defined for fixed or floating point complex numbers. It also delares the kf_ internal functions. */ -static kiss_fft_cpx *scratchbuf=NULL; -static size_t nscratchbuf=0; -static kiss_fft_cpx *tmpbuf=NULL; -static size_t ntmpbuf=0; - -#define CHECKBUF(buf,nbuf,n) \ - do { \ - if ( nbuf < (size_t)(n) ) {\ - speex_free(buf); \ - buf = (kiss_fft_cpx*)KISS_FFT_MALLOC(sizeof(kiss_fft_cpx)*(n)); \ - nbuf = (size_t)(n); \ - } \ - }while(0) - static void kf_bfly2( kiss_fft_cpx * Fout, const size_t fstride, const kiss_fft_cfg st, - int m + int m, + int N, + int mm ) { kiss_fft_cpx * Fout2; - kiss_fft_cpx * tw1 = st->twiddles; + kiss_fft_cpx * tw1; kiss_fft_cpx t; - Fout2 = Fout + m; if (!st->inverse) { - int i; - kiss_fft_cpx *x=Fout; - for (i=0;i<2*m;i++) + int i,j; + kiss_fft_cpx * Fout_beg = Fout; + for (i=0;itwiddles; + for(j=0;jr , tw1->r),MULT16_16(Fout2->i , tw1->i)), 1); + ti = SHR32(ADD32(MULT16_16(Fout2->i , tw1->r),MULT16_16(Fout2->r , tw1->i)), 1); + tw1 += fstride; + Fout2->r = PSHR32(SUB32(SHL32(EXTEND32(Fout->r), 14), tr), 15); + Fout2->i = PSHR32(SUB32(SHL32(EXTEND32(Fout->i), 14), ti), 15); + Fout->r = PSHR32(ADD32(SHL32(EXTEND32(Fout->r), 14), tr), 15); + Fout->i = PSHR32(ADD32(SHL32(EXTEND32(Fout->i), 14), ti), 15); + ++Fout2; + ++Fout; + } + } + } else { + int i,j; + kiss_fft_cpx * Fout_beg = Fout; + for (i=0;itwiddles; + for(j=0;jtwiddles; - - if (!st->inverse) { - int i; - kiss_fft_cpx *x=Fout; - for (i=0;i<4*m;i++) - { - x[i].r = PSHR16(x[i].r,2); - x[i].i = PSHR16(x[i].i,2); - } - } if (st->inverse) { - do { - C_MUL(scratch[0],Fout[m] , *tw1 ); - C_MUL(scratch[1],Fout[m2] , *tw2 ); - C_MUL(scratch[2],Fout[m3] , *tw3 ); - - C_SUB( scratch[5] , *Fout, scratch[1] ); - C_ADDTO(*Fout, scratch[1]); - C_ADD( scratch[3] , scratch[0] , scratch[2] ); - C_SUB( scratch[4] , scratch[0] , scratch[2] ); - C_SUB( Fout[m2], *Fout, scratch[3] ); - tw1 += fstride; - tw2 += fstride*2; - tw3 += fstride*3; - C_ADDTO( *Fout , scratch[3] ); - - Fout[m].r = scratch[5].r - scratch[4].i; - Fout[m].i = scratch[5].i + scratch[4].r; - Fout[m3].r = scratch[5].r + scratch[4].i; - Fout[m3].i = scratch[5].i - scratch[4].r; - ++Fout; - } while(--k); + kiss_fft_cpx * Fout_beg = Fout; + for (i=0;itwiddles; + for (j=0;jtwiddles; + for (j=0;jr = PSHR16(Fout->r, 2); + Fout->i = PSHR16(Fout->i, 2); + C_SUB( scratch[5] , *Fout, scratch[1] ); + C_ADDTO(*Fout, scratch[1]); + C_ADD( scratch[3] , scratch[0] , scratch[2] ); + C_SUB( scratch[4] , scratch[0] , scratch[2] ); + Fout[m2].r = PSHR16(Fout[m2].r, 2); + Fout[m2].i = PSHR16(Fout[m2].i, 2); + C_SUB( Fout[m2], *Fout, scratch[3] ); + tw1 += fstride; + tw2 += fstride*2; + tw3 += fstride*3; + C_ADDTO( *Fout , scratch[3] ); + + Fout[m].r = scratch[5].r + scratch[4].i; + Fout[m].i = scratch[5].i - scratch[4].r; + Fout[m3].r = scratch[5].r - scratch[4].i; + Fout[m3].i = scratch[5].i + scratch[4].r; + ++Fout; + } + } } } @@ -263,10 +286,13 @@ int u,k,q1,q; kiss_fft_cpx * twiddles = st->twiddles; kiss_fft_cpx t; + kiss_fft_cpx scratchbuf[17]; int Norig = st->nfft; - CHECKBUF(scratchbuf,nscratchbuf,p); - + /*CHECKBUF(scratchbuf,nscratchbuf,p);*/ + if (p>17) + speex_fatal("KissFFT: max radix supported is 17"); + for ( u=0; u floor_sqrt) + if (p>32000 || (spx_int32_t)p*(spx_int32_t)p > n) p = n; /* no more factors, skip to end */ } n /= p; @@ -357,7 +454,6 @@ *facbuf++ = n; } while (n > 1); } - /* * * User-callable function to allocate all necessary storage space for the fft. @@ -382,15 +478,22 @@ int i; st->nfft=nfft; st->inverse = inverse_fft; - +#ifdef FIXED_POINT for (i=0;iinverse) - phase *= -1; - kf_cexp(st->twiddles+i, phase ); + spx_word32_t phase = i; + if (!st->inverse) + phase = -phase; + kf_cexp2(st->twiddles+i, DIV32(SHL32(phase,17),nfft)); } - +#else + for (i=0;iinverse) + phase *= -1; + kf_cexp(st->twiddles+i, phase ); + } +#endif kf_factor(nfft,st->factors); } return st; @@ -401,12 +504,15 @@ void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride) { - if (fin == fout) { - CHECKBUF(tmpbuf,ntmpbuf,st->nfft); - kf_work(tmpbuf,fin,1,in_stride, st->factors,st); - speex_move(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); - }else{ - kf_work( fout, fin, 1,in_stride, st->factors,st ); + if (fin == fout) + { + speex_fatal("In-place FFT not supported"); + /*CHECKBUF(tmpbuf,ntmpbuf,st->nfft); + kf_work(tmpbuf,fin,1,in_stride, st->factors,st); + SPEEX_MOVE(fout,tmpbuf,st->nfft);*/ + } else { + kf_shuffle( fout, fin, 1,in_stride, st->factors,st); + kf_work( fout, fin, 1,in_stride, st->factors,st, 1, in_stride, 1); } } @@ -415,16 +521,3 @@ kiss_fft_stride(cfg,fin,fout,1); } - -/* not really necessary to call, but if someone is doing in-place ffts, they may want to free the - buffers from CHECKBUF - */ -void kiss_fft_cleanup(void) -{ - speex_free(scratchbuf); - scratchbuf = NULL; - nscratchbuf=0; - speex_free(tmpbuf); - tmpbuf=NULL; - ntmpbuf=0; -} Modified: freeswitch/trunk/libs/speex/libspeex/kiss_fft.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/kiss_fft.h (original) +++ freeswitch/trunk/libs/speex/libspeex/kiss_fft.h Fri Feb 13 00:02:32 2009 @@ -3,7 +3,7 @@ #include #include -#include "misc.h" +#include "arch.h" #ifdef __cplusplus extern "C" { @@ -32,7 +32,7 @@ #ifdef FIXED_POINT -#include "misc.h" +#include "arch.h" # define kiss_fft_scalar spx_int16_t #else # ifndef kiss_fft_scalar Modified: freeswitch/trunk/libs/speex/libspeex/kiss_fftr.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/kiss_fftr.c (original) +++ freeswitch/trunk/libs/speex/libspeex/kiss_fftr.c Fri Feb 13 00:02:32 2009 @@ -16,6 +16,7 @@ #include "config.h" #endif +#include "os_support.h" #include "kiss_fftr.h" #include "_kiss_fft_guts.h" @@ -58,13 +59,22 @@ st->super_twiddles = st->tmpbuf + nfft; kiss_fft_alloc(nfft, inverse_fft, st->substate, &subsize); - for (i = 0; i < nfft; ++i) { - double phase = - -3.14159265358979323846264338327 * ((double) i / nfft + .5); - if (inverse_fft) - phase *= -1; - kf_cexp (st->super_twiddles+i,phase); +#ifdef FIXED_POINT + for (i=0;i>1); + if (!inverse_fft) + phase = -phase; + kf_cexp2(st->super_twiddles+i, DIV32(SHL32(phase,16),nfft)); } +#else + for (i=0;isuper_twiddles+i, phase ); + } +#endif return st; } @@ -75,8 +85,7 @@ kiss_fft_cpx fpnk,fpk,f1k,f2k,tw,tdc; if ( st->substate->inverse) { - speex_warning("kiss fft usage error: improper alloc\n"); - exit(1); + speex_fatal("kiss fft usage error: improper alloc\n"); } ncfft = st->substate->nfft; @@ -124,14 +133,13 @@ } } -void kiss_fftri(kiss_fftr_cfg st,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata) +void kiss_fftri(kiss_fftr_cfg st,const kiss_fft_cpx *freqdata, kiss_fft_scalar *timedata) { /* input buffer timedata is stored row-wise */ int k, ncfft; if (st->substate->inverse == 0) { - speex_warning ("kiss fft usage error: improper alloc\n"); - exit (1); + speex_fatal("kiss fft usage error: improper alloc\n"); } ncfft = st->substate->nfft; @@ -161,3 +169,129 @@ } kiss_fft (st->substate, st->tmpbuf, (kiss_fft_cpx *) timedata); } + +void kiss_fftr2(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar *freqdata) +{ + /* input buffer timedata is stored row-wise */ + int k,ncfft; + kiss_fft_cpx f2k,tdc; + spx_word32_t f1kr, f1ki, twr, twi; + + if ( st->substate->inverse) { + speex_fatal("kiss fft usage error: improper alloc\n"); + } + + ncfft = st->substate->nfft; + + /*perform the parallel fft of two real signals packed in real,imag*/ + kiss_fft( st->substate , (const kiss_fft_cpx*)timedata, st->tmpbuf ); + /* The real part of the DC element of the frequency spectrum in st->tmpbuf + * contains the sum of the even-numbered elements of the input time sequence + * The imag part is the sum of the odd-numbered elements + * + * The sum of tdc.r and tdc.i is the sum of the input time sequence. + * yielding DC of input time sequence + * The difference of tdc.r - tdc.i is the sum of the input (dot product) [1,-1,1,-1... + * yielding Nyquist bin of input time sequence + */ + + tdc.r = st->tmpbuf[0].r; + tdc.i = st->tmpbuf[0].i; + C_FIXDIV(tdc,2); + CHECK_OVERFLOW_OP(tdc.r ,+, tdc.i); + CHECK_OVERFLOW_OP(tdc.r ,-, tdc.i); + freqdata[0] = tdc.r + tdc.i; + freqdata[2*ncfft-1] = tdc.r - tdc.i; + + for ( k=1;k <= ncfft/2 ; ++k ) + { + /*fpk = st->tmpbuf[k]; + fpnk.r = st->tmpbuf[ncfft-k].r; + fpnk.i = - st->tmpbuf[ncfft-k].i; + C_FIXDIV(fpk,2); + C_FIXDIV(fpnk,2); + + C_ADD( f1k, fpk , fpnk ); + C_SUB( f2k, fpk , fpnk ); + + C_MUL( tw , f2k , st->super_twiddles[k]); + + freqdata[2*k-1] = HALF_OF(f1k.r + tw.r); + freqdata[2*k] = HALF_OF(f1k.i + tw.i); + freqdata[2*(ncfft-k)-1] = HALF_OF(f1k.r - tw.r); + freqdata[2*(ncfft-k)] = HALF_OF(tw.i - f1k.i); + */ + + /*f1k.r = PSHR32(ADD32(EXTEND32(st->tmpbuf[k].r), EXTEND32(st->tmpbuf[ncfft-k].r)),1); + f1k.i = PSHR32(SUB32(EXTEND32(st->tmpbuf[k].i), EXTEND32(st->tmpbuf[ncfft-k].i)),1); + f2k.r = PSHR32(SUB32(EXTEND32(st->tmpbuf[k].r), EXTEND32(st->tmpbuf[ncfft-k].r)),1); + f2k.i = SHR32(ADD32(EXTEND32(st->tmpbuf[k].i), EXTEND32(st->tmpbuf[ncfft-k].i)),1); + + C_MUL( tw , f2k , st->super_twiddles[k]); + + freqdata[2*k-1] = HALF_OF(f1k.r + tw.r); + freqdata[2*k] = HALF_OF(f1k.i + tw.i); + freqdata[2*(ncfft-k)-1] = HALF_OF(f1k.r - tw.r); + freqdata[2*(ncfft-k)] = HALF_OF(tw.i - f1k.i); + */ + f2k.r = SHR32(SUB32(EXTEND32(st->tmpbuf[k].r), EXTEND32(st->tmpbuf[ncfft-k].r)),1); + f2k.i = PSHR32(ADD32(EXTEND32(st->tmpbuf[k].i), EXTEND32(st->tmpbuf[ncfft-k].i)),1); + + f1kr = SHL32(ADD32(EXTEND32(st->tmpbuf[k].r), EXTEND32(st->tmpbuf[ncfft-k].r)),13); + f1ki = SHL32(SUB32(EXTEND32(st->tmpbuf[k].i), EXTEND32(st->tmpbuf[ncfft-k].i)),13); + + twr = SHR32(SUB32(MULT16_16(f2k.r,st->super_twiddles[k].r),MULT16_16(f2k.i,st->super_twiddles[k].i)), 1); + twi = SHR32(ADD32(MULT16_16(f2k.i,st->super_twiddles[k].r),MULT16_16(f2k.r,st->super_twiddles[k].i)), 1); + +#ifdef FIXED_POINT + freqdata[2*k-1] = PSHR32(f1kr + twr, 15); + freqdata[2*k] = PSHR32(f1ki + twi, 15); + freqdata[2*(ncfft-k)-1] = PSHR32(f1kr - twr, 15); + freqdata[2*(ncfft-k)] = PSHR32(twi - f1ki, 15); +#else + freqdata[2*k-1] = .5f*(f1kr + twr); + freqdata[2*k] = .5f*(f1ki + twi); + freqdata[2*(ncfft-k)-1] = .5f*(f1kr - twr); + freqdata[2*(ncfft-k)] = .5f*(twi - f1ki); + +#endif + } +} + +void kiss_fftri2(kiss_fftr_cfg st,const kiss_fft_scalar *freqdata,kiss_fft_scalar *timedata) +{ + /* input buffer timedata is stored row-wise */ + int k, ncfft; + + if (st->substate->inverse == 0) { + speex_fatal ("kiss fft usage error: improper alloc\n"); + } + + ncfft = st->substate->nfft; + + st->tmpbuf[0].r = freqdata[0] + freqdata[2*ncfft-1]; + st->tmpbuf[0].i = freqdata[0] - freqdata[2*ncfft-1]; + /*C_FIXDIV(st->tmpbuf[0],2);*/ + + for (k = 1; k <= ncfft / 2; ++k) { + kiss_fft_cpx fk, fnkc, fek, fok, tmp; + fk.r = freqdata[2*k-1]; + fk.i = freqdata[2*k]; + fnkc.r = freqdata[2*(ncfft - k)-1]; + fnkc.i = -freqdata[2*(ncfft - k)]; + /*C_FIXDIV( fk , 2 ); + C_FIXDIV( fnkc , 2 );*/ + + C_ADD (fek, fk, fnkc); + C_SUB (tmp, fk, fnkc); + C_MUL (fok, tmp, st->super_twiddles[k]); + C_ADD (st->tmpbuf[k], fek, fok); + C_SUB (st->tmpbuf[ncfft - k], fek, fok); +#ifdef USE_SIMD + st->tmpbuf[ncfft - k].i *= _mm_set1_ps(-1.0); +#else + st->tmpbuf[ncfft - k].i *= -1; +#endif + } + kiss_fft (st->substate, st->tmpbuf, (kiss_fft_cpx *) timedata); +} Modified: freeswitch/trunk/libs/speex/libspeex/kiss_fftr.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/kiss_fftr.h (original) +++ freeswitch/trunk/libs/speex/libspeex/kiss_fftr.h Fri Feb 13 00:02:32 2009 @@ -32,7 +32,12 @@ output freqdata has nfft/2+1 complex points */ +void kiss_fftr2(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar *freqdata); + void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); + +void kiss_fftri2(kiss_fftr_cfg st,const kiss_fft_scalar *freqdata, kiss_fft_scalar *timedata); + /* input freqdata has nfft/2+1 complex points output timedata has nfft scalar points Modified: freeswitch/trunk/libs/speex/libspeex/lpc.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/lpc.h (original) +++ freeswitch/trunk/libs/speex/libspeex/lpc.h Fri Feb 13 00:02:32 2009 @@ -35,7 +35,7 @@ #ifndef LPC_H #define LPC_H -#include "misc.h" +#include "arch.h" void _spx_autocorr( const spx_word16_t * x, /* in: [0...n-1] samples x */ Modified: freeswitch/trunk/libs/speex/libspeex/lsp.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/lsp.c (original) +++ freeswitch/trunk/libs/speex/libspeex/lsp.c Fri Feb 13 00:02:32 2009 @@ -509,7 +509,7 @@ /* hard limit ak's to +/- 32767 */ - if (a < -32767) a = 32767; + if (a < -32767) a = -32767; if (a > 32767) a = 32767; ak[j-1] = (short)a; Modified: freeswitch/trunk/libs/speex/libspeex/lsp.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/lsp.h (original) +++ freeswitch/trunk/libs/speex/libspeex/lsp.h Fri Feb 13 00:02:32 2009 @@ -51,7 +51,7 @@ #ifndef __AK2LSPD__ #define __AK2LSPD__ -#include "misc.h" +#include "arch.h" int lpc_to_lsp (spx_coef_t *a, int lpcrdr, spx_lsp_t *freq, int nb, spx_word16_t delta, char *stack); void lsp_to_lpc(spx_lsp_t *freq, spx_coef_t *ak, int lpcrdr, char *stack); Modified: freeswitch/trunk/libs/speex/libspeex/ltp.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/ltp.c (original) +++ freeswitch/trunk/libs/speex/libspeex/ltp.c Fri Feb 13 00:02:32 2009 @@ -40,6 +40,7 @@ #include "filters.h" #include #include "math_approx.h" +#include "os_support.h" #ifndef NULL #define NULL 0 @@ -176,20 +177,56 @@ VARDECL(spx_word32_t *best_ener); spx_word32_t e0; VARDECL(spx_word32_t *corr); +#ifdef FIXED_POINT + /* In fixed-point, we need only one (temporary) array of 32-bit values and two (corr16, ener16) + arrays for (normalized) 16-bit values */ + VARDECL(spx_word16_t *corr16); + VARDECL(spx_word16_t *ener16); + spx_word32_t *energy; + int cshift=0, eshift=0; + int scaledown = 0; + ALLOC(corr16, end-start+1, spx_word16_t); + ALLOC(ener16, end-start+1, spx_word16_t); + ALLOC(corr, end-start+1, spx_word32_t); + energy = corr; +#else + /* In floating-point, we need to float arrays and no normalized copies */ VARDECL(spx_word32_t *energy); - + spx_word16_t *corr16; + spx_word16_t *ener16; + ALLOC(energy, end-start+2, spx_word32_t); + ALLOC(corr, end-start+1, spx_word32_t); + corr16 = corr; + ener16 = energy; +#endif + ALLOC(best_score, N, spx_word32_t); ALLOC(best_ener, N, spx_word32_t); - ALLOC(corr, end-start+1, spx_word32_t); - ALLOC(energy, end-start+2, spx_word32_t); - for (i=0;i16383) + { + scaledown=1; + break; + } + } + /* If the weighted input is close to saturation, then we scale it down */ + if (scaledown) + { + for (i=-end;iMULT16_16(best_score[N-1],ADD16(1,ener16[i-start]))) - { - /* We can safely put it last and then check */ - best_score[N-1]=tmp; - best_ener[N-1]=ener16[i-start]+1; - pitch[N-1]=i; - /* Check if it comes in front of others */ - for (j=0;jMULT16_16(best_score[j],ADD16(1,ener16[i-start]))) - { - for (k=N-1;k>j;k--) - { - best_score[k]=best_score[k-1]; - best_ener[k]=best_ener[k-1]; - pitch[k]=pitch[k-1]; - } - best_score[j]=tmp; - best_ener[j]=ener16[i-start]+1; - pitch[j]=i; - break; - } - } - } + for (i=-end;ibest_score[N-1]*(1+energy[i-start])) + spx_word16_t tmp = MULT16_16_16(corr16[i-start],corr16[i-start]); + /* Instead of dividing the tmp by the energy, we multiply on the other side */ + if (MULT16_16(tmp,best_ener[N-1])>MULT16_16(best_score[N-1],ADD16(1,ener16[i-start]))) { - for (j=0;jbest_score[j]*(1+energy[i-start])) + if (MULT16_16(tmp,best_ener[j])>MULT16_16(best_score[j],ADD16(1,ener16[i-start]))) { for (k=N-1;k>j;k--) { @@ -260,29 +280,30 @@ pitch[k]=pitch[k-1]; } best_score[j]=tmp; - best_ener[j]=energy[i-start]+1; + best_ener[j]=ener16[i-start]+1; pitch[j]=i; break; } } } } -#endif - - /* Compute open-loop gain */ + + /* Compute open-loop gain if necessary */ if (gain) { - for (j=0;j=0;i--) { spx_word16_t e0=exc2[-pitch-1+i]; +#ifdef FIXED_POINT + /* Scale excitation down if needed (avoiding overflow) */ + if (scaledown) + e0 = SHR16(e0,1); +#endif x[i][0]=MULT16_16_Q14(r[0], e0); for (j=0;jpitch_bits); speex_bits_pack(bits, 0, params->gain_bits); - for (i=0;i16383) + { + scaledown=1; + break; + } + } + for (i=-end;i16383) + { + scaledown=1; + break; + } + } +#endif if (N>end-start+1) N=end-start+1; if (end != start) @@ -559,16 +617,13 @@ for (i=0;i63) pitch_coef=63; @@ -734,9 +793,11 @@ { exc[i]=MULT16_32_Q15(SHL16(pitch_coef, 9),exc[i-start]); } - syn_percep_zero(exc, ak, awk1, awk2, res, nsf, p, stack); for (i=0;i -#include "misc.h" +#include "arch.h" /** LTP parameters. */ typedef struct { Modified: freeswitch/trunk/libs/speex/libspeex/ltp_arm4.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/ltp_arm4.h (original) +++ freeswitch/trunk/libs/speex/libspeex/ltp_arm4.h Fri Feb 13 00:02:32 2009 @@ -75,9 +75,10 @@ "\tadd %2, %2, %7, asr #5\n" "\tadd %3, %3, %10, asr #5\n" "\tbne .inner_prod_loop%=\n" - : "=r" (deadx), "=r" (deady), "=r" (sum1), "=r" (sum2), "=r" (deadlen), - "=r" (dead1), "=r" (dead2), "=r" (dead3), "=r" (dead4), "=r" (dead5), "=r" (dead6) - : "0" (x), "1" (y), "2" (sum1), "3" (sum2), "4" (len>>3) + : "=r" (deadx), "=r" (deady), "+r" (sum1), "+r" (sum2), + "=r" (deadlen), "=r" (dead1), "=r" (dead2), "=r" (dead3), + "=r" (dead4), "=r" (dead5), "=r" (dead6) + : "0" (x), "1" (y), "4" (len>>3) : "cc" ); return (sum1+sum2)>>1; @@ -169,13 +170,11 @@ "\tstr %6, %13 \n" "\tstr %7, %14 \n" - : "=r" (y0), "=r" (y1), "=r" (y2), "=r" (y3), + : "+r" (y0), "+r" (y1), "+r" (y2), "+r" (y3), "=r" (part1), "=r" (part2), "=r" (part3), "=r" (part4), - "=r" (x), "=r" (y), "=r" (x0), - "=m" (sum1), "=m" (sum2), "=m" (sum3), "=m" (sum4), "=r" (dead1) - : "0" (y0), "1" (y1), "2" (y2), "3" (y3), - "8" (x), "9" (y), - "11" (sum1), "12" (sum2), "13" (sum3), "14" (sum4) + "+r" (x), "+r" (y), "=r" (x0), "+m" (sum1), + "+m" (sum2), "+m" (sum3), "+m" (sum4), "=r" (dead1) + : : "cc", "memory" ); } Modified: freeswitch/trunk/libs/speex/libspeex/ltp_bfin.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/ltp_bfin.h (original) +++ freeswitch/trunk/libs/speex/libspeex/ltp_bfin.h Fri Feb 13 00:02:32 2009 @@ -330,7 +330,6 @@ " %0 = 0;\n\t" /* %0: best_sum */ " %1 = 0;\n\t" /* %1: best_cbdk */ " P1 = 0;\n\t" /* P1: loop counter */ -" R5 = 64;\n\t" /* R5: pitch_control */ " LSETUP (pgs1, pgs2) LC1 = %4;\n\t" "pgs1: R2 = B [P0++] (X);\n\t" /* R2: g[0] */ @@ -339,6 +338,7 @@ " R2 += 32;\n\t" " R3 += 32;\n\t" " R4 += 32;\n\t" +" R4.H = 64;\n\t" /* R4.H: pitch_control */ " R0 = B [P0++] (X);\n\t" " B0 = R0;\n\t" /* BO: gain_sum */ @@ -349,13 +349,13 @@ " A0 = 0;\n\t" " R0.L = W[I1++];\n\t" -" R1.L = R2.L*R5.L (IS);\n\t" +" R1.L = R2.L*R4.H (IS);\n\t" " A0 += R1.L*R0.L (IS) || R0.L = W[I1++];\n\t" -" R1.L = R3.L*R5.L (IS);\n\t" +" R1.L = R3.L*R4.H (IS);\n\t" " A0 += R1.L*R0.L (IS) || R0.L = W[I1++];\n\t" -" R1.L = R4.L*R5.L (IS);\n\t" +" R1.L = R4.L*R4.H (IS);\n\t" " A0 += R1.L*R0.L (IS) || R0.L = W[I1++];\n\t" " R1.L = R2.L*R3.L (IS);\n\t" @@ -406,7 +406,7 @@ : "=&d" (best_sum), "=&d" (best_cdbk) : "a" (gain_cdbk), "a" (C16), "a" (gain_cdbk_size), "a" (max_gain), "b" (-VERY_LARGE32) - : "R0", "R1", "R2", "R3", "R4", "R5", "P0", + : "R0", "R1", "R2", "R3", "R4", "P0", "P1", "I1", "L1", "A0", "B0" #if (__GNUC__ == 4) , "LC1" Modified: freeswitch/trunk/libs/speex/libspeex/math_approx.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/math_approx.h (original) +++ freeswitch/trunk/libs/speex/libspeex/math_approx.h Fri Feb 13 00:02:32 2009 @@ -35,16 +35,298 @@ #ifndef MATH_APPROX_H #define MATH_APPROX_H -#include "misc.h" +#include "arch.h" -spx_word16_t spx_cos(spx_word16_t x); +#ifndef FIXED_POINT -#ifdef FIXED_POINT -spx_word16_t spx_sqrt(spx_word32_t x); -spx_word16_t spx_acos(spx_word16_t x); -#else #define spx_sqrt sqrt #define spx_acos acos +#define spx_exp exp +#define spx_cos_norm(x) (cos((.5f*M_PI)*(x))) +#define spx_atan atan + +/** Generate a pseudo-random number */ +static inline spx_word16_t speex_rand(spx_word16_t std, spx_int32_t *seed) +{ + const unsigned int jflone = 0x3f800000; + const unsigned int jflmsk = 0x007fffff; + union {int i; float f;} ran; + *seed = 1664525 * *seed + 1013904223; + ran.i = jflone | (jflmsk & *seed); + ran.f -= 1.5; + return 3.4642*std*ran.f; +} + + #endif + +static inline spx_int16_t spx_ilog2(spx_uint32_t x) +{ + int r=0; + if (x>=(spx_int32_t)65536) + { + x >>= 16; + r += 16; + } + if (x>=256) + { + x >>= 8; + r += 8; + } + if (x>=16) + { + x >>= 4; + r += 4; + } + if (x>=4) + { + x >>= 2; + r += 2; + } + if (x>=2) + { + r += 1; + } + return r; +} + +static inline spx_int16_t spx_ilog4(spx_uint32_t x) +{ + int r=0; + if (x>=(spx_int32_t)65536) + { + x >>= 16; + r += 8; + } + if (x>=256) + { + x >>= 8; + r += 4; + } + if (x>=16) + { + x >>= 4; + r += 2; + } + if (x>=4) + { + r += 1; + } + return r; +} + +#ifdef FIXED_POINT + +/** Generate a pseudo-random number */ +static inline spx_word16_t speex_rand(spx_word16_t std, spx_int32_t *seed) +{ + spx_word32_t res; + *seed = 1664525 * *seed + 1013904223; + res = MULT16_16(EXTRACT16(SHR32(*seed,16)),std); + return EXTRACT16(PSHR32(SUB32(res, SHR32(res, 3)),14)); +} + +/* sqrt(x) ~= 0.22178 + 1.29227*x - 0.77070*x^2 + 0.25723*x^3 (for .25 < x < 1) */ +/*#define C0 3634 +#define C1 21173 +#define C2 -12627 +#define C3 4215*/ + +/* sqrt(x) ~= 0.22178 + 1.29227*x - 0.77070*x^2 + 0.25659*x^3 (for .25 < x < 1) */ +#define C0 3634 +#define C1 21173 +#define C2 -12627 +#define C3 4204 + +static inline spx_word16_t spx_sqrt(spx_word32_t x) +{ + int k; + spx_word32_t rt; + k = spx_ilog4(x)-6; + x = VSHR32(x, (k<<1)); + rt = ADD16(C0, MULT16_16_Q14(x, ADD16(C1, MULT16_16_Q14(x, ADD16(C2, MULT16_16_Q14(x, (C3))))))); + rt = VSHR32(rt,7-k); + return rt; +} + +/* log(x) ~= -2.18151 + 4.20592*x - 2.88938*x^2 + 0.86535*x^3 (for .5 < x < 1) */ + + +#define A1 16469 +#define A2 2242 +#define A3 1486 + +static inline spx_word16_t spx_acos(spx_word16_t x) +{ + int s=0; + spx_word16_t ret; + spx_word16_t sq; + if (x<0) + { + s=1; + x = NEG16(x); + } + x = SUB16(16384,x); + + x = x >> 1; + sq = MULT16_16_Q13(x, ADD16(A1, MULT16_16_Q13(x, ADD16(A2, MULT16_16_Q13(x, (A3)))))); + ret = spx_sqrt(SHL32(EXTEND32(sq),13)); + + /*ret = spx_sqrt(67108864*(-1.6129e-04 + 2.0104e+00*f + 2.7373e-01*f*f + 1.8136e-01*f*f*f));*/ + if (s) + ret = SUB16(25736,ret); + return ret; +} + + +#define K1 8192 +#define K2 -4096 +#define K3 340 +#define K4 -10 + +static inline spx_word16_t spx_cos(spx_word16_t x) +{ + spx_word16_t x2; + + if (x<12868) + { + x2 = MULT16_16_P13(x,x); + return ADD32(K1, MULT16_16_P13(x2, ADD32(K2, MULT16_16_P13(x2, ADD32(K3, MULT16_16_P13(K4, x2)))))); + } else { + x = SUB16(25736,x); + x2 = MULT16_16_P13(x,x); + return SUB32(-K1, MULT16_16_P13(x2, ADD32(K2, MULT16_16_P13(x2, ADD32(K3, MULT16_16_P13(K4, x2)))))); + } +} + +#define L1 32767 +#define L2 -7651 +#define L3 8277 +#define L4 -626 + +static inline spx_word16_t _spx_cos_pi_2(spx_word16_t x) +{ + spx_word16_t x2; + + x2 = MULT16_16_P15(x,x); + return ADD16(1,MIN16(32766,ADD32(SUB16(L1,x2), MULT16_16_P15(x2, ADD32(L2, MULT16_16_P15(x2, ADD32(L3, MULT16_16_P15(L4, x2)))))))); +} + +static inline spx_word16_t spx_cos_norm(spx_word32_t x) +{ + x = x&0x0001ffff; + if (x>SHL32(EXTEND32(1), 16)) + x = SUB32(SHL32(EXTEND32(1), 17),x); + if (x&0x00007fff) + { + if (x14) + return 0x7fffffff; + else if (integer < -15) + return 0; + frac = SHL16(x-SHL16(integer,11),3); + frac = ADD16(D0, MULT16_16_Q14(frac, ADD16(D1, MULT16_16_Q14(frac, ADD16(D2 , MULT16_16_Q14(D3,frac)))))); + return VSHR32(EXTEND32(frac), -integer-2); +} + +/* Input in Q11 format, output in Q16 */ +static inline spx_word32_t spx_exp(spx_word16_t x) +{ + if (x>21290) + return 0x7fffffff; + else if (x<-21290) + return 0; + else + return spx_exp2(MULT16_16_P14(23637,x)); +} +#define M1 32767 +#define M2 -21 +#define M3 -11943 +#define M4 4936 + +static inline spx_word16_t spx_atan01(spx_word16_t x) +{ + return MULT16_16_P15(x, ADD32(M1, MULT16_16_P15(x, ADD32(M2, MULT16_16_P15(x, ADD32(M3, MULT16_16_P15(M4, x))))))); +} + +#undef M1 +#undef M2 +#undef M3 +#undef M4 + +/* Input in Q15, output in Q14 */ +static inline spx_word16_t spx_atan(spx_word32_t x) +{ + if (x <= 32767) + { + return SHR16(spx_atan01(x),1); + } else { + int e = spx_ilog2(x); + if (e>=29) + return 25736; + x = DIV32_16(SHL32(EXTEND32(32767),29-e), EXTRACT16(SHR32(x, e-14))); + return SUB16(25736, SHR16(spx_atan01(x),1)); + } +} +#else + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + +#define C1 0.9999932946f +#define C2 -0.4999124376f +#define C3 0.0414877472f +#define C4 -0.0012712095f + + +#define SPX_PI_2 1.5707963268 +static inline spx_word16_t spx_cos(spx_word16_t x) +{ + if (x(b) ? (a) : (b)) - #ifdef FIXED_POINT #define WEIGHT_SHIFT 11 #define NORMALIZE_SCALEDOWN 5 @@ -90,19 +88,46 @@ #define WEIGHT_SHIFT 0 #endif -/* If enabled, the transition between blocks is smooth, so there isn't any blocking -aftifact when adapting. The cost is an extra FFT and a matrix-vector multiply */ -#define SMOOTH_BLOCKS +#ifdef FIXED_POINT +#define WORD2INT(x) ((x) < -32767 ? -32768 : ((x) > 32766 ? 32767 : (x))) +#else +#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x)))) +#endif + +/* If enabled, the AEC will use a foreground filter and a background filter to be more robust to double-talk + and difficult signals in general. The cost is an extra FFT and a matrix-vector multiply */ +#define TWO_PATH #ifdef FIXED_POINT -static const spx_float_t MIN_LEAK = {16777, -19}; +static const spx_float_t MIN_LEAK = {20972, -22}; + +/* Constants for the two-path filter */ +static const spx_float_t VAR1_SMOOTH = {23593, -16}; +static const spx_float_t VAR2_SMOOTH = {23675, -15}; +static const spx_float_t VAR1_UPDATE = {16384, -15}; +static const spx_float_t VAR2_UPDATE = {16384, -16}; +static const spx_float_t VAR_BACKTRACK = {16384, -12}; #define TOP16(x) ((x)>>16) + #else -static const spx_float_t MIN_LEAK = .032f; + +static const spx_float_t MIN_LEAK = .005f; + +/* Constants for the two-path filter */ +static const spx_float_t VAR1_SMOOTH = .36f; +static const spx_float_t VAR2_SMOOTH = .7225f; +static const spx_float_t VAR1_UPDATE = .5f; +static const spx_float_t VAR2_UPDATE = .25f; +static const spx_float_t VAR_BACKTRACK = 4.f; #define TOP16(x) (x) #endif +#define PLAYBACK_DELAY 2 + +void speex_echo_get_residual(SpeexEchoState *st, spx_word32_t *Yout, int len); + + /** Speex echo cancellation state. */ struct SpeexEchoState_ { int frame_size; /**< Number of samples processed each time */ @@ -111,49 +136,61 @@ int cancel_count; int adapted; int saturated; + int screwed_up; + int C; /** Number of input channels (microphones) */ + int K; /** Number of output channels (loudspeakers) */ spx_int32_t sampling_rate; spx_word16_t spec_average; spx_word16_t beta0; spx_word16_t beta_max; spx_word32_t sum_adapt; - spx_word16_t *e; - spx_word16_t *x; - spx_word16_t *X; - spx_word16_t *d; - spx_word16_t *y; + spx_word16_t leak_estimate; + + spx_word16_t *e; /* scratch */ + spx_word16_t *x; /* Far-end input buffer (2N) */ + spx_word16_t *X; /* Far-end buffer (M+1 frames) in frequency domain */ + spx_word16_t *input; /* scratch */ + spx_word16_t *y; /* scratch */ spx_word16_t *last_y; - spx_word32_t *Yps; - spx_word16_t *Y; + spx_word16_t *Y; /* scratch */ spx_word16_t *E; - spx_word32_t *PHI; - spx_word32_t *W; - spx_word32_t *power; - spx_float_t *power_1; - spx_word16_t *wtmp; -#ifdef FIXED_POINT - spx_word16_t *wtmp2; -#endif - spx_word32_t *Rf; - spx_word32_t *Yf; - spx_word32_t *Xf; + spx_word32_t *PHI; /* scratch */ + spx_word32_t *W; /* (Background) filter weights */ +#ifdef TWO_PATH + spx_word16_t *foreground; /* Foreground filter weights */ + spx_word32_t Davg1; /* 1st recursive average of the residual power difference */ + spx_word32_t Davg2; /* 2nd recursive average of the residual power difference */ + spx_float_t Dvar1; /* Estimated variance of 1st estimator */ + spx_float_t Dvar2; /* Estimated variance of 2nd estimator */ +#endif + spx_word32_t *power; /* Power of the far-end signal */ + spx_float_t *power_1;/* Inverse power of far-end */ + spx_word16_t *wtmp; /* scratch */ +#ifdef FIXED_POINT + spx_word16_t *wtmp2; /* scratch */ +#endif + spx_word32_t *Rf; /* scratch */ + spx_word32_t *Yf; /* scratch */ + spx_word32_t *Xf; /* scratch */ spx_word32_t *Eh; spx_word32_t *Yh; - spx_float_t Pey; - spx_float_t Pyy; + spx_float_t Pey; + spx_float_t Pyy; spx_word16_t *window; spx_word16_t *prop; void *fft_table; - spx_word16_t memX, memD, memE; + spx_word16_t *memX, *memD, *memE; spx_word16_t preemph; spx_word16_t notch_radius; - spx_mem_t notch_mem[2]; + spx_mem_t *notch_mem; /* NOTE: If you only use speex_echo_cancel() and want to save some memory, remove this */ spx_int16_t *play_buf; int play_buf_pos; + int play_buf_started; }; -static inline void filter_dc_notch16(const spx_int16_t *in, spx_word16_t radius, spx_word16_t *out, int len, spx_mem_t *mem) +static inline void filter_dc_notch16(const spx_int16_t *in, spx_word16_t radius, spx_word16_t *out, int len, spx_mem_t *mem, int stride) { int i; spx_word16_t den2; @@ -165,7 +202,7 @@ /*printf ("%d %d %d %d %d %d\n", num[0], num[1], num[2], den[0], den[1], den[2]);*/ for (i=0;i max_sum) + max_sum = prop[i]; + } + for (i=0;i +static FILE *rFile=NULL, *pFile=NULL, *oFile=NULL; + +static void dump_audio(const spx_int16_t *rec, const spx_int16_t *play, const spx_int16_t *out, int len) +{ + if (!(rFile && pFile && oFile)) + { + speex_fatal("Dump files not open"); + } + fwrite(rec, sizeof(spx_int16_t), len, rFile); + fwrite(play, sizeof(spx_int16_t), len, pFile); + fwrite(out, sizeof(spx_int16_t), len, oFile); +} +#endif /** Creates a new echo canceller state */ -SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length) +EXPORT SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length) { - int i,N,M; + return speex_echo_state_init_mc(frame_size, filter_length, 1, 1); +} + +EXPORT SpeexEchoState *speex_echo_state_init_mc(int frame_size, int filter_length, int nb_mic, int nb_speakers) +{ + int i,N,M, C, K; SpeexEchoState *st = (SpeexEchoState *)speex_alloc(sizeof(SpeexEchoState)); + st->K = nb_speakers; + st->C = nb_mic; + C=st->C; + K=st->K; +#ifdef DUMP_ECHO_CANCEL_DATA + if (rFile || pFile || oFile) + speex_fatal("Opening dump files twice"); + rFile = fopen("aec_rec.sw", "wb"); + pFile = fopen("aec_play.sw", "wb"); + oFile = fopen("aec_out.sw", "wb"); +#endif + st->frame_size = frame_size; st->window_size = 2*frame_size; N = st->window_size; @@ -281,7 +428,8 @@ st->cancel_count=0; st->sum_adapt = 0; st->saturated = 0; - /* FIXME: Make that an init option (new API call?) */ + st->screwed_up = 0; + /* This is the default sampling rate */ st->sampling_rate = 8000; st->spec_average = DIV32_16(SHL32(EXTEND32(st->frame_size), 15), st->sampling_rate); #ifdef FIXED_POINT @@ -291,25 +439,28 @@ st->beta0 = (2.0f*st->frame_size)/st->sampling_rate; st->beta_max = (.5f*st->frame_size)/st->sampling_rate; #endif + st->leak_estimate = 0; st->fft_table = spx_fft_init(N); - st->e = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->x = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->d = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->y = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->Yps = (spx_word32_t*)speex_alloc(N*sizeof(spx_word32_t)); - st->last_y = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); + st->e = (spx_word16_t*)speex_alloc(C*N*sizeof(spx_word16_t)); + st->x = (spx_word16_t*)speex_alloc(K*N*sizeof(spx_word16_t)); + st->input = (spx_word16_t*)speex_alloc(C*st->frame_size*sizeof(spx_word16_t)); + st->y = (spx_word16_t*)speex_alloc(C*N*sizeof(spx_word16_t)); + st->last_y = (spx_word16_t*)speex_alloc(C*N*sizeof(spx_word16_t)); st->Yf = (spx_word32_t*)speex_alloc((st->frame_size+1)*sizeof(spx_word32_t)); st->Rf = (spx_word32_t*)speex_alloc((st->frame_size+1)*sizeof(spx_word32_t)); st->Xf = (spx_word32_t*)speex_alloc((st->frame_size+1)*sizeof(spx_word32_t)); st->Yh = (spx_word32_t*)speex_alloc((st->frame_size+1)*sizeof(spx_word32_t)); st->Eh = (spx_word32_t*)speex_alloc((st->frame_size+1)*sizeof(spx_word32_t)); - st->X = (spx_word16_t*)speex_alloc((M+1)*N*sizeof(spx_word16_t)); - st->Y = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->E = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t)); - st->W = (spx_word32_t*)speex_alloc(M*N*sizeof(spx_word32_t)); + st->X = (spx_word16_t*)speex_alloc(K*(M+1)*N*sizeof(spx_word16_t)); + st->Y = (spx_word16_t*)speex_alloc(C*N*sizeof(spx_word16_t)); + st->E = (spx_word16_t*)speex_alloc(C*N*sizeof(spx_word16_t)); + st->W = (spx_word32_t*)speex_alloc(C*K*M*N*sizeof(spx_word32_t)); +#ifdef TWO_PATH + st->foreground = (spx_word16_t*)speex_alloc(M*N*C*K*sizeof(spx_word16_t)); +#endif st->PHI = (spx_word32_t*)speex_alloc(N*sizeof(spx_word32_t)); st->power = (spx_word32_t*)speex_alloc((frame_size+1)*sizeof(spx_word32_t)); st->power_1 = (spx_float_t*)speex_alloc((frame_size+1)*sizeof(spx_float_t)); @@ -329,14 +480,12 @@ #endif for (i=0;i<=st->frame_size;i++) st->power_1[i] = FLOAT_ONE; - for (i=0;iW[i] = 0; - for (i=0;iPHI[i] = 0; { spx_word32_t sum = 0; /* Ratio of ~10 between adaptation rate of first and last block */ - spx_word16_t decay = QCONST16(exp(-2.4/M),15); + spx_word16_t decay = SHR32(spx_exp(NEG16(DIV32_16(QCONST16(2.4,11),M))),1); st->prop[0] = QCONST16(.7, 15); sum = EXTEND32(st->prop[0]); for (i=1;i=0;i--) { - st->prop[i] = DIV32(MULT16_16(QCONST16(.8,15), st->prop[i]),sum); + st->prop[i] = DIV32(MULT16_16(QCONST16(.8f,15), st->prop[i]),sum); } } - st->memX=st->memD=st->memE=0; + st->memX = (spx_word16_t*)speex_alloc(K*sizeof(spx_word16_t)); + st->memD = (spx_word16_t*)speex_alloc(C*sizeof(spx_word16_t)); + st->memE = (spx_word16_t*)speex_alloc(C*sizeof(spx_word16_t)); st->preemph = QCONST16(.9,15); if (st->sampling_rate<12000) st->notch_radius = QCONST16(.9, 15); @@ -359,52 +510,91 @@ else st->notch_radius = QCONST16(.992, 15); - st->notch_mem[0] = st->notch_mem[1] = 0; + st->notch_mem = (spx_mem_t*)speex_alloc(2*C*sizeof(spx_mem_t)); st->adapted = 0; st->Pey = st->Pyy = FLOAT_ONE; - st->play_buf = (spx_int16_t*)speex_alloc(2*st->frame_size*sizeof(spx_int16_t)); - st->play_buf_pos = 0; - +#ifdef TWO_PATH + st->Davg1 = st->Davg2 = 0; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; +#endif + + st->play_buf = (spx_int16_t*)speex_alloc(K*(PLAYBACK_DELAY+1)*st->frame_size*sizeof(spx_int16_t)); + st->play_buf_pos = PLAYBACK_DELAY*st->frame_size; + st->play_buf_started = 0; + return st; } /** Resets echo canceller state */ -void speex_echo_state_reset(SpeexEchoState *st) +EXPORT void speex_echo_state_reset(SpeexEchoState *st) { - int i, M, N; + int i, M, N, C, K; st->cancel_count=0; + st->screwed_up = 0; N = st->window_size; M = st->M; + C=st->C; + K=st->K; for (i=0;iW[i] = 0; +#ifdef TWO_PATH + for (i=0;iforeground[i] = 0; +#endif for (i=0;iX[i] = 0; for (i=0;i<=st->frame_size;i++) + { st->power[i] = 0; - for (i=0;ipower_1[i] = FLOAT_ONE; + st->Eh[i] = 0; + st->Yh[i] = 0; + } + for (i=0;iframe_size;i++) + { + st->last_y[i] = 0; + } + for (i=0;iE[i] = 0; - st->notch_mem[0] = st->notch_mem[1] = 0; - + } + for (i=0;ix[i] = 0; + } + for (i=0;i<2*C;i++) + st->notch_mem[i] = 0; + for (i=0;imemD[i]=st->memE[i]=0; + for (i=0;imemX[i]=0; + st->saturated = 0; st->adapted = 0; st->sum_adapt = 0; st->Pey = st->Pyy = FLOAT_ONE; - st->play_buf_pos = 0; +#ifdef TWO_PATH + st->Davg1 = st->Davg2 = 0; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; +#endif + for (i=0;i<3*st->frame_size;i++) + st->play_buf[i] = 0; + st->play_buf_pos = PLAYBACK_DELAY*st->frame_size; + st->play_buf_started = 0; } /** Destroys an echo canceller state */ -void speex_echo_state_destroy(SpeexEchoState *st) +EXPORT void speex_echo_state_destroy(SpeexEchoState *st) { spx_fft_destroy(st->fft_table); speex_free(st->e); speex_free(st->x); - speex_free(st->d); + speex_free(st->input); speex_free(st->y); speex_free(st->last_y); - speex_free(st->Yps); speex_free(st->Yf); speex_free(st->Rf); speex_free(st->Xf); @@ -415,6 +605,9 @@ speex_free(st->Y); speex_free(st->E); speex_free(st->W); +#ifdef TWO_PATH + speex_free(st->foreground); +#endif speex_free(st->PHI); speex_free(st->power); speex_free(st->power_1); @@ -424,21 +617,35 @@ #ifdef FIXED_POINT speex_free(st->wtmp2); #endif + speex_free(st->memX); + speex_free(st->memD); + speex_free(st->memE); + speex_free(st->notch_mem); + speex_free(st->play_buf); speex_free(st); + +#ifdef DUMP_ECHO_CANCEL_DATA + fclose(rFile); + fclose(pFile); + fclose(oFile); + rFile = pFile = oFile = NULL; +#endif } -void speex_echo_capture(SpeexEchoState *st, const spx_int16_t *rec, spx_int16_t *out, spx_int32_t *Yout) +EXPORT void speex_echo_capture(SpeexEchoState *st, const spx_int16_t *rec, spx_int16_t *out) { int i; + /*speex_warning_int("capture with fill level ", st->play_buf_pos/st->frame_size);*/ + st->play_buf_started = 1; if (st->play_buf_pos>=st->frame_size) { - speex_echo_cancel(st, rec, st->play_buf, out, Yout); + speex_echo_cancellation(st, rec, st->play_buf, out); st->play_buf_pos -= st->frame_size; - for (i=0;iframe_size;i++) + for (i=0;iplay_buf_pos;i++) st->play_buf[i] = st->play_buf[i+st->frame_size]; } else { - speex_warning("no playback frame available"); + speex_warning("No playback frame available (your application is buggy and/or got xruns)"); if (st->play_buf_pos!=0) { speex_warning("internal playback buffer corruption?"); @@ -449,27 +656,49 @@ } } -void speex_echo_playback(SpeexEchoState *st, const spx_int16_t *play) +EXPORT void speex_echo_playback(SpeexEchoState *st, const spx_int16_t *play) { - if (st->play_buf_pos<=st->frame_size) + /*speex_warning_int("playback with fill level ", st->play_buf_pos/st->frame_size);*/ + if (!st->play_buf_started) + { + speex_warning("discarded first playback frame"); + return; + } + if (st->play_buf_pos<=PLAYBACK_DELAY*st->frame_size) { int i; for (i=0;iframe_size;i++) st->play_buf[st->play_buf_pos+i] = play[i]; st->play_buf_pos += st->frame_size; + if (st->play_buf_pos <= (PLAYBACK_DELAY-1)*st->frame_size) + { + speex_warning("Auto-filling the buffer (your application is buggy and/or got xruns)"); + for (i=0;iframe_size;i++) + st->play_buf[st->play_buf_pos+i] = play[i]; + st->play_buf_pos += st->frame_size; + } } else { - speex_warning("had to discard a playback frame"); + speex_warning("Had to discard a playback frame (your application is buggy and/or got xruns)"); } } +/** Performs echo cancellation on a frame (deprecated, last arg now ignored) */ +EXPORT void speex_echo_cancel(SpeexEchoState *st, const spx_int16_t *in, const spx_int16_t *far_end, spx_int16_t *out, spx_int32_t *Yout) +{ + speex_echo_cancellation(st, in, far_end, out); +} + /** Performs echo cancellation on a frame */ -void speex_echo_cancel(SpeexEchoState *st, const spx_int16_t *ref, const spx_int16_t *echo, spx_int16_t *out, spx_int32_t *Yout) +EXPORT void speex_echo_cancellation(SpeexEchoState *st, const spx_int16_t *in, const spx_int16_t *far_end, spx_int16_t *out) { - int i,j; - int N,M; - spx_word32_t Syy,See,Sxx; + int i,j, chan, speak; + int N,M, C, K; + spx_word32_t Syy,See,Sxx,Sdd, Sff; +#ifdef TWO_PATH + spx_word32_t Dbf; + int update_foreground; +#endif spx_word32_t Sey; - spx_word16_t leak_estimate; spx_word16_t ss, ss_1; spx_float_t Pey = FLOAT_ONE, Pyy=FLOAT_ONE; spx_float_t alpha, alpha_1; @@ -478,6 +707,9 @@ N = st->window_size; M = st->M; + C = st->C; + K = st->K; + st->cancel_count++; #ifdef FIXED_POINT ss=DIV32_16(11469,M); @@ -487,187 +719,342 @@ ss_1 = 1-ss; #endif - filter_dc_notch16(ref, st->notch_radius, st->d, st->frame_size, st->notch_mem); - /* Copy input data to buffer */ - for (i=0;iframe_size;i++) + for (chan = 0; chan < C; chan++) { - spx_word16_t tmp; - spx_word32_t tmp32; - st->x[i] = st->x[i+st->frame_size]; - tmp32 = SUB32(EXTEND32(echo[i]), EXTEND32(MULT16_16_P15(st->preemph, st->memX))); -#ifdef FIXED_POINT - /*FIXME: If saturation occurs here, we need to freeze adaptation for M frames (not just one) */ - if (tmp32 > 32767) - { - tmp32 = 32767; - st->saturated = 1; - } - if (tmp32 < -32767) - { - tmp32 = -32767; - st->saturated = 1; - } -#endif - st->x[i+st->frame_size] = EXTRACT16(tmp32); - st->memX = echo[i]; - - tmp = st->d[i]; - st->d[i] = st->d[i+st->frame_size]; - tmp32 = SUB32(EXTEND32(tmp), EXTEND32(MULT16_16_P15(st->preemph, st->memD))); -#ifdef FIXED_POINT - if (tmp32 > 32767) - { - tmp32 = 32767; - st->saturated = 1; - } - if (tmp32 < -32767) + /* Apply a notch filter to make sure DC doesn't end up causing problems */ + filter_dc_notch16(in+chan, st->notch_radius, st->input+chan*st->frame_size, st->frame_size, st->notch_mem+2*chan, C); + /* Copy input data to buffer and apply pre-emphasis */ + /* Copy input data to buffer */ + for (i=0;iframe_size;i++) { - tmp32 = -32767; - st->saturated = 1; - } + spx_word32_t tmp32; + /* FIXME: This core has changed a bit, need to merge properly */ + tmp32 = SUB32(EXTEND32(st->input[chan*st->frame_size+i]), EXTEND32(MULT16_16_P15(st->preemph, st->memD[chan]))); +#ifdef FIXED_POINT + if (tmp32 > 32767) + { + tmp32 = 32767; + if (st->saturated == 0) + st->saturated = 1; + } + if (tmp32 < -32767) + { + tmp32 = -32767; + if (st->saturated == 0) + st->saturated = 1; + } #endif - st->d[i+st->frame_size] = tmp32; - st->memD = tmp; + st->memD[chan] = st->input[chan*st->frame_size+i]; + st->input[chan*st->frame_size+i] = EXTRACT16(tmp32); + } } - /* Shift memory: this could be optimized eventually*/ - for (j=M-1;j>=0;j--) + for (speak = 0; speak < K; speak++) { - for (i=0;iX[(j+1)*N+i] = st->X[j*N+i]; - } - - /* Convert x (echo input) to frequency domain */ - spx_fft(st->fft_table, st->x, &st->X[0]); - -#ifdef SMOOTH_BLOCKS - spectral_mul_accum(st->X, st->W, st->Y, N, M); - spx_ifft(st->fft_table, st->Y, st->e); + for (i=0;iframe_size;i++) + { + spx_word32_t tmp32; + st->x[speak*N+i] = st->x[speak*N+i+st->frame_size]; + tmp32 = SUB32(EXTEND32(far_end[i*K+speak]), EXTEND32(MULT16_16_P15(st->preemph, st->memX[speak]))); +#ifdef FIXED_POINT + /*FIXME: If saturation occurs here, we need to freeze adaptation for M frames (not just one) */ + if (tmp32 > 32767) + { + tmp32 = 32767; + st->saturated = M+1; + } + if (tmp32 < -32767) + { + tmp32 = -32767; + st->saturated = M+1; + } #endif - - /* Compute weight gradient */ - if (!st->saturated) + st->x[speak*N+i+st->frame_size] = EXTRACT16(tmp32); + st->memX[speak] = far_end[i*K+speak]; + } + } + + for (speak = 0; speak < K; speak++) { + /* Shift memory: this could be optimized eventually*/ for (j=M-1;j>=0;j--) { - weighted_spectral_mul_conj(st->power_1, &st->X[(j+1)*N], st->E, st->PHI, N); for (i=0;iW[j*N+i] += MULT16_32_Q15(st->prop[j], st->PHI[i]); - - } + st->X[(j+1)*N*K+speak*N+i] = st->X[j*N*K+speak*N+i]; + } + /* Convert x (echo input) to frequency domain */ + spx_fft(st->fft_table, st->x+speak*N, &st->X[speak*N]); } - st->saturated = 0; + Sxx = 0; + for (speak = 0; speak < K; speak++) + { + Sxx += mdf_inner_prod(st->x+speak*N+st->frame_size, st->x+speak*N+st->frame_size, st->frame_size); + power_spectrum_accum(st->X+speak*N, st->Xf, N); + } - /* Update weight to prevent circular convolution (MDF / AUMDF) */ - for (j=0;jcancel_count%(M-1) == j-1) +#ifdef TWO_PATH + /* Compute foreground filter */ + spectral_mul_accum16(st->X, st->foreground+chan*N*K*M, st->Y+chan*N, N, M*K); + spx_ifft(st->fft_table, st->Y+chan*N, st->e+chan*N); + for (i=0;iframe_size;i++) + st->e[chan*N+i] = SUB16(st->input[chan*st->frame_size+i], st->e[chan*N+i+st->frame_size]); + Sff += mdf_inner_prod(st->e+chan*N, st->e+chan*N, st->frame_size); +#endif + } + + /* Adjust proportional adaption rate */ + /* FIXME: Adjust that for C, K*/ + if (st->adapted) + mdf_adjust_prop (st->W, N, M, C*K, st->prop); + /* Compute weight gradient */ + if (st->saturated == 0) + { + for (chan = 0; chan < C; chan++) { -#ifdef FIXED_POINT - for (i=0;iwtmp2[i] = EXTRACT16(PSHR32(st->W[j*N+i],NORMALIZE_SCALEDOWN+16)); - spx_ifft(st->fft_table, st->wtmp2, st->wtmp); - for (i=0;iframe_size;i++) + for (speak = 0; speak < K; speak++) { - st->wtmp[i]=0; + for (j=M-1;j>=0;j--) + { + weighted_spectral_mul_conj(st->power_1, FLOAT_SHL(PSEUDOFLOAT(st->prop[j]),-15), &st->X[(j+1)*N*K+speak*N], st->E+chan*N, st->PHI, N); + for (i=0;iW[chan*N*K*M + j*N*K + speak*N + i] += st->PHI[i]; + } } - for (i=st->frame_size;isaturated--; + } + + /* FIXME: MC conversion required */ + /* Update weight to prevent circular convolution (MDF / AUMDF) */ + for (chan = 0; chan < C; chan++) + { + for (speak = 0; speak < K; speak++) + { + for (j=0;jwtmp[i]=SHL16(st->wtmp[i],NORMALIZE_SCALEUP); - } - spx_fft(st->fft_table, st->wtmp, st->wtmp2); - /* The "-1" in the shift is a sort of kludge that trades less efficient update speed for decrease noise */ - for (i=0;iW[j*N+i] -= SHL32(EXTEND32(st->wtmp2[i]),16+NORMALIZE_SCALEDOWN-NORMALIZE_SCALEUP-1); + /* This is a variant of the Alternatively Updated MDF (AUMDF) */ + /* Remove the "if" to make this an MDF filter */ + if (j==0 || st->cancel_count%(M-1) == j-1) + { +#ifdef FIXED_POINT + for (i=0;iwtmp2[i] = EXTRACT16(PSHR32(st->W[chan*N*K*M + j*N*K + speak*N + i],NORMALIZE_SCALEDOWN+16)); + spx_ifft(st->fft_table, st->wtmp2, st->wtmp); + for (i=0;iframe_size;i++) + { + st->wtmp[i]=0; + } + for (i=st->frame_size;iwtmp[i]=SHL16(st->wtmp[i],NORMALIZE_SCALEUP); + } + spx_fft(st->fft_table, st->wtmp, st->wtmp2); + /* The "-1" in the shift is a sort of kludge that trades less efficient update speed for decrease noise */ + for (i=0;iW[chan*N*K*M + j*N*K + speak*N + i] -= SHL32(EXTEND32(st->wtmp2[i]),16+NORMALIZE_SCALEDOWN-NORMALIZE_SCALEUP-1); #else - spx_ifft(st->fft_table, &st->W[j*N], st->wtmp); - for (i=st->frame_size;iwtmp[i]=0; - } - spx_fft(st->fft_table, st->wtmp, &st->W[j*N]); + spx_ifft(st->fft_table, &st->W[chan*N*K*M + j*N*K + speak*N], st->wtmp); + for (i=st->frame_size;iwtmp[i]=0; + } + spx_fft(st->fft_table, st->wtmp, &st->W[chan*N*K*M + j*N*K + speak*N]); #endif + } + } } } + + /* So we can use power_spectrum_accum */ + for (i=0;i<=st->frame_size;i++) + st->Rf[i] = st->Yf[i] = st->Xf[i] = 0; + + Dbf = 0; + See = 0; +#ifdef TWO_PATH + /* Difference in response, this is used to estimate the variance of our residual power estimate */ + for (chan = 0; chan < C; chan++) + { + spectral_mul_accum(st->X, st->W+chan*N*K*M, st->Y+chan*N, N, M*K); + spx_ifft(st->fft_table, st->Y+chan*N, st->y+chan*N); + for (i=0;iframe_size;i++) + st->e[chan*N+i] = SUB16(st->e[chan*N+i+st->frame_size], st->y[chan*N+i+st->frame_size]); + Dbf += 10+mdf_inner_prod(st->e+chan*N, st->e+chan*N, st->frame_size); + for (i=0;iframe_size;i++) + st->e[chan*N+i] = SUB16(st->input[chan*st->frame_size+i], st->y[chan*N+i+st->frame_size]); + See += mdf_inner_prod(st->e+chan*N, st->e+chan*N, st->frame_size); + } +#endif - /* Compute filter response Y */ - spectral_mul_accum(st->X, st->W, st->Y, N, M); - spx_ifft(st->fft_table, st->Y, st->y); +#ifndef TWO_PATH + Sff = See; +#endif +#ifdef TWO_PATH + /* Logic for updating the foreground filter */ - /* Compute error signal (for the output with de-emphasis) */ - for (i=0;iframe_size;i++) + /* For two time windows, compute the mean of the energy difference, as well as the variance */ + st->Davg1 = ADD32(MULT16_32_Q15(QCONST16(.6f,15),st->Davg1), MULT16_32_Q15(QCONST16(.4f,15),SUB32(Sff,See))); + st->Davg2 = ADD32(MULT16_32_Q15(QCONST16(.85f,15),st->Davg2), MULT16_32_Q15(QCONST16(.15f,15),SUB32(Sff,See))); + st->Dvar1 = FLOAT_ADD(FLOAT_MULT(VAR1_SMOOTH, st->Dvar1), FLOAT_MUL32U(MULT16_32_Q15(QCONST16(.4f,15),Sff), MULT16_32_Q15(QCONST16(.4f,15),Dbf))); + st->Dvar2 = FLOAT_ADD(FLOAT_MULT(VAR2_SMOOTH, st->Dvar2), FLOAT_MUL32U(MULT16_32_Q15(QCONST16(.15f,15),Sff), MULT16_32_Q15(QCONST16(.15f,15),Dbf))); + + /* Equivalent float code: + st->Davg1 = .6*st->Davg1 + .4*(Sff-See); + st->Davg2 = .85*st->Davg2 + .15*(Sff-See); + st->Dvar1 = .36*st->Dvar1 + .16*Sff*Dbf; + st->Dvar2 = .7225*st->Dvar2 + .0225*Sff*Dbf; + */ + + update_foreground = 0; + /* Check if we have a statistically significant reduction in the residual echo */ + /* Note that this is *not* Gaussian, so we need to be careful about the longer tail */ + if (FLOAT_GT(FLOAT_MUL32U(SUB32(Sff,See),ABS32(SUB32(Sff,See))), FLOAT_MUL32U(Sff,Dbf))) + update_foreground = 1; + else if (FLOAT_GT(FLOAT_MUL32U(st->Davg1, ABS32(st->Davg1)), FLOAT_MULT(VAR1_UPDATE,(st->Dvar1)))) + update_foreground = 1; + else if (FLOAT_GT(FLOAT_MUL32U(st->Davg2, ABS32(st->Davg2)), FLOAT_MULT(VAR2_UPDATE,(st->Dvar2)))) + update_foreground = 1; + + /* Do we update? */ + if (update_foreground) { - spx_word32_t tmp_out; -#ifdef SMOOTH_BLOCKS - spx_word16_t y = MULT16_16_Q15(st->window[i+st->frame_size],st->e[i+st->frame_size]) + MULT16_16_Q15(st->window[i],st->y[i+st->frame_size]); - tmp_out = SUB32(EXTEND32(st->d[i+st->frame_size]), EXTEND32(y)); + st->Davg1 = st->Davg2 = 0; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + /* Copy background filter to foreground filter */ + for (i=0;iforeground[i] = EXTRACT16(PSHR32(st->W[i],16)); + /* Apply a smooth transition so as to not introduce blocking artifacts */ + for (chan = 0; chan < C; chan++) + for (i=0;iframe_size;i++) + st->e[chan*N+i+st->frame_size] = MULT16_16_Q15(st->window[i+st->frame_size],st->e[chan*N+i+st->frame_size]) + MULT16_16_Q15(st->window[i],st->y[chan*N+i+st->frame_size]); + } else { + int reset_background=0; + /* Otherwise, check if the background filter is significantly worse */ + if (FLOAT_GT(FLOAT_MUL32U(NEG32(SUB32(Sff,See)),ABS32(SUB32(Sff,See))), FLOAT_MULT(VAR_BACKTRACK,FLOAT_MUL32U(Sff,Dbf)))) + reset_background = 1; + if (FLOAT_GT(FLOAT_MUL32U(NEG32(st->Davg1), ABS32(st->Davg1)), FLOAT_MULT(VAR_BACKTRACK,st->Dvar1))) + reset_background = 1; + if (FLOAT_GT(FLOAT_MUL32U(NEG32(st->Davg2), ABS32(st->Davg2)), FLOAT_MULT(VAR_BACKTRACK,st->Dvar2))) + reset_background = 1; + if (reset_background) + { + /* Copy foreground filter to background filter */ + for (i=0;iW[i] = SHL32(EXTEND32(st->foreground[i]),16); + /* We also need to copy the output so as to get correct adaptation */ + for (chan = 0; chan < C; chan++) + { + for (i=0;iframe_size;i++) + st->y[chan*N+i+st->frame_size] = st->e[chan*N+i+st->frame_size]; + for (i=0;iframe_size;i++) + st->e[chan*N+i] = SUB16(st->input[chan*st->frame_size+i], st->y[chan*N+i+st->frame_size]); + } + See = Sff; + st->Davg1 = st->Davg2 = 0; + st->Dvar1 = st->Dvar2 = FLOAT_ZERO; + } + } +#endif + + Sey = Syy = Sdd = 0; + for (chan = 0; chan < C; chan++) + { + /* Compute error signal (for the output with de-emphasis) */ + for (i=0;iframe_size;i++) + { + spx_word32_t tmp_out; +#ifdef TWO_PATH + tmp_out = SUB32(EXTEND32(st->input[chan*st->frame_size+i]), EXTEND32(st->e[chan*N+i+st->frame_size])); #else - tmp_out = SUB32(EXTEND32(st->d[i+st->frame_size]), EXTEND32(st->y[i+st->frame_size])); + tmp_out = SUB32(EXTEND32(st->input[chan*st->frame_size+i]), EXTEND32(st->y[chan*N+i+st->frame_size])); #endif + tmp_out = ADD32(tmp_out, EXTEND32(MULT16_16_P15(st->preemph, st->memE[chan]))); + /* This is an arbitrary test for saturation in the microphone signal */ + if (in[i*C+chan] <= -32000 || in[i*C+chan] >= 32000) + { + if (st->saturated == 0) + st->saturated = 1; + } + out[i*C+chan] = WORD2INT(tmp_out); + st->memE[chan] = tmp_out; + } - /* Saturation */ - if (tmp_out>32767) - tmp_out = 32767; - else if (tmp_out<-32768) - tmp_out = -32768; - tmp_out = ADD32(tmp_out, EXTEND32(MULT16_16_P15(st->preemph, st->memE))); - /* This is an arbitrary test for saturation */ - if (ref[i] <= -32000 || ref[i] >= 32000) +#ifdef DUMP_ECHO_CANCEL_DATA + dump_audio(in, far_end, out, st->frame_size); +#endif + + /* Compute error signal (filter update version) */ + for (i=0;iframe_size;i++) { - tmp_out = 0; - st->saturated = 1; + st->e[chan*N+i+st->frame_size] = st->e[chan*N+i]; + st->e[chan*N+i] = 0; } - out[i] = (spx_int16_t)tmp_out; - st->memE = tmp_out; + + /* Compute a bunch of correlations */ + /* FIXME: bad merge */ + Sey += mdf_inner_prod(st->e+chan*N+st->frame_size, st->y+chan*N+st->frame_size, st->frame_size); + Syy += mdf_inner_prod(st->y+chan*N+st->frame_size, st->y+chan*N+st->frame_size, st->frame_size); + Sdd += mdf_inner_prod(st->input+chan*st->frame_size, st->input+chan*st->frame_size, st->frame_size); + + /* Convert error to frequency domain */ + spx_fft(st->fft_table, st->e+chan*N, st->E+chan*N); + for (i=0;iframe_size;i++) + st->y[i+chan*N] = 0; + spx_fft(st->fft_table, st->y+chan*N, st->Y+chan*N); + + /* Compute power spectrum of echo (X), error (E) and filter response (Y) */ + power_spectrum_accum(st->E+chan*N, st->Rf, N); + power_spectrum_accum(st->Y+chan*N, st->Yf, N); + } - - /* Compute error signal (filter update version) */ - for (i=0;iframe_size;i++) + + /*printf ("%f %f %f %f\n", Sff, See, Syy, Sdd, st->update_cond);*/ + + /* Do some sanity check */ + if (!(Syy>=0 && Sxx>=0 && See >= 0) +#ifndef FIXED_POINT + || !(Sff < N*1e9 && Syy < N*1e9 && Sxx < N*1e9) +#endif + ) + { + /* Things have gone really bad */ + st->screwed_up += 50; + for (i=0;iframe_size*C;i++) + out[i] = 0; + } else if (SHR32(Sff, 2) > ADD32(Sdd, SHR32(MULT16_16(N, 10000),6))) { - st->e[i] = 0; - st->e[i+st->frame_size] = st->d[i+st->frame_size] - st->y[i+st->frame_size]; + /* AEC seems to add lots of echo instead of removing it, let's see if it will improve */ + st->screwed_up++; + } else { + /* Everything's fine */ + st->screwed_up=0; + } + if (st->screwed_up>=50) + { + speex_warning("The echo canceller started acting funny and got slapped (reset). It swears it will behave now."); + speex_echo_state_reset(st); + return; } - /* Compute a bunch of correlations */ - Sey = mdf_inner_prod(st->e+st->frame_size, st->y+st->frame_size, st->frame_size); - See = mdf_inner_prod(st->e+st->frame_size, st->e+st->frame_size, st->frame_size); - See = ADD32(See, SHR32(MULT16_16(N, 100),6)); - Syy = mdf_inner_prod(st->y+st->frame_size, st->y+st->frame_size, st->frame_size); - Sxx = mdf_inner_prod(st->x+st->frame_size, st->x+st->frame_size, st->frame_size); - - /* Convert error to frequency domain */ - spx_fft(st->fft_table, st->e, st->E); - for (i=0;iframe_size;i++) - st->y[i] = 0; - spx_fft(st->fft_table, st->y, st->Y); + /* Add a small noise floor to make sure not to have problems when dividing */ + See = MAX32(See, SHR32(MULT16_16(N, 100),6)); + + for (speak = 0; speak < K; speak++) + { + Sxx += mdf_inner_prod(st->x+speak*N+st->frame_size, st->x+speak*N+st->frame_size, st->frame_size); + power_spectrum_accum(st->X+speak*N, st->Xf, N); + } - /* Compute power spectrum of echo (X), error (E) and filter response (Y) */ - power_spectrum(st->E, st->Rf, N); - power_spectrum(st->Y, st->Yf, N); - power_spectrum(st->X, st->Xf, N); - /* Smooth echo energy estimate over time */ + /* Smooth far end energy estimate over time */ for (j=0;j<=st->frame_size;j++) st->power[j] = MULT16_32_Q15(ss_1,st->power[j]) + 1 + MULT16_32_Q15(ss,st->Xf[j]); - - /* Enable this to compute the power based only on the tail (would need to compute more - efficiently to make this really useful */ - if (0) - { - float scale2 = .5f/M; - for (j=0;j<=st->frame_size;j++) - st->power[j] = 100; - for (i=0;iX[i*N], st->Xf, N); - for (j=0;j<=st->frame_size;j++) - st->power[j] += scale2*st->Xf[j]; - } - } /* Compute filtered spectra and (cross-)correlations */ for (j=st->frame_size;j>=0;j--) @@ -706,17 +1093,17 @@ if (FLOAT_GT(st->Pey, st->Pyy)) st->Pey = st->Pyy; /* leak_estimate is the linear regression result */ - leak_estimate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIVU(st->Pey, st->Pyy),14)); + st->leak_estimate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIVU(st->Pey, st->Pyy),14)); /* This looks like a stupid bug, but it's right (because we convert from Q14 to Q15) */ - if (leak_estimate > 16383) - leak_estimate = 32767; + if (st->leak_estimate > 16383) + st->leak_estimate = 32767; else - leak_estimate = SHL16(leak_estimate,1); - /*printf ("%f\n", leak_estimate);*/ + st->leak_estimate = SHL16(st->leak_estimate,1); + /*printf ("%f\n", st->leak_estimate);*/ /* Compute Residual to Error Ratio */ #ifdef FIXED_POINT - tmp32 = MULT16_32_Q15(leak_estimate,Syy); + tmp32 = MULT16_32_Q15(st->leak_estimate,Syy); tmp32 = ADD32(SHR32(Sxx,13), ADD32(tmp32, SHL32(tmp32,1))); /* Check for y in e (lower bound on RER) */ { @@ -731,7 +1118,7 @@ tmp32 = SHR32(See,1); RER = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIV32(tmp32,See),15)); #else - RER = (.0001*Sxx + 3.*MULT16_32_Q15(leak_estimate,Syy)) / See; + RER = (.0001*Sxx + 3.*MULT16_32_Q15(st->leak_estimate,Syy)) / See; /* Check for y in e (lower bound on RER) */ if (RER < Sey*Sey/(1+See*Syy)) RER = Sey*Sey/(1+See*Syy); @@ -740,18 +1127,19 @@ #endif /* We consider that the filter has had minimal adaptation if the following is true*/ - if (!st->adapted && st->sum_adapt > QCONST32(1,15)) + if (!st->adapted && st->sum_adapt > SHL32(EXTEND32(M),15) && MULT16_32_Q15(st->leak_estimate,Syy) > MULT16_32_Q15(QCONST16(.03f,15),Syy)) { st->adapted = 1; } if (st->adapted) { + /* Normal learning rate calculation once we're past the minimal adaptation phase */ for (i=0;i<=st->frame_size;i++) { spx_word32_t r, e; /* Compute frequency-domain adaptation mask */ - r = MULT16_32_Q15(leak_estimate,SHL32(st->Yf[i],3)); + r = MULT16_32_Q15(st->leak_estimate,SHL32(st->Yf[i],3)); e = SHL32(st->Rf[i],3)+1; #ifdef FIXED_POINT if (r>SHR32(e,1)) @@ -764,20 +1152,22 @@ /*st->power_1[i] = adapt_rate*r/(e*(1+st->power[i]));*/ st->power_1[i] = FLOAT_SHL(FLOAT_DIV32_FLOAT(r,FLOAT_MUL32U(e,st->power[i]+10)),WEIGHT_SHIFT+16); } - } else if (Sxx > SHR32(MULT16_16(N, 1000),6)) { + } else { /* Temporary adaption rate if filter is not yet adapted enough */ spx_word16_t adapt_rate=0; - tmp32 = MULT16_32_Q15(QCONST16(.25f, 15), Sxx); + if (Sxx > SHR32(MULT16_16(N, 1000),6)) + { + tmp32 = MULT16_32_Q15(QCONST16(.25f, 15), Sxx); #ifdef FIXED_POINT - if (tmp32 > SHR32(See,2)) - tmp32 = SHR32(See,2); + if (tmp32 > SHR32(See,2)) + tmp32 = SHR32(See,2); #else - if (tmp32 > .25*See) - tmp32 = .25*See; + if (tmp32 > .25*See) + tmp32 = .25*See; #endif - adapt_rate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIV32(tmp32, See),15)); - + adapt_rate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIV32(tmp32, See),15)); + } for (i=0;i<=st->frame_size;i++) st->power_1[i] = FLOAT_SHL(FLOAT_DIV32(EXTEND32(adapt_rate),ADD32(st->power[i],10)),WEIGHT_SHIFT+1); @@ -786,50 +1176,57 @@ st->sum_adapt = ADD32(st->sum_adapt,adapt_rate); } - /* Compute spectrum of estimated echo for use in an echo post-filter (if necessary)*/ - if (Yout) + /* FIXME: MC conversion required */ + for (i=0;iframe_size;i++) + st->last_y[i] = st->last_y[st->frame_size+i]; + if (st->adapted) { - spx_word16_t leak2; - if (st->adapted) - { - /* If the filter is adapted, take the filtered echo */ - for (i=0;iframe_size;i++) - st->last_y[i] = st->last_y[st->frame_size+i]; - for (i=0;iframe_size;i++) - st->last_y[st->frame_size+i] = ref[i]-out[i]; - } else { - /* If filter isn't adapted yet, all we can do is take the echo signal directly */ - for (i=0;ilast_y[i] = st->x[i]; - } - - /* Apply hanning window (should pre-compute it)*/ - for (i=0;iy[i] = MULT16_16_Q15(st->window[i],st->last_y[i]); + /* If the filter is adapted, take the filtered echo */ + for (i=0;iframe_size;i++) + st->last_y[st->frame_size+i] = in[i]-out[i]; + } else { + /* If filter isn't adapted yet, all we can do is take the far end signal directly */ + /* moved earlier: for (i=0;ilast_y[i] = st->x[i];*/ + } + +} + +/* Compute spectrum of estimated echo for use in an echo post-filter */ +void speex_echo_get_residual(SpeexEchoState *st, spx_word32_t *residual_echo, int len) +{ + int i; + spx_word16_t leak2; + int N; + + N = st->window_size; + + /* Apply hanning window (should pre-compute it)*/ + for (i=0;iy[i] = MULT16_16_Q15(st->window[i],st->last_y[i]); - /* Compute power spectrum of the echo */ - spx_fft(st->fft_table, st->y, st->Y); - power_spectrum(st->Y, st->Yps, N); + /* Compute power spectrum of the echo */ + spx_fft(st->fft_table, st->y, st->Y); + power_spectrum(st->Y, residual_echo, N); #ifdef FIXED_POINT - if (leak_estimate > 16383) - leak2 = 32767; - else - leak2 = SHL16(leak_estimate, 1); -#else - if (leak_estimate>.5) - leak2 = 1; - else - leak2 = 2*leak_estimate; + if (st->leak_estimate > 16383) + leak2 = 32767; + else + leak2 = SHL16(st->leak_estimate, 1); +#else + if (st->leak_estimate>.5) + leak2 = 1; + else + leak2 = 2*st->leak_estimate; #endif - /* Estimate residual echo */ - for (i=0;i<=st->frame_size;i++) - Yout[i] = (spx_int32_t)MULT16_32_Q15(leak2,st->Yps[i]); - } + /* Estimate residual echo */ + for (i=0;i<=st->frame_size;i++) + residual_echo[i] = (spx_int32_t)MULT16_32_Q15(leak2,residual_echo[i]); + } - -int speex_echo_ctl(SpeexEchoState *st, int request, void *ptr) +EXPORT int speex_echo_ctl(SpeexEchoState *st, int request, void *ptr) { switch(request) { @@ -857,6 +1254,29 @@ case SPEEX_ECHO_GET_SAMPLING_RATE: (*(int*)ptr) = st->sampling_rate; break; + case SPEEX_ECHO_GET_IMPULSE_RESPONSE_SIZE: + /*FIXME: Implement this for multiple channels */ + *((spx_int32_t *)ptr) = st->M * st->frame_size; + break; + case SPEEX_ECHO_GET_IMPULSE_RESPONSE: + { + int M = st->M, N = st->window_size, n = st->frame_size, i, j; + spx_int32_t *filt = (spx_int32_t *) ptr; + for(j=0;jwtmp2[i] = EXTRACT16(PSHR32(st->W[j*N+i],16+NORMALIZE_SCALEDOWN)); + spx_ifft(st->fft_table, st->wtmp2, st->wtmp); +#else + spx_ifft(st->fft_table, &st->W[j*N], st->wtmp); +#endif + for(i=0;iwtmp[i]), WEIGHT_SHIFT-NORMALIZE_SCALEDOWN); + } + } + break; default: speex_warning_int("Unknown speex_echo_ctl request: ", request); return -1; Modified: freeswitch/trunk/libs/speex/libspeex/modes.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/modes.c (original) +++ freeswitch/trunk/libs/speex/libspeex/modes.c Fri Feb 13 00:02:32 2009 @@ -43,28 +43,23 @@ #include "sb_celp.h" #include "nb_celp.h" #include "vbr.h" -#include "misc.h" +#include "arch.h" #include #ifndef NULL #define NULL 0 #endif -#define MAX_IN_SAMPLES 640 - -const SpeexMode * const speex_mode_list[SPEEX_NB_MODES] = {&speex_nb_mode, &speex_wb_mode, &speex_uwb_mode}; /* Extern declarations for all codebooks we use here */ extern const signed char gain_cdbk_nb[]; extern const signed char gain_cdbk_lbr[]; -extern const signed char hexc_table[]; extern const signed char exc_5_256_table[]; extern const signed char exc_5_64_table[]; extern const signed char exc_8_128_table[]; extern const signed char exc_10_32_table[]; extern const signed char exc_10_16_table[]; extern const signed char exc_20_32_table[]; -extern const signed char hexc_10_32_table[]; /* Parameters for Long-Term Prediction (LTP)*/ @@ -150,29 +145,8 @@ 0, }; -#ifndef DISABLE_WIDEBAND - -/* Split-VQ innovation for high-band wideband */ -static const split_cb_params split_cb_high = { - 8, /*subvect_size*/ - 5, /*nb_subvect*/ - hexc_table, /*shape_cb*/ - 7, /*shape_bits*/ - 1, -}; -/* Split-VQ innovation for high-band wideband */ -static const split_cb_params split_cb_high_lbr = { - 10, /*subvect_size*/ - 4, /*nb_subvect*/ - hexc_10_32_table, /*shape_cb*/ - 5, /*shape_bits*/ - 0, -}; - -#endif - /* 2150 bps "vocoder-like" mode for comfort noise */ static const SpeexSubmode nb_submode1 = { 0, @@ -354,11 +328,7 @@ #else 0.9, 0.6, /* gamma1, gamma2 */ #endif - .012, /*lag_factor*/ QCONST16(.0002,15), /*lpc_floor*/ -#ifdef EPIC_48K - 0, -#endif {NULL, &nb_submode1, &nb_submode2, &nb_submode3, &nb_submode4, &nb_submode5, &nb_submode6, &nb_submode7, &nb_submode8, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, 5, @@ -367,7 +337,7 @@ /* Default mode for narrowband */ -const SpeexMode speex_nb_mode = { +EXPORT const SpeexMode speex_nb_mode = { &nb_mode, nb_mode_query, "narrowband", @@ -384,290 +354,13 @@ }; -/* Wideband part */ - -static const SpeexSubmode wb_submode1 = { - 0, - 0, - 1, - 0, - /*LSP quantization*/ - lsp_quant_high, - lsp_unquant_high, - /*Pitch quantization*/ - NULL, - NULL, - NULL, - /*No innovation quantization*/ - NULL, - NULL, - NULL, - -1, - 36 -}; - - -static const SpeexSubmode wb_submode2 = { - 0, - 0, - 1, - 0, - /*LSP quantization*/ - lsp_quant_high, - lsp_unquant_high, - /*Pitch quantization*/ - NULL, - NULL, - NULL, - /*Innovation quantization*/ - split_cb_search_shape_sign, - split_cb_shape_sign_unquant, -#ifdef DISABLE_WIDEBAND - NULL, -#else - &split_cb_high_lbr, -#endif - -1, - 112 -}; - - -static const SpeexSubmode wb_submode3 = { - 0, - 0, - 1, - 0, - /*LSP quantization*/ - lsp_quant_high, - lsp_unquant_high, - /*Pitch quantization*/ - NULL, - NULL, - NULL, - /*Innovation quantization*/ - split_cb_search_shape_sign, - split_cb_shape_sign_unquant, -#ifdef DISABLE_WIDEBAND - NULL, -#else - &split_cb_high, -#endif - -1, - 192 -}; - -static const SpeexSubmode wb_submode4 = { - 0, - 0, - 1, - 1, - /*LSP quantization*/ - lsp_quant_high, - lsp_unquant_high, - /*Pitch quantization*/ - NULL, - NULL, - NULL, - /*Innovation quantization*/ - split_cb_search_shape_sign, - split_cb_shape_sign_unquant, -#ifdef DISABLE_WIDEBAND - NULL, -#else - &split_cb_high, -#endif - -1, - 352 -}; - - -/* Split-band wideband CELP mode*/ -static const SpeexSBMode sb_wb_mode = { - &speex_nb_mode, - 160, /*frameSize*/ - 40, /*subframeSize*/ - 8, /*lpcSize*/ - 640, /*bufSize*/ -#ifdef FIXED_POINT - 29491, 19661, /* gamma1, gamma2 */ -#else - 0.9, 0.6, /* gamma1, gamma2 */ -#endif - .012, /*lag_factor*/ - QCONST16(.0002,15), /*lpc_floor*/ - 0.9, - {NULL, &wb_submode1, &wb_submode2, &wb_submode3, &wb_submode4, NULL, NULL, NULL}, - 3, - {1, 8, 2, 3, 4, 5, 5, 6, 6, 7, 7}, - {1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4}, - vbr_hb_thresh, - 5 -}; - - -const SpeexMode speex_wb_mode = { - &sb_wb_mode, - wb_mode_query, - "wideband (sub-band CELP)", - 1, - 4, - &sb_encoder_init, - &sb_encoder_destroy, - &sb_encode, - &sb_decoder_init, - &sb_decoder_destroy, - &sb_decode, - &sb_encoder_ctl, - &sb_decoder_ctl, -}; - - - -/* "Ultra-wideband" mode stuff */ - - - -/* Split-band "ultra-wideband" (32 kbps) CELP mode*/ -static const SpeexSBMode sb_uwb_mode = { - &speex_wb_mode, - 320, /*frameSize*/ - 80, /*subframeSize*/ - 8, /*lpcSize*/ - 1280, /*bufSize*/ -#ifdef FIXED_POINT - 29491, 19661, /* gamma1, gamma2 */ -#else - 0.9, 0.6, /* gamma1, gamma2 */ -#endif - .012, /*lag_factor*/ - QCONST16(.0002,15), /*lpc_floor*/ - 0.7, - {NULL, &wb_submode1, NULL, NULL, NULL, NULL, NULL, NULL}, - 1, - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - vbr_uhb_thresh, - 2 -}; - - -const SpeexMode speex_uwb_mode = { - &sb_uwb_mode, - wb_mode_query, - "ultra-wideband (sub-band CELP)", - 2, - 4, - &sb_encoder_init, - &sb_encoder_destroy, - &sb_encode, - &sb_decoder_init, - &sb_decoder_destroy, - &sb_decode, - &sb_encoder_ctl, - &sb_decoder_ctl, -}; - - - - -#ifdef EPIC_48K - -extern const signed char gain_cdbk_ulbr[]; -extern const signed char exc_12_32_table[]; - -/* Parameters for Long-Term Prediction (LTP)*/ -static const ltp_params ltp_params_48k = { - gain_cdbk_ulbr, - 3, - 0 -}; - -static const split_cb_params split_cb_nb_48k = { - 12, /*subvect_size*/ - 4, /*nb_subvect*/ - exc_12_32_table, /*shape_cb*/ - 5, /*shape_bits*/ - 0, -}; - - -/* 4.8 kbps very low bit-rate mode */ -static const SpeexSubmode nb_48k_submode = { - 0, - 0, - 0, - 0, - /*LSP quantization*/ - lsp_quant_48k, - lsp_unquant_48k, - /*No pitch quantization*/ - pitch_search_3tap, - pitch_unquant_3tap, - <p_params_48k, - /*Innovation quantization*/ - split_cb_search_shape_sign, - split_cb_shape_sign_unquant, - &split_cb_nb_48k, -#ifdef FIXED_POINT - 22938, 16384, 11796, 18022, -#else - 0.7, 0.5, .36, .55, -#endif - 144 -}; - - -/* Special, non-standard 4.8 kbps mode */ -static const SpeexNBMode nb_48k_mode = { - 240, /*frameSize*/ - 48, /*subframeSize*/ - 10, /*lpcSize*/ - 640, /*bufSize*/ - 17, /*pitchStart*/ - 144, /*pitchEnd*/ - 0.9, /*gamma1*/ - 0.6, /*gamma2*/ - .01, /*lag_factor*/ - QCONST16(.0003,15), /*lpc_floor*/ - 1, - {NULL, NULL, &nb_48k_submode, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, - 2, - {2,2,2,2,2,2,2,2,2,2,2} -}; - - -/* Default mode for narrowband */ -const SpeexMode speex_nb_48k_mode = { - &nb_48k_mode, - nb_mode_query, - "narrowband 4.8 kbps", - 1000, - 4, - &nb_encoder_init, - &nb_encoder_destroy, - &nb_encode, - &nb_decoder_init, - &nb_decoder_destroy, - &nb_decode, - &nb_encoder_ctl, - &nb_decoder_ctl, -}; - - -#endif -int speex_mode_query(const SpeexMode *mode, int request, void *ptr) +EXPORT int speex_mode_query(const SpeexMode *mode, int request, void *ptr) { return mode->query(mode->mode, request, ptr); } -const SpeexMode * speex_lib_get_mode (int mode) -{ -#ifdef EPIC_48K - if (mode == SPEEX_MODEID_NB_48K) return &speex_nb_48k_mode; +#ifdef FIXED_DEBUG +long long spx_mips=0; #endif - if (mode < 0 || mode > SPEEX_NB_MODES) return NULL; - - return speex_mode_list[mode]; -} Modified: freeswitch/trunk/libs/speex/libspeex/modes.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/modes.h (original) +++ freeswitch/trunk/libs/speex/libspeex/modes.h Fri Feb 13 00:02:32 2009 @@ -38,7 +38,7 @@ #include #include -#include "misc.h" +#include "arch.h" #define NB_SUBMODES 16 #define NB_SUBMODE_BITS 4 @@ -46,6 +46,23 @@ #define SB_SUBMODES 8 #define SB_SUBMODE_BITS 3 +/* Used internally, NOT TO BE USED in applications */ +/** Used internally*/ +#define SPEEX_GET_PI_GAIN 100 +/** Used internally*/ +#define SPEEX_GET_EXC 101 +/** Used internally*/ +#define SPEEX_GET_INNOV 102 +/** Used internally*/ +#define SPEEX_GET_DTX_STATUS 103 +/** Used internally*/ +#define SPEEX_SET_INNOVATION_SAVE 104 +/** Used internally*/ +#define SPEEX_SET_WIDEBAND 105 + +/** Used internally*/ +#define SPEEX_GET_STACK 106 + /** Quantizes LSPs */ typedef void (*lsp_quant_func)(spx_lsp_t *, spx_lsp_t *, int, SpeexBits *); @@ -81,7 +98,7 @@ lsp_quant_func lsp_quant; /**< LSP quantization function */ lsp_unquant_func lsp_unquant; /**< LSP unquantization function */ - /*Lont-term predictor functions*/ + /*Long-term predictor functions*/ ltp_quant_func ltp_quant; /**< Long-term predictor (pitch) quantizer */ ltp_unquant_func ltp_unquant; /**< Long-term predictor (pitch) un-quantizer */ const void *ltp_params; /**< Pitch parameters (options) */ @@ -106,13 +123,8 @@ spx_word16_t gamma1; /**< Perceptual filter parameter #1 */ spx_word16_t gamma2; /**< Perceptual filter parameter #2 */ - float lag_factor; /**< Lag-windowing parameter */ spx_word16_t lpc_floor; /**< Noise floor for LPC analysis */ -#ifdef EPIC_48K - int lbr48k; /**< 1 for the special 4.8 kbps mode */ -#endif - const SpeexSubmode *submodes[NB_SUBMODES]; /**< Sub-mode data for the mode */ int defaultSubmode; /**< Default sub-mode to use when encoding */ int quality_map[11]; /**< Mode corresponding to each quality setting */ @@ -125,18 +137,18 @@ int frameSize; /**< Size of frames used for encoding */ int subframeSize; /**< Size of sub-frames used for encoding */ int lpcSize; /**< Order of LPC filter */ - int bufSize; /**< Signal buffer size in encoder */ spx_word16_t gamma1; /**< Perceptual filter parameter #1 */ spx_word16_t gamma2; /**< Perceptual filter parameter #1 */ - float lag_factor; /**< Lag-windowing parameter */ spx_word16_t lpc_floor; /**< Noise floor for LPC analysis */ - float folding_gain; + spx_word16_t folding_gain; const SpeexSubmode *submodes[SB_SUBMODES]; /**< Sub-mode data for the mode */ int defaultSubmode; /**< Default sub-mode to use when encoding */ int low_quality_map[11]; /**< Mode corresponding to each quality setting */ int quality_map[11]; /**< Mode corresponding to each quality setting */ +#ifndef DISABLE_VBR const float (*vbr_thresh)[11]; +#endif int nb_modes; } SpeexSBMode; Added: freeswitch/trunk/libs/speex/libspeex/modes_wb.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/modes_wb.c Fri Feb 13 00:02:32 2009 @@ -0,0 +1,300 @@ +/* Copyright (C) 2002-2007 Jean-Marc Valin + File: modes.c + + Describes the wideband modes of the codec + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "modes.h" +#include "ltp.h" +#include "quant_lsp.h" +#include "cb_search.h" +#include "sb_celp.h" +#include "nb_celp.h" +#include "vbr.h" +#include "arch.h" +#include +#include "os_support.h" + + +#ifndef NULL +#define NULL 0 +#endif + +EXPORT const SpeexMode * const speex_mode_list[SPEEX_NB_MODES] = {&speex_nb_mode, &speex_wb_mode, &speex_uwb_mode}; + +extern const signed char hexc_table[]; +extern const signed char hexc_10_32_table[]; + +#ifndef DISABLE_WIDEBAND + +/* Split-VQ innovation for high-band wideband */ +static const split_cb_params split_cb_high = { + 8, /*subvect_size*/ + 5, /*nb_subvect*/ + hexc_table, /*shape_cb*/ + 7, /*shape_bits*/ + 1, +}; + + +/* Split-VQ innovation for high-band wideband */ +static const split_cb_params split_cb_high_lbr = { + 10, /*subvect_size*/ + 4, /*nb_subvect*/ + hexc_10_32_table, /*shape_cb*/ + 5, /*shape_bits*/ + 0, +}; + +#endif + + +static const SpeexSubmode wb_submode1 = { + 0, + 0, + 1, + 0, + /*LSP quantization*/ + lsp_quant_high, + lsp_unquant_high, + /*Pitch quantization*/ + NULL, + NULL, + NULL, + /*No innovation quantization*/ + NULL, + NULL, + NULL, + -1, + 36 +}; + + +static const SpeexSubmode wb_submode2 = { + 0, + 0, + 1, + 0, + /*LSP quantization*/ + lsp_quant_high, + lsp_unquant_high, + /*Pitch quantization*/ + NULL, + NULL, + NULL, + /*Innovation quantization*/ + split_cb_search_shape_sign, + split_cb_shape_sign_unquant, +#ifdef DISABLE_WIDEBAND + NULL, +#else + &split_cb_high_lbr, +#endif + -1, + 112 +}; + + +static const SpeexSubmode wb_submode3 = { + 0, + 0, + 1, + 0, + /*LSP quantization*/ + lsp_quant_high, + lsp_unquant_high, + /*Pitch quantization*/ + NULL, + NULL, + NULL, + /*Innovation quantization*/ + split_cb_search_shape_sign, + split_cb_shape_sign_unquant, +#ifdef DISABLE_WIDEBAND + NULL, +#else + &split_cb_high, +#endif + -1, + 192 +}; + +static const SpeexSubmode wb_submode4 = { + 0, + 0, + 1, + 1, + /*LSP quantization*/ + lsp_quant_high, + lsp_unquant_high, + /*Pitch quantization*/ + NULL, + NULL, + NULL, + /*Innovation quantization*/ + split_cb_search_shape_sign, + split_cb_shape_sign_unquant, +#ifdef DISABLE_WIDEBAND + NULL, +#else + &split_cb_high, +#endif + -1, + 352 +}; + + +/* Split-band wideband CELP mode*/ +static const SpeexSBMode sb_wb_mode = { + &speex_nb_mode, + 160, /*frameSize*/ + 40, /*subframeSize*/ + 8, /*lpcSize*/ +#ifdef FIXED_POINT + 29491, 19661, /* gamma1, gamma2 */ +#else + 0.9, 0.6, /* gamma1, gamma2 */ +#endif + QCONST16(.0002,15), /*lpc_floor*/ + QCONST16(0.9f,15), + {NULL, &wb_submode1, &wb_submode2, &wb_submode3, &wb_submode4, NULL, NULL, NULL}, + 3, + {1, 8, 2, 3, 4, 5, 5, 6, 6, 7, 7}, + {1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4}, +#ifndef DISABLE_VBR + vbr_hb_thresh, +#endif + 5 +}; + + +EXPORT const SpeexMode speex_wb_mode = { + &sb_wb_mode, + wb_mode_query, + "wideband (sub-band CELP)", + 1, + 4, + &sb_encoder_init, + &sb_encoder_destroy, + &sb_encode, + &sb_decoder_init, + &sb_decoder_destroy, + &sb_decode, + &sb_encoder_ctl, + &sb_decoder_ctl, +}; + + + +/* "Ultra-wideband" mode stuff */ + + + +/* Split-band "ultra-wideband" (32 kbps) CELP mode*/ +static const SpeexSBMode sb_uwb_mode = { + &speex_wb_mode, + 320, /*frameSize*/ + 80, /*subframeSize*/ + 8, /*lpcSize*/ +#ifdef FIXED_POINT + 29491, 19661, /* gamma1, gamma2 */ +#else + 0.9, 0.6, /* gamma1, gamma2 */ +#endif + QCONST16(.0002,15), /*lpc_floor*/ + QCONST16(0.7f,15), + {NULL, &wb_submode1, NULL, NULL, NULL, NULL, NULL, NULL}, + 1, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, +#ifndef DISABLE_VBR + vbr_uhb_thresh, +#endif + 2 +}; + +int wb_mode_query(const void *mode, int request, void *ptr) +{ + const SpeexSBMode *m = (const SpeexSBMode*)mode; + + switch (request) + { + case SPEEX_MODE_FRAME_SIZE: + *((int*)ptr)=2*m->frameSize; + break; + case SPEEX_SUBMODE_BITS_PER_FRAME: + if (*((int*)ptr)==0) + *((int*)ptr) = SB_SUBMODE_BITS+1; + else if (m->submodes[*((int*)ptr)]==NULL) + *((int*)ptr) = -1; + else + *((int*)ptr) = m->submodes[*((int*)ptr)]->bits_per_frame; + break; + default: + speex_warning_int("Unknown wb_mode_query request: ", request); + return -1; + } + return 0; +} + + +EXPORT const SpeexMode speex_uwb_mode = { + &sb_uwb_mode, + wb_mode_query, + "ultra-wideband (sub-band CELP)", + 2, + 4, + &sb_encoder_init, + &sb_encoder_destroy, + &sb_encode, + &sb_decoder_init, + &sb_decoder_destroy, + &sb_decode, + &sb_encoder_ctl, + &sb_decoder_ctl, +}; + +/* We have defined speex_lib_get_mode() as a macro in speex.h */ +#undef speex_lib_get_mode + +EXPORT const SpeexMode * speex_lib_get_mode (int mode) +{ + if (mode < 0 || mode >= SPEEX_NB_MODES) return NULL; + + return speex_mode_list[mode]; +} + + + Modified: freeswitch/trunk/libs/speex/libspeex/nb_celp.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/nb_celp.c (original) +++ freeswitch/trunk/libs/speex/libspeex/nb_celp.c Fri Feb 13 00:02:32 2009 @@ -45,8 +45,9 @@ #include "vq.h" #include #include "vbr.h" -#include "misc.h" +#include "arch.h" #include "math_approx.h" +#include "os_support.h" #include #ifdef VORBIS_PSYCHO @@ -87,14 +88,14 @@ #else -const float exc_gain_quant_scal3_bound[7]={0.112338, 0.236980, 0.369316, 0.492054, 0.637471, 0.828874, 1.132784}; -const float exc_gain_quant_scal3[8]={0.061130, 0.163546, 0.310413, 0.428220, 0.555887, 0.719055, 0.938694, 1.326874}; -const float exc_gain_quant_scal1_bound[1]={0.87798}; -const float exc_gain_quant_scal1[2]={0.70469, 1.05127}; - -#define LSP_MARGIN .002 -#define LSP_DELTA1 .2 -#define LSP_DELTA2 .05 +const float exc_gain_quant_scal3_bound[7]={0.112338f, 0.236980f, 0.369316f, 0.492054f, 0.637471f, 0.828874f, 1.132784f}; +const float exc_gain_quant_scal3[8]={0.061130f, 0.163546f, 0.310413f, 0.428220f, 0.555887f, 0.719055f, 0.938694f, 1.326874f}; +const float exc_gain_quant_scal1_bound[1]={0.87798f}; +const float exc_gain_quant_scal1[2]={0.70469f, 1.05127f}; + +#define LSP_MARGIN .002f +#define LSP_DELTA1 .2f +#define LSP_DELTA2 .05f #endif @@ -107,6 +108,7 @@ #define sqr(x) ((x)*(x)) +extern const spx_word16_t lag_window[]; extern const spx_word16_t lpc_window[]; void *nb_encoder_init(const SpeexMode *m) @@ -136,7 +138,6 @@ st->gamma2=mode->gamma2; st->min_pitch=mode->pitchStart; st->max_pitch=mode->pitchEnd; - st->lag_factor=mode->lag_factor; st->lpc_floor = mode->lpc_floor; st->submodes=mode->submodes; @@ -144,9 +145,6 @@ st->bounded_pitch = 1; st->encode_submode = 1; -#ifdef EPIC_48K - st->lbr_48k=mode->lbr48k; -#endif #ifdef VORBIS_PSYCHO st->psy = vorbis_psy_init(8000, 256); @@ -168,17 +166,13 @@ st->window= lpc_window; /* Create the window for autocorrelation (lag-windowing) */ - st->lagWindow = (spx_word16_t*)speex_alloc((st->lpcSize+1)*sizeof(spx_word16_t)); - for (i=0;ilpcSize+1;i++) - st->lagWindow[i]=16384*exp(-.5*sqr(2*M_PI*st->lag_factor*i)); + st->lagWindow = lag_window; st->old_lsp = (spx_lsp_t*)speex_alloc((st->lpcSize)*sizeof(spx_lsp_t)); st->old_qlsp = (spx_lsp_t*)speex_alloc((st->lpcSize)*sizeof(spx_lsp_t)); st->first = 1; for (i=0;ilpcSize;i++) - { - st->old_lsp[i]=LSP_SCALING*(M_PI*((float)(i+1)))/(st->lpcSize+1); - } + st->old_lsp[i]= DIV32(MULT16_16(QCONST16(3.1415927f, LSP_SHIFT), i+1), st->lpcSize+1); st->mem_sp = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); st->mem_sw = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); @@ -187,10 +181,11 @@ st->mem_exc2 = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); st->pi_gain = (spx_word32_t*)speex_alloc((st->nbSubframes)*sizeof(spx_word32_t)); - st->innov_save = NULL; + st->innov_rms_save = NULL; st->pitch = (int*)speex_alloc((st->nbSubframes)*sizeof(int)); +#ifndef DISABLE_VBR st->vbr = (VBRState*)speex_alloc(sizeof(VBRState)); vbr_init(st->vbr); st->vbr_quality = 8; @@ -198,18 +193,20 @@ st->vbr_max = 0; st->vad_enabled = 0; st->dtx_enabled = 0; + st->dtx_count=0; st->abr_enabled = 0; st->abr_drift = 0; + st->abr_drift2 = 0; +#endif /* #ifndef DISABLE_VBR */ st->plc_tuning = 2; st->complexity=2; st->sampling_rate=8000; - st->dtx_count=0; st->isWideband = 0; st->highpass_enabled = 1; #ifdef ENABLE_VALGRIND - VALGRIND_MAKE_READABLE(st, (st->stack-(char*)st)); + VALGRIND_MAKE_READABLE(st, NB_ENC_STACK); #endif return st; } @@ -227,8 +224,6 @@ speex_free (st->old_qlsp); speex_free (st->swBuf); - speex_free (st->lagWindow); - speex_free (st->old_lsp); speex_free (st->mem_sp); speex_free (st->mem_sw); @@ -238,8 +233,10 @@ speex_free (st->pi_gain); speex_free (st->pitch); +#ifndef DISABLE_VBR vbr_destroy(st->vbr); speex_free (st->vbr); +#endif /* #ifndef DISABLE_VBR */ #ifdef VORBIS_PSYCHO vorbis_psy_destroy(st->psy); @@ -276,10 +273,9 @@ char *stack; VARDECL(spx_word16_t *syn_resp); VARDECL(spx_word16_t *real_exc); -#ifdef EPIC_48K - int pitch_half[2]; - int ol_pitch_id=0; -#endif + + spx_word32_t ener=0; + spx_word16_t fine_gain; spx_word16_t *in = (spx_word16_t*)vin; st=(EncState *)state; @@ -296,8 +292,8 @@ ALLOC(interp_qlpc, st->lpcSize, spx_coef_t); /* Move signals 1 frame towards the past */ - speex_move(st->excBuf, st->excBuf+st->frameSize, (st->max_pitch+2)*sizeof(spx_word16_t)); - speex_move(st->swBuf, st->swBuf+st->frameSize, (st->max_pitch+2)*sizeof(spx_word16_t)); + SPEEX_MOVE(st->excBuf, st->excBuf+st->frameSize, st->max_pitch+2); + SPEEX_MOVE(st->swBuf, st->swBuf+st->frameSize, st->max_pitch+2); if (st->highpass_enabled) highpass(in, in, st->frameSize, (st->isWideband?HIGHPASS_WIDEBAND:HIGHPASS_NARROWBAND)|HIGHPASS_INPUT, st->mem_hp); @@ -340,6 +336,7 @@ /* Whole frame analysis (open-loop estimation of pitch and excitation gain) */ { + int diff = st->windowSize-st->frameSize; if (st->first) for (i=0;ilpcSize;i++) interp_lsp[i] = lsp[i]; @@ -353,19 +350,20 @@ /*Open-loop pitch*/ - if (st->complexity>2 || !st->submodes[st->submodeID] || st->vbr_enabled || st->vad_enabled || SUBMODE(forced_pitch_gain) || - SUBMODE(lbr_pitch) != -1) + if (!st->submodes[st->submodeID] || (st->complexity>2 && SUBMODE(have_subframe_gain)<3) || SUBMODE(forced_pitch_gain) || SUBMODE(lbr_pitch) != -1 +#ifndef DISABLE_VBR + || st->vbr_enabled || st->vad_enabled +#endif + ) { int nol_pitch[6]; spx_word16_t nol_pitch_coef[6]; bw_lpc(st->gamma1, interp_lpc, bw_lpc1, st->lpcSize); bw_lpc(st->gamma2, interp_lpc, bw_lpc2, st->lpcSize); - - for (i=0;iwindowSize-st->frameSize;i++) - st->sw[i] = st->winBuf[i]; - for (;iframeSize;i++) - st->sw[i] = in[i-st->windowSize+st->frameSize]; + + SPEEX_COPY(st->sw, st->winBuf, diff); + SPEEX_COPY(st->sw+diff, in, st->frameSize-diff); filter_mem16(st->sw, bw_lpc1, bw_lpc2, st->sw, st->frameSize, st->lpcSize, st->mem_sw_whole, stack); open_loop_nbest_pitch(st->sw, st->min_pitch, st->max_pitch, st->frameSize, @@ -391,54 +389,20 @@ ol_pitch/=2;*/ /*ol_pitch_coef = sqrt(ol_pitch_coef);*/ -#ifdef EPIC_48K - if (st->lbr_48k) - { - if (ol_pitch < st->min_pitch+2) - ol_pitch = st->min_pitch+2; - if (ol_pitch > st->max_pitch-2) - ol_pitch = st->max_pitch-2; - open_loop_nbest_pitch(st->sw, ol_pitch-2, ol_pitch+2, st->frameSize>>1, - &pitch_half[0], nol_pitch_coef, 1, stack); - open_loop_nbest_pitch(st->sw+(st->frameSize>>1), pitch_half[0]-1, pitch_half[0]+2, st->frameSize>>1, - &pitch_half[1], nol_pitch_coef, 1, stack); - } -#endif } else { ol_pitch=0; ol_pitch_coef=0; } /*Compute "real" excitation*/ - for (i=0;iwindowSize-st->frameSize;i++) - st->exc[i] = st->winBuf[i]; - for (;iframeSize;i++) - st->exc[i] = in[i-st->windowSize+st->frameSize]; + SPEEX_COPY(st->exc, st->winBuf, diff); + SPEEX_COPY(st->exc+diff, in, st->frameSize-diff); fir_mem16(st->exc, interp_lpc, st->exc, st->frameSize, st->lpcSize, st->mem_exc, stack); /* Compute open-loop excitation gain */ -#ifdef EPIC_48K - if (st->lbr_48k) - { - float ol1=0,ol2=0; - float ol_gain2; - ol1 = compute_rms16(st->exc, st->frameSize>>1); - ol2 = compute_rms16(st->exc+(st->frameSize>>1), st->frameSize>>1); - ol1 *= ol1*(st->frameSize>>1); - ol2 *= ol2*(st->frameSize>>1); - - ol_gain2=ol1; - if (ol2>ol1) - ol_gain2=ol2; - ol_gain2 = sqrt(2*ol_gain2*(ol1+ol2))*1.3*(1-.5*GAIN_SCALING_1*GAIN_SCALING_1*ol_pitch_coef*ol_pitch_coef); - - ol_gain=SHR(sqrt(1+ol_gain2/st->frameSize),SIG_SHIFT); - - } else -#endif { spx_word16_t g = compute_rms16(st->exc, st->frameSize); - if (ol_pitch>0) + if (st->submodeID!=1 && ol_pitch>0) ol_gain = MULT16_16(g, MULT16_16_Q14(QCONST16(1.1,14), spx_sqrt(QCONST32(1.,28)-MULT16_32_Q15(QCONST16(.8,15),SHL32(MULT16_16(ol_pitch_coef,ol_pitch_coef),16))))); else @@ -447,18 +411,16 @@ } #ifdef VORBIS_PSYCHO - for(i=0;i<256-st->frameSize;i++) - st->psy_window[i] = st->psy_window[i+st->frameSize]; - for(i=0;iframeSize;i++) - st->psy_window[256-st->frameSize+i] = in[i]; + SPEEX_MOVE(st->psy_window, st->psy_window+st->frameSize, 256-st->frameSize); + SPEEX_COPY(&st->psy_window[256-st->frameSize], in, st->frameSize); compute_curve(st->psy, st->psy_window, st->curve); /*print_vec(st->curve, 128, "curve");*/ if (st->first) - for (i=0;i<128;i++) - st->old_curve[i] = st->curve[i]; + SPEEX_COPY(st->old_curve, st->curve, 128); #endif /*VBR stuff*/ +#ifndef DISABLE_VBR if (st->vbr && (st->vbr_enabled||st->vad_enabled)) { float lsp_dist=0; @@ -570,22 +532,16 @@ } else { st->relative_quality = -1; } +#endif /* #ifndef DISABLE_VBR */ if (st->encode_submode) { -#ifdef EPIC_48K - if (!st->lbr_48k) { -#endif + /* First, transmit a zero for narrowband */ + speex_bits_pack(bits, 0, 1); - /* First, transmit a zero for narrowband */ - speex_bits_pack(bits, 0, 1); + /* Transmit the sub-mode we use for this frame */ + speex_bits_pack(bits, st->submodeID, NB_SUBMODE_BITS); - /* Transmit the sub-mode we use for this frame */ - speex_bits_pack(bits, st->submodeID, NB_SUBMODE_BITS); - -#ifdef EPIC_48K - } -#endif } /* If null mode (no transmission), just set a couple things to zero*/ @@ -599,7 +555,7 @@ st->first=1; st->bounded_pitch = 1; - speex_move(st->winBuf, in+2*st->frameSize-st->windowSize, (st->windowSize-st->frameSize)*sizeof(spx_word16_t)); + SPEEX_COPY(st->winBuf, in+2*st->frameSize-st->windowSize, st->windowSize-st->frameSize); /* Clear memory (no need to really compute it) */ for (i=0;ilpcSize;i++) @@ -624,35 +580,6 @@ qlsp[i]=lsp[i]; #endif -#ifdef EPIC_48K - if (st->lbr_48k) { - speex_bits_pack(bits, pitch_half[0]-st->min_pitch, 7); - speex_bits_pack(bits, pitch_half[1]-pitch_half[0]+1, 2); - - { - int quant = (int)floor(.5+7.4*GAIN_SCALING_1*ol_pitch_coef); - if (quant>7) - quant=7; - if (quant<0) - quant=0; - ol_pitch_id=quant; - speex_bits_pack(bits, quant, 3); - ol_pitch_coef=GAIN_SCALING*0.13514*quant; - - } - { - int qe = (int)(floor(.5+2.1*log(ol_gain*1.0/SIG_SCALING)))-2; - if (qe<0) - qe=0; - if (qe>15) - qe=15; - ol_gain = exp((qe+2)/2.1)*SIG_SCALING; - speex_bits_pack(bits, qe, 4); - } - - } else { -#endif - /*If we use low bit-rate pitch mode, transmit open-loop pitch*/ if (SUBMODE(lbr_pitch)!=-1) { @@ -662,13 +589,19 @@ if (SUBMODE(forced_pitch_gain)) { int quant; + /* This just damps the pitch a bit, because it tends to be too aggressive when forced */ + ol_pitch_coef = MULT16_16_Q15(QCONST16(.9,15), ol_pitch_coef); +#ifdef FIXED_POINT + quant = PSHR16(MULT16_16_16(15, ol_pitch_coef),GAIN_SHIFT); +#else quant = (int)floor(.5+15*ol_pitch_coef*GAIN_SCALING_1); +#endif if (quant>15) quant=15; if (quant<0) quant=0; speex_bits_pack(bits, quant, 4); - ol_pitch_coef=GAIN_SCALING*0.066667*quant; + ol_pitch_coef=MULT16_16_P15(QCONST16(0.066667,15),SHL16(quant,GAIN_SHIFT)); } @@ -693,10 +626,6 @@ #endif -#ifdef EPIC_48K - } -#endif - /* Special case for first frame */ if (st->first) @@ -720,18 +649,8 @@ int offset; spx_word16_t *sw; spx_word16_t *exc; - spx_sig_t *innov_save = NULL; int pitch; int response_bound = st->subframeSize; -#ifdef EPIC_48K - if (st->lbr_48k) - { - if (sub*2 < st->nbSubframes) - ol_pitch = pitch_half[0]; - else - ol_pitch = pitch_half[1]; - } -#endif /* Offset relative to start of frame */ offset = st->subframeSize*sub; @@ -739,9 +658,6 @@ exc=st->exc+offset; /* Weighted signal */ sw=st->sw+offset; - /* Pointer for saving innovation */ - if (st->innov_save) - innov_save = st->innov_save+offset; /* LSP interpolation (quantized and unquantized) */ lsp_interpolate(st->old_lsp, lsp, interp_lsp, st->lpcSize, sub, st->nbSubframes); @@ -782,25 +698,21 @@ bw_lpc(st->gamma2, interp_lpc, bw_lpc2, st->lpcSize); else { - bw_lpc2[0]=1; - for (i=1;i<=st->lpcSize;i++) + for (i=0;ilpcSize;i++) bw_lpc2[i]=0; } /*print_vec(st->bw_lpc1, 10, "bw_lpc");*/ #endif + /*FIXME: This will break if we change the window size */ + speex_assert(st->windowSize-st->frameSize == st->subframeSize); + if (sub==0) { - /*FIXME: This will break if we change the window size */ - if (st->windowSize-st->frameSize != st->subframeSize) - speex_error("windowSize-frameSize != subframeSize"); - if (sub==0) - { - for (i=0;isubframeSize;i++) - real_exc[i] = sw[i] = st->winBuf[i]; - } else { - for (i=0;isubframeSize;i++) - real_exc[i] = sw[i] = in[i+((sub-1)*st->subframeSize)]; - } + for (i=0;isubframeSize;i++) + real_exc[i] = sw[i] = st->winBuf[i]; + } else { + for (i=0;isubframeSize;i++) + real_exc[i] = sw[i] = in[i+((sub-1)*st->subframeSize)]; } fir_mem16(real_exc, interp_qlpc, real_exc, st->subframeSize, st->lpcSize, st->mem_exc2, stack); @@ -820,8 +732,7 @@ for (i=0;ilpcSize;i++) mem[i]=SHL32(st->mem_sw[i],1); filter_mem16(ringing, st->bw_lpc1, st->bw_lpc2, ringing, response_bound, st->lpcSize, mem, stack); - for (i=response_bound;isubframeSize;i++) - ringing[i]=0; + SPEEX_MEMSET(&ringing[response_bound], 0, st->subframeSize-response_bound); #else iir_mem16(ringing, interp_qlpc, ringing, st->subframeSize, st->lpcSize, mem, stack); for (i=0;ilpcSize;i++) @@ -838,16 +749,15 @@ for (i=0;ilpcSize;i++) st->mem_sw[i]=mem[i]; - /* Compute target signal */ + /* Compute target signal (saturation prevents overflows on clipped input speech) */ for (i=0;isubframeSize;i++) - target[i]=SUB16(sw[i],PSHR32(ringing[i],1)); + target[i]=EXTRACT16(SATURATE(SUB32(sw[i],PSHR32(ringing[i],1)),32767)); /* Reset excitation */ - for (i=0;isubframeSize;i++) - exc[i]=0; + SPEEX_MEMSET(exc, 0, st->subframeSize); /* If we have a long-term predictor (otherwise, something's wrong) */ - if (SUBMODE(ltp_quant)) + speex_assert (SUBMODE(ltp_quant)); { int pit_min, pit_max; /* Long-term prediction */ @@ -876,129 +786,98 @@ if (st->bounded_pitch && pit_max>offset) pit_max=offset; -#ifdef EPIC_48K - if (st->lbr_48k) - { - pitch = SUBMODE(ltp_quant)(target, sw, interp_qlpc, bw_lpc1, bw_lpc2, - exc32, SUBMODE(ltp_params), pit_min, pit_max, ol_pitch_coef, - st->lpcSize, st->subframeSize, bits, stack, - exc, syn_resp, st->complexity, ol_pitch_id, st->plc_tuning, &st->cumul_gain); - } else { -#endif - /* Perform pitch search */ pitch = SUBMODE(ltp_quant)(target, sw, interp_qlpc, bw_lpc1, bw_lpc2, exc32, SUBMODE(ltp_params), pit_min, pit_max, ol_pitch_coef, st->lpcSize, st->subframeSize, bits, stack, exc, syn_resp, st->complexity, 0, st->plc_tuning, &st->cumul_gain); -#ifdef EPIC_48K - } -#endif st->pitch[sub]=pitch; - } else { - speex_error ("No pitch prediction, what's wrong"); } - /* Quantization of innovation */ - { - spx_word32_t ener=0; - spx_word16_t fine_gain; - - for (i=0;isubframeSize;i++) - innov[i]=0; - - for (i=0;isubframeSize;i++) - real_exc[i] = SUB16(real_exc[i], PSHR32(exc32[i],SIG_SHIFT-1)); - - ener = SHL32(EXTEND32(compute_rms16(real_exc, st->subframeSize)),SIG_SHIFT); - - /*FIXME: Should use DIV32_16 and make sure result fits in 16 bits */ + SPEEX_MEMSET(innov, 0, st->subframeSize); + + /* FIXME: Make sure this is save from overflows (so far so good) */ + for (i=0;isubframeSize;i++) + real_exc[i] = EXTRACT16(SUB32(EXTEND32(real_exc[i]), PSHR32(exc32[i],SIG_SHIFT-1))); + + ener = SHL32(EXTEND32(compute_rms16(real_exc, st->subframeSize)),SIG_SHIFT); + + /*FIXME: Should use DIV32_16 and make sure result fits in 16 bits */ #ifdef FIXED_POINT - { - spx_word32_t f = PDIV32(ener,PSHR32(ol_gain,SIG_SHIFT)); - if (f<=32767) - fine_gain = f; - else - fine_gain = 32767; - } + { + spx_word32_t f = PDIV32(ener,PSHR32(ol_gain,SIG_SHIFT)); + if (f<=32767) + fine_gain = f; + else + fine_gain = 32767; + } #else - fine_gain = PDIV32_16(ener,PSHR32(ol_gain,SIG_SHIFT)); + fine_gain = PDIV32_16(ener,PSHR32(ol_gain,SIG_SHIFT)); #endif - /* Calculate gain correction for the sub-frame (if any) */ - if (SUBMODE(have_subframe_gain)) - { - int qe; - if (SUBMODE(have_subframe_gain)==3) - { - qe = scal_quant(fine_gain, exc_gain_quant_scal3_bound, 8); - speex_bits_pack(bits, qe, 3); - ener=MULT16_32_Q14(exc_gain_quant_scal3[qe],ol_gain); - } else { - qe = scal_quant(fine_gain, exc_gain_quant_scal1_bound, 2); - speex_bits_pack(bits, qe, 1); - ener=MULT16_32_Q14(exc_gain_quant_scal1[qe],ol_gain); - } - } else { - ener=ol_gain; - } - - /*printf ("%f %f\n", ener, ol_gain);*/ - - /* Normalize innovation */ - signal_div(target, target, ener, st->subframeSize); - - /* Quantize innovation */ - if (SUBMODE(innovation_quant)) + /* Calculate gain correction for the sub-frame (if any) */ + if (SUBMODE(have_subframe_gain)) + { + int qe; + if (SUBMODE(have_subframe_gain)==3) { - /* Codebook search */ - SUBMODE(innovation_quant)(target, interp_qlpc, bw_lpc1, bw_lpc2, - SUBMODE(innovation_params), st->lpcSize, st->subframeSize, - innov, syn_resp, bits, stack, st->complexity, SUBMODE(double_codebook)); - - /* De-normalize innovation and update excitation */ - signal_mul(innov, innov, ener, st->subframeSize); - - for (i=0;isubframeSize;i++) - exc[i] = EXTRACT16(PSHR32(ADD32(SHL32(exc32[i],1),innov[i]),SIG_SHIFT)); + qe = scal_quant(fine_gain, exc_gain_quant_scal3_bound, 8); + speex_bits_pack(bits, qe, 3); + ener=MULT16_32_Q14(exc_gain_quant_scal3[qe],ol_gain); } else { - speex_error("No fixed codebook"); + qe = scal_quant(fine_gain, exc_gain_quant_scal1_bound, 2); + speex_bits_pack(bits, qe, 1); + ener=MULT16_32_Q14(exc_gain_quant_scal1[qe],ol_gain); } + } else { + ener=ol_gain; + } + + /*printf ("%f %f\n", ener, ol_gain);*/ + + /* Normalize innovation */ + signal_div(target, target, ener, st->subframeSize); + + /* Quantize innovation */ + speex_assert (SUBMODE(innovation_quant)); + { + /* Codebook search */ + SUBMODE(innovation_quant)(target, interp_qlpc, bw_lpc1, bw_lpc2, + SUBMODE(innovation_params), st->lpcSize, st->subframeSize, + innov, syn_resp, bits, stack, st->complexity, SUBMODE(double_codebook)); + + /* De-normalize innovation and update excitation */ + signal_mul(innov, innov, ener, st->subframeSize); + + for (i=0;isubframeSize;i++) + exc[i] = EXTRACT16(SATURATE32(PSHR32(ADD32(SHL32(exc32[i],1),innov[i]),SIG_SHIFT),32767)); - if (innov_save) - { - for (i=0;isubframeSize;i++) - innov_save[i] = innov[i]; - } /* In some (rare) modes, we do a second search (more bits) to reduce noise even more */ if (SUBMODE(double_codebook)) { char *tmp_stack=stack; VARDECL(spx_sig_t *innov2); ALLOC(innov2, st->subframeSize, spx_sig_t); + SPEEX_MEMSET(innov2, 0, st->subframeSize); for (i=0;isubframeSize;i++) - innov2[i]=0; - for (i=0;isubframeSize;i++) - target[i]=MULT16_16_P13(QCONST16(2.2,13), target[i]); + target[i]=MULT16_16_P13(QCONST16(2.2f,13), target[i]); SUBMODE(innovation_quant)(target, interp_qlpc, bw_lpc1, bw_lpc2, SUBMODE(innovation_params), st->lpcSize, st->subframeSize, innov2, syn_resp, bits, stack, st->complexity, 0); - signal_mul(innov2, innov2, MULT16_32_Q15(QCONST16(0.454545,15),ener), st->subframeSize); + signal_mul(innov2, innov2, MULT16_32_Q15(QCONST16(0.454545f,15),ener), st->subframeSize); for (i=0;isubframeSize;i++) - exc[i] = ADD32(exc[i],PSHR32(innov2[i],SIG_SHIFT)); - if (innov_save) - { - for (i=0;isubframeSize;i++) - innov_save[i] = ADD32(innov_save[i],innov2[i]); - } + innov[i] = ADD32(innov[i],innov2[i]); stack = tmp_stack; } - + for (i=0;isubframeSize;i++) + exc[i] = EXTRACT16(SATURATE32(PSHR32(ADD32(SHL32(exc32[i],1),innov[i]),SIG_SHIFT),32767)); + if (st->innov_rms_save) + { + st->innov_rms_save[sub] = compute_rms(innov, st->subframeSize); + } } - for (i=0;isubframeSize;i++) - sw[i] = exc[i]; /* Final signal synthesis from excitation */ - iir_mem16(sw, interp_qlpc, sw, st->subframeSize, st->lpcSize, st->mem_sp, stack); + iir_mem16(exc, interp_qlpc, sw, st->subframeSize, st->lpcSize, st->mem_sp, stack); /* Compute weighted signal again, from synthesized speech (not sure it's the right thing) */ if (st->complexity!=0) @@ -1017,23 +896,22 @@ #ifdef VORBIS_PSYCHO if (st->submodeID>=1) - { - for (i=0;i<128;i++) - st->old_curve[i] = st->curve[i]; - } + SPEEX_COPY(st->old_curve, st->curve, 128); #endif if (st->submodeID==1) { +#ifndef DISABLE_VBR if (st->dtx_count) speex_bits_pack(bits, 15, 4); else +#endif speex_bits_pack(bits, 0, 4); } /* The next frame will not be the first (Duh!) */ st->first = 0; - speex_move(st->winBuf, in+2*st->frameSize-st->windowSize, (st->windowSize-st->frameSize)*sizeof(spx_word16_t)); + SPEEX_COPY(st->winBuf, in+2*st->frameSize-st->windowSize, st->windowSize-st->frameSize); if (SUBMODE(innovation_quant) == noise_codebook_quant || st->submodeID==0) st->bounded_pitch = 1; @@ -1063,9 +941,6 @@ st->encode_submode = 1; -#ifdef EPIC_48K - st->lbr_48k=mode->lbr48k; -#endif st->first=1; /* Codec parameters, should eventually have several "modes"*/ @@ -1083,8 +958,7 @@ st->excBuf = (spx_word16_t*)speex_alloc((st->frameSize + 2*st->max_pitch + st->subframeSize + 12)*sizeof(spx_word16_t)); st->exc = st->excBuf + 2*st->max_pitch + st->subframeSize + 6; - for (i=0;iframeSize + st->max_pitch + 1;i++) - st->excBuf[i]=0; + SPEEX_MEMSET(st->excBuf, 0, st->frameSize + st->max_pitch); st->interp_qlpc = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); st->old_qlsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); @@ -1111,7 +985,7 @@ st->highpass_enabled = 1; #ifdef ENABLE_VALGRIND - VALGRIND_MAKE_READABLE(st, (st->stack-(char*)st)); + VALGRIND_MAKE_READABLE(st, NB_DEC_STACK); #endif return st; } @@ -1166,7 +1040,7 @@ pitch_gain = st->last_pitch_gain; if (pitch_gain>54) pitch_gain = 54; - pitch_gain = SHL(pitch_gain, 9); + pitch_gain = SHL16(pitch_gain, 9); #else pitch_gain = GAIN_SCALING_1*st->last_pitch_gain; if (pitch_gain>.85) @@ -1177,7 +1051,7 @@ innov_gain = compute_rms16(st->exc, st->frameSize); noise_gain = MULT16_16_Q15(innov_gain, MULT16_16_Q15(fact, SUB16(Q15ONE,MULT16_16_Q15(pitch_gain,pitch_gain)))); /* Shift all buffers by one frame */ - speex_move(st->excBuf, st->excBuf+st->frameSize, (2*st->max_pitch + st->subframeSize + 12)*sizeof(spx_word16_t)); + SPEEX_MOVE(st->excBuf, st->excBuf+st->frameSize, 2*st->max_pitch + st->subframeSize + 12); pitch_val = st->last_pitch + SHR32((spx_int32_t)speex_rand(1+st->count_lost, &st->seed),SIG_SHIFT); @@ -1191,21 +1065,21 @@ speex_rand(noise_gain, &st->seed); } - for (i=0;iframeSize;i++) - out[i]=st->exc[i-st->subframeSize]; bw_lpc(QCONST16(.98,15), st->interp_qlpc, st->interp_qlpc, st->lpcSize); - iir_mem16(out, st->interp_qlpc, out, st->frameSize, st->lpcSize, - st->mem_sp, stack); + iir_mem16(&st->exc[-st->subframeSize], st->interp_qlpc, out, st->frameSize, + st->lpcSize, st->mem_sp, stack); highpass(out, out, st->frameSize, HIGHPASS_NARROWBAND|HIGHPASS_OUTPUT, st->mem_hp); st->first = 0; st->count_lost++; - st->pitch_gain_buf[st->pitch_gain_buf_idx++] = PSHR(pitch_gain,9); + st->pitch_gain_buf[st->pitch_gain_buf_idx++] = PSHR16(pitch_gain,9); if (st->pitch_gain_buf_idx > 2) /* rollover */ st->pitch_gain_buf_idx = 0; } - +/* Just so we don't need to carry the complete wideband mode information */ +static const int wb_skip_table[8] = {0, 36, 112, 192, 352, 0, 0, 0}; + int nb_decode(void *state, SpeexBits *bits, void *vout) { DecState *st; @@ -1225,10 +1099,7 @@ VARDECL(spx_coef_t *ak); VARDECL(spx_lsp_t *qlsp); spx_word16_t pitch_average=0; -#ifdef EPIC_48K - int pitch_half[2]; - int ol_pitch_id=0; -#endif + spx_word16_t *out = (spx_word16_t*)vout; VARDECL(spx_lsp_t *interp_qlsp); @@ -1250,9 +1121,6 @@ if (st->encode_submode) { -#ifdef EPIC_48K - if (!st->lbr_48k) { -#endif /* Search for next narrowband block (handle requests, skip wideband blocks) */ do { @@ -1264,10 +1132,11 @@ int submode; int advance; advance = submode = speex_bits_unpack_unsigned(bits, SB_SUBMODE_BITS); - speex_mode_query(&speex_wb_mode, SPEEX_SUBMODE_BITS_PER_FRAME, &advance); + /*speex_mode_query(&speex_wb_mode, SPEEX_SUBMODE_BITS_PER_FRAME, &advance);*/ + advance = wb_skip_table[submode]; if (advance < 0) { - speex_warning ("Invalid wideband mode encountered. Corrupted stream?"); + speex_notify("Invalid mode encountered. The stream is corrupted."); return -2; } advance -= (SB_SUBMODE_BITS+1); @@ -1279,10 +1148,11 @@ if (wideband) { advance = submode = speex_bits_unpack_unsigned(bits, SB_SUBMODE_BITS); - speex_mode_query(&speex_wb_mode, SPEEX_SUBMODE_BITS_PER_FRAME, &advance); + /*speex_mode_query(&speex_wb_mode, SPEEX_SUBMODE_BITS_PER_FRAME, &advance);*/ + advance = wb_skip_table[submode]; if (advance < 0) { - speex_warning ("Invalid wideband mode encountered: corrupted stream?"); + speex_notify("Invalid mode encountered. The stream is corrupted."); return -2; } advance -= (SB_SUBMODE_BITS+1); @@ -1290,7 +1160,7 @@ wideband = speex_bits_unpack_unsigned(bits, 1); if (wideband) { - speex_warning ("More than two wideband layers found: corrupted stream?"); + speex_notify("More than two wideband layers found. The stream is corrupted."); return -2; } @@ -1315,7 +1185,7 @@ return ret; } else if (m>8) /* Invalid mode */ { - speex_warning("Invalid mode encountered: corrupted stream?"); + speex_notify("Invalid mode encountered. The stream is corrupted."); return -2; } @@ -1323,27 +1193,21 @@ /* Get the sub-mode that was used */ st->submodeID = m; -#ifdef EPIC_48K - } -#endif } } /* Shift all buffers by one frame */ - speex_move(st->excBuf, st->excBuf+st->frameSize, (2*st->max_pitch + st->subframeSize + 12)*sizeof(spx_word16_t)); + SPEEX_MOVE(st->excBuf, st->excBuf+st->frameSize, 2*st->max_pitch + st->subframeSize + 12); /* If null mode (no transmission), just set a couple things to zero*/ if (st->submodes[st->submodeID] == NULL) { VARDECL(spx_coef_t *lpc); ALLOC(lpc, st->lpcSize, spx_coef_t); - bw_lpc(GAMMA_SCALING*.93, st->interp_qlpc, lpc, st->lpcSize); + bw_lpc(QCONST16(0.93f,15), st->interp_qlpc, lpc, st->lpcSize); { - float innov_gain=0; - float pgain=GAIN_SCALING_1*st->last_pitch_gain; - if (pgain>.6) - pgain=.6; + spx_word16_t innov_gain=0; /* FIXME: This was innov, not exc */ innov_gain = compute_rms16(st->exc, st->frameSize); for (i=0;iframeSize;i++) @@ -1353,10 +1217,8 @@ st->first=1; - for (i=0;iframeSize;i++) - out[i] = st->exc[i]; /* Final signal synthesis from excitation */ - iir_mem16(out, lpc, out, st->frameSize, st->lpcSize, st->mem_sp, stack); + iir_mem16(st->exc, lpc, out, st->frameSize, st->lpcSize, st->mem_sp, stack); st->count_lost=0; return 0; @@ -1391,23 +1253,6 @@ st->old_qlsp[i] = qlsp[i]; } -#ifdef EPIC_48K - if (st->lbr_48k) { - pitch_half[0] = st->min_pitch+speex_bits_unpack_unsigned(bits, 7); - pitch_half[1] = pitch_half[0]+speex_bits_unpack_unsigned(bits, 2)-1; - - ol_pitch_id = speex_bits_unpack_unsigned(bits, 3); - ol_pitch_coef=GAIN_SCALING*0.13514*ol_pitch_id; - - { - int qe; - qe = speex_bits_unpack_unsigned(bits, 4); - ol_gain = SIG_SCALING*exp((qe+2)/2.1),SIG_SHIFT; - } - - } else { -#endif - /* Get open-loop pitch estimation for low bit-rate pitch coding */ if (SUBMODE(lbr_pitch)!=-1) { @@ -1418,7 +1263,7 @@ { int quant; quant = speex_bits_unpack_unsigned(bits, 4); - ol_pitch_coef=GAIN_SCALING*0.066667*quant; + ol_pitch_coef=MULT16_16_P15(QCONST16(0.066667,15),SHL16(quant,GAIN_SHIFT)); } /* Get global excitation gain */ @@ -1426,14 +1271,12 @@ int qe; qe = speex_bits_unpack_unsigned(bits, 5); #ifdef FIXED_POINT + /* FIXME: Perhaps we could slightly lower the gain here when the output is going to saturate? */ ol_gain = MULT16_32_Q15(28406,ol_gain_table[qe]); #else ol_gain = SIG_SCALING*exp(qe/3.5); #endif } -#ifdef EPIC_48K - } -#endif ALLOC(ak, st->lpcSize, spx_coef_t); ALLOC(innov, st->subframeSize, spx_sig_t); @@ -1458,19 +1301,9 @@ int offset; spx_word16_t *exc; spx_word16_t *sp; - spx_sig_t *innov_save = NULL; + spx_word16_t *innov_save = NULL; spx_word16_t tmp; -#ifdef EPIC_48K - if (st->lbr_48k) - { - if (sub*2 < st->nbSubframes) - ol_pitch = pitch_half[0]; - else - ol_pitch = pitch_half[1]; - } -#endif - /* Offset relative to start of frame */ offset = st->subframeSize*sub; /* Excitation */ @@ -1482,11 +1315,10 @@ /* Reset excitation */ - for (i=0;isubframeSize;i++) - exc[i]=0; + SPEEX_MEMSET(exc, 0, st->subframeSize); /*Adaptive codebook contribution*/ - if (SUBMODE(ltp_unquant)) + speex_assert (SUBMODE(ltp_unquant)); { int pit_min, pit_max; /* Handle pitch constraints if any */ @@ -1519,23 +1351,16 @@ } -#ifdef EPIC_48K - if (st->lbr_48k) - { - SUBMODE(ltp_unquant)(exc, exc32, pit_min, pit_max, ol_pitch_coef, SUBMODE(ltp_params), - st->subframeSize, &pitch, &pitch_gain[0], bits, stack, - st->count_lost, offset, st->last_pitch_gain, ol_pitch_id); - } else { -#endif - - SUBMODE(ltp_unquant)(exc, exc32, pit_min, pit_max, ol_pitch_coef, SUBMODE(ltp_params), - st->subframeSize, &pitch, &pitch_gain[0], bits, stack, - st->count_lost, offset, st->last_pitch_gain, 0); - -#ifdef EPIC_48K - } -#endif + SUBMODE(ltp_unquant)(exc, exc32, pit_min, pit_max, ol_pitch_coef, SUBMODE(ltp_params), + st->subframeSize, &pitch, &pitch_gain[0], bits, stack, + st->count_lost, offset, st->last_pitch_gain, 0); + + /* Ensuring that things aren't blowing up as would happen if e.g. an encoder is + crafting packets to make us produce NaNs and slow down the decoder (vague DoS threat). + We can probably be even more aggressive and limit to 15000 or so. */ + sanitize_values32(exc32, NEG32(QCONST32(32000,SIG_SHIFT-1)), QCONST32(32000,SIG_SHIFT-1), st->subframeSize); + tmp = gain_3tap_to_1tap(pitch_gain); pitch_average += tmp; @@ -1547,8 +1372,6 @@ if (tmp > best_pitch_gain) best_pitch_gain = tmp; } - } else { - speex_error("No pitch prediction, what's wrong"); } /* Unquantize the innovation */ @@ -1556,8 +1379,7 @@ int q_energy; spx_word32_t ener; - for (i=0;isubframeSize;i++) - innov[i]=0; + SPEEX_MEMSET(innov, 0, st->subframeSize); /* Decode sub-frame gain correction */ if (SUBMODE(have_subframe_gain)==3) @@ -1572,80 +1394,72 @@ ener = ol_gain; } - if (SUBMODE(innovation_unquant)) + speex_assert (SUBMODE(innovation_unquant)); { /*Fixed codebook contribution*/ SUBMODE(innovation_unquant)(innov, SUBMODE(innovation_params), st->subframeSize, bits, stack, &st->seed); - } else { - speex_error("No fixed codebook"); + /* De-normalize innovation and update excitation */ + + signal_mul(innov, innov, ener, st->subframeSize); + + /* Decode second codebook (only for some modes) */ + if (SUBMODE(double_codebook)) + { + char *tmp_stack=stack; + VARDECL(spx_sig_t *innov2); + ALLOC(innov2, st->subframeSize, spx_sig_t); + SPEEX_MEMSET(innov2, 0, st->subframeSize); + SUBMODE(innovation_unquant)(innov2, SUBMODE(innovation_params), st->subframeSize, bits, stack, &st->seed); + signal_mul(innov2, innov2, MULT16_32_Q15(QCONST16(0.454545f,15),ener), st->subframeSize); + for (i=0;isubframeSize;i++) + innov[i] = ADD32(innov[i], innov2[i]); + stack = tmp_stack; + } + for (i=0;isubframeSize;i++) + exc[i]=EXTRACT16(SATURATE32(PSHR32(ADD32(SHL32(exc32[i],1),innov[i]),SIG_SHIFT),32767)); + /*print_vec(exc, 40, "innov");*/ + if (innov_save) + { + for (i=0;isubframeSize;i++) + innov_save[i] = EXTRACT16(PSHR32(innov[i], SIG_SHIFT)); + } } - /* De-normalize innovation and update excitation */ -#ifdef FIXED_POINT - signal_mul(innov, innov, ener, st->subframeSize); -#else - signal_mul(innov, innov, ener, st->subframeSize); -#endif /*Vocoder mode*/ if (st->submodeID==1) { - float g=ol_pitch_coef*GAIN_SCALING_1; - + spx_word16_t g=ol_pitch_coef; + g=MULT16_16_P14(QCONST16(1.5f,14),(g-QCONST16(.2f,6))); + if (g<0) + g=0; + if (g>GAIN_SCALING) + g=GAIN_SCALING; - for (i=0;isubframeSize;i++) - exc[i]=0; + SPEEX_MEMSET(exc, 0, st->subframeSize); while (st->voc_offsetsubframeSize) { + /* exc[st->voc_offset]= g*sqrt(2*ol_pitch)*ol_gain; + Not quite sure why we need the factor of two in the sqrt */ if (st->voc_offset>=0) - exc[st->voc_offset]=sqrt(1.0*ol_pitch); + exc[st->voc_offset]=MULT16_16(spx_sqrt(MULT16_16_16(2,ol_pitch)),EXTRACT16(PSHR32(MULT16_16(g,PSHR32(ol_gain,SIG_SHIFT)),6))); st->voc_offset+=ol_pitch; } st->voc_offset -= st->subframeSize; - - g=.5+2*(g-.6); - if (g<0) - g=0; - if (g>1) - g=1; + for (i=0;isubframeSize;i++) { spx_word16_t exci=exc[i]; - /* FIXME: cleanup the innov[i]/SIG_SCALING */ - exc[i]=.8*g*exc[i]*PSHR32(ol_gain,SIG_SHIFT) + .6*g*st->voc_m1*PSHR32(ol_gain,SIG_SHIFT) + (1-.5*g)*PSHR32(innov[i],SIG_SHIFT) - .5*g*PSHR32(st->voc_m2,SIG_SHIFT); + exc[i]= ADD16(ADD16(MULT16_16_Q15(QCONST16(.7f,15),exc[i]) , MULT16_16_Q15(QCONST16(.3f,15),st->voc_m1)), + SUB16(MULT16_16_Q15(Q15_ONE-MULT16_16_16(QCONST16(.85f,9),g),EXTRACT16(PSHR32(innov[i],SIG_SHIFT))), + MULT16_16_Q15(MULT16_16_16(QCONST16(.15f,9),g),EXTRACT16(PSHR32(st->voc_m2,SIG_SHIFT))) + )); st->voc_m1 = exci; st->voc_m2=innov[i]; - st->voc_mean = .95*st->voc_mean + .05*exc[i]; + st->voc_mean = EXTRACT16(PSHR32(ADD32(MULT16_16(QCONST16(.8f,15),st->voc_mean), MULT16_16(QCONST16(.2f,15),exc[i])), 15)); exc[i]-=st->voc_mean; } - } else { - for (i=0;isubframeSize;i++) - exc[i]=PSHR32(ADD32(SHL32(exc32[i],1),innov[i]),SIG_SHIFT); - /*print_vec(exc, 40, "innov");*/ - } - if (innov_save) - { - for (i=0;isubframeSize;i++) - innov_save[i] = innov[i]; - } - /* Decode second codebook (only for some modes) */ - if (SUBMODE(double_codebook)) - { - char *tmp_stack=stack; - VARDECL(spx_sig_t *innov2); - ALLOC(innov2, st->subframeSize, spx_sig_t); - for (i=0;isubframeSize;i++) - innov2[i]=0; - SUBMODE(innovation_unquant)(innov2, SUBMODE(innovation_params), st->subframeSize, bits, stack, &st->seed); - signal_mul(innov2, innov2, MULT16_32_Q15(QCONST16(0.454545,15),ener), st->subframeSize); - for (i=0;isubframeSize;i++) - exc[i] = ADD16(exc[i],PSHR32(innov2[i],SIG_SHIFT)); - if (innov_save) - { - for (i=0;isubframeSize;i++) - innov_save[i] = ADD32(innov_save[i],innov2[i]); - } - stack = tmp_stack; } + } } @@ -1656,8 +1470,7 @@ multicomb(st->exc-st->subframeSize, out, st->interp_qlpc, st->lpcSize, 2*st->subframeSize, best_pitch, 40, SUBMODE(comb_gain), stack); multicomb(st->exc+st->subframeSize, out+2*st->subframeSize, st->interp_qlpc, st->lpcSize, 2*st->subframeSize, best_pitch, 40, SUBMODE(comb_gain), stack); } else { - for (i=0;iframeSize;i++) - out[i]=st->exc[i-st->subframeSize]; + SPEEX_COPY(out, &st->exc[-st->subframeSize], st->frameSize); } /* If the last packet was lost, re-scale the excitation to obtain the same energy as encoded in ol_gain */ @@ -1712,7 +1525,7 @@ for (i=0;ilpcSize;i+=2) { /*pi_g += -st->interp_qlpc[i] + st->interp_qlpc[i+1];*/ - pi_g = ADD32(pi_g, SUB32(EXTEND32(st->interp_qlpc[i+1]),EXTEND32(st->interp_qlpc[i]))); + pi_g = ADD32(pi_g, SUB32(EXTEND32(ak[i+1]),EXTEND32(ak[i]))); } st->pi_gain[sub] = pi_g; } @@ -1730,6 +1543,14 @@ /*for (i=0;iframeSize;i++) printf ("%d\n", (int)st->frame[i]);*/ + /* Tracking output level */ + st->level = 1+PSHR32(ol_gain,SIG_SHIFT); + st->max_level = MAX16(MULT16_16_Q15(QCONST16(.99f,15), st->max_level), st->level); + st->min_level = MIN16(ADD16(1,MULT16_16_Q14(QCONST16(1.01f,14), st->min_level)), st->level); + if (st->max_level < st->min_level+1) + st->max_level = st->min_level+1; + /*printf ("%f %f %f %d\n", og, st->min_level, st->max_level, update);*/ + /* Store the LSPs for interpolation in the next frame */ for (i=0;ilpcSize;i++) st->old_qlsp[i] = qlsp[i]; @@ -1769,7 +1590,8 @@ case SPEEX_GET_MODE: (*(spx_int32_t*)ptr) = st->submodeID; break; - case SPEEX_SET_VBR: +#ifndef DISABLE_VBR + case SPEEX_SET_VBR: st->vbr_enabled = (*(spx_int32_t*)ptr); break; case SPEEX_GET_VBR: @@ -1817,12 +1639,15 @@ case SPEEX_GET_ABR: (*(spx_int32_t*)ptr) = st->abr_enabled; break; +#endif /* #ifndef DISABLE_VBR */ +#if !defined(DISABLE_VBR) && !defined(DISABLE_FLOAT_API) case SPEEX_SET_VBR_QUALITY: st->vbr_quality = (*(float*)ptr); break; case SPEEX_GET_VBR_QUALITY: (*(float*)ptr) = st->vbr_quality; break; +#endif /* !defined(DISABLE_VBR) && !defined(DISABLE_FLOAT_API) */ case SPEEX_SET_QUALITY: { int quality = (*(spx_int32_t*)ptr); @@ -1874,7 +1699,7 @@ st->bounded_pitch = 1; st->first = 1; for (i=0;ilpcSize;i++) - st->old_lsp[i]=(M_PI*((float)(i+1)))/(st->lpcSize+1); + st->old_lsp[i]= DIV32(MULT16_16(QCONST16(3.1415927f, LSP_SHIFT), i+1), st->lpcSize+1); for (i=0;ilpcSize;i++) st->mem_sw[i]=st->mem_sw_whole[i]=st->mem_sp[i]=st->mem_exc[i]=0; for (i=0;iframeSize+st->max_pitch+1;i++) @@ -1900,12 +1725,14 @@ case SPEEX_GET_PLC_TUNING: (*(spx_int32_t*)ptr)=(st->plc_tuning); break; +#ifndef DISABLE_VBR case SPEEX_SET_VBR_MAX_BITRATE: st->vbr_max = (*(spx_int32_t*)ptr); break; case SPEEX_GET_VBR_MAX_BITRATE: (*(spx_int32_t*)ptr) = st->vbr_max; break; +#endif /* #ifndef DISABLE_VBR */ case SPEEX_SET_HIGHPASS: st->highpass_enabled = (*(spx_int32_t*)ptr); break; @@ -1925,20 +1752,24 @@ case SPEEX_GET_EXC: { int i; - spx_word16_t *e = (spx_word16_t*)ptr; - for (i=0;iframeSize;i++) - e[i]=st->exc[i]; + for (i=0;inbSubframes;i++) + ((spx_word16_t*)ptr)[i] = compute_rms16(st->exc+i*st->subframeSize, st->subframeSize); } break; +#ifndef DISABLE_VBR case SPEEX_GET_RELATIVE_QUALITY: (*(float*)ptr)=st->relative_quality; break; +#endif /* #ifndef DISABLE_VBR */ case SPEEX_SET_INNOVATION_SAVE: - st->innov_save = (spx_sig_t*)ptr; + st->innov_rms_save = (spx_word16_t*)ptr; break; case SPEEX_SET_WIDEBAND: st->isWideband = *((spx_int32_t*)ptr); break; + case SPEEX_GET_STACK: + *((char**)ptr) = st->stack; + break; default: speex_warning_int("Unknown nb_ctl request: ", request); return -1; @@ -2021,7 +1852,22 @@ case SPEEX_GET_HIGHPASS: (*(spx_int32_t*)ptr) = st->highpass_enabled; break; - + /* FIXME: Convert to fixed-point and re-enable even when float API is disabled */ +#ifndef DISABLE_FLOAT_API + case SPEEX_GET_ACTIVITY: + { + float ret; + ret = log(st->level/st->min_level)/log(st->max_level/st->min_level); + if (ret>1) + ret = 1; + /* Done in a strange way to catch NaNs as well */ + if (!(ret > 0)) + ret = 0; + /*printf ("%f %f %f %f\n", st->level, st->min_level, st->max_level, ret);*/ + (*(spx_int32_t*)ptr) = (int)(100*ret); + } + break; +#endif case SPEEX_GET_PI_GAIN: { int i; @@ -2033,20 +1879,22 @@ case SPEEX_GET_EXC: { int i; - spx_word16_t *e = (spx_word16_t*)ptr; - for (i=0;iframeSize;i++) - e[i]=st->exc[i]; + for (i=0;inbSubframes;i++) + ((spx_word16_t*)ptr)[i] = compute_rms16(st->exc+i*st->subframeSize, st->subframeSize); } break; case SPEEX_GET_DTX_STATUS: *((spx_int32_t*)ptr) = st->dtx_enabled; break; case SPEEX_SET_INNOVATION_SAVE: - st->innov_save = (spx_sig_t*)ptr; + st->innov_save = (spx_word16_t*)ptr; break; case SPEEX_SET_WIDEBAND: st->isWideband = *((spx_int32_t*)ptr); break; + case SPEEX_GET_STACK: + *((char**)ptr) = st->stack; + break; default: speex_warning_int("Unknown nb_ctl request: ", request); return -1; Modified: freeswitch/trunk/libs/speex/libspeex/nb_celp.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/nb_celp.h (original) +++ freeswitch/trunk/libs/speex/libspeex/nb_celp.h Fri Feb 13 00:02:32 2009 @@ -64,10 +64,6 @@ int ol_voiced; /**< Open-loop voiced/non-voiced decision */ int *pitch; -#ifdef EPIC_48K - int lbr_48k; -#endif - #ifdef VORBIS_PSYCHO VorbisPsy *psy; float *psy_window; @@ -77,7 +73,6 @@ spx_word16_t gamma1; /**< Perceptual filter: A(z/gamma1) */ spx_word16_t gamma2; /**< Perceptual filter: A(z/gamma2) */ - float lag_factor; /**< Lag windowing Gaussian width */ spx_word16_t lpc_floor; /**< Noise floor multiplier for A[0] in LPC analysis*/ char *stack; /**< Pseudo-stack allocation for temporary memory */ spx_word16_t *winBuf; /**< Input buffer (original signal) */ @@ -86,7 +81,7 @@ spx_word16_t *swBuf; /**< Weighted signal buffer */ spx_word16_t *sw; /**< Start of weighted signal frame */ const spx_word16_t *window; /**< Temporary (Hanning) window */ - spx_word16_t *lagWindow; /**< Window applied to auto-correlation */ + const spx_word16_t *lagWindow; /**< Window applied to auto-correlation */ spx_lsp_t *old_lsp; /**< LSPs for previous frame */ spx_lsp_t *old_qlsp; /**< Quantized LSPs for previous frame */ spx_mem_t *mem_sp; /**< Filter memory for signal synthesis */ @@ -96,8 +91,9 @@ spx_mem_t *mem_exc2; /**< Filter memory for excitation (whole frame) */ spx_mem_t mem_hp[2]; /**< High-pass filter memory */ spx_word32_t *pi_gain; /**< Gain of LPC filter at theta=pi (fe/2) */ - spx_sig_t *innov_save; /**< If non-NULL, innovation is copied here */ - + spx_word16_t *innov_rms_save; /**< If non-NULL, innovation RMS is copied here */ + +#ifndef DISABLE_VBR VBRState *vbr; /**< State of the VBR data */ float vbr_quality; /**< Quality setting for VBR encoding */ float relative_quality; /**< Relative quality that will be needed by VBR */ @@ -110,6 +106,8 @@ float abr_drift; float abr_drift2; float abr_count; +#endif /* #ifndef DISABLE_VBR */ + int complexity; /**< Complexity setting (0-10 from least complex to most complex) */ spx_int32_t sampling_rate; int plc_tuning; @@ -134,10 +132,6 @@ int max_pitch; /**< Maximum pitch value allowed */ spx_int32_t sampling_rate; -#ifdef EPIC_48K - int lbr_48k; -#endif - spx_word16_t last_ol_gain; /**< Open-loop gain for previous frame */ char *stack; /**< Pseudo-stack allocation for temporary memory */ @@ -148,7 +142,11 @@ spx_mem_t *mem_sp; /**< Filter memory for synthesis signal */ spx_mem_t mem_hp[2]; /**< High-pass filter memory */ spx_word32_t *pi_gain; /**< Gain of LPC filter at theta=pi (fe/2) */ - spx_sig_t *innov_save; /** If non-NULL, innovation is copied here */ + spx_word16_t *innov_save; /** If non-NULL, innovation is copied here */ + + spx_word16_t level; + spx_word16_t max_level; + spx_word16_t min_level; /* This is used in packet loss concealment */ int last_pitch; /**< Pitch of last correctly decoded frame */ @@ -168,7 +166,7 @@ /*Vocoder data*/ spx_word16_t voc_m1; spx_word32_t voc_m2; - float voc_mean; + spx_word16_t voc_mean; int voc_offset; int dtx_enabled; Added: freeswitch/trunk/libs/speex/libspeex/os_support.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/os_support.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,169 @@ +/* Copyright (C) 2007 Jean-Marc Valin + + File: os_support.h + This is the (tiny) OS abstraction layer. Aside from math.h, this is the + only place where system headers are allowed. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef OS_SUPPORT_H +#define OS_SUPPORT_H + +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef OS_SUPPORT_CUSTOM +#include "os_support_custom.h" +#endif + +/** Speex wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, speex_realloc and speex_free + NOTE: speex_alloc needs to CLEAR THE MEMORY */ +#ifndef OVERRIDE_SPEEX_ALLOC +static inline void *speex_alloc (int size) +{ + /* WARNING: this is not equivalent to malloc(). If you want to use malloc() + or your own allocator, YOU NEED TO CLEAR THE MEMORY ALLOCATED. Otherwise + you will experience strange bugs */ + return calloc(size,1); +} +#endif + +/** Same as speex_alloc, except that the area is only needed inside a Speex call (might cause problem with wideband though) */ +#ifndef OVERRIDE_SPEEX_ALLOC_SCRATCH +static inline void *speex_alloc_scratch (int size) +{ + /* Scratch space doesn't need to be cleared */ + return calloc(size,1); +} +#endif + +/** Speex wrapper for realloc. To do your own dynamic allocation, all you need to do is replace this function, speex_alloc and speex_free */ +#ifndef OVERRIDE_SPEEX_REALLOC +static inline void *speex_realloc (void *ptr, int size) +{ + return realloc(ptr, size); +} +#endif + +/** Speex wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, speex_realloc and speex_alloc */ +#ifndef OVERRIDE_SPEEX_FREE +static inline void speex_free (void *ptr) +{ + free(ptr); +} +#endif + +/** Same as speex_free, except that the area is only needed inside a Speex call (might cause problem with wideband though) */ +#ifndef OVERRIDE_SPEEX_FREE_SCRATCH +static inline void speex_free_scratch (void *ptr) +{ + free(ptr); +} +#endif + +/** Copy n bytes of memory from src to dst. The 0* term provides compile-time type checking */ +#ifndef OVERRIDE_SPEEX_COPY +#define SPEEX_COPY(dst, src, n) (memcpy((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) +#endif + +/** Copy n bytes of memory from src to dst, allowing overlapping regions. The 0* term + provides compile-time type checking */ +#ifndef OVERRIDE_SPEEX_MOVE +#define SPEEX_MOVE(dst, src, n) (memmove((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) +#endif + +/** Set n bytes of memory to value of c, starting at address s */ +#ifndef OVERRIDE_SPEEX_MEMSET +#define SPEEX_MEMSET(dst, c, n) (memset((dst), (c), (n)*sizeof(*(dst)))) +#endif + + +#ifndef OVERRIDE_SPEEX_FATAL +static inline void _speex_fatal(const char *str, const char *file, int line) +{ + fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str); + exit(1); +} +#endif + +#ifndef OVERRIDE_SPEEX_WARNING +static inline void speex_warning(const char *str) +{ +#ifndef DISABLE_WARNINGS + fprintf (stderr, "warning: %s\n", str); +#endif +} +#endif + +#ifndef OVERRIDE_SPEEX_WARNING_INT +static inline void speex_warning_int(const char *str, int val) +{ +#ifndef DISABLE_WARNINGS + fprintf (stderr, "warning: %s %d\n", str, val); +#endif +} +#endif + +#ifndef OVERRIDE_SPEEX_NOTIFY +static inline void speex_notify(const char *str) +{ +#ifndef DISABLE_NOTIFICATIONS + fprintf (stderr, "notification: %s\n", str); +#endif +} +#endif + +#ifndef OVERRIDE_SPEEX_PUTC +/** Speex wrapper for putc */ +static inline void _speex_putc(int ch, void *file) +{ + FILE *f = (FILE *)file; + fprintf(f, "%c", ch); +} +#endif + +#define speex_fatal(str) _speex_fatal(str, __FILE__, __LINE__); +#define speex_assert(cond) {if (!(cond)) {speex_fatal("assertion failed: " #cond);}} + +#ifndef RELEASE +static inline void print_vec(float *vec, int len, char *name) +{ + int i; + printf ("%s ", name); + for (i=0;i #include "speex/speex_preprocess.h" -#include "misc.h" -#include "smallft.h" - -#define max(a,b) ((a) > (b) ? (a) : (b)) -#define min(a,b) ((a) < (b) ? (a) : (b)) +#include "speex/speex_echo.h" +#include "arch.h" +#include "fftwrap.h" +#include "filterbank.h" +#include "math_approx.h" +#include "os_support.h" #ifndef M_PI #define M_PI 3.14159263 #endif -#define SQRT_M_PI_2 0.88623 -#define LOUDNESS_EXP 2.5 +#define LOUDNESS_EXP 5.f +#define AMP_SCALE .001f +#define AMP_SCALE_1 1000.f + +#define NB_BANDS 24 + +#define SPEECH_PROB_START_DEFAULT QCONST16(0.35f,15) +#define SPEECH_PROB_CONTINUE_DEFAULT QCONST16(0.20f,15) +#define NOISE_SUPPRESS_DEFAULT -15 +#define ECHO_SUPPRESS_DEFAULT -40 +#define ECHO_SUPPRESS_ACTIVE_DEFAULT -15 + +#ifndef NULL +#define NULL 0 +#endif + +#define SQR(x) ((x)*(x)) +#define SQR16(x) (MULT16_16((x),(x))) +#define SQR16_Q15(x) (MULT16_16_Q15((x),(x))) + +#ifdef FIXED_POINT +static inline spx_word16_t DIV32_16_Q8(spx_word32_t a, spx_word32_t b) +{ + if (SHR32(a,7) >= b) + { + return 32767; + } else { + if (b>=QCONST32(1,23)) + { + a = SHR32(a,8); + b = SHR32(b,8); + } + if (b>=QCONST32(1,19)) + { + a = SHR32(a,4); + b = SHR32(b,4); + } + if (b>=QCONST32(1,15)) + { + a = SHR32(a,4); + b = SHR32(b,4); + } + a = SHL32(a,8); + return PDIV32_16(a,b); + } + +} +static inline spx_word16_t DIV32_16_Q15(spx_word32_t a, spx_word32_t b) +{ + if (SHR32(a,15) >= b) + { + return 32767; + } else { + if (b>=QCONST32(1,23)) + { + a = SHR32(a,8); + b = SHR32(b,8); + } + if (b>=QCONST32(1,19)) + { + a = SHR32(a,4); + b = SHR32(b,4); + } + if (b>=QCONST32(1,15)) + { + a = SHR32(a,4); + b = SHR32(b,4); + } + a = SHL32(a,15)-a; + return DIV32_16(a,b); + } +} +#define SNR_SCALING 256.f +#define SNR_SCALING_1 0.0039062f +#define SNR_SHIFT 8 + +#define FRAC_SCALING 32767.f +#define FRAC_SCALING_1 3.0518e-05 +#define FRAC_SHIFT 1 + +#define EXPIN_SCALING 2048.f +#define EXPIN_SCALING_1 0.00048828f +#define EXPIN_SHIFT 11 +#define EXPOUT_SCALING_1 1.5259e-05 + +#define NOISE_SHIFT 7 + +#else + +#define DIV32_16_Q8(a,b) ((a)/(b)) +#define DIV32_16_Q15(a,b) ((a)/(b)) +#define SNR_SCALING 1.f +#define SNR_SCALING_1 1.f +#define SNR_SHIFT 0 +#define FRAC_SCALING 1.f +#define FRAC_SCALING_1 1.f +#define FRAC_SHIFT 0 +#define NOISE_SHIFT 0 + +#define EXPIN_SCALING 1.f +#define EXPIN_SCALING_1 1.f +#define EXPOUT_SCALING_1 1.f + +#endif -#define NB_BANDS 8 +/** Speex pre-processor state. */ +struct SpeexPreprocessState_ { + /* Basic info */ + int frame_size; /**< Number of samples processed each time */ + int ps_size; /**< Number of points in the power spectrum */ + int sampling_rate; /**< Sampling rate of the input/output */ + int nbands; + FilterBank *bank; + + /* Parameters */ + int denoise_enabled; + int vad_enabled; + int dereverb_enabled; + spx_word16_t reverb_decay; + spx_word16_t reverb_level; + spx_word16_t speech_prob_start; + spx_word16_t speech_prob_continue; + int noise_suppress; + int echo_suppress; + int echo_suppress_active; + SpeexEchoState *echo_state; + + spx_word16_t speech_prob; /**< Probability last frame was speech */ -#define SPEEX_PROB_START_DEFAULT 0.35f -#define SPEEX_PROB_CONTINUE_DEFAULT 0.20f + /* DSP-related arrays */ + spx_word16_t *frame; /**< Processing frame (2*ps_size) */ + spx_word16_t *ft; /**< Processing frame in freq domain (2*ps_size) */ + spx_word32_t *ps; /**< Current power spectrum */ + spx_word16_t *gain2; /**< Adjusted gains */ + spx_word16_t *gain_floor; /**< Minimum gain allowed */ + spx_word16_t *window; /**< Analysis/Synthesis window */ + spx_word32_t *noise; /**< Noise estimate */ + spx_word32_t *reverb_estimate; /**< Estimate of reverb energy */ + spx_word32_t *old_ps; /**< Power spectrum for last frame */ + spx_word16_t *gain; /**< Ephraim Malah gain */ + spx_word16_t *prior; /**< A-priori SNR */ + spx_word16_t *post; /**< A-posteriori SNR */ + + spx_word32_t *S; /**< Smoothed power spectrum */ + spx_word32_t *Smin; /**< See Cohen paper */ + spx_word32_t *Stmp; /**< See Cohen paper */ + int *update_prob; /**< Probability of speech presence for noise update */ + + spx_word16_t *zeta; /**< Smoothed a priori SNR */ + spx_word32_t *echo_noise; + spx_word32_t *residual_echo; + + /* Misc */ + spx_word16_t *inbuf; /**< Input buffer (overlapped analysis) */ + spx_word16_t *outbuf; /**< Output buffer (for overlap and add) */ + + /* AGC stuff, only for floating point for now */ +#ifndef FIXED_POINT + int agc_enabled; + float agc_level; + float loudness_accum; + float *loudness_weight; /**< Perceptual loudness curve */ + float loudness; /**< Loudness estimate */ + float agc_gain; /**< Current AGC gain */ + float max_gain; /**< Maximum gain allowed */ + float max_increase_step; /**< Maximum increase in gain from one frame to another */ + float max_decrease_step; /**< Maximum decrease in gain from one frame to another */ + float prev_loudness; /**< Loudness of previous frame */ + float init_max; /**< Current gain limit during initialisation */ +#endif + int nb_adapt; /**< Number of frames used for adaptation so far */ + int was_speech; + int min_count; /**< Number of frames processed so far */ + void *fft_lookup; /**< Lookup table for the FFT */ +#ifdef FIXED_POINT + int frame_shift; +#endif +}; -#define ZMIN .1 -#define ZMAX .316 -#define ZMIN_1 10 -#define LOG_MIN_MAX_1 0.86859 -static void conj_window(float *w, int len) +static void conj_window(spx_word16_t *w, int len) { int i; for (i=0;i19) + return ADD32(EXTEND32(Q15_ONE),EXTEND32(DIV32_16(QCONST32(.1296,23), SHR32(xx,EXPIN_SHIFT-SNR_SHIFT)))); + frac = SHL32(xx-SHL32(ind,10),5); + return SHL32(DIV32_16(PSHR32(MULT16_16(Q15_ONE-frac,table[ind]) + MULT16_16(frac,table[ind+1]),7),(spx_sqrt(SHL32(xx,15)+6711))),7); +} + +static inline spx_word16_t qcurve(spx_word16_t x) +{ + x = MAX16(x, 1); + return DIV32_16(SHL32(EXTEND32(32767),9),ADD16(512,MULT16_16_Q15(QCONST16(.60f,15),DIV32_16(32767,x)))); +} + +/* Compute the gain floor based on different floors for the background noise and residual echo */ +static void compute_gain_floor(int noise_suppress, int effective_echo_suppress, spx_word32_t *noise, spx_word32_t *echo, spx_word16_t *gain_floor, int len) +{ + int i; + + if (noise_suppress > effective_echo_suppress) + { + spx_word16_t noise_gain, gain_ratio; + noise_gain = EXTRACT16(MIN32(Q15_ONE,SHR32(spx_exp(MULT16_16(QCONST16(0.11513,11),noise_suppress)),1))); + gain_ratio = EXTRACT16(MIN32(Q15_ONE,SHR32(spx_exp(MULT16_16(QCONST16(.2302585f,11),effective_echo_suppress-noise_suppress)),1))); + + /* gain_floor = sqrt [ (noise*noise_floor + echo*echo_floor) / (noise+echo) ] */ + for (i=0;i19) - return 1+.1296/x; - frac = 2*x-integer; - return ((1-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f); + x = EXPIN_SCALING_1*xx; + integer = floor(2*x); + ind = (int)integer; + if (ind<0) + return FRAC_SCALING; + if (ind>19) + return FRAC_SCALING*(1+.1296/x); + frac = 2*x-integer; + return FRAC_SCALING*((1-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f); } -static inline float qcurve(float x) +static inline spx_word16_t qcurve(spx_word16_t x) { - return 1.f/(1.f+.1f/(x*x)); + return 1.f/(1.f+.15f/(SNR_SCALING_1*x)); +} + +static void compute_gain_floor(int noise_suppress, int effective_echo_suppress, spx_word32_t *noise, spx_word32_t *echo, spx_word16_t *gain_floor, int len) +{ + int i; + float echo_floor; + float noise_floor; + + noise_floor = exp(.2302585f*noise_suppress); + echo_floor = exp(.2302585f*effective_echo_suppress); + + /* Compute the gain floor based on different floors for the background noise and residual echo */ + for (i=0;iframe_size = frame_size; @@ -153,49 +428,51 @@ st->sampling_rate = sampling_rate; st->denoise_enabled = 1; - st->agc_enabled = 0; - st->agc_level = 8000; st->vad_enabled = 0; st->dereverb_enabled = 0; - st->reverb_decay = .5; - st->reverb_level = .2; + st->reverb_decay = 0; + st->reverb_level = 0; + st->noise_suppress = NOISE_SUPPRESS_DEFAULT; + st->echo_suppress = ECHO_SUPPRESS_DEFAULT; + st->echo_suppress_active = ECHO_SUPPRESS_ACTIVE_DEFAULT; - st->speech_prob_start = SPEEX_PROB_START_DEFAULT; - st->speech_prob_continue = SPEEX_PROB_CONTINUE_DEFAULT; + st->speech_prob_start = SPEECH_PROB_START_DEFAULT; + st->speech_prob_continue = SPEECH_PROB_CONTINUE_DEFAULT; - st->frame = (float*)speex_alloc(2*N*sizeof(float)); - st->ps = (float*)speex_alloc(N*sizeof(float)); - st->gain2 = (float*)speex_alloc(N*sizeof(float)); - st->window = (float*)speex_alloc(2*N*sizeof(float)); - st->noise = (float*)speex_alloc(N*sizeof(float)); - st->reverb_estimate = (float*)speex_alloc(N*sizeof(float)); - st->old_ps = (float*)speex_alloc(N*sizeof(float)); - st->gain = (float*)speex_alloc(N*sizeof(float)); - st->prior = (float*)speex_alloc(N*sizeof(float)); - st->post = (float*)speex_alloc(N*sizeof(float)); - st->loudness_weight = (float*)speex_alloc(N*sizeof(float)); - st->inbuf = (float*)speex_alloc(N3*sizeof(float)); - st->outbuf = (float*)speex_alloc(N3*sizeof(float)); - st->echo_noise = (float*)speex_alloc(N*sizeof(float)); - - st->S = (float*)speex_alloc(N*sizeof(float)); - st->Smin = (float*)speex_alloc(N*sizeof(float)); - st->Stmp = (float*)speex_alloc(N*sizeof(float)); - st->update_prob = (float*)speex_alloc(N*sizeof(float)); - - st->zeta = (float*)speex_alloc(N*sizeof(float)); - st->Zpeak = 0; - st->Zlast = 0; - - st->noise_bands = (float*)speex_alloc(NB_BANDS*sizeof(float)); - st->noise_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float)); - st->speech_bands = (float*)speex_alloc(NB_BANDS*sizeof(float)); - st->speech_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float)); - st->noise_bandsN = st->speech_bandsN = 1; + st->echo_state = NULL; + + st->nbands = NB_BANDS; + M = st->nbands; + st->bank = filterbank_new(M, sampling_rate, N, 1); + + st->frame = (spx_word16_t*)speex_alloc(2*N*sizeof(spx_word16_t)); + st->window = (spx_word16_t*)speex_alloc(2*N*sizeof(spx_word16_t)); + st->ft = (spx_word16_t*)speex_alloc(2*N*sizeof(spx_word16_t)); + + st->ps = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->noise = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->echo_noise = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->residual_echo = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->reverb_estimate = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->old_ps = (spx_word32_t*)speex_alloc((N+M)*sizeof(spx_word32_t)); + st->prior = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + st->post = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + st->gain = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + st->gain2 = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + st->gain_floor = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + st->zeta = (spx_word16_t*)speex_alloc((N+M)*sizeof(spx_word16_t)); + + st->S = (spx_word32_t*)speex_alloc(N*sizeof(spx_word32_t)); + st->Smin = (spx_word32_t*)speex_alloc(N*sizeof(spx_word32_t)); + st->Stmp = (spx_word32_t*)speex_alloc(N*sizeof(spx_word32_t)); + st->update_prob = (int*)speex_alloc(N*sizeof(int)); + + st->inbuf = (spx_word16_t*)speex_alloc(N3*sizeof(spx_word16_t)); + st->outbuf = (spx_word16_t*)speex_alloc(N3*sizeof(spx_word16_t)); conj_window(st->window, 2*N3); for (i=2*N3;i<2*st->ps_size;i++) - st->window[i]=1; + st->window[i]=Q15_ONE; if (N4>0) { @@ -205,51 +482,61 @@ st->window[i+N3]=1; } } - for (i=0;inoise[i]=1e4; - st->reverb_estimate[i]=0.; - st->old_ps[i]=1e4; - st->gain[i]=1; - st->post[i]=1; - st->prior[i]=1; + st->noise[i]=QCONST32(1.f,NOISE_SHIFT); + st->reverb_estimate[i]=0; + st->old_ps[i]=1; + st->gain[i]=Q15_ONE; + st->post[i]=SHL16(1, SNR_SHIFT); + st->prior[i]=SHL16(1, SNR_SHIFT); } + for (i=0;iupdate_prob[i] = 1; for (i=0;iinbuf[i]=0; st->outbuf[i]=0; } - +#ifndef FIXED_POINT + st->agc_enabled = 0; + st->agc_level = 8000; + st->loudness_weight = (float*)speex_alloc(N*sizeof(float)); for (i=0;iloudness_weight[i] = .5f*(1.f/(1.f+ff/8000.f))+1.f*exp(-.5f*(ff-3800.f)*(ff-3800.f)/9e5f);*/ st->loudness_weight[i] = .35f-.35f*ff/16000.f+.73f*exp(-.5f*(ff-3800)*(ff-3800)/9e5f); if (st->loudness_weight[i]<.01f) st->loudness_weight[i]=.01f; st->loudness_weight[i] *= st->loudness_weight[i]; } + /*st->loudness = pow(AMP_SCALE*st->agc_level,LOUDNESS_EXP);*/ + st->loudness = 1e-15; + st->agc_gain = 1; + st->max_gain = 30; + st->max_increase_step = exp(0.11513f * 12.*st->frame_size / st->sampling_rate); + st->max_decrease_step = exp(-0.11513f * 40.*st->frame_size / st->sampling_rate); + st->prev_loudness = 1; + st->init_max = 1; +#endif + st->was_speech = 0; - st->speech_prob = 0; - st->last_speech = 1000; - st->loudness = pow(6000,LOUDNESS_EXP); - st->loudness2 = 6000; - st->nb_loudness_adapt = 0; - - st->fft_lookup = (struct drft_lookup*)speex_alloc(sizeof(struct drft_lookup)); - spx_drft_init(st->fft_lookup,2*N); + st->fft_lookup = spx_fft_init(2*N); st->nb_adapt=0; - st->consec_noise=0; - st->nb_preprocess=0; + st->min_count=0; return st; } -void speex_preprocess_state_destroy(SpeexPreprocessState *st) +EXPORT void speex_preprocess_state_destroy(SpeexPreprocessState *st) { speex_free(st->frame); + speex_free(st->ft); speex_free(st->ps); speex_free(st->gain2); + speex_free(st->gain_floor); speex_free(st->window); speex_free(st->noise); speex_free(st->reverb_estimate); @@ -257,8 +544,11 @@ speex_free(st->gain); speex_free(st->prior); speex_free(st->post); +#ifndef FIXED_POINT speex_free(st->loudness_weight); +#endif speex_free(st->echo_noise); + speex_free(st->residual_echo); speex_free(st->S); speex_free(st->Smin); @@ -266,298 +556,64 @@ speex_free(st->update_prob); speex_free(st->zeta); - speex_free(st->noise_bands); - speex_free(st->noise_bands2); - speex_free(st->speech_bands); - speex_free(st->speech_bands2); - speex_free(st->inbuf); speex_free(st->outbuf); - spx_drft_clear(st->fft_lookup); - speex_free(st->fft_lookup); - + spx_fft_destroy(st->fft_lookup); + filterbank_destroy(st->bank); speex_free(st); } -static void update_noise(SpeexPreprocessState *st, float *ps, spx_int32_t *echo) +/* FIXME: The AGC doesn't work yet with fixed-point*/ +#ifndef FIXED_POINT +static void speex_compute_agc(SpeexPreprocessState *st, spx_word16_t Pframe, spx_word16_t *ft) { int i; - float beta; - st->nb_adapt++; - beta=1.0f/st->nb_adapt; - if (beta < .05f) - beta=.05f; + int N = st->ps_size; + float target_gain; + float loudness=1.f; + float rate; - if (!echo) + for (i=2;ips_size;i++) - st->noise[i] = (1.f-beta)*st->noise[i] + beta*ps[i]; - } else { - for (i=0;ips_size;i++) - st->noise[i] = (1.f-beta)*st->noise[i] + beta*max(1.f,ps[i]-st->frame_size*st->frame_size*1.0*echo[i]); -#if 0 - for (i=0;ips_size;i++) - st->noise[i] = 0; -#endif + loudness += 2.f*N*st->ps[i]* st->loudness_weight[i]; } -} - -static int speex_compute_vad(SpeexPreprocessState *st, float *ps, float mean_prior, float mean_post) -{ - int i, is_speech=0; - int N = st->ps_size; - float scale=.5f/N; - - /* FIXME: Clean this up a bit */ - { - float bands[NB_BANDS]; - int j; - float p0, p1; - float tot_loudness=0; - float x = sqrt(mean_post); - - for (i=5;ips[i] * st->loudness_weight[i]; - } - - for (i=0;ispeech_prob + .01*(1-st->speech_prob); - p1 *= .01*st->speech_prob + .99*(1-st->speech_prob); - - st->speech_prob = p0/(p1+p0); - */ - - if (st->noise_bandsN < 50 || st->speech_bandsN < 50) - { - if (mean_post > 5.f) - { - float adapt = 1./st->speech_bandsN++; - if (adapt<.005f) - adapt = .005f; - for (i=0;ispeech_bands[i] = (1.f-adapt)*st->speech_bands[i] + adapt*bands[i]; - /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/ - st->speech_bands2[i] = (1.f-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]); - } - } else { - float adapt = 1./st->noise_bandsN++; - if (adapt<.005f) - adapt = .005f; - for (i=0;inoise_bands[i] = (1.f-adapt)*st->noise_bands[i] + adapt*bands[i]; - /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/ - st->noise_bands2[i] = (1.f-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]); - } - } - } - p0=p1=1; - for (i=0;inoise_bands2[i] - st->noise_bands[i]*st->noise_bands[i]; - speech_var = 1.01*st->speech_bands2[i] - st->speech_bands[i]*st->speech_bands[i];*/ - noise_var = st->noise_bands2[i]; - speech_var = st->speech_bands2[i]; - if (noise_var < .1f) - noise_var = .1f; - if (speech_var < .1f) - speech_var = .1f; - - /*speech_var = sqrt(speech_var*noise_var); - noise_var = speech_var;*/ - if (noise_var < .05f*speech_var) - noise_var = .05f*speech_var; - if (speech_var < .05f*noise_var) - speech_var = .05f*noise_var; - - if (bands[i] < st->noise_bands[i]) - speech_var = noise_var; - if (bands[i] > st->speech_bands[i]) - noise_var = speech_var; - - speech_mean = st->speech_bands[i]; - noise_mean = st->noise_bands[i]; - if (noise_mean < speech_mean - 5.f) - noise_mean = speech_mean - 5.f; - - tmp1 = exp(-.5f*(bands[i]-speech_mean)*(bands[i]-speech_mean)/speech_var)/sqrt(2.f*M_PI*speech_var); - tmp2 = exp(-.5f*(bands[i]-noise_mean)*(bands[i]-noise_mean)/noise_var)/sqrt(2.f*M_PI*noise_var); - /*fprintf (stderr, "%f ", (float)(p0/(.01+p0+p1)));*/ - /*fprintf (stderr, "%f ", (float)(bands[i]));*/ - pr = tmp1/(1e-25+tmp1+tmp2); - /*if (bands[i] < st->noise_bands[i]) - pr=.01; - if (bands[i] > st->speech_bands[i] && pr < .995) - pr=.995;*/ - if (pr>.999f) - pr=.999f; - if (pr<.001f) - pr=.001f; - /*fprintf (stderr, "%f ", pr);*/ - p0 *= pr; - p1 *= (1-pr); - } - - p0 = pow(p0,.2); - p1 = pow(p1,.2); - -#if 1 - p0 *= 2.f; - p0=p0/(p1+p0); - if (st->last_speech>20) - { - float tmp = sqrt(tot_loudness)/st->loudness2; - tmp = 1.f-exp(-10.f*tmp); - if (p0>tmp) - p0=tmp; - } - p1=1-p0; -#else - if (sqrt(tot_loudness) < .6f*st->loudness2 && p0>15.f*p1) - p0=15.f*p1; - if (sqrt(tot_loudness) < .45f*st->loudness2 && p0>7.f*p1) - p0=7.f*p1; - if (sqrt(tot_loudness) < .3f*st->loudness2 && p0>3.f*p1) - p0=3.f*p1; - if (sqrt(tot_loudness) < .15f*st->loudness2 && p0>p1) - p0=p1; - /*fprintf (stderr, "%f %f ", (float)(sqrt(tot_loudness) /( .25*st->loudness2)), p0/(p1+p0));*/ -#endif - - p0 *= .99f*st->speech_prob + .01f*(1-st->speech_prob); - p1 *= .01f*st->speech_prob + .99f*(1-st->speech_prob); - - st->speech_prob = p0/(1e-25f+p1+p0); - /*fprintf (stderr, "%f %f %f ", tot_loudness, st->loudness2, st->speech_prob);*/ - - if (st->speech_prob > st->speech_prob_start - || (st->last_speech < 20 && st->speech_prob > st->speech_prob_continue)) - { - is_speech = 1; - st->last_speech = 0; - } else { - st->last_speech++; - if (st->last_speech<20) - is_speech = 1; - } - - if (st->noise_bandsN > 50 && st->speech_bandsN > 50) - { - if (mean_post > 5) - { - float adapt = 1./st->speech_bandsN++; - if (adapt<.005f) - adapt = .005f; - for (i=0;ispeech_bands[i] = (1-adapt)*st->speech_bands[i] + adapt*bands[i]; - /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/ - st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]); - } - } else { - float adapt = 1./st->noise_bandsN++; - if (adapt<.005f) - adapt = .005f; - for (i=0;inoise_bands[i] = (1-adapt)*st->noise_bands[i] + adapt*bands[i]; - /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/ - st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]); - } - } - } - - - } - - return is_speech; -} - -static void speex_compute_agc(SpeexPreprocessState *st, float mean_prior) -{ - int i; - int N = st->ps_size; - float scale=.5f/N; - float agc_gain; - int freq_start, freq_end; - float active_bands = 0; - - freq_start = (int)(300.0f*2*N/st->sampling_rate); - freq_end = (int)(2000.0f*2*N/st->sampling_rate); - for (i=freq_start;iS[i] > 20.f*st->Smin[i]+1000.f) - active_bands+=1; - } - active_bands /= (freq_end-freq_start+1); - - if (active_bands > .2f) - { - float loudness=0.f; - float rate, rate2=.2f; - st->nb_loudness_adapt++; - rate=2.0f/(1+st->nb_loudness_adapt); - if (rate < .05f) - rate = .05f; - if (rate < .1f && pow(loudness, LOUDNESS_EXP) > st->loudness) - rate = .1f; - if (rate < .2f && pow(loudness, LOUDNESS_EXP) > 3.f*st->loudness) - rate = .2f; - if (rate < .4f && pow(loudness, LOUDNESS_EXP) > 10.f*st->loudness) - rate = .4f; - - for (i=2;ips[i] * st->gain2[i] * st->gain2[i] * st->loudness_weight[i]; - } - loudness=sqrt(loudness); + loudness=sqrt(loudness); /*if (loudness < 2*pow(st->loudness, 1.0/LOUDNESS_EXP) && - loudness*2 > pow(st->loudness, 1.0/LOUDNESS_EXP))*/ - st->loudness = (1-rate)*st->loudness + (rate)*pow(loudness, LOUDNESS_EXP); - - st->loudness2 = (1-rate2)*st->loudness2 + rate2*pow(st->loudness, 1.0f/LOUDNESS_EXP); - - loudness = pow(st->loudness, 1.0f/LOUDNESS_EXP); - - /*fprintf (stderr, "%f %f %f\n", loudness, st->loudness2, rate);*/ + loudness*2 > pow(st->loudness, 1.0/LOUDNESS_EXP))*/ + if (Pframe>.3f) + { + /*rate=2.0f*Pframe*Pframe/(1+st->nb_loudness_adapt);*/ + rate = .03*Pframe*Pframe; + st->loudness = (1-rate)*st->loudness + (rate)*pow(AMP_SCALE*loudness, LOUDNESS_EXP); + st->loudness_accum = (1-rate)*st->loudness_accum + rate; + if (st->init_max < st->max_gain && st->nb_adapt > 20) + st->init_max *= 1.f + .1f*Pframe*Pframe; } + /*printf ("%f %f %f %f\n", Pframe, loudness, pow(st->loudness, 1.0f/LOUDNESS_EXP), st->loudness2);*/ - agc_gain = st->agc_level/st->loudness2; - /*fprintf (stderr, "%f %f %f %f\n", active_bands, st->loudness, st->loudness2, agc_gain);*/ - if (agc_gain>200) - agc_gain = 200; + target_gain = AMP_SCALE*st->agc_level*pow(st->loudness/(1e-4+st->loudness_accum), -1.0f/LOUDNESS_EXP); - for (i=0;igain2[i] *= agc_gain; + if ((Pframe>.5 && st->nb_adapt > 20) || target_gain < st->agc_gain) + { + if (target_gain > st->max_increase_step*st->agc_gain) + target_gain = st->max_increase_step*st->agc_gain; + if (target_gain < st->max_decrease_step*st->agc_gain && loudness < 10*st->prev_loudness) + target_gain = st->max_decrease_step*st->agc_gain; + if (target_gain > st->max_gain) + target_gain = st->max_gain; + if (target_gain > st->init_max) + target_gain = st->init_max; + st->agc_gain = target_gain; + } + /*fprintf (stderr, "%f %f %f\n", loudness, (float)AMP_SCALE_1*pow(st->loudness, 1.0f/LOUDNESS_EXP), st->agc_gain);*/ + + for (i=0;i<2*N;i++) + ft[i] *= st->agc_gain; + st->prev_loudness = loudness; } +#endif static void preprocess_analysis(SpeexPreprocessState *st, spx_int16_t *x) { @@ -565,7 +621,7 @@ int N = st->ps_size; int N3 = 2*N - st->frame_size; int N4 = st->frame_size - N3; - float *ps=st->ps; + spx_word32_t *ps=st->ps; /* 'Build' input frame */ for (i=0;iframe[i] *= st->window[i]; + st->frame[i] = MULT16_16_Q15(st->frame[i], st->window[i]); +#ifdef FIXED_POINT + { + spx_word16_t max_val=0; + for (i=0;i<2*N;i++) + max_val = MAX16(max_val, ABS16(st->frame[i])); + st->frame_shift = 14-spx_ilog2(EXTEND32(max_val)); + for (i=0;i<2*N;i++) + st->frame[i] = SHL16(st->frame[i], st->frame_shift); + } +#endif + /* Perform FFT */ - spx_drft_forward(st->fft_lookup, st->frame); - + spx_fft(st->fft_lookup, st->frame, st->ft); + /* Power spectrum */ - ps[0]=1; + ps[0]=MULT16_16(st->ft[0],st->ft[0]); for (i=1;iframe[2*i-1]*st->frame[2*i-1] + st->frame[2*i]*st->frame[2*i]; + ps[i]=MULT16_16(st->ft[2*i-1],st->ft[2*i-1]) + MULT16_16(st->ft[2*i],st->ft[2*i]); + for (i=0;ips[i] = PSHR32(st->ps[i], 2*st->frame_shift); + filterbank_compute_bank32(st->bank, ps, ps+N); } static void update_noise_prob(SpeexPreprocessState *st) { int i; + int min_range; int N = st->ps_size; for (i=1;iS[i] = 100.f+ .8f*st->S[i] + .05f*st->ps[i-1]+.1f*st->ps[i]+.05f*st->ps[i+1]; + st->S[i] = MULT16_32_Q15(QCONST16(.8f,15),st->S[i]) + MULT16_32_Q15(QCONST16(.05f,15),st->ps[i-1]) + + MULT16_32_Q15(QCONST16(.1f,15),st->ps[i]) + MULT16_32_Q15(QCONST16(.05f,15),st->ps[i+1]); + st->S[0] = MULT16_32_Q15(QCONST16(.8f,15),st->S[0]) + MULT16_32_Q15(QCONST16(.2f,15),st->ps[0]); + st->S[N-1] = MULT16_32_Q15(QCONST16(.8f,15),st->S[N-1]) + MULT16_32_Q15(QCONST16(.2f,15),st->ps[N-1]); - if (st->nb_preprocess<1) + if (st->nb_adapt==1) { - for (i=1;iSmin[i] = st->Stmp[i] = st->S[i]+100.f; + for (i=0;iSmin[i] = st->Stmp[i] = 0; } - if (st->nb_preprocess%200==0) + if (st->nb_adapt < 100) + min_range = 15; + else if (st->nb_adapt < 1000) + min_range = 50; + else if (st->nb_adapt < 10000) + min_range = 150; + else + min_range = 300; + if (st->min_count > min_range) { - for (i=1;imin_count = 0; + for (i=0;iSmin[i] = min(st->Stmp[i], st->S[i]); + st->Smin[i] = MIN32(st->Stmp[i], st->S[i]); st->Stmp[i] = st->S[i]; } } else { - for (i=1;iSmin[i] = min(st->Smin[i], st->S[i]); - st->Stmp[i] = min(st->Stmp[i], st->S[i]); + st->Smin[i] = MIN32(st->Smin[i], st->S[i]); + st->Stmp[i] = MIN32(st->Stmp[i], st->S[i]); } } - for (i=1;iupdate_prob[i] *= .2f; - if (st->S[i] > 2.5*st->Smin[i]) - st->update_prob[i] += .8f; + if (MULT16_32_Q15(QCONST16(.4f,15),st->S[i]) > st->Smin[i]) + st->update_prob[i] = 1; + else + st->update_prob[i] = 0; /*fprintf (stderr, "%f ", st->S[i]/st->Smin[i]);*/ /*fprintf (stderr, "%f ", st->update_prob[i]);*/ } } -#define NOISE_OVERCOMPENS 1.4 +#define NOISE_OVERCOMPENS 1. + +void speex_echo_get_residual(SpeexEchoState *st, spx_word32_t *Yout, int len); -int speex_preprocess(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo) +EXPORT int speex_preprocess(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo) +{ + return speex_preprocess_run(st, x); +} + +EXPORT int speex_preprocess_run(SpeexPreprocessState *st, spx_int16_t *x) { int i; - int is_speech=1; - float mean_post=0; - float mean_prior=0; + int M; int N = st->ps_size; int N3 = 2*N - st->frame_size; int N4 = st->frame_size - N3; - float scale=.5f/N; - float *ps=st->ps; - float Zframe=0, Pframe; - - preprocess_analysis(st, x); - - update_noise_prob(st); - - st->nb_preprocess++; - - /* Noise estimation always updated for the 20 first times */ - if (st->nb_adapt<10) - { - update_noise(st, ps, echo); - } - + spx_word32_t *ps=st->ps; + spx_word32_t Zframe; + spx_word16_t Pframe; + spx_word16_t beta, beta_1; + spx_word16_t effective_echo_suppress; + + st->nb_adapt++; + if (st->nb_adapt>20000) + st->nb_adapt = 20000; + st->min_count++; + + beta = MAX16(QCONST16(.03,15),DIV32_16(Q15_ONE,st->nb_adapt)); + beta_1 = Q15_ONE-beta; + M = st->nbands; /* Deal with residual echo if provided */ - if (echo) - for (i=1;iecho_noise[i] = (.3f*st->echo_noise[i] + st->frame_size*st->frame_size*1.0*echo[i]); - - /* Compute a posteriori SNR */ - for (i=1;inoise[i] + st->echo_noise[i] + st->reverb_estimate[i]; - st->post[i] = ps[i]/tot_noise - 1.f; - if (st->post[i]>100.f) - st->post[i]=100.f; - /*if (st->post[i]<0) - st->post[i]=0;*/ - mean_post+=st->post[i]; - } - mean_post /= N; - if (mean_post<0.f) - mean_post=0.f; - - /* Special case for first frame */ - if (st->nb_adapt==1) - for (i=1;iold_ps[i] = ps[i]; - - /* Compute a priori SNR */ + if (st->echo_state) { - /* A priori update rate */ - for (i=1;iecho_state, st->residual_echo, N); +#ifndef FIXED_POINT + /* If there are NaNs or ridiculous values, it'll show up in the DC and we just reset everything to zero */ + if (!(st->residual_echo[0] >=0 && st->residual_echo[0]prior[i]*st->prior[i]/((1+st->prior[i])*(1+st->prior[i])); - float tot_noise = 1.f+ NOISE_OVERCOMPENS*st->noise[i] + st->echo_noise[i] + st->reverb_estimate[i]; - /* A priori SNR update */ - st->prior[i] = gamma*max(0.0f,st->post[i]) + - (1.f-gamma)* (.8*st->gain[i]*st->gain[i]*st->old_ps[i]/tot_noise + .2*st->prior[i]); - - if (st->prior[i]>100.f) - st->prior[i]=100.f; - - mean_prior+=st->prior[i]; + for (i=0;iresidual_echo[i] = 0; } - } - mean_prior /= N; - -#if 0 - for (i=0;iprior[i]); - } - fprintf (stderr, "\n"); #endif - /*fprintf (stderr, "%f %f\n", mean_prior,mean_post);*/ - - if (st->nb_preprocess>=20) - { - int do_update = 0; - float noise_ener=0, sig_ener=0; - /* If SNR is low (both a priori and a posteriori), update the noise estimate*/ - /*if (mean_prior<.23 && mean_post < .5)*/ - if (mean_prior<.23f && mean_post < .5f) - do_update = 1; - for (i=1;inoise[i]; - sig_ener += ps[i]; - } - if (noise_ener > 3.f*sig_ener) - do_update = 1; - /*do_update = 0;*/ - if (do_update) - { - st->consec_noise++; - } else { - st->consec_noise=0; - } + for (i=0;iecho_noise[i] = MAX32(MULT16_32_Q15(QCONST16(.6f,15),st->echo_noise[i]), st->residual_echo[i]); + filterbank_compute_bank32(st->bank, st->echo_noise, st->echo_noise+N); + } else { + for (i=0;iecho_noise[i] = 0; } + preprocess_analysis(st, x); - if (st->vad_enabled) - is_speech = speex_compute_vad(st, ps, mean_prior, mean_post); - + update_noise_prob(st); - if (st->consec_noise>=3) + /* Noise estimation always updated for the 10 first frames */ + /*if (st->nb_adapt<10) { - update_noise(st, st->old_ps, echo); - } else { for (i=1;iupdate_prob[i]<.5f/* || st->ps[i] < st->noise[i]*/) - { - if (echo) - st->noise[i] = .95f*st->noise[i] + .05f*max(1.0f,st->ps[i]-st->frame_size*st->frame_size*1.0*echo[i]); - else - st->noise[i] = .95f*st->noise[i] + .05f*st->ps[i]; - } - } + st->update_prob[i] = 0; } - - for (i=1;izeta[i] = .7f*st->zeta[i] + .3f*st->prior[i]; + if (!st->update_prob[i] || st->ps[i] < PSHR32(st->noise[i], NOISE_SHIFT)) + st->noise[i] = MAX32(EXTEND32(0),MULT16_32_Q15(beta_1,st->noise[i]) + MULT16_32_Q15(beta,SHL32(st->ps[i],NOISE_SHIFT))); } + filterbank_compute_bank32(st->bank, st->noise, st->noise+N); - { - int freq_start = (int)(300.0f*2.f*N/st->sampling_rate); - int freq_end = (int)(2000.0f*2.f*N/st->sampling_rate); - for (i=freq_start;izeta[i]; - } - Zframe /= (freq_end-freq_start); - } - st->Zlast = Zframe; - - Pframe = qcurve(Zframe); + /* Special case for first frame */ + if (st->nb_adapt==1) + for (i=0;iold_ps[i] = ps[i]; - /*fprintf (stderr, "%f\n", Pframe);*/ - /* Compute gain according to the Ephraim-Malah algorithm */ - for (i=1;inoise[i],NOISE_SHIFT)) , st->echo_noise[i]) , st->reverb_estimate[i]); + + /* A posteriori SNR = ps/noise - 1*/ + st->post[i] = SUB16(DIV32_16_Q8(ps[i],tot_noise), QCONST16(1.f,SNR_SHIFT)); + st->post[i]=MIN16(st->post[i], QCONST16(100.f,SNR_SHIFT)); + + /* Computing update gamma = .1 + .9*(old/(old+noise))^2 */ + gamma = QCONST16(.1f,15)+MULT16_16_Q15(QCONST16(.89f,15),SQR16_Q15(DIV32_16_Q15(st->old_ps[i],ADD32(st->old_ps[i],tot_noise)))); + + /* A priori SNR update = gamma*max(0,post) + (1-gamma)*old/noise */ + st->prior[i] = EXTRACT16(PSHR32(ADD32(MULT16_16(gamma,MAX16(0,st->post[i])), MULT16_16(Q15_ONE-gamma,DIV32_16_Q8(st->old_ps[i],tot_noise))), 15)); + st->prior[i]=MIN16(st->prior[i], QCONST16(100.f,SNR_SHIFT)); + } - prior_ratio = st->prior[i]/(1.0001f+st->prior[i]); - theta = (1.f+st->post[i])*prior_ratio; + /*print_vec(st->post, N+M, "");*/ - if (i==1 || i==N-1) - zeta1 = st->zeta[i]; - else - zeta1 = .25f*st->zeta[i-1] + .5f*st->zeta[i] + .25f*st->zeta[i+1]; - P1 = qcurve (zeta1); + /* Recursive average of the a priori SNR. A bit smoothed for the psd components */ + st->zeta[0] = PSHR32(ADD32(MULT16_16(QCONST16(.7f,15),st->zeta[0]), MULT16_16(QCONST16(.3f,15),st->prior[0])),15); + for (i=1;izeta[i] = PSHR32(ADD32(ADD32(ADD32(MULT16_16(QCONST16(.7f,15),st->zeta[i]), MULT16_16(QCONST16(.15f,15),st->prior[i])), + MULT16_16(QCONST16(.075f,15),st->prior[i-1])), MULT16_16(QCONST16(.075f,15),st->prior[i+1])),15); + for (i=N-1;izeta[i] = PSHR32(ADD32(MULT16_16(QCONST16(.7f,15),st->zeta[i]), MULT16_16(QCONST16(.3f,15),st->prior[i])),15); + + /* Speech probability of presence for the entire frame is based on the average filterbank a priori SNR */ + Zframe = 0; + for (i=N;izeta[i])); + Pframe = QCONST16(.1f,15)+MULT16_16_Q15(QCONST16(.899f,15),qcurve(DIV32_16(Zframe,st->nbands))); + + effective_echo_suppress = EXTRACT16(PSHR32(ADD32(MULT16_16(SUB16(Q15_ONE,Pframe), st->echo_suppress), MULT16_16(Pframe, st->echo_suppress_active)),15)); + + compute_gain_floor(st->noise_suppress, effective_echo_suppress, st->noise+N, st->echo_noise+N, st->gain_floor+N, M); + + /* Compute Ephraim & Malah gain speech probability of presence for each critical band (Bark scale) + Technically this is actually wrong because the EM gaim assumes a slightly different probability + distribution */ + for (i=N;i.95f) - q=.95f; - p=1.f/(1.f + (q/(1.f-q))*(1.f+st->prior[i])*exp(-theta)); - /*p=1;*/ + prior_ratio = PDIV32_16(SHL32(EXTEND32(st->prior[i]), 15), ADD16(st->prior[i], SHL32(1,SNR_SHIFT))); + theta = MULT16_32_P15(prior_ratio, QCONST32(1.f,EXPIN_SHIFT)+SHL32(EXTEND32(st->post[i]),EXPIN_SHIFT-SNR_SHIFT)); - /* Optimal estimator for loudness domain */ MM = hypergeom_gain(theta); - - st->gain[i] = prior_ratio * MM; - /*Put some (very arbitraty) limit on the gain*/ - if (st->gain[i]>2.f) + /* Gain with bound */ + st->gain[i] = EXTRACT16(MIN32(Q15_ONE, MULT16_32_Q15(prior_ratio, MM))); + /* Save old Bark power spectrum */ + st->old_ps[i] = MULT16_32_P15(QCONST16(.2f,15),st->old_ps[i]) + MULT16_32_P15(MULT16_16_P15(QCONST16(.8f,15),SQR16_Q15(st->gain[i])),ps[i]); + + P1 = QCONST16(.199f,15)+MULT16_16_Q15(QCONST16(.8f,15),qcurve (st->zeta[i])); + q = Q15_ONE-MULT16_16_Q15(Pframe,P1); +#ifdef FIXED_POINT + theta = MIN32(theta, EXTEND32(32767)); +/*Q8*/tmp = MULT16_16_Q15((SHL32(1,SNR_SHIFT)+st->prior[i]),EXTRACT16(MIN32(Q15ONE,SHR32(spx_exp(-EXTRACT16(theta)),1)))); + tmp = MIN16(QCONST16(3.,SNR_SHIFT), tmp); /* Prevent overflows in the next line*/ +/*Q8*/tmp = EXTRACT16(PSHR32(MULT16_16(PDIV32_16(SHL32(EXTEND32(q),8),(Q15_ONE-q)),tmp),8)); + st->gain2[i]=DIV32_16(SHL32(EXTEND32(32767),SNR_SHIFT), ADD16(256,tmp)); +#else + st->gain2[i]=1/(1.f + (q/(1.f-q))*(1+st->prior[i])*exp(-theta)); +#endif + } + /* Convert the EM gains and speech prob to linear frequency */ + filterbank_compute_psd16(st->bank,st->gain2+N, st->gain2); + filterbank_compute_psd16(st->bank,st->gain+N, st->gain); + + /* Use 1 for linear gain resolution (best) or 0 for Bark gain resolution (faster) */ + if (1) + { + filterbank_compute_psd16(st->bank,st->gain_floor+N, st->gain_floor); + + /* Compute gain according to the Ephraim-Malah algorithm -- linear frequency */ + for (i=0;igain[i]=2.f; + spx_word32_t MM; + spx_word32_t theta; + spx_word16_t prior_ratio; + spx_word16_t tmp; + spx_word16_t p; + spx_word16_t g; + + /* Wiener filter gain */ + prior_ratio = PDIV32_16(SHL32(EXTEND32(st->prior[i]), 15), ADD16(st->prior[i], SHL32(1,SNR_SHIFT))); + theta = MULT16_32_P15(prior_ratio, QCONST32(1.f,EXPIN_SHIFT)+SHL32(EXTEND32(st->post[i]),EXPIN_SHIFT-SNR_SHIFT)); + + /* Optimal estimator for loudness domain */ + MM = hypergeom_gain(theta); + /* EM gain with bound */ + g = EXTRACT16(MIN32(Q15_ONE, MULT16_32_Q15(prior_ratio, MM))); + /* Interpolated speech probability of presence */ + p = st->gain2[i]; + + /* Constrain the gain to be close to the Bark scale gain */ + if (MULT16_16_Q15(QCONST16(.333f,15),g) > st->gain[i]) + g = MULT16_16(3,st->gain[i]); + st->gain[i] = g; + + /* Save old power spectrum */ + st->old_ps[i] = MULT16_32_P15(QCONST16(.2f,15),st->old_ps[i]) + MULT16_32_P15(MULT16_16_P15(QCONST16(.8f,15),SQR16_Q15(st->gain[i])),ps[i]); + + /* Apply gain floor */ + if (st->gain[i] < st->gain_floor[i]) + st->gain[i] = st->gain_floor[i]; + + /* Exponential decay model for reverberation (unused) */ + /*st->reverb_estimate[i] = st->reverb_decay*st->reverb_estimate[i] + st->reverb_decay*st->reverb_level*st->gain[i]*st->gain[i]*st->ps[i];*/ + + /* Take into account speech probability of presence (loudness domain MMSE estimator) */ + /* gain2 = [p*sqrt(gain)+(1-p)*sqrt(gain _floor) ]^2 */ + tmp = MULT16_16_P15(p,spx_sqrt(SHL32(EXTEND32(st->gain[i]),15))) + MULT16_16_P15(SUB16(Q15_ONE,p),spx_sqrt(SHL32(EXTEND32(st->gain_floor[i]),15))); + st->gain2[i]=SQR16_Q15(tmp); + + /* Use this if you want a log-domain MMSE estimator instead */ + /*st->gain2[i] = pow(st->gain[i], p) * pow(st->gain_floor[i],1.f-p);*/ } - - st->reverb_estimate[i] = st->reverb_decay*st->reverb_estimate[i] + st->reverb_decay*st->reverb_level*st->gain[i]*st->gain[i]*st->ps[i]; - if (st->denoise_enabled) + } else { + for (i=N;igain2[i] = p*p*st->gain[i];*/ - st->gain2[i]=(p*sqrt(st->gain[i])+.2*(1-p)) * (p*sqrt(st->gain[i])+.2*(1-p)); - /*st->gain2[i] = pow(st->gain[i], p) * pow(.1f,1.f-p);*/ - } else { - st->gain2[i]=1.f; + spx_word16_t tmp; + spx_word16_t p = st->gain2[i]; + st->gain[i] = MAX16(st->gain[i], st->gain_floor[i]); + tmp = MULT16_16_P15(p,spx_sqrt(SHL32(EXTEND32(st->gain[i]),15))) + MULT16_16_P15(SUB16(Q15_ONE,p),spx_sqrt(SHL32(EXTEND32(st->gain_floor[i]),15))); + st->gain2[i]=SQR16_Q15(tmp); } + filterbank_compute_psd16(st->bank,st->gain2+N, st->gain2); } - st->gain2[0]=st->gain[0]=0.f; - st->gain2[N-1]=st->gain[N-1]=0.f; - /* - for (i=30;idenoise_enabled) { - st->gain[i] = st->gain2[i]*st->gain2[i] + (1-st->gain2[i])*.333*(.6*st->gain2[i-1]+st->gain2[i]+.6*st->gain2[i+1]+.4*st->gain2[i-2]+.4*st->gain2[i+2]); - } - for (i=30;igain2[i] = st->gain[i]; - */ - if (st->agc_enabled) - speex_compute_agc(st, mean_prior); - -#if 0 - if (!is_speech) - { - for (i=0;igain2[i] = 0; - } -#if 0 - else { - for (i=0;igain2[i] = 1; + for (i=0;igain2[i]=Q15_ONE; } -#endif -#endif - + /* Apply computed gain */ for (i=1;iframe[2*i-1] *= st->gain2[i]; - st->frame[2*i] *= st->gain2[i]; + st->ft[2*i-1] = MULT16_16_P15(st->gain2[i],st->ft[2*i-1]); + st->ft[2*i] = MULT16_16_P15(st->gain2[i],st->ft[2*i]); } - - /* Get rid of the DC and very low frequencies */ - st->frame[0]=0; - st->frame[1]=0; - st->frame[2]=0; - /* Nyquist frequency is mostly useless too */ - st->frame[2*N-1]=0; + st->ft[0] = MULT16_16_P15(st->gain2[0],st->ft[0]); + st->ft[2*N-1] = MULT16_16_P15(st->gain2[N-1],st->ft[2*N-1]); + + /*FIXME: This *will* not work for fixed-point */ +#ifndef FIXED_POINT + if (st->agc_enabled) + speex_compute_agc(st, Pframe, st->ft); +#endif /* Inverse FFT with 1/N scaling */ - spx_drft_backward(st->fft_lookup, st->frame); - + spx_ifft(st->fft_lookup, st->ft, st->frame); + /* Scale back to original (lower) amplitude */ for (i=0;i<2*N;i++) - st->frame[i] *= scale; + st->frame[i] = PSHR16(st->frame[i], st->frame_shift); + /*FIXME: This *will* not work for fixed-point */ +#ifndef FIXED_POINT + if (st->agc_enabled) { float max_sample=0; for (i=0;i<2*N;i++) @@ -880,9 +976,11 @@ st->frame[i] *= damp; } } - +#endif + + /* Synthesis window (for WOLA) */ for (i=0;i<2*N;i++) - st->frame[i] *= st->window[i]; + st->frame[i] = MULT16_16_Q15(st->frame[i], st->window[i]); /* Perform overlap and add */ for (i=0;ioutbuf[i] = st->frame[st->frame_size+i]; - /* Save old power spectrum */ - for (i=1;iold_ps[i] = ps[i]; - - return is_speech; + /* FIXME: This VAD is a kludge */ + st->speech_prob = Pframe; + if (st->vad_enabled) + { + if (st->speech_prob > st->speech_prob_start || (st->was_speech && st->speech_prob > st->speech_prob_continue)) + { + st->was_speech=1; + return 1; + } else + { + st->was_speech=0; + return 0; + } + } else { + return 1; + } } -void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo) +EXPORT void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x) { int i; int N = st->ps_size; int N3 = 2*N - st->frame_size; + int M; + spx_word32_t *ps=st->ps; - float *ps=st->ps; - + M = st->nbands; + st->min_count++; + preprocess_analysis(st, x); update_noise_prob(st); - - st->nb_preprocess++; for (i=1;iupdate_prob[i]<.5f || st->ps[i] < st->noise[i]) + if (!st->update_prob[i] || st->ps[i] < PSHR32(st->noise[i],NOISE_SHIFT)) { - if (echo) - st->noise[i] = .95f*st->noise[i] + .1f*max(1.0f,st->ps[i]-st->frame_size*st->frame_size*1.0*echo[i]); - else - st->noise[i] = .95f*st->noise[i] + .1f*st->ps[i]; + st->noise[i] = MULT16_32_Q15(QCONST16(.95f,15),st->noise[i]) + MULT16_32_Q15(QCONST16(.05f,15),SHL32(st->ps[i],NOISE_SHIFT)); } } for (i=0;ioutbuf[i] = x[st->frame_size-N3+i]*st->window[st->frame_size+i]; + st->outbuf[i] = MULT16_16_Q15(x[st->frame_size-N3+i],st->window[st->frame_size+i]); /* Save old power spectrum */ - for (i=1;iold_ps[i] = ps[i]; - for (i=1;ireverb_estimate[i] *= st->reverb_decay; + for (i=0;ireverb_estimate[i] = MULT16_32_Q15(st->reverb_decay, st->reverb_estimate[i]); } -int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) +EXPORT int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) { int i; SpeexPreprocessState *st; @@ -946,19 +1053,19 @@ switch(request) { case SPEEX_PREPROCESS_SET_DENOISE: - st->denoise_enabled = (*(int*)ptr); + st->denoise_enabled = (*(spx_int32_t*)ptr); break; case SPEEX_PREPROCESS_GET_DENOISE: - (*(int*)ptr) = st->denoise_enabled; + (*(spx_int32_t*)ptr) = st->denoise_enabled; break; - +#ifndef FIXED_POINT case SPEEX_PREPROCESS_SET_AGC: - st->agc_enabled = (*(int*)ptr); + st->agc_enabled = (*(spx_int32_t*)ptr); break; case SPEEX_PREPROCESS_GET_AGC: - (*(int*)ptr) = st->agc_enabled; + (*(spx_int32_t*)ptr) = st->agc_enabled; break; - +#ifndef DISABLE_FLOAT_API case SPEEX_PREPROCESS_SET_AGC_LEVEL: st->agc_level = (*(float*)ptr); if (st->agc_level<1) @@ -969,58 +1076,144 @@ case SPEEX_PREPROCESS_GET_AGC_LEVEL: (*(float*)ptr) = st->agc_level; break; - +#endif /* #ifndef DISABLE_FLOAT_API */ + case SPEEX_PREPROCESS_SET_AGC_INCREMENT: + st->max_increase_step = exp(0.11513f * (*(spx_int32_t*)ptr)*st->frame_size / st->sampling_rate); + break; + case SPEEX_PREPROCESS_GET_AGC_INCREMENT: + (*(spx_int32_t*)ptr) = floor(.5+8.6858*log(st->max_increase_step)*st->sampling_rate/st->frame_size); + break; + case SPEEX_PREPROCESS_SET_AGC_DECREMENT: + st->max_decrease_step = exp(0.11513f * (*(spx_int32_t*)ptr)*st->frame_size / st->sampling_rate); + break; + case SPEEX_PREPROCESS_GET_AGC_DECREMENT: + (*(spx_int32_t*)ptr) = floor(.5+8.6858*log(st->max_decrease_step)*st->sampling_rate/st->frame_size); + break; + case SPEEX_PREPROCESS_SET_AGC_MAX_GAIN: + st->max_gain = exp(0.11513f * (*(spx_int32_t*)ptr)); + break; + case SPEEX_PREPROCESS_GET_AGC_MAX_GAIN: + (*(spx_int32_t*)ptr) = floor(.5+8.6858*log(st->max_gain)); + break; +#endif case SPEEX_PREPROCESS_SET_VAD: - st->vad_enabled = (*(int*)ptr); + speex_warning("The VAD has been replaced by a hack pending a complete rewrite"); + st->vad_enabled = (*(spx_int32_t*)ptr); break; case SPEEX_PREPROCESS_GET_VAD: - (*(int*)ptr) = st->vad_enabled; + (*(spx_int32_t*)ptr) = st->vad_enabled; break; case SPEEX_PREPROCESS_SET_DEREVERB: - st->dereverb_enabled = (*(int*)ptr); + st->dereverb_enabled = (*(spx_int32_t*)ptr); for (i=0;ips_size;i++) st->reverb_estimate[i]=0; break; case SPEEX_PREPROCESS_GET_DEREVERB: - (*(int*)ptr) = st->dereverb_enabled; + (*(spx_int32_t*)ptr) = st->dereverb_enabled; break; case SPEEX_PREPROCESS_SET_DEREVERB_LEVEL: - st->reverb_level = (*(float*)ptr); + /* FIXME: Re-enable when de-reverberation is actually enabled again */ + /*st->reverb_level = (*(float*)ptr);*/ break; case SPEEX_PREPROCESS_GET_DEREVERB_LEVEL: - (*(float*)ptr) = st->reverb_level; + /* FIXME: Re-enable when de-reverberation is actually enabled again */ + /*(*(float*)ptr) = st->reverb_level;*/ break; case SPEEX_PREPROCESS_SET_DEREVERB_DECAY: - st->reverb_decay = (*(float*)ptr); + /* FIXME: Re-enable when de-reverberation is actually enabled again */ + /*st->reverb_decay = (*(float*)ptr);*/ break; case SPEEX_PREPROCESS_GET_DEREVERB_DECAY: - (*(float*)ptr) = st->reverb_decay; + /* FIXME: Re-enable when de-reverberation is actually enabled again */ + /*(*(float*)ptr) = st->reverb_decay;*/ break; case SPEEX_PREPROCESS_SET_PROB_START: - st->speech_prob_start = (*(int*)ptr) / 100.0; - if ( st->speech_prob_start > 1 || st->speech_prob_start < 0 ) - st->speech_prob_start = SPEEX_PROB_START_DEFAULT; + *(spx_int32_t*)ptr = MIN32(100,MAX32(0, *(spx_int32_t*)ptr)); + st->speech_prob_start = DIV32_16(MULT16_16(Q15ONE,*(spx_int32_t*)ptr), 100); break; case SPEEX_PREPROCESS_GET_PROB_START: - (*(int*)ptr) = st->speech_prob_start * 100; + (*(spx_int32_t*)ptr) = MULT16_16_Q15(st->speech_prob_start, 100); break; case SPEEX_PREPROCESS_SET_PROB_CONTINUE: - st->speech_prob_continue = (*(int*)ptr) / 100.0; - if ( st->speech_prob_continue > 1 || st->speech_prob_continue < 0 ) - st->speech_prob_continue = SPEEX_PROB_CONTINUE_DEFAULT; + *(spx_int32_t*)ptr = MIN32(100,MAX32(0, *(spx_int32_t*)ptr)); + st->speech_prob_continue = DIV32_16(MULT16_16(Q15ONE,*(spx_int32_t*)ptr), 100); break; case SPEEX_PREPROCESS_GET_PROB_CONTINUE: - (*(int*)ptr) = st->speech_prob_continue * 100; + (*(spx_int32_t*)ptr) = MULT16_16_Q15(st->speech_prob_continue, 100); break; - default: + case SPEEX_PREPROCESS_SET_NOISE_SUPPRESS: + st->noise_suppress = -ABS(*(spx_int32_t*)ptr); + break; + case SPEEX_PREPROCESS_GET_NOISE_SUPPRESS: + (*(spx_int32_t*)ptr) = st->noise_suppress; + break; + case SPEEX_PREPROCESS_SET_ECHO_SUPPRESS: + st->echo_suppress = -ABS(*(spx_int32_t*)ptr); + break; + case SPEEX_PREPROCESS_GET_ECHO_SUPPRESS: + (*(spx_int32_t*)ptr) = st->echo_suppress; + break; + case SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE: + st->echo_suppress_active = -ABS(*(spx_int32_t*)ptr); + break; + case SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE: + (*(spx_int32_t*)ptr) = st->echo_suppress_active; + break; + case SPEEX_PREPROCESS_SET_ECHO_STATE: + st->echo_state = (SpeexEchoState*)ptr; + break; + case SPEEX_PREPROCESS_GET_ECHO_STATE: + (*(SpeexEchoState**)ptr) = (SpeexEchoState*)st->echo_state; + break; +#ifndef FIXED_POINT + case SPEEX_PREPROCESS_GET_AGC_LOUDNESS: + (*(spx_int32_t*)ptr) = pow(st->loudness, 1.0/LOUDNESS_EXP); + break; + case SPEEX_PREPROCESS_GET_AGC_GAIN: + (*(spx_int32_t*)ptr) = floor(.5+8.6858*log(st->agc_gain)); + break; +#endif + case SPEEX_PREPROCESS_GET_PSD_SIZE: + case SPEEX_PREPROCESS_GET_NOISE_PSD_SIZE: + (*(spx_int32_t*)ptr) = st->ps_size; + break; + case SPEEX_PREPROCESS_GET_PSD: + for(i=0;ips_size;i++) + ((spx_int32_t *)ptr)[i] = (spx_int32_t) st->ps[i]; + break; + case SPEEX_PREPROCESS_GET_NOISE_PSD: + for(i=0;ips_size;i++) + ((spx_int32_t *)ptr)[i] = (spx_int32_t) PSHR32(st->noise[i], NOISE_SHIFT); + break; + case SPEEX_PREPROCESS_GET_PROB: + (*(spx_int32_t*)ptr) = MULT16_16_Q15(st->speech_prob, 100); + break; +#ifndef FIXED_POINT + case SPEEX_PREPROCESS_SET_AGC_TARGET: + st->agc_level = (*(spx_int32_t*)ptr); + if (st->agc_level<1) + st->agc_level=1; + if (st->agc_level>32768) + st->agc_level=32768; + break; + case SPEEX_PREPROCESS_GET_AGC_TARGET: + (*(spx_int32_t*)ptr) = st->agc_level; + break; +#endif + default: speex_warning_int("Unknown speex_preprocess_ctl request: ", request); return -1; } return 0; } + +#ifdef FIXED_DEBUG +long long spx_mips=0; +#endif + Modified: freeswitch/trunk/libs/speex/libspeex/pseudofloat.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/pseudofloat.h (original) +++ freeswitch/trunk/libs/speex/libspeex/pseudofloat.h Fri Feb 13 00:02:32 2009 @@ -2,6 +2,15 @@ /** @file pseudofloat.h @brief Pseudo-floating point + * This header file provides a lightweight floating point type for + * use on fixed-point platforms when a large dynamic range is + * required. The new type is not compatible with the 32-bit IEEE format, + * it is not even remotely as accurate as 32-bit floats, and is not + * even guaranteed to produce even remotely correct results for code + * other than Speex. It makes all kinds of shortcuts that are acceptable + * for Speex, but may not be acceptable for your application. You're + * quite welcome to reuse this code and improve it, but don't assume + * it works out of the box. Most likely, it doesn't. */ /* Redistribution and use in source and binary forms, with or without @@ -35,7 +44,8 @@ #ifndef PSEUDOFLOAT_H #define PSEUDOFLOAT_H -#include "misc.h" +#include "arch.h" +#include "os_support.h" #include "math_approx.h" #include @@ -65,18 +75,8 @@ spx_float_t r = {0,0}; return r; } - while (x>32767) - { - x >>= 1; - /*x *= .5;*/ - e++; - } - while (x<16383) - { - x <<= 1; - /*x *= 2;*/ - e--; - } + e = spx_ilog2(ABS32(x))-14; + x = VSHR32(x, e); if (sign) { spx_float_t r; @@ -205,6 +205,14 @@ return r; } +static inline spx_float_t FLOAT_AMULT(spx_float_t a, spx_float_t b) +{ + spx_float_t r; + r.m = (spx_int16_t)((spx_int32_t)(a).m*(b).m>>15); + r.e = (a).e+(b).e+15; + return r; +} + static inline spx_float_t FLOAT_SHL(spx_float_t a, int b) { @@ -232,61 +240,38 @@ static inline spx_int32_t FLOAT_MUL32(spx_float_t a, spx_word32_t b) { - if (a.e<-15) - return SHR32(MULT16_32_Q15(a.m, b),-a.e-15); - else - return SHL32(MULT16_32_Q15(a.m, b),15+a.e); + return VSHR32(MULT16_32_Q15(a.m, b),-a.e-15); } static inline spx_float_t FLOAT_MUL32U(spx_word32_t a, spx_word32_t b) { - int e=0; + int e1, e2; spx_float_t r; - /* FIXME: Handle the sign */ - if (a==0) + if (a==0 || b==0) { return FLOAT_ZERO; } - while (a>32767) - { - a >>= 1; - e++; - } - while (a<16384) - { - a <<= 1; - e--; - } - while (b>32767) - { - b >>= 1; - e++; - } - while (b<16384) - { - b <<= 1; - e--; - } + e1 = spx_ilog2(ABS32(a)); + a = VSHR32(a, e1-14); + e2 = spx_ilog2(ABS32(b)); + b = VSHR32(b, e2-14); r.m = MULT16_16_Q15(a,b); - r.e = e+15; + r.e = e1+e2-13; return r; } +/* Do NOT attempt to divide by a negative number */ static inline spx_float_t FLOAT_DIV32_FLOAT(spx_word32_t a, spx_float_t b) { int e=0; spx_float_t r; - /* FIXME: Handle the sign */ if (a==0) { return FLOAT_ZERO; } - while (a=SHL32(EXTEND32(b.m-1),15)) + e = spx_ilog2(ABS32(a))-spx_ilog2(b.m-1)-15; + a = VSHR32(a, e); + if (ABS32(a)>=SHL32(EXTEND32(b.m-1),15)) { a >>= 1; e++; @@ -297,41 +282,47 @@ } +/* Do NOT attempt to divide by a negative number */ static inline spx_float_t FLOAT_DIV32(spx_word32_t a, spx_word32_t b) { - int e=0; + int e0=0,e=0; spx_float_t r; - /* FIXME: Handle the sign */ if (a==0) { return FLOAT_ZERO; } - while (b>32767) - { - b >>= 1; - e--; - } - while (a32767) { - a <<= 1; - e--; - } - while (a>=SHL32(b-1,15)) + e0 = spx_ilog2(b)-14; + b = VSHR32(b, e0); + e0 = -e0; + } + e = spx_ilog2(ABS32(a))-spx_ilog2(b-1)-15; + a = VSHR32(a, e); + if (ABS32(a)>=SHL32(EXTEND32(b-1),15)) { a >>= 1; e++; } + e += e0; r.m = DIV32_16(a,b); r.e = e; return r; } +/* Do NOT attempt to divide by a negative number */ static inline spx_float_t FLOAT_DIVU(spx_float_t a, spx_float_t b) { int e=0; spx_int32_t num; spx_float_t r; + if (b.m<=0) + { + speex_warning_int("Attempted to divide by", b.m); + return FLOAT_ONE; + } num = a.m; + a.m = ABS16(a.m); while (a.m >= b.m) { e++; @@ -347,7 +338,7 @@ { spx_float_t r; spx_int32_t m; - m = a.m << 14; + m = SHL32(EXTEND32(a.m), 14); r.e = a.e - 14; if (r.e & 1) { @@ -367,6 +358,7 @@ #define FLOAT_HALF 0.5f #define PSEUDOFLOAT(x) (x) #define FLOAT_MULT(a,b) ((a)*(b)) +#define FLOAT_AMULT(a,b) ((a)*(b)) #define FLOAT_MUL32(a,b) ((a)*(b)) #define FLOAT_DIV32(a,b) ((a)/(b)) #define FLOAT_EXTRACT16(a) (a) Modified: freeswitch/trunk/libs/speex/libspeex/quant_lsp.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/quant_lsp.c (original) +++ freeswitch/trunk/libs/speex/libspeex/quant_lsp.c Fri Feb 13 00:02:32 2009 @@ -35,12 +35,13 @@ #endif #include "quant_lsp.h" +#include "os_support.h" #include #ifndef M_PI #define M_PI 3.14159265358979323846 #endif -#include "misc.h" +#include "arch.h" #ifdef BFIN_ASM #include "quant_lsp_bfin.h" @@ -304,11 +305,11 @@ #ifdef DISABLE_WIDEBAND void lsp_quant_high(spx_lsp_t *lsp, spx_lsp_t *qlsp, int order, SpeexBits *bits) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); } void lsp_unquant_high(spx_lsp_t *lsp, int order, SpeexBits *bits) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); } #else extern const signed char high_lsp_cdbk[]; @@ -382,66 +383,3 @@ #endif - -#ifdef EPIC_48K - -extern const signed char cdbk_lsp_vlbr[5120]; -extern const signed char cdbk_lsp2_vlbr[160]; - -void lsp_quant_48k(spx_lsp_t *lsp, spx_lsp_t *qlsp, int order, SpeexBits *bits) -{ - int i; - int id; - spx_word16_t quant_weight[10]; - - for (i=0;i -#include "misc.h" +#include "arch.h" #define MAX_LSP_SIZE 20 @@ -71,13 +71,4 @@ /* Decodes high-band LSPs */ void lsp_unquant_high(spx_lsp_t *lsp, int order, SpeexBits *bits); -#ifdef EPIC_48K -/* Quantizes narrowband LSPs with 14 bits */ -void lsp_quant_48k(spx_lsp_t *lsp, spx_lsp_t *qlsp, int order, SpeexBits *bits); - -/* Decodes quantized narrowband LSPs (14 bits) */ -void lsp_unquant_48k(spx_lsp_t *lsp, int order, SpeexBits *bits); -#endif - - #endif Modified: freeswitch/trunk/libs/speex/libspeex/quant_lsp_bfin.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/quant_lsp_bfin.h (original) +++ freeswitch/trunk/libs/speex/libspeex/quant_lsp_bfin.h Fri Feb 13 00:02:32 2009 @@ -68,19 +68,19 @@ " B0 = %2;\n\t" " R2.L = W [I0++];\n\t" -" LSETUP (lq1, lq2) LC0 = %4;\n\t" -"lq1: R3 = 0;\n\t" /* R3: dist */ -" LSETUP (lq3, lq4) LC1 = %5;\n\t" -"lq3: R1 = B [P2++] (X);\n\t" +" LSETUP (1f, 2f) LC0 = %4;\n\t" +"1: R3 = 0;\n\t" /* R3: dist */ +" LSETUP (3f, 4f) LC1 = %5;\n\t" +"3: R1 = B [P2++] (X);\n\t" " R1 <<= 5;\n\t" " R0.L = R2.L - R1.L || R2.L = W [I0++];\n\t" " R0 = R0.L*R0.L;\n\t" -"lq4: R3 = R3 + R0;\n\t" +"4: R3 = R3 + R0;\n\t" " cc =R3<%0;\n\t" " if cc %0=R3;\n\t" " if cc %1=R5;\n\t" -"lq2: R5 += 1;\n\t" +"2: R5 += 1;\n\t" " L0 = 0;\n\t" : "=&d" (best_dist), "=&d" (best_id) : "a" (x), "b" (cdbk), "a" (nbVec), "a" (nbDim) @@ -132,10 +132,10 @@ " B0 = %2;\n\t" " B1 = %3;\n\t" -" LSETUP (lwq1, lwq2) LC0 = %5;\n\t" -"lwq1: R3 = 0 (X);\n\t" /* R3: dist */ -" LSETUP (lwq3, lwq4) LC1 = %6;\n\t" -"lwq3: R0.L = W [I0++] || R2.L = W [I1++];\n\t" +" LSETUP (1f, 2f) LC0 = %5;\n\t" +"1: R3 = 0 (X);\n\t" /* R3: dist */ +" LSETUP (3f, 4f) LC1 = %6;\n\t" +"3: R0.L = W [I0++] || R2.L = W [I1++];\n\t" " R1 = B [P2++] (X);\n\t" " R1 <<= 5;\n\t" " R0.L = R0.L - R1.L;\n\t" @@ -143,12 +143,12 @@ " A1 = R2.L*R0.L (M,IS);\n\t" " A1 = A1 >>> 16;\n\t" " R1 = (A1 += R2.L*R0.H) (IS);\n\t" -"lwq4: R3 = R3 + R1;\n\t" +"4: R3 = R3 + R1;\n\t" " cc =R3<%0;\n\t" " if cc %0=R3;\n\t" " if cc %1=R5;\n\t" -"lwq2: R5 += 1;\n\t" +"2: R5 += 1;\n\t" " L0 = 0;\n\t" " L1 = 0;\n\t" : "=&d" (best_dist), "=&d" (best_id) Added: freeswitch/trunk/libs/speex/libspeex/resample.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/resample.c Fri Feb 13 00:02:32 2009 @@ -0,0 +1,1131 @@ +/* Copyright (C) 2007-2008 Jean-Marc Valin + Copyright (C) 2008 Thorvald Natvig + + File: resample.c + Arbitrary resampling code + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + The design goals of this code are: + - Very fast algorithm + - SIMD-friendly algorithm + - Low memory requirement + - Good *perceptual* quality (and not best SNR) + + Warning: This resampler is relatively new. Although I think I got rid of + all the major bugs and I don't expect the API to change anymore, there + may be something I've missed. So use with caution. + + This algorithm is based on this original resampling algorithm: + Smith, Julius O. Digital Audio Resampling Home Page + Center for Computer Research in Music and Acoustics (CCRMA), + Stanford University, 2007. + Web published at http://www-ccrma.stanford.edu/~jos/resample/. + + There is one main difference, though. This resampler uses cubic + interpolation instead of linear interpolation in the above paper. This + makes the table much smaller and makes it possible to compute that table + on a per-stream basis. In turn, being able to tweak the table for each + stream makes it possible to both reduce complexity on simple ratios + (e.g. 2/3), and get rid of the rounding operations in the inner loop. + The latter both reduces CPU time and makes the algorithm more SIMD-friendly. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef OUTSIDE_SPEEX +#include +static void *speex_alloc (int size) {return calloc(size,1);} +static void *speex_realloc (void *ptr, int size) {return realloc(ptr, size);} +static void speex_free (void *ptr) {free(ptr);} +#include "speex_resampler.h" +#include "arch.h" +#else /* OUTSIDE_SPEEX */ + +#include "speex/speex_resampler.h" +#include "arch.h" +#include "os_support.h" +#endif /* OUTSIDE_SPEEX */ + +#include "stack_alloc.h" +#include + +#ifndef M_PI +#define M_PI 3.14159263 +#endif + +#ifdef FIXED_POINT +#define WORD2INT(x) ((x) < -32767 ? -32768 : ((x) > 32766 ? 32767 : (x))) +#else +#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x)))) +#endif + +#define IMAX(a,b) ((a) > (b) ? (a) : (b)) +#define IMIN(a,b) ((a) < (b) ? (a) : (b)) + +#ifndef NULL +#define NULL 0 +#endif + +#ifdef _USE_SSE +#include "resample_sse.h" +#endif + +/* Numer of elements to allocate on the stack */ +#ifdef VAR_ARRAYS +#define FIXED_STACK_ALLOC 8192 +#else +#define FIXED_STACK_ALLOC 1024 +#endif + +typedef int (*resampler_basic_func)(SpeexResamplerState *, spx_uint32_t , const spx_word16_t *, spx_uint32_t *, spx_word16_t *, spx_uint32_t *); + +struct SpeexResamplerState_ { + spx_uint32_t in_rate; + spx_uint32_t out_rate; + spx_uint32_t num_rate; + spx_uint32_t den_rate; + + int quality; + spx_uint32_t nb_channels; + spx_uint32_t filt_len; + spx_uint32_t mem_alloc_size; + spx_uint32_t buffer_size; + int int_advance; + int frac_advance; + float cutoff; + spx_uint32_t oversample; + int initialised; + int started; + + /* These are per-channel */ + spx_int32_t *last_sample; + spx_uint32_t *samp_frac_num; + spx_uint32_t *magic_samples; + + spx_word16_t *mem; + spx_word16_t *sinc_table; + spx_uint32_t sinc_table_length; + resampler_basic_func resampler_ptr; + + int in_stride; + int out_stride; +} ; + +static double kaiser12_table[68] = { + 0.99859849, 1.00000000, 0.99859849, 0.99440475, 0.98745105, 0.97779076, + 0.96549770, 0.95066529, 0.93340547, 0.91384741, 0.89213598, 0.86843014, + 0.84290116, 0.81573067, 0.78710866, 0.75723148, 0.72629970, 0.69451601, + 0.66208321, 0.62920216, 0.59606986, 0.56287762, 0.52980938, 0.49704014, + 0.46473455, 0.43304576, 0.40211431, 0.37206735, 0.34301800, 0.31506490, + 0.28829195, 0.26276832, 0.23854851, 0.21567274, 0.19416736, 0.17404546, + 0.15530766, 0.13794294, 0.12192957, 0.10723616, 0.09382272, 0.08164178, + 0.07063950, 0.06075685, 0.05193064, 0.04409466, 0.03718069, 0.03111947, + 0.02584161, 0.02127838, 0.01736250, 0.01402878, 0.01121463, 0.00886058, + 0.00691064, 0.00531256, 0.00401805, 0.00298291, 0.00216702, 0.00153438, + 0.00105297, 0.00069463, 0.00043489, 0.00025272, 0.00013031, 0.0000527734, + 0.00001000, 0.00000000}; +/* +static double kaiser12_table[36] = { + 0.99440475, 1.00000000, 0.99440475, 0.97779076, 0.95066529, 0.91384741, + 0.86843014, 0.81573067, 0.75723148, 0.69451601, 0.62920216, 0.56287762, + 0.49704014, 0.43304576, 0.37206735, 0.31506490, 0.26276832, 0.21567274, + 0.17404546, 0.13794294, 0.10723616, 0.08164178, 0.06075685, 0.04409466, + 0.03111947, 0.02127838, 0.01402878, 0.00886058, 0.00531256, 0.00298291, + 0.00153438, 0.00069463, 0.00025272, 0.0000527734, 0.00000500, 0.00000000}; +*/ +static double kaiser10_table[36] = { + 0.99537781, 1.00000000, 0.99537781, 0.98162644, 0.95908712, 0.92831446, + 0.89005583, 0.84522401, 0.79486424, 0.74011713, 0.68217934, 0.62226347, + 0.56155915, 0.50119680, 0.44221549, 0.38553619, 0.33194107, 0.28205962, + 0.23636152, 0.19515633, 0.15859932, 0.12670280, 0.09935205, 0.07632451, + 0.05731132, 0.04193980, 0.02979584, 0.02044510, 0.01345224, 0.00839739, + 0.00488951, 0.00257636, 0.00115101, 0.00035515, 0.00000000, 0.00000000}; + +static double kaiser8_table[36] = { + 0.99635258, 1.00000000, 0.99635258, 0.98548012, 0.96759014, 0.94302200, + 0.91223751, 0.87580811, 0.83439927, 0.78875245, 0.73966538, 0.68797126, + 0.63451750, 0.58014482, 0.52566725, 0.47185369, 0.41941150, 0.36897272, + 0.32108304, 0.27619388, 0.23465776, 0.19672670, 0.16255380, 0.13219758, + 0.10562887, 0.08273982, 0.06335451, 0.04724088, 0.03412321, 0.02369490, + 0.01563093, 0.00959968, 0.00527363, 0.00233883, 0.00050000, 0.00000000}; + +static double kaiser6_table[36] = { + 0.99733006, 1.00000000, 0.99733006, 0.98935595, 0.97618418, 0.95799003, + 0.93501423, 0.90755855, 0.87598009, 0.84068475, 0.80211977, 0.76076565, + 0.71712752, 0.67172623, 0.62508937, 0.57774224, 0.53019925, 0.48295561, + 0.43647969, 0.39120616, 0.34752997, 0.30580127, 0.26632152, 0.22934058, + 0.19505503, 0.16360756, 0.13508755, 0.10953262, 0.08693120, 0.06722600, + 0.05031820, 0.03607231, 0.02432151, 0.01487334, 0.00752000, 0.00000000}; + +struct FuncDef { + double *table; + int oversample; +}; + +static struct FuncDef _KAISER12 = {kaiser12_table, 64}; +#define KAISER12 (&_KAISER12) +/*static struct FuncDef _KAISER12 = {kaiser12_table, 32}; +#define KAISER12 (&_KAISER12)*/ +static struct FuncDef _KAISER10 = {kaiser10_table, 32}; +#define KAISER10 (&_KAISER10) +static struct FuncDef _KAISER8 = {kaiser8_table, 32}; +#define KAISER8 (&_KAISER8) +static struct FuncDef _KAISER6 = {kaiser6_table, 32}; +#define KAISER6 (&_KAISER6) + +struct QualityMapping { + int base_length; + int oversample; + float downsample_bandwidth; + float upsample_bandwidth; + struct FuncDef *window_func; +}; + + +/* This table maps conversion quality to internal parameters. There are two + reasons that explain why the up-sampling bandwidth is larger than the + down-sampling bandwidth: + 1) When up-sampling, we can assume that the spectrum is already attenuated + close to the Nyquist rate (from an A/D or a previous resampling filter) + 2) Any aliasing that occurs very close to the Nyquist rate will be masked + by the sinusoids/noise just below the Nyquist rate (guaranteed only for + up-sampling). +*/ +static const struct QualityMapping quality_map[11] = { + { 8, 4, 0.830f, 0.860f, KAISER6 }, /* Q0 */ + { 16, 4, 0.850f, 0.880f, KAISER6 }, /* Q1 */ + { 32, 4, 0.882f, 0.910f, KAISER6 }, /* Q2 */ /* 82.3% cutoff ( ~60 dB stop) 6 */ + { 48, 8, 0.895f, 0.917f, KAISER8 }, /* Q3 */ /* 84.9% cutoff ( ~80 dB stop) 8 */ + { 64, 8, 0.921f, 0.940f, KAISER8 }, /* Q4 */ /* 88.7% cutoff ( ~80 dB stop) 8 */ + { 80, 16, 0.922f, 0.940f, KAISER10}, /* Q5 */ /* 89.1% cutoff (~100 dB stop) 10 */ + { 96, 16, 0.940f, 0.945f, KAISER10}, /* Q6 */ /* 91.5% cutoff (~100 dB stop) 10 */ + {128, 16, 0.950f, 0.950f, KAISER10}, /* Q7 */ /* 93.1% cutoff (~100 dB stop) 10 */ + {160, 16, 0.960f, 0.960f, KAISER10}, /* Q8 */ /* 94.5% cutoff (~100 dB stop) 10 */ + {192, 32, 0.968f, 0.968f, KAISER12}, /* Q9 */ /* 95.5% cutoff (~100 dB stop) 10 */ + {256, 32, 0.975f, 0.975f, KAISER12}, /* Q10 */ /* 96.6% cutoff (~100 dB stop) 10 */ +}; +/*8,24,40,56,80,104,128,160,200,256,320*/ +static double compute_func(float x, struct FuncDef *func) +{ + float y, frac; + double interp[4]; + int ind; + y = x*func->oversample; + ind = (int)floor(y); + frac = (y-ind); + /* CSE with handle the repeated powers */ + interp[3] = -0.1666666667*frac + 0.1666666667*(frac*frac*frac); + interp[2] = frac + 0.5*(frac*frac) - 0.5*(frac*frac*frac); + /*interp[2] = 1.f - 0.5f*frac - frac*frac + 0.5f*frac*frac*frac;*/ + interp[0] = -0.3333333333*frac + 0.5*(frac*frac) - 0.1666666667*(frac*frac*frac); + /* Just to make sure we don't have rounding problems */ + interp[1] = 1.f-interp[3]-interp[2]-interp[0]; + + /*sum = frac*accum[1] + (1-frac)*accum[2];*/ + return interp[0]*func->table[ind] + interp[1]*func->table[ind+1] + interp[2]*func->table[ind+2] + interp[3]*func->table[ind+3]; +} + +#if 0 +#include +int main(int argc, char **argv) +{ + int i; + for (i=0;i<256;i++) + { + printf ("%f\n", compute_func(i/256., KAISER12)); + } + return 0; +} +#endif + +#ifdef FIXED_POINT +/* The slow way of computing a sinc for the table. Should improve that some day */ +static spx_word16_t sinc(float cutoff, float x, int N, struct FuncDef *window_func) +{ + /*fprintf (stderr, "%f ", x);*/ + float xx = x * cutoff; + if (fabs(x)<1e-6f) + return WORD2INT(32768.*cutoff); + else if (fabs(x) > .5f*N) + return 0; + /*FIXME: Can it really be any slower than this? */ + return WORD2INT(32768.*cutoff*sin(M_PI*xx)/(M_PI*xx) * compute_func(fabs(2.*x/N), window_func)); +} +#else +/* The slow way of computing a sinc for the table. Should improve that some day */ +static spx_word16_t sinc(float cutoff, float x, int N, struct FuncDef *window_func) +{ + /*fprintf (stderr, "%f ", x);*/ + float xx = x * cutoff; + if (fabs(x)<1e-6) + return cutoff; + else if (fabs(x) > .5*N) + return 0; + /*FIXME: Can it really be any slower than this? */ + return cutoff*sin(M_PI*xx)/(M_PI*xx) * compute_func(fabs(2.*x/N), window_func); +} +#endif + +#ifdef FIXED_POINT +static void cubic_coef(spx_word16_t x, spx_word16_t interp[4]) +{ + /* Compute interpolation coefficients. I'm not sure whether this corresponds to cubic interpolation + but I know it's MMSE-optimal on a sinc */ + spx_word16_t x2, x3; + x2 = MULT16_16_P15(x, x); + x3 = MULT16_16_P15(x, x2); + interp[0] = PSHR32(MULT16_16(QCONST16(-0.16667f, 15),x) + MULT16_16(QCONST16(0.16667f, 15),x3),15); + interp[1] = EXTRACT16(EXTEND32(x) + SHR32(SUB32(EXTEND32(x2),EXTEND32(x3)),1)); + interp[3] = PSHR32(MULT16_16(QCONST16(-0.33333f, 15),x) + MULT16_16(QCONST16(.5f,15),x2) - MULT16_16(QCONST16(0.16667f, 15),x3),15); + /* Just to make sure we don't have rounding problems */ + interp[2] = Q15_ONE-interp[0]-interp[1]-interp[3]; + if (interp[2]<32767) + interp[2]+=1; +} +#else +static void cubic_coef(spx_word16_t frac, spx_word16_t interp[4]) +{ + /* Compute interpolation coefficients. I'm not sure whether this corresponds to cubic interpolation + but I know it's MMSE-optimal on a sinc */ + interp[0] = -0.16667f*frac + 0.16667f*frac*frac*frac; + interp[1] = frac + 0.5f*frac*frac - 0.5f*frac*frac*frac; + /*interp[2] = 1.f - 0.5f*frac - frac*frac + 0.5f*frac*frac*frac;*/ + interp[3] = -0.33333f*frac + 0.5f*frac*frac - 0.16667f*frac*frac*frac; + /* Just to make sure we don't have rounding problems */ + interp[2] = 1.-interp[0]-interp[1]-interp[3]; +} +#endif + +static int resampler_basic_direct_single(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_word16_t *in, spx_uint32_t *in_len, spx_word16_t *out, spx_uint32_t *out_len) +{ + const int N = st->filt_len; + int out_sample = 0; + int last_sample = st->last_sample[channel_index]; + spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; + const spx_word16_t *sinc_table = st->sinc_table; + const int out_stride = st->out_stride; + const int int_advance = st->int_advance; + const int frac_advance = st->frac_advance; + const spx_uint32_t den_rate = st->den_rate; + spx_word32_t sum; + int j; + + while (!(last_sample >= (spx_int32_t)*in_len || out_sample >= (spx_int32_t)*out_len)) + { + const spx_word16_t *sinc = & sinc_table[samp_frac_num*N]; + const spx_word16_t *iptr = & in[last_sample]; + +#ifndef OVERRIDE_INNER_PRODUCT_SINGLE + float accum[4] = {0,0,0,0}; + + for(j=0;j= den_rate) + { + samp_frac_num -= den_rate; + last_sample++; + } + } + + st->last_sample[channel_index] = last_sample; + st->samp_frac_num[channel_index] = samp_frac_num; + return out_sample; +} + +#ifdef FIXED_POINT +#else +/* This is the same as the previous function, except with a double-precision accumulator */ +static int resampler_basic_direct_double(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_word16_t *in, spx_uint32_t *in_len, spx_word16_t *out, spx_uint32_t *out_len) +{ + const int N = st->filt_len; + int out_sample = 0; + int last_sample = st->last_sample[channel_index]; + spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; + const spx_word16_t *sinc_table = st->sinc_table; + const int out_stride = st->out_stride; + const int int_advance = st->int_advance; + const int frac_advance = st->frac_advance; + const spx_uint32_t den_rate = st->den_rate; + double sum; + int j; + + while (!(last_sample >= (spx_int32_t)*in_len || out_sample >= (spx_int32_t)*out_len)) + { + const spx_word16_t *sinc = & sinc_table[samp_frac_num*N]; + const spx_word16_t *iptr = & in[last_sample]; + +#ifndef OVERRIDE_INNER_PRODUCT_DOUBLE + double accum[4] = {0,0,0,0}; + + for(j=0;j= den_rate) + { + samp_frac_num -= den_rate; + last_sample++; + } + } + + st->last_sample[channel_index] = last_sample; + st->samp_frac_num[channel_index] = samp_frac_num; + return out_sample; +} +#endif + +static int resampler_basic_interpolate_single(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_word16_t *in, spx_uint32_t *in_len, spx_word16_t *out, spx_uint32_t *out_len) +{ + const int N = st->filt_len; + int out_sample = 0; + int last_sample = st->last_sample[channel_index]; + spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; + const int out_stride = st->out_stride; + const int int_advance = st->int_advance; + const int frac_advance = st->frac_advance; + const spx_uint32_t den_rate = st->den_rate; + int j; + spx_word32_t sum; + + while (!(last_sample >= (spx_int32_t)*in_len || out_sample >= (spx_int32_t)*out_len)) + { + const spx_word16_t *iptr = & in[last_sample]; + + const int offset = samp_frac_num*st->oversample/st->den_rate; +#ifdef FIXED_POINT + const spx_word16_t frac = PDIV32(SHL32((samp_frac_num*st->oversample) % st->den_rate,15),st->den_rate); +#else + const spx_word16_t frac = ((float)((samp_frac_num*st->oversample) % st->den_rate))/st->den_rate; +#endif + spx_word16_t interp[4]; + + +#ifndef OVERRIDE_INTERPOLATE_PRODUCT_SINGLE + spx_word32_t accum[4] = {0,0,0,0}; + + for(j=0;jsinc_table[4+(j+1)*st->oversample-offset-2]); + accum[1] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-1]); + accum[2] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset]); + accum[3] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset+1]); + } + + cubic_coef(frac, interp); + sum = MULT16_32_Q15(interp[0],accum[0]) + MULT16_32_Q15(interp[1],accum[1]) + MULT16_32_Q15(interp[2],accum[2]) + MULT16_32_Q15(interp[3],accum[3]); +#else + cubic_coef(frac, interp); + sum = interpolate_product_single(iptr, st->sinc_table + st->oversample + 4 - offset - 2, N, st->oversample, interp); +#endif + + out[out_stride * out_sample++] = PSHR32(sum,15); + last_sample += int_advance; + samp_frac_num += frac_advance; + if (samp_frac_num >= den_rate) + { + samp_frac_num -= den_rate; + last_sample++; + } + } + + st->last_sample[channel_index] = last_sample; + st->samp_frac_num[channel_index] = samp_frac_num; + return out_sample; +} + +#ifdef FIXED_POINT +#else +/* This is the same as the previous function, except with a double-precision accumulator */ +static int resampler_basic_interpolate_double(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_word16_t *in, spx_uint32_t *in_len, spx_word16_t *out, spx_uint32_t *out_len) +{ + const int N = st->filt_len; + int out_sample = 0; + int last_sample = st->last_sample[channel_index]; + spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; + const int out_stride = st->out_stride; + const int int_advance = st->int_advance; + const int frac_advance = st->frac_advance; + const spx_uint32_t den_rate = st->den_rate; + int j; + spx_word32_t sum; + + while (!(last_sample >= (spx_int32_t)*in_len || out_sample >= (spx_int32_t)*out_len)) + { + const spx_word16_t *iptr = & in[last_sample]; + + const int offset = samp_frac_num*st->oversample/st->den_rate; +#ifdef FIXED_POINT + const spx_word16_t frac = PDIV32(SHL32((samp_frac_num*st->oversample) % st->den_rate,15),st->den_rate); +#else + const spx_word16_t frac = ((float)((samp_frac_num*st->oversample) % st->den_rate))/st->den_rate; +#endif + spx_word16_t interp[4]; + + +#ifndef OVERRIDE_INTERPOLATE_PRODUCT_DOUBLE + double accum[4] = {0,0,0,0}; + + for(j=0;jsinc_table[4+(j+1)*st->oversample-offset-2]); + accum[1] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-1]); + accum[2] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset]); + accum[3] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset+1]); + } + + cubic_coef(frac, interp); + sum = MULT16_32_Q15(interp[0],accum[0]) + MULT16_32_Q15(interp[1],accum[1]) + MULT16_32_Q15(interp[2],accum[2]) + MULT16_32_Q15(interp[3],accum[3]); +#else + cubic_coef(frac, interp); + sum = interpolate_product_double(iptr, st->sinc_table + st->oversample + 4 - offset - 2, N, st->oversample, interp); +#endif + + out[out_stride * out_sample++] = PSHR32(sum,15); + last_sample += int_advance; + samp_frac_num += frac_advance; + if (samp_frac_num >= den_rate) + { + samp_frac_num -= den_rate; + last_sample++; + } + } + + st->last_sample[channel_index] = last_sample; + st->samp_frac_num[channel_index] = samp_frac_num; + return out_sample; +} +#endif + +static void update_filter(SpeexResamplerState *st) +{ + spx_uint32_t old_length; + + old_length = st->filt_len; + st->oversample = quality_map[st->quality].oversample; + st->filt_len = quality_map[st->quality].base_length; + + if (st->num_rate > st->den_rate) + { + /* down-sampling */ + st->cutoff = quality_map[st->quality].downsample_bandwidth * st->den_rate / st->num_rate; + /* FIXME: divide the numerator and denominator by a certain amount if they're too large */ + st->filt_len = st->filt_len*st->num_rate / st->den_rate; + /* Round down to make sure we have a multiple of 4 */ + st->filt_len &= (~0x3); + if (2*st->den_rate < st->num_rate) + st->oversample >>= 1; + if (4*st->den_rate < st->num_rate) + st->oversample >>= 1; + if (8*st->den_rate < st->num_rate) + st->oversample >>= 1; + if (16*st->den_rate < st->num_rate) + st->oversample >>= 1; + if (st->oversample < 1) + st->oversample = 1; + } else { + /* up-sampling */ + st->cutoff = quality_map[st->quality].upsample_bandwidth; + } + + /* Choose the resampling type that requires the least amount of memory */ + if (st->den_rate <= st->oversample) + { + spx_uint32_t i; + if (!st->sinc_table) + st->sinc_table = (spx_word16_t *)speex_alloc(st->filt_len*st->den_rate*sizeof(spx_word16_t)); + else if (st->sinc_table_length < st->filt_len*st->den_rate) + { + st->sinc_table = (spx_word16_t *)speex_realloc(st->sinc_table,st->filt_len*st->den_rate*sizeof(spx_word16_t)); + st->sinc_table_length = st->filt_len*st->den_rate; + } + for (i=0;iden_rate;i++) + { + spx_int32_t j; + for (j=0;jfilt_len;j++) + { + st->sinc_table[i*st->filt_len+j] = sinc(st->cutoff,((j-(spx_int32_t)st->filt_len/2+1)-((float)i)/st->den_rate), st->filt_len, quality_map[st->quality].window_func); + } + } +#ifdef FIXED_POINT + st->resampler_ptr = resampler_basic_direct_single; +#else + if (st->quality>8) + st->resampler_ptr = resampler_basic_direct_double; + else + st->resampler_ptr = resampler_basic_direct_single; +#endif + /*fprintf (stderr, "resampler uses direct sinc table and normalised cutoff %f\n", cutoff);*/ + } else { + spx_int32_t i; + if (!st->sinc_table) + st->sinc_table = (spx_word16_t *)speex_alloc((st->filt_len*st->oversample+8)*sizeof(spx_word16_t)); + else if (st->sinc_table_length < st->filt_len*st->oversample+8) + { + st->sinc_table = (spx_word16_t *)speex_realloc(st->sinc_table,(st->filt_len*st->oversample+8)*sizeof(spx_word16_t)); + st->sinc_table_length = st->filt_len*st->oversample+8; + } + for (i=-4;i<(spx_int32_t)(st->oversample*st->filt_len+4);i++) + st->sinc_table[i+4] = sinc(st->cutoff,(i/(float)st->oversample - st->filt_len/2), st->filt_len, quality_map[st->quality].window_func); +#ifdef FIXED_POINT + st->resampler_ptr = resampler_basic_interpolate_single; +#else + if (st->quality>8) + st->resampler_ptr = resampler_basic_interpolate_double; + else + st->resampler_ptr = resampler_basic_interpolate_single; +#endif + /*fprintf (stderr, "resampler uses interpolated sinc table and normalised cutoff %f\n", cutoff);*/ + } + st->int_advance = st->num_rate/st->den_rate; + st->frac_advance = st->num_rate%st->den_rate; + + + /* Here's the place where we update the filter memory to take into account + the change in filter length. It's probably the messiest part of the code + due to handling of lots of corner cases. */ + if (!st->mem) + { + spx_uint32_t i; + st->mem_alloc_size = st->filt_len-1 + st->buffer_size; + st->mem = (spx_word16_t*)speex_alloc(st->nb_channels*st->mem_alloc_size * sizeof(spx_word16_t)); + for (i=0;inb_channels*st->mem_alloc_size;i++) + st->mem[i] = 0; + /*speex_warning("init filter");*/ + } else if (!st->started) + { + spx_uint32_t i; + st->mem_alloc_size = st->filt_len-1 + st->buffer_size; + st->mem = (spx_word16_t*)speex_realloc(st->mem, st->nb_channels*st->mem_alloc_size * sizeof(spx_word16_t)); + for (i=0;inb_channels*st->mem_alloc_size;i++) + st->mem[i] = 0; + /*speex_warning("reinit filter");*/ + } else if (st->filt_len > old_length) + { + spx_int32_t i; + /* Increase the filter length */ + /*speex_warning("increase filter size");*/ + int old_alloc_size = st->mem_alloc_size; + if ((st->filt_len-1 + st->buffer_size) > st->mem_alloc_size) + { + st->mem_alloc_size = st->filt_len-1 + st->buffer_size; + st->mem = (spx_word16_t*)speex_realloc(st->mem, st->nb_channels*st->mem_alloc_size * sizeof(spx_word16_t)); + } + for (i=st->nb_channels-1;i>=0;i--) + { + spx_int32_t j; + spx_uint32_t olen = old_length; + /*if (st->magic_samples[i])*/ + { + /* Try and remove the magic samples as if nothing had happened */ + + /* FIXME: This is wrong but for now we need it to avoid going over the array bounds */ + olen = old_length + 2*st->magic_samples[i]; + for (j=old_length-2+st->magic_samples[i];j>=0;j--) + st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]] = st->mem[i*old_alloc_size+j]; + for (j=0;jmagic_samples[i];j++) + st->mem[i*st->mem_alloc_size+j] = 0; + st->magic_samples[i] = 0; + } + if (st->filt_len > olen) + { + /* If the new filter length is still bigger than the "augmented" length */ + /* Copy data going backward */ + for (j=0;jmem[i*st->mem_alloc_size+(st->filt_len-2-j)] = st->mem[i*st->mem_alloc_size+(olen-2-j)]; + /* Then put zeros for lack of anything better */ + for (;jfilt_len-1;j++) + st->mem[i*st->mem_alloc_size+(st->filt_len-2-j)] = 0; + /* Adjust last_sample */ + st->last_sample[i] += (st->filt_len - olen)/2; + } else { + /* Put back some of the magic! */ + st->magic_samples[i] = (olen - st->filt_len)/2; + for (j=0;jfilt_len-1+st->magic_samples[i];j++) + st->mem[i*st->mem_alloc_size+j] = st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]]; + } + } + } else if (st->filt_len < old_length) + { + spx_uint32_t i; + /* Reduce filter length, this a bit tricky. We need to store some of the memory as "magic" + samples so they can be used directly as input the next time(s) */ + for (i=0;inb_channels;i++) + { + spx_uint32_t j; + spx_uint32_t old_magic = st->magic_samples[i]; + st->magic_samples[i] = (old_length - st->filt_len)/2; + /* We must copy some of the memory that's no longer used */ + /* Copy data going backward */ + for (j=0;jfilt_len-1+st->magic_samples[i]+old_magic;j++) + st->mem[i*st->mem_alloc_size+j] = st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]]; + st->magic_samples[i] += old_magic; + } + } + +} + +EXPORT SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels, spx_uint32_t in_rate, spx_uint32_t out_rate, int quality, int *err) +{ + return speex_resampler_init_frac(nb_channels, in_rate, out_rate, in_rate, out_rate, quality, err); +} + +EXPORT SpeexResamplerState *speex_resampler_init_frac(spx_uint32_t nb_channels, spx_uint32_t ratio_num, spx_uint32_t ratio_den, spx_uint32_t in_rate, spx_uint32_t out_rate, int quality, int *err) +{ + spx_uint32_t i; + SpeexResamplerState *st; + if (quality > 10 || quality < 0) + { + if (err) + *err = RESAMPLER_ERR_INVALID_ARG; + return NULL; + } + st = (SpeexResamplerState *)speex_alloc(sizeof(SpeexResamplerState)); + st->initialised = 0; + st->started = 0; + st->in_rate = 0; + st->out_rate = 0; + st->num_rate = 0; + st->den_rate = 0; + st->quality = -1; + st->sinc_table_length = 0; + st->mem_alloc_size = 0; + st->filt_len = 0; + st->mem = 0; + st->resampler_ptr = 0; + + st->cutoff = 1.f; + st->nb_channels = nb_channels; + st->in_stride = 1; + st->out_stride = 1; + +#ifdef FIXED_POINT + st->buffer_size = 160; +#else + st->buffer_size = 160; +#endif + + /* Per channel data */ + st->last_sample = (spx_int32_t*)speex_alloc(nb_channels*sizeof(int)); + st->magic_samples = (spx_uint32_t*)speex_alloc(nb_channels*sizeof(int)); + st->samp_frac_num = (spx_uint32_t*)speex_alloc(nb_channels*sizeof(int)); + for (i=0;ilast_sample[i] = 0; + st->magic_samples[i] = 0; + st->samp_frac_num[i] = 0; + } + + speex_resampler_set_quality(st, quality); + speex_resampler_set_rate_frac(st, ratio_num, ratio_den, in_rate, out_rate); + + + update_filter(st); + + st->initialised = 1; + if (err) + *err = RESAMPLER_ERR_SUCCESS; + + return st; +} + +EXPORT void speex_resampler_destroy(SpeexResamplerState *st) +{ + speex_free(st->mem); + speex_free(st->sinc_table); + speex_free(st->last_sample); + speex_free(st->magic_samples); + speex_free(st->samp_frac_num); + speex_free(st); +} + +static int speex_resampler_process_native(SpeexResamplerState *st, spx_uint32_t channel_index, spx_uint32_t *in_len, spx_word16_t *out, spx_uint32_t *out_len) +{ + int j=0; + const int N = st->filt_len; + int out_sample = 0; + spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size; + spx_uint32_t ilen; + + st->started = 1; + + /* Call the right resampler through the function ptr */ + out_sample = st->resampler_ptr(st, channel_index, mem, in_len, out, out_len); + + if (st->last_sample[channel_index] < (spx_int32_t)*in_len) + *in_len = st->last_sample[channel_index]; + *out_len = out_sample; + st->last_sample[channel_index] -= *in_len; + + ilen = *in_len; + + for(j=0;jmagic_samples[channel_index]; + spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size; + const int N = st->filt_len; + + speex_resampler_process_native(st, channel_index, &tmp_in_len, *out, &out_len); + + st->magic_samples[channel_index] -= tmp_in_len; + + /* If we couldn't process all "magic" input samples, save the rest for next time */ + if (st->magic_samples[channel_index]) + { + spx_uint32_t i; + for (i=0;imagic_samples[channel_index];i++) + mem[N-1+i]=mem[N-1+i+tmp_in_len]; + } + *out += out_len*st->out_stride; + return out_len; +} + +#ifdef FIXED_POINT +EXPORT int speex_resampler_process_int(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_int16_t *in, spx_uint32_t *in_len, spx_int16_t *out, spx_uint32_t *out_len) +#else +EXPORT int speex_resampler_process_float(SpeexResamplerState *st, spx_uint32_t channel_index, const float *in, spx_uint32_t *in_len, float *out, spx_uint32_t *out_len) +#endif +{ + int j; + spx_uint32_t ilen = *in_len; + spx_uint32_t olen = *out_len; + spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size; + const int filt_offs = st->filt_len - 1; + const spx_uint32_t xlen = st->mem_alloc_size - filt_offs; + const int istride = st->in_stride; + + if (st->magic_samples[channel_index]) + olen -= speex_resampler_magic(st, channel_index, &out, olen); + if (! st->magic_samples[channel_index]) { + while (ilen && olen) { + spx_uint32_t ichunk = (ilen > xlen) ? xlen : ilen; + spx_uint32_t ochunk = olen; + + if (in) { + for(j=0;jout_stride; + if (in) + in += ichunk * istride; + } + } + *in_len -= ilen; + *out_len -= olen; + return RESAMPLER_ERR_SUCCESS; +} + +#ifdef FIXED_POINT +EXPORT int speex_resampler_process_float(SpeexResamplerState *st, spx_uint32_t channel_index, const float *in, spx_uint32_t *in_len, float *out, spx_uint32_t *out_len) +#else +EXPORT int speex_resampler_process_int(SpeexResamplerState *st, spx_uint32_t channel_index, const spx_int16_t *in, spx_uint32_t *in_len, spx_int16_t *out, spx_uint32_t *out_len) +#endif +{ + int j; + const int istride_save = st->in_stride; + const int ostride_save = st->out_stride; + spx_uint32_t ilen = *in_len; + spx_uint32_t olen = *out_len; + spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size; + const spx_uint32_t xlen = st->mem_alloc_size - (st->filt_len - 1); +#ifdef VAR_ARRAYS + const unsigned int ylen = (olen < FIXED_STACK_ALLOC) ? olen : FIXED_STACK_ALLOC; + VARDECL(spx_word16_t *ystack); + ALLOC(ystack, ylen, spx_word16_t); +#else + const unsigned int ylen = FIXED_STACK_ALLOC; + spx_word16_t ystack[FIXED_STACK_ALLOC]; +#endif + + st->out_stride = 1; + + while (ilen && olen) { + spx_word16_t *y = ystack; + spx_uint32_t ichunk = (ilen > xlen) ? xlen : ilen; + spx_uint32_t ochunk = (olen > ylen) ? ylen : olen; + spx_uint32_t omagic = 0; + + if (st->magic_samples[channel_index]) { + omagic = speex_resampler_magic(st, channel_index, &y, ochunk); + ochunk -= omagic; + olen -= omagic; + } + if (! st->magic_samples[channel_index]) { + if (in) { + for(j=0;jfilt_len-1]=WORD2INT(in[j*istride_save]); +#else + x[j+st->filt_len-1]=in[j*istride_save]; +#endif + } else { + for(j=0;jfilt_len-1]=0; + } + + speex_resampler_process_native(st, channel_index, &ichunk, y, &ochunk); + } else { + ichunk = 0; + ochunk = 0; + } + + for (j=0;jout_stride = ostride_save; + *in_len -= ilen; + *out_len -= olen; + + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT int speex_resampler_process_interleaved_float(SpeexResamplerState *st, const float *in, spx_uint32_t *in_len, float *out, spx_uint32_t *out_len) +{ + spx_uint32_t i; + int istride_save, ostride_save; + spx_uint32_t bak_len = *out_len; + istride_save = st->in_stride; + ostride_save = st->out_stride; + st->in_stride = st->out_stride = st->nb_channels; + for (i=0;inb_channels;i++) + { + *out_len = bak_len; + if (in != NULL) + speex_resampler_process_float(st, i, in+i, in_len, out+i, out_len); + else + speex_resampler_process_float(st, i, NULL, in_len, out+i, out_len); + } + st->in_stride = istride_save; + st->out_stride = ostride_save; + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT int speex_resampler_process_interleaved_int(SpeexResamplerState *st, const spx_int16_t *in, spx_uint32_t *in_len, spx_int16_t *out, spx_uint32_t *out_len) +{ + spx_uint32_t i; + int istride_save, ostride_save; + spx_uint32_t bak_len = *out_len; + istride_save = st->in_stride; + ostride_save = st->out_stride; + st->in_stride = st->out_stride = st->nb_channels; + for (i=0;inb_channels;i++) + { + *out_len = bak_len; + if (in != NULL) + speex_resampler_process_int(st, i, in+i, in_len, out+i, out_len); + else + speex_resampler_process_int(st, i, NULL, in_len, out+i, out_len); + } + st->in_stride = istride_save; + st->out_stride = ostride_save; + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT int speex_resampler_set_rate(SpeexResamplerState *st, spx_uint32_t in_rate, spx_uint32_t out_rate) +{ + return speex_resampler_set_rate_frac(st, in_rate, out_rate, in_rate, out_rate); +} + +EXPORT void speex_resampler_get_rate(SpeexResamplerState *st, spx_uint32_t *in_rate, spx_uint32_t *out_rate) +{ + *in_rate = st->in_rate; + *out_rate = st->out_rate; +} + +EXPORT int speex_resampler_set_rate_frac(SpeexResamplerState *st, spx_uint32_t ratio_num, spx_uint32_t ratio_den, spx_uint32_t in_rate, spx_uint32_t out_rate) +{ + spx_uint32_t fact; + spx_uint32_t old_den; + spx_uint32_t i; + if (st->in_rate == in_rate && st->out_rate == out_rate && st->num_rate == ratio_num && st->den_rate == ratio_den) + return RESAMPLER_ERR_SUCCESS; + + old_den = st->den_rate; + st->in_rate = in_rate; + st->out_rate = out_rate; + st->num_rate = ratio_num; + st->den_rate = ratio_den; + /* FIXME: This is terribly inefficient, but who cares (at least for now)? */ + for (fact=2;fact<=IMIN(st->num_rate, st->den_rate);fact++) + { + while ((st->num_rate % fact == 0) && (st->den_rate % fact == 0)) + { + st->num_rate /= fact; + st->den_rate /= fact; + } + } + + if (old_den > 0) + { + for (i=0;inb_channels;i++) + { + st->samp_frac_num[i]=st->samp_frac_num[i]*st->den_rate/old_den; + /* Safety net */ + if (st->samp_frac_num[i] >= st->den_rate) + st->samp_frac_num[i] = st->den_rate-1; + } + } + + if (st->initialised) + update_filter(st); + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT void speex_resampler_get_ratio(SpeexResamplerState *st, spx_uint32_t *ratio_num, spx_uint32_t *ratio_den) +{ + *ratio_num = st->num_rate; + *ratio_den = st->den_rate; +} + +EXPORT int speex_resampler_set_quality(SpeexResamplerState *st, int quality) +{ + if (quality > 10 || quality < 0) + return RESAMPLER_ERR_INVALID_ARG; + if (st->quality == quality) + return RESAMPLER_ERR_SUCCESS; + st->quality = quality; + if (st->initialised) + update_filter(st); + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT void speex_resampler_get_quality(SpeexResamplerState *st, int *quality) +{ + *quality = st->quality; +} + +EXPORT void speex_resampler_set_input_stride(SpeexResamplerState *st, spx_uint32_t stride) +{ + st->in_stride = stride; +} + +EXPORT void speex_resampler_get_input_stride(SpeexResamplerState *st, spx_uint32_t *stride) +{ + *stride = st->in_stride; +} + +EXPORT void speex_resampler_set_output_stride(SpeexResamplerState *st, spx_uint32_t stride) +{ + st->out_stride = stride; +} + +EXPORT void speex_resampler_get_output_stride(SpeexResamplerState *st, spx_uint32_t *stride) +{ + *stride = st->out_stride; +} + +EXPORT int speex_resampler_get_input_latency(SpeexResamplerState *st) +{ + return st->filt_len / 2; +} + +EXPORT int speex_resampler_get_output_latency(SpeexResamplerState *st) +{ + return ((st->filt_len / 2) * st->den_rate + (st->num_rate >> 1)) / st->num_rate; +} + +EXPORT int speex_resampler_skip_zeros(SpeexResamplerState *st) +{ + spx_uint32_t i; + for (i=0;inb_channels;i++) + st->last_sample[i] = st->filt_len/2; + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT int speex_resampler_reset_mem(SpeexResamplerState *st) +{ + spx_uint32_t i; + for (i=0;inb_channels*(st->filt_len-1);i++) + st->mem[i] = 0; + return RESAMPLER_ERR_SUCCESS; +} + +EXPORT const char *speex_resampler_strerror(int err) +{ + switch (err) + { + case RESAMPLER_ERR_SUCCESS: + return "Success."; + case RESAMPLER_ERR_ALLOC_FAILED: + return "Memory allocation failed."; + case RESAMPLER_ERR_BAD_STATE: + return "Bad resampler state."; + case RESAMPLER_ERR_INVALID_ARG: + return "Invalid argument."; + case RESAMPLER_ERR_PTR_OVERLAP: + return "Input and output buffers overlap."; + default: + return "Unknown error. Bad error code or strange version mismatch."; + } +} Added: freeswitch/trunk/libs/speex/libspeex/resample_sse.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/resample_sse.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,128 @@ +/* Copyright (C) 2007-2008 Jean-Marc Valin + * Copyright (C) 2008 Thorvald Natvig + */ +/** + @file resample_sse.h + @brief Resampler functions (SSE version) +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include + +#define OVERRIDE_INNER_PRODUCT_SINGLE +static inline float inner_product_single(const float *a, const float *b, unsigned int len) +{ + int i; + float ret; + __m128 sum = _mm_setzero_ps(); + for (i=0;i +#define OVERRIDE_INNER_PRODUCT_DOUBLE + +static inline double inner_product_double(const float *a, const float *b, unsigned int len) +{ + int i; + double ret; + __m128d sum = _mm_setzero_pd(); + __m128 t; + for (i=0;i #include "sb_celp.h" -#include "stdlib.h" #include "filters.h" #include "lpc.h" #include "lsp.h" @@ -44,7 +43,13 @@ #include "quant_lsp.h" #include "vq.h" #include "ltp.h" -#include "misc.h" +#include "arch.h" +#include "math_approx.h" +#include "os_support.h" + +#ifndef NULL +#define NULL 0 +#endif /* Default size for the encoder and decoder stack (can be changed at compile time). This does not apply when using variable-size arrays or alloca. */ @@ -60,40 +65,40 @@ #ifdef DISABLE_WIDEBAND void *sb_encoder_init(const SpeexMode *m) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return NULL; } void sb_encoder_destroy(void *state) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); } int sb_encode(void *state, void *vin, SpeexBits *bits) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return -2; } void *sb_decoder_init(const SpeexMode *m) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return NULL; } void sb_decoder_destroy(void *state) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); } int sb_decode(void *state, SpeexBits *bits, void *vout) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return -2; } int sb_encoder_ctl(void *state, int request, void *ptr) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return -2; } int sb_decoder_ctl(void *state, int request, void *ptr) { - speex_error("Wideband and Ultra-wideband are disabled"); + speex_fatal("Wideband and Ultra-wideband are disabled"); return -2; } #else @@ -109,12 +114,26 @@ #ifdef FIXED_POINT static const spx_word16_t gc_quant_bound[16] = {125, 164, 215, 282, 370, 484, 635, 832, 1090, 1428, 1871, 2452, 3213, 4210, 5516, 7228}; +static const spx_word16_t fold_quant_bound[32] = { + 39, 44, 50, 57, 64, 73, 83, 94, + 106, 120, 136, 154, 175, 198, 225, 255, + 288, 327, 370, 420, 476, 539, 611, 692, + 784, 889, 1007, 1141, 1293, 1465, 1660, 1881}; #define LSP_MARGIN 410 #define LSP_DELTA1 6553 #define LSP_DELTA2 1638 #else +static const spx_word16_t gc_quant_bound[16] = { + 0.97979, 1.28384, 1.68223, 2.20426, 2.88829, 3.78458, 4.95900, 6.49787, + 8.51428, 11.15642, 14.61846, 19.15484, 25.09895, 32.88761, 43.09325, 56.46588}; +static const spx_word16_t fold_quant_bound[32] = { + 0.30498, 0.34559, 0.39161, 0.44375, 0.50283, 0.56979, 0.64565, 0.73162, + 0.82903, 0.93942, 1.06450, 1.20624, 1.36685, 1.54884, 1.75506, 1.98875, + 2.25355, 2.55360, 2.89361, 3.27889, 3.71547, 4.21018, 4.77076, 5.40598, + 6.12577, 6.94141, 7.86565, 8.91295, 10.09969, 11.44445, 12.96826, 14.69497}; + #define LSP_MARGIN .05 #define LSP_DELTA1 .2 #define LSP_DELTA2 .05 @@ -126,102 +145,47 @@ #ifdef FIXED_POINT static const spx_word16_t h0[64] = {2, -7, -7, 18, 15, -39, -25, 75, 35, -130, -41, 212, 38, -327, -17, 483, -32, -689, 124, 956, -283, -1307, 543, 1780, -973, -2467, 1733, 3633, -3339, -6409, 9059, 30153, 30153, 9059, -6409, -3339, 3633, 1733, -2467, -973, 1780, 543, -1307, -283, 956, 124, -689, -32, 483, -17, -327, 38, 212, -41, -130, 35, 75, -25, -39, 15, 18, -7, -7, 2}; -static const spx_word16_t h1[64] = {2, 7, -7, -18, 15, 39, -25, -75, 35, 130, -41, -212, 38, 327, -17, -483, -32, 689, 124, -956, -283, 1307, 543, -1780, -973, 2467, 1733, -3633, -3339, 6409, 9059, -30153, 30153, -9059, -6409, 3339, 3633, -1733, -2467, 973, 1780, -543, -1307, 283, 956, -124, -689, 32, 483, 17, -327, -38, 212, 41, -130, -35, 75, 25, -39, -15, 18, 7, -7, -2}; - - #else static const float h0[64] = { - 3.596189e-05, -0.0001123515, - -0.0001104587, 0.0002790277, - 0.0002298438, -0.0005953563, - -0.0003823631, 0.00113826, - 0.0005308539, -0.001986177, - -0.0006243724, 0.003235877, - 0.0005743159, -0.004989147, - -0.0002584767, 0.007367171, - -0.0004857935, -0.01050689, - 0.001894714, 0.01459396, - -0.004313674, -0.01994365, - 0.00828756, 0.02716055, - -0.01485397, -0.03764973, - 0.026447, 0.05543245, - -0.05095487, -0.09779096, - 0.1382363, 0.4600981, - 0.4600981, 0.1382363, - -0.09779096, -0.05095487, - 0.05543245, 0.026447, - -0.03764973, -0.01485397, - 0.02716055, 0.00828756, - -0.01994365, -0.004313674, - 0.01459396, 0.001894714, - -0.01050689, -0.0004857935, - 0.007367171, -0.0002584767, - -0.004989147, 0.0005743159, - 0.003235877, -0.0006243724, - -0.001986177, 0.0005308539, - 0.00113826, -0.0003823631, - -0.0005953563, 0.0002298438, - 0.0002790277, -0.0001104587, - -0.0001123515, 3.596189e-05 + 3.596189e-05f, -0.0001123515f, + -0.0001104587f, 0.0002790277f, + 0.0002298438f, -0.0005953563f, + -0.0003823631f, 0.00113826f, + 0.0005308539f, -0.001986177f, + -0.0006243724f, 0.003235877f, + 0.0005743159f, -0.004989147f, + -0.0002584767f, 0.007367171f, + -0.0004857935f, -0.01050689f, + 0.001894714f, 0.01459396f, + -0.004313674f, -0.01994365f, + 0.00828756f, 0.02716055f, + -0.01485397f, -0.03764973f, + 0.026447f, 0.05543245f, + -0.05095487f, -0.09779096f, + 0.1382363f, 0.4600981f, + 0.4600981f, 0.1382363f, + -0.09779096f, -0.05095487f, + 0.05543245f, 0.026447f, + -0.03764973f, -0.01485397f, + 0.02716055f, 0.00828756f, + -0.01994365f, -0.004313674f, + 0.01459396f, 0.001894714f, + -0.01050689f, -0.0004857935f, + 0.007367171f, -0.0002584767f, + -0.004989147f, 0.0005743159f, + 0.003235877f, -0.0006243724f, + -0.001986177f, 0.0005308539f, + 0.00113826f, -0.0003823631f, + -0.0005953563f, 0.0002298438f, + 0.0002790277f, -0.0001104587f, + -0.0001123515f, 3.596189e-05f }; -static const float h1[64] = { - 3.596189e-05, 0.0001123515, - -0.0001104587, -0.0002790277, - 0.0002298438, 0.0005953563, - -0.0003823631, -0.00113826, - 0.0005308539, 0.001986177, - -0.0006243724, -0.003235877, - 0.0005743159, 0.004989147, - -0.0002584767, -0.007367171, - -0.0004857935, 0.01050689, - 0.001894714, -0.01459396, - -0.004313674, 0.01994365, - 0.00828756, -0.02716055, - -0.01485397, 0.03764973, - 0.026447, -0.05543245, - -0.05095487, 0.09779096, - 0.1382363, -0.4600981, - 0.4600981, -0.1382363, - -0.09779096, 0.05095487, - 0.05543245, -0.026447, - -0.03764973, 0.01485397, - 0.02716055, -0.00828756, - -0.01994365, 0.004313674, - 0.01459396, -0.001894714, - -0.01050689, 0.0004857935, - 0.007367171, 0.0002584767, - -0.004989147, -0.0005743159, - 0.003235877, 0.0006243724, - -0.001986177, -0.0005308539, - 0.00113826, 0.0003823631, - -0.0005953563, -0.0002298438, - 0.0002790277, 0.0001104587, - -0.0001123515, -3.596189e-05 -}; #endif +extern const spx_word16_t lag_window[]; extern const spx_word16_t lpc_window[]; -static void mix_and_saturate(spx_word32_t *x0, spx_word32_t *x1, spx_word16_t *out, int len) -{ - int i; - for (i=0;i32767) - out[i] = 32767; - else if (tmp<-32767) - out[i] = -32767; - else - out[i] = tmp; - } -} void *sb_encoder_init(const SpeexMode *m) { @@ -233,23 +197,24 @@ st = (SBEncState*)speex_alloc(sizeof(SBEncState)); if (!st) return NULL; -#if defined(VAR_ARRAYS) || defined (USE_ALLOCA) - st->stack = NULL; -#else - st->stack = (char*)speex_alloc_scratch(SB_ENC_STACK); -#endif st->mode = m; mode = (const SpeexSBMode*)m->mode; st->st_low = speex_encoder_init(mode->nb_mode); +#if defined(VAR_ARRAYS) || defined (USE_ALLOCA) + st->stack = NULL; +#else + /*st->stack = (char*)speex_alloc_scratch(SB_ENC_STACK);*/ + speex_encoder_ctl(st->st_low, SPEEX_GET_STACK, &st->stack); +#endif + st->full_frame_size = 2*mode->frameSize; st->frame_size = mode->frameSize; st->subframeSize = mode->subframeSize; st->nbSubframes = mode->frameSize/mode->subframeSize; st->windowSize = st->frame_size+st->subframeSize; st->lpcSize=mode->lpcSize; - st->bufSize=mode->bufSize; st->encode_submode = 1; st->submodes=mode->submodes; @@ -260,55 +225,35 @@ tmp=1; speex_encoder_ctl(st->st_low, SPEEX_SET_WIDEBAND, &tmp); - st->lag_factor = mode->lag_factor; st->lpc_floor = mode->lpc_floor; st->gamma1=mode->gamma1; st->gamma2=mode->gamma2; st->first=1; - st->x0d=(spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->x1d=(spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->high=(spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); - st->y0=(spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); - st->y1=(spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); + st->high=(spx_word16_t*)speex_alloc((st->windowSize-st->frame_size)*sizeof(spx_word16_t)); st->h0_mem=(spx_word16_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word16_t)); st->h1_mem=(spx_word16_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word16_t)); - st->g0_mem=(spx_word32_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word32_t)); - st->g1_mem=(spx_word32_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word32_t)); - - st->excBuf=(spx_sig_t*)speex_alloc((st->bufSize)*sizeof(spx_sig_t)); - st->exc = st->excBuf + st->bufSize - st->windowSize; - st->res=(spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->sw=(spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); st->window= lpc_window; - st->lagWindow = (spx_word16_t*)speex_alloc((st->lpcSize+1)*sizeof(spx_word16_t)); - for (i=0;ilpcSize+1;i++) - st->lagWindow[i]=16384*exp(-.5*sqr(2*M_PI*st->lag_factor*i)); - - st->autocorr = (spx_word16_t*)speex_alloc((st->lpcSize+1)*sizeof(spx_word16_t)); - st->lpc = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); - st->bw_lpc1 = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); - st->bw_lpc2 = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); - st->lsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); - st->qlsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); + st->lagWindow = lag_window; + st->old_lsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); st->old_qlsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); - st->interp_lsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); - st->interp_qlsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); - st->interp_lpc = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); st->interp_qlpc = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); st->pi_gain = (spx_word32_t*)speex_alloc((st->nbSubframes)*sizeof(spx_word32_t)); - st->low_innov = (spx_word32_t*)speex_alloc((st->frame_size)*sizeof(spx_word32_t)); - speex_encoder_ctl(st->st_low, SPEEX_SET_INNOVATION_SAVE, st->low_innov); - st->innov_save = NULL; + st->exc_rms = (spx_word16_t*)speex_alloc((st->nbSubframes)*sizeof(spx_word16_t)); + st->innov_rms_save = NULL; st->mem_sp = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); st->mem_sp2 = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); st->mem_sw = (spx_mem_t*)speex_alloc((st->lpcSize)*sizeof(spx_mem_t)); + for (i=0;ilpcSize;i++) + st->old_lsp[i]= DIV32(MULT16_16(QCONST16(3.1415927f, LSP_SHIFT), i+1), st->lpcSize+1); + +#ifndef DISABLE_VBR st->vbr_quality = 8; st->vbr_enabled = 0; st->vbr_max = 0; @@ -316,6 +261,7 @@ st->vad_enabled = 0; st->abr_enabled = 0; st->relative_quality=0; +#endif /* #ifndef DISABLE_VBR */ st->complexity=2; speex_encoder_ctl(st->st_low, SPEEX_GET_SAMPLING_RATE, &st->sampling_rate); @@ -332,39 +278,19 @@ speex_encoder_destroy(st->st_low); #if !(defined(VAR_ARRAYS) || defined (USE_ALLOCA)) - speex_free_scratch(st->stack); + /*speex_free_scratch(st->stack);*/ #endif - speex_free(st->x0d); - speex_free(st->x1d); speex_free(st->high); - speex_free(st->y0); - speex_free(st->y1); speex_free(st->h0_mem); speex_free(st->h1_mem); - speex_free(st->g0_mem); - speex_free(st->g1_mem); - speex_free(st->excBuf); - speex_free(st->res); - speex_free(st->sw); - speex_free(st->lagWindow); - - speex_free(st->autocorr); - speex_free(st->lpc); - speex_free(st->bw_lpc1); - speex_free(st->bw_lpc2); - speex_free(st->lsp); - speex_free(st->qlsp); speex_free(st->old_lsp); speex_free(st->old_qlsp); - speex_free(st->interp_lsp); - speex_free(st->interp_qlsp); - speex_free(st->interp_lpc); speex_free(st->interp_qlpc); speex_free(st->pi_gain); - speex_free(st->low_innov); + speex_free(st->exc_rms); speex_free(st->mem_sp); speex_free(st->mem_sp2); @@ -385,44 +311,57 @@ VARDECL(spx_word16_t *target); VARDECL(spx_word16_t *syn_resp); VARDECL(spx_word32_t *low_pi_gain); - VARDECL(spx_word16_t *low_exc); + spx_word16_t *low; + spx_word16_t *high; + VARDECL(spx_word16_t *low_exc_rms); + VARDECL(spx_word16_t *low_innov_rms); const SpeexSBMode *mode; spx_int32_t dtx; spx_word16_t *in = (spx_word16_t*)vin; - + spx_word16_t e_low=0, e_high=0; + VARDECL(spx_coef_t *lpc); + VARDECL(spx_coef_t *interp_lpc); + VARDECL(spx_coef_t *bw_lpc1); + VARDECL(spx_coef_t *bw_lpc2); + VARDECL(spx_lsp_t *lsp); + VARDECL(spx_lsp_t *qlsp); + VARDECL(spx_lsp_t *interp_lsp); + VARDECL(spx_lsp_t *interp_qlsp); + st = (SBEncState*)state; stack=st->stack; mode = (const SpeexSBMode*)(st->mode->mode); - + low = in; + high = in+st->frame_size; + + /* High-band buffering / sync with low band */ + /* Compute the two sub-bands by filtering with QMF h0*/ + qmf_decomp(in, h0, low, high, st->full_frame_size, QMF_ORDER, st->h0_mem, stack); + +#ifndef DISABLE_VBR + if (st->vbr_enabled || st->vad_enabled) { - VARDECL(spx_word16_t *low); - ALLOC(low, st->frame_size, spx_word16_t); - - /* Compute the two sub-bands by filtering with h0 and h1*/ - qmf_decomp(in, h0, st->x0d, st->x1d, st->full_frame_size, QMF_ORDER, st->h0_mem, stack); - - for (i=0;iframe_size;i++) - low[i] = SATURATE(PSHR(st->x0d[i],SIG_SHIFT),32767); - - /* Encode the narrowband part*/ - speex_encode_native(st->st_low, low, bits); - - for (i=0;iframe_size;i++) - st->x0d[i] = SHL(low[i],SIG_SHIFT); + /* Need to compute things here before the signal is trashed by the encoder */ + /*FIXME: Are the two signals (low, high) in sync? */ + e_low = compute_rms16(low, st->frame_size); + e_high = compute_rms16(high, st->frame_size); } - /* High-band buffering / sync with low band */ - for (i=0;iwindowSize-st->frame_size;i++) - st->high[i] = st->high[st->frame_size+i]; - for (i=0;iframe_size;i++) - st->high[st->windowSize-st->frame_size+i]=SATURATE(st->x1d[i],536854528); - - speex_move(st->excBuf, st->excBuf+st->frame_size, (st->bufSize-st->frame_size)*sizeof(spx_sig_t)); +#endif /* #ifndef DISABLE_VBR */ + ALLOC(low_innov_rms, st->nbSubframes, spx_word16_t); + speex_encoder_ctl(st->st_low, SPEEX_SET_INNOVATION_SAVE, low_innov_rms); + /* Encode the narrowband part*/ + speex_encode_native(st->st_low, low, bits); + + high = high - (st->windowSize-st->frame_size); + SPEEX_COPY(high, st->high, st->windowSize-st->frame_size); + SPEEX_COPY(st->high, &high[st->frame_size], st->windowSize-st->frame_size); + ALLOC(low_pi_gain, st->nbSubframes, spx_word32_t); - ALLOC(low_exc, st->frame_size, spx_word16_t); + ALLOC(low_exc_rms, st->nbSubframes, spx_word16_t); speex_encoder_ctl(st->st_low, SPEEX_GET_PI_GAIN, low_pi_gain); - speex_encoder_ctl(st->st_low, SPEEX_GET_EXC, low_exc); + speex_encoder_ctl(st->st_low, SPEEX_GET_EXC, low_exc_rms); speex_encoder_ctl(st->st_low, SPEEX_GET_LOW_MODE, &dtx); @@ -431,43 +370,61 @@ else dtx=0; + ALLOC(lpc, st->lpcSize, spx_coef_t); + ALLOC(interp_lpc, st->lpcSize, spx_coef_t); + ALLOC(bw_lpc1, st->lpcSize, spx_coef_t); + ALLOC(bw_lpc2, st->lpcSize, spx_coef_t); + + ALLOC(lsp, st->lpcSize, spx_lsp_t); + ALLOC(qlsp, st->lpcSize, spx_lsp_t); + ALLOC(interp_lsp, st->lpcSize, spx_lsp_t); + ALLOC(interp_qlsp, st->lpcSize, spx_lsp_t); + { + VARDECL(spx_word16_t *autocorr); VARDECL(spx_word16_t *w_sig); + ALLOC(autocorr, st->lpcSize+1, spx_word16_t); ALLOC(w_sig, st->windowSize, spx_word16_t); /* Window for analysis */ - for (i=0;iwindowSize;i++) - w_sig[i] = SHR(MULT16_16(SHR((spx_word32_t)(st->high[i]),SIG_SHIFT),st->window[i]),SIG_SHIFT); - + /* FIXME: This is a kludge */ + if (st->subframeSize==80) + { + for (i=0;iwindowSize;i++) + w_sig[i] = EXTRACT16(SHR32(MULT16_16(high[i],st->window[i>>1]),SIG_SHIFT)); + } else { + for (i=0;iwindowSize;i++) + w_sig[i] = EXTRACT16(SHR32(MULT16_16(high[i],st->window[i]),SIG_SHIFT)); + } /* Compute auto-correlation */ - _spx_autocorr(w_sig, st->autocorr, st->lpcSize+1, st->windowSize); - } - st->autocorr[0] = ADD16(st->autocorr[0],MULT16_16_Q15(st->autocorr[0],st->lpc_floor)); /* Noise floor in auto-correlation domain */ + _spx_autocorr(w_sig, autocorr, st->lpcSize+1, st->windowSize); + autocorr[0] = ADD16(autocorr[0],MULT16_16_Q15(autocorr[0],st->lpc_floor)); /* Noise floor in auto-correlation domain */ - /* Lag windowing: equivalent to filtering in the power-spectrum domain */ - for (i=0;ilpcSize+1;i++) - st->autocorr[i] = MULT16_16_Q14(st->autocorr[i],st->lagWindow[i]); + /* Lag windowing: equivalent to filtering in the power-spectrum domain */ + for (i=0;ilpcSize+1;i++) + autocorr[i] = MULT16_16_Q14(autocorr[i],st->lagWindow[i]); - /* Levinson-Durbin */ - _spx_lpc(st->lpc, st->autocorr, st->lpcSize); + /* Levinson-Durbin */ + _spx_lpc(lpc, autocorr, st->lpcSize); + } /* LPC to LSPs (x-domain) transform */ - roots=lpc_to_lsp (st->lpc, st->lpcSize, st->lsp, 10, LSP_DELTA1, stack); + roots=lpc_to_lsp (lpc, st->lpcSize, lsp, 10, LSP_DELTA1, stack); if (roots!=st->lpcSize) { - roots = lpc_to_lsp (st->lpc, st->lpcSize, st->lsp, 10, LSP_DELTA2, stack); + roots = lpc_to_lsp (lpc, st->lpcSize, lsp, 10, LSP_DELTA2, stack); if (roots!=st->lpcSize) { /*If we can't find all LSP's, do some damage control and use a flat filter*/ for (i=0;ilpcSize;i++) { - st->lsp[i]=LSP_SCALING*M_PI*((float)(i+1))/(st->lpcSize+1); + lsp[i]=st->old_lsp[i]; } } } +#ifndef DISABLE_VBR /* VBR code */ if ((st->vbr_enabled || st->vad_enabled) && !dtx) { - float e_low=0, e_high=0; float ratio; if (st->abr_enabled) { @@ -489,10 +446,7 @@ } - /*FIXME: Are the two signals (low, high) in sync? */ - e_low = compute_rms(st->x0d, st->frame_size); - e_high = compute_rms(st->high, st->frame_size); - ratio = 2*log((1+e_high)/(1+e_low)); + ratio = 2*log((1.f+e_high)/(1.f+e_low)); speex_encoder_ctl(st->st_low, SPEEX_GET_RELATIVE_QUALITY, &st->relative_quality); if (ratio<-4) @@ -544,6 +498,7 @@ } /*fprintf (stderr, "%f %f\n", ratio, low_qual);*/ } +#endif /* #ifndef DISABLE_VBR */ if (st->encode_submode) { @@ -558,23 +513,14 @@ if (dtx || st->submodes[st->submodeID] == NULL) { for (i=0;iframe_size;i++) - st->exc[i]=st->sw[i]=VERY_SMALL; + high[i]=VERY_SMALL; for (i=0;ilpcSize;i++) st->mem_sw[i]=0; st->first=1; /* Final signal synthesis from excitation */ - iir_mem2(st->exc, st->interp_qlpc, st->high, st->frame_size, st->lpcSize, st->mem_sp); - -#ifdef RESYNTH - /* Reconstruct the original */ - fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack); - fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack); - - for (i=0;ifull_frame_size;i++) - in[i]=SHR(st->y0[i]-st->y1[i], SIG_SHIFT-1); -#endif + iir_mem16(high, st->interp_qlpc, high, st->frame_size, st->lpcSize, st->mem_sp, stack); if (dtx) return 0; @@ -584,14 +530,14 @@ /* LSP quantization */ - SUBMODE(lsp_quant)(st->lsp, st->qlsp, st->lpcSize, bits); + SUBMODE(lsp_quant)(lsp, qlsp, st->lpcSize, bits); if (st->first) { for (i=0;ilpcSize;i++) - st->old_lsp[i] = st->lsp[i]; + st->old_lsp[i] = lsp[i]; for (i=0;ilpcSize;i++) - st->old_qlsp[i] = st->qlsp[i]; + st->old_qlsp[i] = qlsp[i]; } ALLOC(mem, st->lpcSize, spx_mem_t); @@ -601,37 +547,33 @@ for (sub=0;subnbSubframes;sub++) { - spx_sig_t *exc, *sp, *res, *sw, *innov_save=NULL; - spx_word16_t filter_ratio; + VARDECL(spx_word16_t *exc); + VARDECL(spx_word16_t *res); + VARDECL(spx_word16_t *sw); + spx_word16_t *sp; + spx_word16_t filter_ratio; /*Q7*/ int offset; - spx_word32_t rl, rh; + spx_word32_t rl, rh; /*Q13*/ spx_word16_t eh=0; offset = st->subframeSize*sub; - sp=st->high+offset; - exc=st->exc+offset; - res=st->res+offset; - sw=st->sw+offset; - /* Pointer for saving innovation */ - if (st->innov_save) - { - innov_save = st->innov_save+2*offset; - for (i=0;i<2*st->subframeSize;i++) - innov_save[i]=0; - } + sp=high+offset; + ALLOC(exc, st->subframeSize, spx_word16_t); + ALLOC(res, st->subframeSize, spx_word16_t); + ALLOC(sw, st->subframeSize, spx_word16_t); /* LSP interpolation (quantized and unquantized) */ - lsp_interpolate(st->old_lsp, st->lsp, st->interp_lsp, st->lpcSize, sub, st->nbSubframes); - lsp_interpolate(st->old_qlsp, st->qlsp, st->interp_qlsp, st->lpcSize, sub, st->nbSubframes); + lsp_interpolate(st->old_lsp, lsp, interp_lsp, st->lpcSize, sub, st->nbSubframes); + lsp_interpolate(st->old_qlsp, qlsp, interp_qlsp, st->lpcSize, sub, st->nbSubframes); - lsp_enforce_margin(st->interp_lsp, st->lpcSize, LSP_MARGIN); - lsp_enforce_margin(st->interp_qlsp, st->lpcSize, LSP_MARGIN); + lsp_enforce_margin(interp_lsp, st->lpcSize, LSP_MARGIN); + lsp_enforce_margin(interp_qlsp, st->lpcSize, LSP_MARGIN); - lsp_to_lpc(st->interp_lsp, st->interp_lpc, st->lpcSize,stack); - lsp_to_lpc(st->interp_qlsp, st->interp_qlpc, st->lpcSize, stack); + lsp_to_lpc(interp_lsp, interp_lpc, st->lpcSize,stack); + lsp_to_lpc(interp_qlsp, st->interp_qlpc, st->lpcSize, stack); - bw_lpc(st->gamma1, st->interp_lpc, st->bw_lpc1, st->lpcSize); - bw_lpc(st->gamma2, st->interp_lpc, st->bw_lpc2, st->lpcSize); + bw_lpc(st->gamma1, interp_lpc, bw_lpc1, st->lpcSize); + bw_lpc(st->gamma2, interp_lpc, bw_lpc2, st->lpcSize); /* Compute mid-band (4000 Hz for wideband) response of low-band and high-band filters */ @@ -645,24 +587,24 @@ rl = low_pi_gain[sub]; #ifdef FIXED_POINT - filter_ratio=PDIV32_16(SHL(rl+82,2),SHR(82+rh,5)); + filter_ratio=EXTRACT16(SATURATE(PDIV32(SHL32(ADD32(rl,82),7),ADD32(82,rh)),32767)); #else filter_ratio=(rl+.01)/(rh+.01); #endif /* Compute "real excitation" */ - fir_mem2(sp, st->interp_qlpc, exc, st->subframeSize, st->lpcSize, st->mem_sp2); + fir_mem16(sp, st->interp_qlpc, exc, st->subframeSize, st->lpcSize, st->mem_sp2, stack); /* Compute energy of low-band and high-band excitation */ - eh = compute_rms(exc, st->subframeSize); + eh = compute_rms16(exc, st->subframeSize); if (!SUBMODE(innovation_quant)) {/* 1 for spectral folding excitation, 0 for stochastic */ - float g; - spx_word16_t el; - el = compute_rms(st->low_innov+offset, st->subframeSize); + spx_word32_t g; /*Q7*/ + spx_word16_t el; /*Q0*/ + el = low_innov_rms[sub]; /* Gain to use if we want to use the low-band excitation for high-band */ - g=eh/(1.+el); + g=PDIV32(MULT16_16(filter_ratio,eh),EXTEND32(ADD16(1,el))); #if 0 { @@ -680,15 +622,10 @@ } #endif -#ifdef FIXED_POINT - g *= filter_ratio/128.; -#else - g *= filter_ratio; -#endif /*print_vec(&g, 1, "gain factor");*/ /* Gain quantization */ { - int quant = (int) floor(.5 + 10 + 8.0 * log((g+.0001))); + int quant = scal_quant(g, fold_quant_bound, 32); /*speex_warning_int("tata", quant);*/ if (quant<0) quant=0; @@ -696,135 +633,115 @@ quant=31; speex_bits_pack(bits, quant, 5); } - + if (st->innov_rms_save) + { + st->innov_rms_save[sub] = eh; + } + st->exc_rms[sub] = eh; } else { - spx_word16_t gc; - spx_word32_t scale; - spx_word16_t el; - el = compute_rms16(low_exc+offset, st->subframeSize); + spx_word16_t gc; /*Q7*/ + spx_word32_t scale; /*Q14*/ + spx_word16_t el; /*Q0*/ + el = low_exc_rms[sub]; /*Q0*/ gc = PDIV32_16(MULT16_16(filter_ratio,1+eh),1+el); /* This is a kludge that cleans up a historical bug */ if (st->subframeSize==80) - gc *= 0.70711; + gc = MULT16_16_P15(QCONST16(0.70711f,15),gc); /*printf ("%f %f %f %f\n", el, eh, filter_ratio, gc);*/ -#ifdef FIXED_POINT { int qgc = scal_quant(gc, gc_quant_bound, 16); speex_bits_pack(bits, qgc, 4); - gc = MULT16_32_Q15(28626,gc_quant_bound[qgc]); + gc = MULT16_16_Q15(QCONST16(0.87360,15),gc_quant_bound[qgc]); } -#else - { - int qgc = (int)floor(.5+3.7*(log(gc)+0.15556)); - if (qgc<0) - qgc=0; - if (qgc>15) - qgc=15; - speex_bits_pack(bits, qgc, 4); - gc = exp((1/3.7)*qgc-0.15556); - } -#endif if (st->subframeSize==80) - gc *= 1.4142; + gc = MULT16_16_P14(QCONST16(1.4142f,14), gc); scale = SHL32(MULT16_16(PDIV32_16(SHL32(EXTEND32(gc),SIG_SHIFT-6),filter_ratio),(1+el)),6); - compute_impulse_response(st->interp_qlpc, st->bw_lpc1, st->bw_lpc2, syn_resp, st->subframeSize, st->lpcSize, stack); + compute_impulse_response(st->interp_qlpc, bw_lpc1, bw_lpc2, syn_resp, st->subframeSize, st->lpcSize, stack); /* Reset excitation */ for (i=0;isubframeSize;i++) - exc[i]=VERY_SMALL; + res[i]=VERY_SMALL; /* Compute zero response (ringing) of A(z/g1) / ( A(z/g2) * Aq(z) ) */ for (i=0;ilpcSize;i++) mem[i]=st->mem_sp[i]; - iir_mem2(exc, st->interp_qlpc, exc, st->subframeSize, st->lpcSize, mem); + iir_mem16(res, st->interp_qlpc, res, st->subframeSize, st->lpcSize, mem, stack); for (i=0;ilpcSize;i++) mem[i]=st->mem_sw[i]; - filter_mem2(exc, st->bw_lpc1, st->bw_lpc2, res, st->subframeSize, st->lpcSize, mem); + filter_mem16(res, bw_lpc1, bw_lpc2, res, st->subframeSize, st->lpcSize, mem, stack); /* Compute weighted signal */ for (i=0;ilpcSize;i++) mem[i]=st->mem_sw[i]; - filter_mem2(sp, st->bw_lpc1, st->bw_lpc2, sw, st->subframeSize, st->lpcSize, mem); + filter_mem16(sp, bw_lpc1, bw_lpc2, sw, st->subframeSize, st->lpcSize, mem, stack); /* Compute target signal */ for (i=0;isubframeSize;i++) - target[i]=PSHR32(sw[i]-res[i],SIG_SHIFT); - - for (i=0;isubframeSize;i++) - exc[i]=0; + target[i]=SUB16(sw[i],res[i]); signal_div(target, target, scale, st->subframeSize); /* Reset excitation */ - for (i=0;isubframeSize;i++) - innov[i]=0; + SPEEX_MEMSET(innov, 0, st->subframeSize); /*print_vec(target, st->subframeSize, "\ntarget");*/ - SUBMODE(innovation_quant)(target, st->interp_qlpc, st->bw_lpc1, st->bw_lpc2, + SUBMODE(innovation_quant)(target, st->interp_qlpc, bw_lpc1, bw_lpc2, SUBMODE(innovation_params), st->lpcSize, st->subframeSize, innov, syn_resp, bits, stack, st->complexity, SUBMODE(double_codebook)); /*print_vec(target, st->subframeSize, "after");*/ signal_mul(innov, innov, scale, st->subframeSize); - for (i=0;isubframeSize;i++) - exc[i] = ADD32(exc[i], innov[i]); - - if (st->innov_save) - { - for (i=0;isubframeSize;i++) - innov_save[2*i]=innov[i]; - } - if (SUBMODE(double_codebook)) { char *tmp_stack=stack; VARDECL(spx_sig_t *innov2); ALLOC(innov2, st->subframeSize, spx_sig_t); + SPEEX_MEMSET(innov2, 0, st->subframeSize); for (i=0;isubframeSize;i++) - innov2[i]=0; - for (i=0;isubframeSize;i++) - target[i]*=2.5; - SUBMODE(innovation_quant)(target, st->interp_qlpc, st->bw_lpc1, st->bw_lpc2, + target[i]=MULT16_16_P13(QCONST16(2.5f,13), target[i]); + + SUBMODE(innovation_quant)(target, st->interp_qlpc, bw_lpc1, bw_lpc2, SUBMODE(innovation_params), st->lpcSize, st->subframeSize, innov2, syn_resp, bits, stack, st->complexity, 0); + signal_mul(innov2, innov2, MULT16_32_P15(QCONST16(0.4f,15),scale), st->subframeSize); + for (i=0;isubframeSize;i++) - innov2[i]*=scale*(1/2.5)/SIG_SCALING; - for (i=0;isubframeSize;i++) - exc[i] = ADD32(exc[i],innov2[i]); + innov[i] = ADD32(innov[i],innov2[i]); stack = tmp_stack; } + for (i=0;isubframeSize;i++) + exc[i] = PSHR32(innov[i],SIG_SHIFT); + + if (st->innov_rms_save) + { + st->innov_rms_save[sub] = MULT16_16_Q15(QCONST16(.70711f, 15), compute_rms(innov, st->subframeSize)); + } + st->exc_rms[sub] = compute_rms16(exc, st->subframeSize); + } + /*Keep the previous memory*/ for (i=0;ilpcSize;i++) mem[i]=st->mem_sp[i]; /* Final signal synthesis from excitation */ - iir_mem2(exc, st->interp_qlpc, sp, st->subframeSize, st->lpcSize, st->mem_sp); + iir_mem16(exc, st->interp_qlpc, sp, st->subframeSize, st->lpcSize, st->mem_sp, stack); /* Compute weighted signal again, from synthesized speech (not sure it's the right thing) */ - filter_mem2(sp, st->bw_lpc1, st->bw_lpc2, sw, st->subframeSize, st->lpcSize, st->mem_sw); + filter_mem16(sp, bw_lpc1, bw_lpc2, sw, st->subframeSize, st->lpcSize, st->mem_sw, stack); } - -#ifdef RESYNTH - /* Reconstruct the original */ - fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack); - fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack); - - for (i=0;ifull_frame_size;i++) - in[i]=SHR(st->y0[i]-st->y1[i], SIG_SHIFT-1); -#endif for (i=0;ilpcSize;i++) - st->old_lsp[i] = st->lsp[i]; + st->old_lsp[i] = lsp[i]; for (i=0;ilpcSize;i++) - st->old_qlsp[i] = st->qlsp[i]; + st->old_qlsp[i] = qlsp[i]; st->first=0; @@ -843,20 +760,18 @@ st = (SBDecState*)speex_alloc(sizeof(SBDecState)); if (!st) return NULL; -#if defined(VAR_ARRAYS) || defined (USE_ALLOCA) - st->stack = NULL; -#else - st->stack = (char*)speex_alloc_scratch(SB_DEC_STACK); -#endif st->mode = m; mode=(const SpeexSBMode*)m->mode; - st->encode_submode = 1; - - - st->st_low = speex_decoder_init(mode->nb_mode); +#if defined(VAR_ARRAYS) || defined (USE_ALLOCA) + st->stack = NULL; +#else + /*st->stack = (char*)speex_alloc_scratch(SB_DEC_STACK);*/ + speex_decoder_ctl(st->st_low, SPEEX_GET_STACK, &st->stack); +#endif + st->full_frame_size = 2*mode->frameSize; st->frame_size = mode->frameSize; st->subframeSize = mode->subframeSize; @@ -872,29 +787,18 @@ st->first=1; + st->g0_mem = (spx_word16_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word16_t)); + st->g1_mem = (spx_word16_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word16_t)); - st->x0d = (spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->x1d = (spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->high = (spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); - st->y0 = (spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); - st->y1 = (spx_sig_t*)speex_alloc((st->full_frame_size)*sizeof(spx_sig_t)); - - st->g0_mem = (spx_word32_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word32_t)); - st->g1_mem = (spx_word32_t*)speex_alloc((QMF_ORDER)*sizeof(spx_word32_t)); + st->excBuf = (spx_word16_t*)speex_alloc((st->subframeSize)*sizeof(spx_word16_t)); - st->exc = (spx_sig_t*)speex_alloc((st->frame_size)*sizeof(spx_sig_t)); - st->excBuf = (spx_sig_t*)speex_alloc((st->subframeSize)*sizeof(spx_sig_t)); - - st->qlsp = (spx_lsp_t*)speex_alloc((st->lpcSize)*sizeof(spx_lsp_t)); st->old_qlsp = (spx_lsp_t*)speex_alloc((st->lpcSize)*sizeof(spx_lsp_t)); - st->interp_qlsp = (spx_lsp_t*)speex_alloc(st->lpcSize*sizeof(spx_lsp_t)); st->interp_qlpc = (spx_coef_t*)speex_alloc(st->lpcSize*sizeof(spx_coef_t)); st->pi_gain = (spx_word32_t*)speex_alloc((st->nbSubframes)*sizeof(spx_word32_t)); + st->exc_rms = (spx_word16_t*)speex_alloc((st->nbSubframes)*sizeof(spx_word16_t)); st->mem_sp = (spx_mem_t*)speex_alloc((2*st->lpcSize)*sizeof(spx_mem_t)); - st->low_innov = (spx_word32_t*)speex_alloc((st->frame_size)*sizeof(spx_word32_t)); - speex_decoder_ctl(st->st_low, SPEEX_SET_INNOVATION_SAVE, st->low_innov); st->innov_save = NULL; @@ -913,24 +817,16 @@ st = (SBDecState*)state; speex_decoder_destroy(st->st_low); #if !(defined(VAR_ARRAYS) || defined (USE_ALLOCA)) - speex_free_scratch(st->stack); + /*speex_free_scratch(st->stack);*/ #endif - speex_free(st->x0d); - speex_free(st->x1d); - speex_free(st->high); - speex_free(st->y0); - speex_free(st->y1); speex_free(st->g0_mem); speex_free(st->g1_mem); - speex_free(st->exc); speex_free(st->excBuf); - speex_free(st->qlsp); speex_free(st->old_qlsp); - speex_free(st->interp_qlsp); speex_free(st->interp_qlpc); speex_free(st->pi_gain); - speex_free(st->low_innov); + speex_free(st->exc_rms); speex_free(st->mem_sp); speex_free(state); @@ -946,7 +842,7 @@ saved_modeid=st->submodeID; st->submodeID=1; } else { - bw_lpc(GAMMA_SCALING*0.99, st->interp_qlpc, st->interp_qlpc, st->lpcSize); + bw_lpc(QCONST16(0.99f,15), st->interp_qlpc, st->interp_qlpc, st->lpcSize); } st->first=1; @@ -955,25 +851,17 @@ /* Final signal synthesis from excitation */ if (!dtx) { - spx_word16_t low_ener; - low_ener = .9*compute_rms(st->exc, st->frame_size); - for (i=0;iframe_size;i++) - st->exc[i] = speex_rand(low_ener, &st->seed); + st->last_ener = MULT16_16_Q15(QCONST16(.9f,15),st->last_ener); } - for (i=0;iframe_size;i++) - st->high[i]=st->exc[i]; + out[i+st->frame_size] = speex_rand(st->last_ener, &st->seed); - iir_mem2(st->high, st->interp_qlpc, st->high, st->frame_size, st->lpcSize, - st->mem_sp); + iir_mem16(out+st->frame_size, st->interp_qlpc, out+st->frame_size, st->frame_size, st->lpcSize, + st->mem_sp, stack); /* Reconstruct the original */ - fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack); - fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack); - - mix_and_saturate(st->y0, st->y1, out, st->full_frame_size); - + qmf_synth(out, out+st->frame_size, h0, out, st->full_frame_size, QMF_ORDER, st->g0_mem, st->g1_mem, stack); if (dtx) { st->submodeID=saved_modeid; @@ -990,26 +878,24 @@ int ret; char *stack; VARDECL(spx_word32_t *low_pi_gain); - VARDECL(spx_word16_t *low_exc); + VARDECL(spx_word16_t *low_exc_rms); VARDECL(spx_coef_t *ak); + VARDECL(spx_lsp_t *qlsp); + VARDECL(spx_lsp_t *interp_qlsp); spx_int32_t dtx; const SpeexSBMode *mode; spx_word16_t *out = (spx_word16_t*)vout; + spx_word16_t *low_innov_alias; + spx_word32_t exc_ener_sum = 0; st = (SBDecState*)state; stack=st->stack; mode = (const SpeexSBMode*)(st->mode->mode); - { - VARDECL(spx_word16_t *low); - ALLOC(low, st->frame_size, spx_word16_t); - - /* Decode the low-band */ - ret = speex_decode_native(st->st_low, bits, low); - - for (i=0;iframe_size;i++) - st->x0d[i] = SHL((spx_sig_t)low[i], SIG_SHIFT); - } + low_innov_alias = out+st->frame_size; + speex_decoder_ctl(st->st_low, SPEEX_SET_INNOVATION_SAVE, low_innov_alias); + /* Decode the low-band */ + ret = speex_decode_native(st->st_low, bits, out); speex_decoder_ctl(st->st_low, SPEEX_GET_DTX_STATUS, &dtx); @@ -1045,7 +931,7 @@ } if (st->submodeID != 0 && st->submodes[st->submodeID] == NULL) { - speex_warning("Invalid mode encountered: corrupted stream?"); + speex_notify("Invalid mode encountered. The stream is corrupted."); return -2; } } @@ -1060,66 +946,63 @@ } for (i=0;iframe_size;i++) - st->exc[i]=VERY_SMALL; + out[st->frame_size+i]=VERY_SMALL; st->first=1; /* Final signal synthesis from excitation */ - iir_mem2(st->exc, st->interp_qlpc, st->high, st->frame_size, st->lpcSize, st->mem_sp); + iir_mem16(out+st->frame_size, st->interp_qlpc, out+st->frame_size, st->frame_size, st->lpcSize, st->mem_sp, stack); - fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack); - fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack); - - mix_and_saturate(st->y0, st->y1, out, st->full_frame_size); + qmf_synth(out, out+st->frame_size, h0, out, st->full_frame_size, QMF_ORDER, st->g0_mem, st->g1_mem, stack); return 0; } - for (i=0;iframe_size;i++) - st->exc[i]=0; - ALLOC(low_pi_gain, st->nbSubframes, spx_word32_t); - ALLOC(low_exc, st->frame_size, spx_word16_t); + ALLOC(low_exc_rms, st->nbSubframes, spx_word16_t); speex_decoder_ctl(st->st_low, SPEEX_GET_PI_GAIN, low_pi_gain); - speex_decoder_ctl(st->st_low, SPEEX_GET_EXC, low_exc); + speex_decoder_ctl(st->st_low, SPEEX_GET_EXC, low_exc_rms); - SUBMODE(lsp_unquant)(st->qlsp, st->lpcSize, bits); + ALLOC(qlsp, st->lpcSize, spx_lsp_t); + ALLOC(interp_qlsp, st->lpcSize, spx_lsp_t); + SUBMODE(lsp_unquant)(qlsp, st->lpcSize, bits); if (st->first) { for (i=0;ilpcSize;i++) - st->old_qlsp[i] = st->qlsp[i]; + st->old_qlsp[i] = qlsp[i]; } ALLOC(ak, st->lpcSize, spx_coef_t); for (sub=0;subnbSubframes;sub++) { - spx_sig_t *exc, *sp, *innov_save=NULL; + VARDECL(spx_word32_t *exc); + spx_word16_t *innov_save=NULL; + spx_word16_t *sp; spx_word16_t filter_ratio; spx_word16_t el=0; int offset; spx_word32_t rl=0,rh=0; offset = st->subframeSize*sub; - sp=st->high+offset; - exc=st->exc+offset; + sp=out+st->frame_size+offset; + ALLOC(exc, st->subframeSize, spx_word32_t); /* Pointer for saving innovation */ if (st->innov_save) { innov_save = st->innov_save+2*offset; - for (i=0;i<2*st->subframeSize;i++) - innov_save[i]=0; + SPEEX_MEMSET(innov_save, 0, 2*st->subframeSize); } /* LSP interpolation */ - lsp_interpolate(st->old_qlsp, st->qlsp, st->interp_qlsp, st->lpcSize, sub, st->nbSubframes); + lsp_interpolate(st->old_qlsp, qlsp, interp_qlsp, st->lpcSize, sub, st->nbSubframes); - lsp_enforce_margin(st->interp_qlsp, st->lpcSize, LSP_MARGIN); + lsp_enforce_margin(interp_qlsp, st->lpcSize, LSP_MARGIN); /* LSP to LPC */ - lsp_to_lpc(st->interp_qlsp, ak, st->lpcSize, stack); + lsp_to_lpc(interp_qlsp, ak, st->lpcSize, stack); /* Calculate reponse ratio between the low and high filter in the middle of the band (4000 Hz) */ @@ -1128,75 +1011,46 @@ rh = LPC_SCALING; for (i=0;ilpcSize;i+=2) { - rh += st->interp_qlpc[i+1] - st->interp_qlpc[i]; - st->pi_gain[sub] += st->interp_qlpc[i] + st->interp_qlpc[i+1]; + rh += ak[i+1] - ak[i]; + st->pi_gain[sub] += ak[i] + ak[i+1]; } rl = low_pi_gain[sub]; #ifdef FIXED_POINT - filter_ratio=PDIV32_16(SHL(rl+82,2),SHR(82+rh,5)); + filter_ratio=EXTRACT16(SATURATE(PDIV32(SHL32(ADD32(rl,82),7),ADD32(82,rh)),32767)); #else filter_ratio=(rl+.01)/(rh+.01); #endif - for (i=0;isubframeSize;i++) - exc[i]=0; + SPEEX_MEMSET(exc, 0, st->subframeSize); if (!SUBMODE(innovation_unquant)) { - float g; + spx_word32_t g; int quant; quant = speex_bits_unpack_unsigned(bits, 5); - g= exp(((float)quant-10)/8.0); + g= spx_exp(MULT16_16(QCONST16(.125f,11),(quant-10))); -#ifdef FIXED_POINT - g /= filter_ratio/128.; -#else - g /= filter_ratio; -#endif - /* High-band excitation using the low-band excitation and a gain */ + g = PDIV32(g, filter_ratio); -#if 0 - for (i=0;isubframeSize;i++) - exc[i]=mode->folding_gain*g*st->low_innov[offset+i]; -#else + for (i=0;isubframeSize;i+=2) { - float tmp=1; - /*static tmp1=0,tmp2=0; - static int seed=1; - el = compute_rms(low_innov+offset, st->subframeSize);*/ - for (i=0;isubframeSize;i++) - { - float e=tmp*g*mode->folding_gain*st->low_innov[offset+i]; - tmp *= -1; - exc[i] = e; - /*float r = speex_rand(g*el,&seed); - exc[i] = .5*(r+tmp2 + e-tmp1); - tmp1 = e; - tmp2 = r;*/ - } - + exc[i]=SHL32(MULT16_32_P15(MULT16_16_Q15(mode->folding_gain,low_innov_alias[offset+i]),SHL32(g,6)),SIG_SHIFT); + exc[i+1]=NEG32(SHL32(MULT16_32_P15(MULT16_16_Q15(mode->folding_gain,low_innov_alias[offset+i+1]),SHL32(g,6)),SIG_SHIFT)); } -#endif } else { spx_word16_t gc; spx_word32_t scale; int qgc = speex_bits_unpack_unsigned(bits, 4); - - el = compute_rms16(low_exc+offset, st->subframeSize); - -#ifdef FIXED_POINT - gc = MULT16_32_Q15(28626,gc_quant_bound[qgc]); -#else - gc = exp((1/3.7)*qgc-0.15556); -#endif + + el = low_exc_rms[sub]; + gc = MULT16_16_Q15(QCONST16(0.87360,15),gc_quant_bound[qgc]); if (st->subframeSize==80) - gc *= 1.4142; - - scale = SHL(MULT16_16(PDIV32_16(SHL(gc,SIG_SHIFT-6),filter_ratio),(1+el)),6); + gc = MULT16_16_P14(QCONST16(1.4142f,14),gc); + scale = SHL32(PDIV32(SHL32(MULT16_16(gc, el),3), filter_ratio),SIG_SHIFT-3); SUBMODE(innovation_unquant)(exc, SUBMODE(innovation_params), st->subframeSize, bits, stack, &st->seed); @@ -1206,12 +1060,10 @@ char *tmp_stack=stack; VARDECL(spx_sig_t *innov2); ALLOC(innov2, st->subframeSize, spx_sig_t); - for (i=0;isubframeSize;i++) - innov2[i]=0; + SPEEX_MEMSET(innov2, 0, st->subframeSize); SUBMODE(innovation_unquant)(innov2, SUBMODE(innovation_params), st->subframeSize, bits, stack, &st->seed); - for (i=0;isubframeSize;i++) - innov2[i]*=scale/(float)SIG_SCALING*(1/2.5); + signal_mul(innov2, innov2, MULT16_32_P15(QCONST16(0.4f,15),scale), st->subframeSize); for (i=0;isubframeSize;i++) exc[i] = ADD32(exc[i],innov2[i]); stack = tmp_stack; @@ -1222,27 +1074,23 @@ if (st->innov_save) { for (i=0;isubframeSize;i++) - innov_save[2*i]=exc[i]; + innov_save[2*i]=EXTRACT16(PSHR32(exc[i],SIG_SHIFT)); } + iir_mem16(st->excBuf, st->interp_qlpc, sp, st->subframeSize, st->lpcSize, + st->mem_sp, stack); for (i=0;isubframeSize;i++) - sp[i]=st->excBuf[i]; - iir_mem2(sp, st->interp_qlpc, sp, st->subframeSize, st->lpcSize, - st->mem_sp); - for (i=0;isubframeSize;i++) - st->excBuf[i]=exc[i]; + st->excBuf[i]=EXTRACT16(PSHR32(exc[i],SIG_SHIFT)); for (i=0;ilpcSize;i++) st->interp_qlpc[i] = ak[i]; - + st->exc_rms[sub] = compute_rms16(st->excBuf, st->subframeSize); + exc_ener_sum = ADD32(exc_ener_sum, DIV32(MULT16_16(st->exc_rms[sub],st->exc_rms[sub]), st->nbSubframes)); } - - fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack); - fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack); - - mix_and_saturate(st->y0, st->y1, out, st->full_frame_size); - + st->last_ener = spx_sqrt(exc_ener_sum); + + qmf_synth(out, out+st->frame_size, h0, out, st->full_frame_size, QMF_ORDER, st->g0_mem, st->g1_mem, stack); for (i=0;ilpcSize;i++) - st->old_qlsp[i] = st->qlsp[i]; + st->old_qlsp[i] = qlsp[i]; st->first=0; @@ -1277,6 +1125,7 @@ case SPEEX_SET_MODE: speex_encoder_ctl(st, SPEEX_SET_QUALITY, ptr); break; +#ifndef DISABLE_VBR case SPEEX_SET_VBR: st->vbr_enabled = (*(spx_int32_t*)ptr); speex_encoder_ctl(st->st_low, SPEEX_SET_VBR, ptr); @@ -1291,6 +1140,8 @@ case SPEEX_GET_VAD: (*(spx_int32_t*)ptr) = st->vad_enabled; break; +#endif /* #ifndef DISABLE_VBR */ +#if !defined(DISABLE_VBR) && !defined(DISABLE_FLOAT_API) case SPEEX_SET_VBR_QUALITY: { spx_int32_t q; @@ -1308,6 +1159,8 @@ case SPEEX_GET_VBR_QUALITY: (*(float*)ptr) = st->vbr_quality; break; +#endif /* #if !defined(DISABLE_VBR) && !defined(DISABLE_FLOAT_API) */ +#ifndef DISABLE_VBR case SPEEX_SET_ABR: st->abr_enabled = (*(spx_int32_t*)ptr); st->vbr_enabled = st->abr_enabled!=0; @@ -1338,6 +1191,8 @@ case SPEEX_GET_ABR: (*(spx_int32_t*)ptr) = st->abr_enabled; break; +#endif /* #ifndef DISABLE_VBR */ + case SPEEX_SET_QUALITY: { spx_int32_t nb_qual; @@ -1400,18 +1255,16 @@ int i; st->first = 1; for (i=0;ilpcSize;i++) - st->lsp[i]=(M_PI*((float)(i+1)))/(st->lpcSize+1); + st->old_lsp[i]= DIV32(MULT16_16(QCONST16(3.1415927f, LSP_SHIFT), i+1), st->lpcSize+1); for (i=0;ilpcSize;i++) st->mem_sw[i]=st->mem_sp[i]=st->mem_sp2[i]=0; - for (i=0;ibufSize;i++) - st->excBuf[i]=0; for (i=0;ih0_mem[i]=st->h1_mem[i]=st->g0_mem[i]=st->g1_mem[i]=0; + st->h0_mem[i]=st->h1_mem[i]=0; } break; case SPEEX_SET_SUBMODE_ENCODING: st->encode_submode = (*(spx_int32_t*)ptr); - speex_encoder_ctl(st->st_low, SPEEX_SET_SUBMODE_ENCODING, &ptr); + speex_encoder_ctl(st->st_low, SPEEX_SET_SUBMODE_ENCODING, ptr); break; case SPEEX_GET_SUBMODE_ENCODING: (*(spx_int32_t*)ptr) = st->encode_submode; @@ -1426,6 +1279,7 @@ case SPEEX_GET_PLC_TUNING: speex_encoder_ctl(st->st_low, SPEEX_GET_PLC_TUNING, ptr); break; +#ifndef DISABLE_VBR case SPEEX_SET_VBR_MAX_BITRATE: { st->vbr_max = (*(spx_int32_t*)ptr); @@ -1457,6 +1311,7 @@ case SPEEX_GET_VBR_MAX_BITRATE: (*(spx_int32_t*)ptr) = st->vbr_max; break; +#endif /* #ifndef DISABLE_VBR */ case SPEEX_SET_HIGHPASS: speex_encoder_ctl(st->st_low, SPEEX_SET_HIGHPASS, ptr); break; @@ -1477,33 +1332,24 @@ case SPEEX_GET_EXC: { int i; - spx_sig_t *e = (spx_sig_t*)ptr; - for (i=0;ifull_frame_size;i++) - e[i]=0; - for (i=0;iframe_size;i++) - e[2*i]=2*st->exc[i]; - } - break; - case SPEEX_GET_INNOV: - { - int i; - spx_sig_t *e = (spx_sig_t*)ptr; - for (i=0;ifull_frame_size;i++) - e[i]=0; - for (i=0;iframe_size;i++) - e[2*i]=2*st->exc[i]; + for (i=0;inbSubframes;i++) + ((spx_word16_t*)ptr)[i] = st->exc_rms[i]; } break; +#ifndef DISABLE_VBR case SPEEX_GET_RELATIVE_QUALITY: (*(float*)ptr)=st->relative_quality; break; +#endif /* #ifndef DISABLE_VBR */ case SPEEX_SET_INNOVATION_SAVE: - st->innov_save = (spx_sig_t*)ptr; + st->innov_rms_save = (spx_word16_t*)ptr; break; case SPEEX_SET_WIDEBAND: speex_encoder_ctl(st->st_low, SPEEX_SET_WIDEBAND, ptr); break; - + case SPEEX_GET_STACK: + *((char**)ptr) = st->stack; + break; default: speex_warning_int("Unknown nb_ctl request: ", request); return -1; @@ -1581,11 +1427,12 @@ st->mem_sp[i]=0; for (i=0;ig0_mem[i]=st->g1_mem[i]=0; + st->last_ener=0; } break; case SPEEX_SET_SUBMODE_ENCODING: st->encode_submode = (*(spx_int32_t*)ptr); - speex_decoder_ctl(st->st_low, SPEEX_SET_SUBMODE_ENCODING, &ptr); + speex_decoder_ctl(st->st_low, SPEEX_SET_SUBMODE_ENCODING, ptr); break; case SPEEX_GET_SUBMODE_ENCODING: (*(spx_int32_t*)ptr) = st->encode_submode; @@ -1600,7 +1447,9 @@ case SPEEX_GET_HIGHPASS: speex_decoder_ctl(st->st_low, SPEEX_GET_HIGHPASS, ptr); break; - + case SPEEX_GET_ACTIVITY: + speex_decoder_ctl(st->st_low, SPEEX_GET_ACTIVITY, ptr); + break; case SPEEX_GET_PI_GAIN: { int i; @@ -1612,33 +1461,22 @@ case SPEEX_GET_EXC: { int i; - spx_sig_t *e = (spx_sig_t*)ptr; - for (i=0;ifull_frame_size;i++) - e[i]=0; - for (i=0;iframe_size;i++) - e[2*i]=2*st->exc[i]; - } - break; - case SPEEX_GET_INNOV: - { - int i; - spx_sig_t *e = (spx_sig_t*)ptr; - for (i=0;ifull_frame_size;i++) - e[i]=0; - for (i=0;iframe_size;i++) - e[2*i]=2*st->exc[i]; + for (i=0;inbSubframes;i++) + ((spx_word16_t*)ptr)[i] = st->exc_rms[i]; } break; case SPEEX_GET_DTX_STATUS: speex_decoder_ctl(st->st_low, SPEEX_GET_DTX_STATUS, ptr); break; case SPEEX_SET_INNOVATION_SAVE: - st->innov_save = (spx_sig_t*)ptr; + st->innov_save = (spx_word16_t*)ptr; break; case SPEEX_SET_WIDEBAND: speex_decoder_ctl(st->st_low, SPEEX_SET_WIDEBAND, ptr); break; - + case SPEEX_GET_STACK: + *((char**)ptr) = st->stack; + break; default: speex_warning_int("Unknown nb_ctl request: ", request); return -1; Modified: freeswitch/trunk/libs/speex/libspeex/sb_celp.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/sb_celp.h (original) +++ freeswitch/trunk/libs/speex/libspeex/sb_celp.h Fri Feb 13 00:02:32 2009 @@ -50,46 +50,29 @@ int nbSubframes; /**< Number of high-band sub-frames*/ int windowSize; /**< Length of high-band LPC window*/ int lpcSize; /**< Order of high-band LPC analysis */ - int bufSize; /**< Buffer size */ int first; /**< First frame? */ - float lag_factor; /**< Lag-windowing control parameter */ spx_word16_t lpc_floor; /**< Controls LPC analysis noise floor */ spx_word16_t gamma1; /**< Perceptual weighting coef 1 */ spx_word16_t gamma2; /**< Perceptual weighting coef 2 */ char *stack; /**< Temporary allocation stack */ - spx_sig_t *x0d, *x1d; /**< QMF filter signals*/ - spx_sig_t *high; /**< High-band signal (buffer) */ - spx_sig_t *y0, *y1; /**< QMF synthesis signals */ + spx_word16_t *high; /**< High-band signal (buffer) */ spx_word16_t *h0_mem, *h1_mem; - spx_word32_t *g0_mem, *g1_mem; /**< QMF memories */ - spx_sig_t *excBuf; /**< High-band excitation */ - spx_sig_t *exc; /**< High-band excitation (for QMF only)*/ - spx_sig_t *res; /**< Zero-input response (ringing) */ - spx_sig_t *sw; /**< Perceptually weighted signal */ const spx_word16_t *window; /**< LPC analysis window */ - spx_word16_t *lagWindow; /**< Auto-correlation window */ - spx_word16_t *autocorr; /**< Auto-correlation (for LPC analysis) */ - spx_coef_t *lpc; /**< LPC coefficients */ - spx_lsp_t *lsp; /**< LSP coefficients */ - spx_lsp_t *qlsp; /**< Quantized LSPs */ + const spx_word16_t *lagWindow; /**< Auto-correlation window */ spx_lsp_t *old_lsp; /**< LSPs of previous frame */ spx_lsp_t *old_qlsp; /**< Quantized LSPs of previous frame */ - spx_lsp_t *interp_lsp; /**< Interpolated LSPs for current sub-frame */ - spx_lsp_t *interp_qlsp; /**< Interpolated quantized LSPs for current sub-frame */ - spx_coef_t *interp_lpc; /**< Interpolated LPCs for current sub-frame */ spx_coef_t *interp_qlpc; /**< Interpolated quantized LPCs for current sub-frame */ - spx_coef_t *bw_lpc1; /**< Bandwidth-expanded version of LPCs (#1) */ - spx_coef_t *bw_lpc2; /**< Bandwidth-expanded version of LPCs (#2) */ spx_mem_t *mem_sp; /**< Synthesis signal memory */ spx_mem_t *mem_sp2; spx_mem_t *mem_sw; /**< Perceptual signal memory */ spx_word32_t *pi_gain; - spx_sig_t *innov_save; /**< If non-NULL, innovation is copied here */ - spx_sig_t *low_innov; /**< Lower-band innovation is copied here magically */ + spx_word16_t *exc_rms; + spx_word16_t *innov_rms_save; /**< If non-NULL, innovation is copied here */ +#ifndef DISABLE_VBR float vbr_quality; /**< Quality setting for VBR encoding */ int vbr_enabled; /**< 1 for enabling VBR, 0 otherwise */ spx_int32_t vbr_max; /**< Max bit-rate allowed in VBR mode (total) */ @@ -100,7 +83,8 @@ float abr_count; int vad_enabled; /**< 1 for enabling VAD, 0 otherwise */ float relative_quality; - +#endif /* #ifndef DISABLE_VBR */ + int encode_submode; const SpeexSubmode * const *submodes; int submodeID; @@ -125,23 +109,18 @@ int lpc_enh_enabled; char *stack; - spx_sig_t *x0d, *x1d; - spx_sig_t *high; - spx_sig_t *y0, *y1; - spx_word32_t *g0_mem, *g1_mem; - - spx_sig_t *exc; - spx_sig_t *excBuf; - spx_lsp_t *qlsp; + spx_word16_t *g0_mem, *g1_mem; + + spx_word16_t *excBuf; spx_lsp_t *old_qlsp; - spx_lsp_t *interp_qlsp; spx_coef_t *interp_qlpc; spx_mem_t *mem_sp; spx_word32_t *pi_gain; - spx_sig_t *innov_save; /** If non-NULL, innovation is copied here */ - spx_sig_t *low_innov; /** Lower-band innovation is copied here magically */ + spx_word16_t *exc_rms; + spx_word16_t *innov_save; /** If non-NULL, innovation is copied here */ + spx_word16_t last_ener; spx_int32_t seed; int encode_submode; Added: freeswitch/trunk/libs/speex/libspeex/scal.c ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/libspeex/scal.c Fri Feb 13 00:02:32 2009 @@ -0,0 +1,289 @@ +/* Copyright (C) 2006-2008 CSIRO, Jean-Marc Valin, Xiph.Org Foundation + + File: scal.c + Shaped comb-allpass filter for channel decorrelation + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +The algorithm implemented here is described in: + +* J.-M. Valin, Perceptually-Motivated Nonlinear Channel Decorrelation For + Stereo Acoustic Echo Cancellation, Accepted for Joint Workshop on + Hands?free Speech Communication and Microphone Arrays (HSCMA), 2008. + http://people.xiph.org/~jm/papers/valin_hscma2008.pdf + +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "speex/speex_echo.h" +#include "vorbis_psy.h" +#include "arch.h" +#include "os_support.h" +#include "smallft.h" +#include +#include + +#define ALLPASS_ORDER 20 + +struct SpeexDecorrState_ { + int rate; + int channels; + int frame_size; +#ifdef VORBIS_PSYCHO + VorbisPsy *psy; + struct drft_lookup lookup; + float *wola_mem; + float *curve; +#endif + float *vorbis_win; + int seed; + float *y; + + /* Per-channel stuff */ + float *buff; + float (*ring)[ALLPASS_ORDER]; + int *ringID; + int *order; + float *alpha; +}; + + + +EXPORT SpeexDecorrState *speex_decorrelate_new(int rate, int channels, int frame_size) +{ + int i, ch; + SpeexDecorrState *st = speex_alloc(sizeof(SpeexDecorrState)); + st->rate = rate; + st->channels = channels; + st->frame_size = frame_size; +#ifdef VORBIS_PSYCHO + st->psy = vorbis_psy_init(rate, 2*frame_size); + spx_drft_init(&st->lookup, 2*frame_size); + st->wola_mem = speex_alloc(frame_size*sizeof(float)); + st->curve = speex_alloc(frame_size*sizeof(float)); +#endif + st->y = speex_alloc(frame_size*sizeof(float)); + + st->buff = speex_alloc(channels*2*frame_size*sizeof(float)); + st->ringID = speex_alloc(channels*sizeof(int)); + st->order = speex_alloc(channels*sizeof(int)); + st->alpha = speex_alloc(channels*sizeof(float)); + st->ring = speex_alloc(channels*ALLPASS_ORDER*sizeof(float)); + + /*FIXME: The +20 is there only as a kludge for ALL_PASS_OLA*/ + st->vorbis_win = speex_alloc((2*frame_size+20)*sizeof(float)); + for (i=0;i<2*frame_size;i++) + st->vorbis_win[i] = sin(.5*M_PI* sin(M_PI*i/(2*frame_size))*sin(M_PI*i/(2*frame_size)) ); + st->seed = rand(); + + for (ch=0;chring[ch][i] = 0; + st->ringID[ch] = 0; + st->alpha[ch] = 0; + st->order[ch] = 10; + } + return st; +} + +static float uni_rand(int *seed) +{ + const unsigned int jflone = 0x3f800000; + const unsigned int jflmsk = 0x007fffff; + union {int i; float f;} ran; + *seed = 1664525 * *seed + 1013904223; + ran.i = jflone | (jflmsk & *seed); + ran.f -= 1.5; + return 2*ran.f; +} + +static unsigned int irand(int *seed) +{ + *seed = 1664525 * *seed + 1013904223; + return ((unsigned int)*seed)>>16; +} + + +EXPORT void speex_decorrelate(SpeexDecorrState *st, const spx_int16_t *in, spx_int16_t *out, int strength) +{ + int ch; + float amount; + + if (strength<0) + strength = 0; + if (strength>100) + strength = 100; + + amount = .01*strength; + for (ch=0;chchannels;ch++) + { + int i; + int N=2*st->frame_size; + float beta, beta2; + float *x; + float max_alpha = 0; + + float *buff; + float *ring; + int ringID; + int order; + float alpha; + + buff = st->buff+ch*2*st->frame_size; + ring = st->ring[ch]; + ringID = st->ringID[ch]; + order = st->order[ch]; + alpha = st->alpha[ch]; + + for (i=0;iframe_size;i++) + buff[i] = buff[i+st->frame_size]; + for (i=0;iframe_size;i++) + buff[i+st->frame_size] = in[i*st->channels+ch]; + + x = buff+st->frame_size; + beta = 1.-.3*amount*amount; + if (amount>1) + beta = 1-sqrt(.4*amount); + else + beta = 1-0.63246*amount; + if (beta<0) + beta = 0; + + beta2 = beta; + for (i=0;iframe_size;i++) + { + st->y[i] = alpha*(x[i-ALLPASS_ORDER+order]-beta*x[i-ALLPASS_ORDER+order-1])*st->vorbis_win[st->frame_size+i+order] + + x[i-ALLPASS_ORDER]*st->vorbis_win[st->frame_size+i] + - alpha*(ring[ringID] + - beta*ring[ringID+1>=order?0:ringID+1]); + ring[ringID++]=st->y[i]; + st->y[i] *= st->vorbis_win[st->frame_size+i]; + if (ringID>=order) + ringID=0; + } + order = order+(irand(&st->seed)%3)-1; + if (order < 5) + order = 5; + if (order > 10) + order = 10; + /*order = 5+(irand(&st->seed)%6);*/ + max_alpha = pow(.96+.04*(amount-1),order); + if (max_alpha > .98/(1.+beta2)) + max_alpha = .98/(1.+beta2); + + alpha = alpha + .4*uni_rand(&st->seed); + if (alpha > max_alpha) + alpha = max_alpha; + if (alpha < -max_alpha) + alpha = -max_alpha; + for (i=0;iframe_size;i++) + { + float tmp = alpha*(x[i-ALLPASS_ORDER+order]-beta*x[i-ALLPASS_ORDER+order-1])*st->vorbis_win[i+order] + + x[i-ALLPASS_ORDER]*st->vorbis_win[i] + - alpha*(ring[ringID] + - beta*ring[ringID+1>=order?0:ringID+1]); + ring[ringID++]=tmp; + tmp *= st->vorbis_win[i]; + if (ringID>=order) + ringID=0; + st->y[i] += tmp; + } + +#ifdef VORBIS_PSYCHO + float frame[N]; + float scale = 1./N; + for (i=0;i<2*st->frame_size;i++) + frame[i] = buff[i]; + //float coef = .5*0.78130; + float coef = M_PI*0.075063 * 0.93763 * amount * .8 * 0.707; + compute_curve(st->psy, buff, st->curve); + for (i=1;iframe_size;i++) + { + float x1,x2; + float gain; + do { + x1 = uni_rand(&st->seed); + x2 = uni_rand(&st->seed); + } while (x1*x1+x2*x2 > 1.); + gain = coef*sqrt(.1+st->curve[i]); + frame[2*i-1] = gain*x1; + frame[2*i] = gain*x2; + } + frame[0] = coef*uni_rand(&st->seed)*sqrt(.1+st->curve[0]); + frame[2*st->frame_size-1] = coef*uni_rand(&st->seed)*sqrt(.1+st->curve[st->frame_size-1]); + spx_drft_backward(&st->lookup,frame); + for (i=0;i<2*st->frame_size;i++) + frame[i] *= st->vorbis_win[i]; +#endif + + for (i=0;iframe_size;i++) + { +#ifdef VORBIS_PSYCHO + float tmp = st->y[i] + frame[i] + st->wola_mem[i]; + st->wola_mem[i] = frame[i+st->frame_size]; +#else + float tmp = st->y[i]; +#endif + if (tmp>32767) + tmp = 32767; + if (tmp < -32767) + tmp = -32767; + out[i*st->channels+ch] = tmp; + } + + st->ringID[ch] = ringID; + st->order[ch] = order; + st->alpha[ch] = alpha; + + } +} + +EXPORT void speex_decorrelate_destroy(SpeexDecorrState *st) +{ +#ifdef VORBIS_PSYCHO + vorbis_psy_destroy(st->psy); + speex_free(st->wola_mem); + speex_free(st->curve); +#endif + speex_free(st->buff); + speex_free(st->ring); + speex_free(st->ringID); + speex_free(st->alpha); + speex_free(st->vorbis_win); + speex_free(st->order); + speex_free(st->y); + speex_free(st); +} Modified: freeswitch/trunk/libs/speex/libspeex/smallft.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/smallft.c (original) +++ freeswitch/trunk/libs/speex/libspeex/smallft.c Fri Feb 13 00:02:32 2009 @@ -34,7 +34,8 @@ #include #include "smallft.h" -#include "misc.h" +#include "arch.h" +#include "os_support.h" static void drfti1(int n, float *wa, int *ifac){ static int ntryh[4] = { 4,2,3,5 }; Modified: freeswitch/trunk/libs/speex/libspeex/speex.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/speex.c (original) +++ freeswitch/trunk/libs/speex/libspeex/speex.c Fri Feb 13 00:02:32 2009 @@ -38,6 +38,7 @@ #include "modes.h" #include +#include "os_support.h" #ifndef NULL #define NULL 0 @@ -47,22 +48,22 @@ -void *speex_encoder_init(const SpeexMode *mode) +EXPORT void *speex_encoder_init(const SpeexMode *mode) { return mode->enc_init(mode); } -void *speex_decoder_init(const SpeexMode *mode) +EXPORT void *speex_decoder_init(const SpeexMode *mode) { return mode->dec_init(mode); } -void speex_encoder_destroy(void *state) +EXPORT void speex_encoder_destroy(void *state) { (*((SpeexMode**)state))->enc_destroy(state); } -void speex_decoder_destroy(void *state) +EXPORT void speex_decoder_destroy(void *state) { (*((SpeexMode**)state))->dec_destroy(state); } @@ -83,7 +84,8 @@ #ifdef FIXED_POINT -int speex_encode(void *state, float *in, SpeexBits *bits) +#ifndef DISABLE_FLOAT_API +EXPORT int speex_encode(void *state, float *in, SpeexBits *bits) { int i; spx_int32_t N; @@ -100,15 +102,17 @@ } return (*((SpeexMode**)state))->enc(state, short_in, bits); } +#endif /* #ifndef DISABLE_FLOAT_API */ -int speex_encode_int(void *state, spx_int16_t *in, SpeexBits *bits) +EXPORT int speex_encode_int(void *state, spx_int16_t *in, SpeexBits *bits) { SpeexMode *mode; mode = *(SpeexMode**)state; return (mode)->enc(state, in, bits); } -int speex_decode(void *state, SpeexBits *bits, float *out) +#ifndef DISABLE_FLOAT_API +EXPORT int speex_decode(void *state, SpeexBits *bits, float *out) { int i, ret; spx_int32_t N; @@ -119,8 +123,9 @@ out[i] = short_out[i]; return ret; } +#endif /* #ifndef DISABLE_FLOAT_API */ -int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out) +EXPORT int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out) { SpeexMode *mode = *(SpeexMode**)state; return (mode)->dec(state, bits, out); @@ -128,12 +133,12 @@ #else -int speex_encode(void *state, float *in, SpeexBits *bits) +EXPORT int speex_encode(void *state, float *in, SpeexBits *bits) { return (*((SpeexMode**)state))->enc(state, in, bits); } -int speex_encode_int(void *state, spx_int16_t *in, SpeexBits *bits) +EXPORT int speex_encode_int(void *state, spx_int16_t *in, SpeexBits *bits) { int i; spx_int32_t N; @@ -144,12 +149,12 @@ return (*((SpeexMode**)state))->enc(state, float_in, bits); } -int speex_decode(void *state, SpeexBits *bits, float *out) +EXPORT int speex_decode(void *state, SpeexBits *bits, float *out) { return (*((SpeexMode**)state))->dec(state, bits, out); } -int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out) +EXPORT int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out) { int i; spx_int32_t N; @@ -172,12 +177,12 @@ -int speex_encoder_ctl(void *state, int request, void *ptr) +EXPORT int speex_encoder_ctl(void *state, int request, void *ptr) { return (*((SpeexMode**)state))->enc_ctl(state, request, ptr); } -int speex_decoder_ctl(void *state, int request, void *ptr) +EXPORT int speex_decoder_ctl(void *state, int request, void *ptr) { return (*((SpeexMode**)state))->dec_ctl(state, request, ptr); } @@ -208,32 +213,9 @@ return 0; } -int wb_mode_query(const void *mode, int request, void *ptr) -{ - const SpeexSBMode *m = (const SpeexSBMode*)mode; - - switch (request) - { - case SPEEX_MODE_FRAME_SIZE: - *((int*)ptr)=2*m->frameSize; - break; - case SPEEX_SUBMODE_BITS_PER_FRAME: - if (*((int*)ptr)==0) - *((int*)ptr) = SB_SUBMODE_BITS+1; - else if (m->submodes[*((int*)ptr)]==NULL) - *((int*)ptr) = -1; - else - *((int*)ptr) = m->submodes[*((int*)ptr)]->bits_per_frame; - break; - default: - speex_warning_int("Unknown wb_mode_query request: ", request); - return -1; - } - return 0; -} -int speex_lib_ctl(int request, void *ptr) +EXPORT int speex_lib_ctl(int request, void *ptr) { switch (request) { Modified: freeswitch/trunk/libs/speex/libspeex/speex_callbacks.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/speex_callbacks.c (original) +++ freeswitch/trunk/libs/speex/libspeex/speex_callbacks.c Fri Feb 13 00:02:32 2009 @@ -37,9 +37,10 @@ #endif #include -#include "misc.h" +#include "arch.h" +#include "os_support.h" -int speex_inband_handler(SpeexBits *bits, SpeexCallback *callback_list, void *state) +EXPORT int speex_inband_handler(SpeexBits *bits, SpeexCallback *callback_list, void *state) { int id; SpeexCallback *callback; @@ -71,7 +72,7 @@ return 0; } -int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data) { spx_int32_t m; m = speex_bits_unpack_unsigned(bits, 4); @@ -79,7 +80,7 @@ return 0; } -int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data) { spx_int32_t m; m = speex_bits_unpack_unsigned(bits, 4); @@ -87,7 +88,7 @@ return 0; } -int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data) { spx_int32_t m; m = speex_bits_unpack_unsigned(bits, 4); @@ -95,15 +96,17 @@ return 0; } -int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data) +#ifndef DISABLE_VBR +EXPORT int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data) { spx_int32_t vbr; vbr = speex_bits_unpack_unsigned(bits, 1); speex_encoder_ctl(data, SPEEX_SET_VBR, &vbr); return 0; } +#endif /* #ifndef DISABLE_VBR */ -int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data) { spx_int32_t enh; enh = speex_bits_unpack_unsigned(bits, 1); @@ -111,16 +114,17 @@ return 0; } -int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data) +#ifndef DISABLE_VBR +EXPORT int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data) { float qual; qual = speex_bits_unpack_unsigned(bits, 4); speex_encoder_ctl(data, SPEEX_SET_VBR_QUALITY, &qual); return 0; } +#endif /* #ifndef DISABLE_VBR */ - -int speex_std_char_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_char_handler(SpeexBits *bits, void *state, void *data) { unsigned char ch; ch = speex_bits_unpack_unsigned(bits, 8); @@ -132,7 +136,7 @@ /* Default handler for user callbacks: skip it */ -int speex_default_user_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_default_user_handler(SpeexBits *bits, void *state, void *data) { int req_size = speex_bits_unpack_unsigned(bits, 4); speex_bits_advance(bits, 5+8*req_size); Modified: freeswitch/trunk/libs/speex/libspeex/speex_header.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/speex_header.c (original) +++ freeswitch/trunk/libs/speex/libspeex/speex_header.c Fri Feb 13 00:02:32 2009 @@ -35,14 +35,31 @@ #include "config.h" #endif -#include "misc.h" +#include "arch.h" #include #include +#include "os_support.h" #ifndef NULL #define NULL 0 #endif +/** Convert little endian */ +static inline spx_int32_t le_int(spx_int32_t i) +{ +#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) + spx_uint32_t ui, ret; + ui = i; + ret = ui>>24; + ret |= (ui>>8)&0x0000ff00; + ret |= (ui<<8)&0x00ff0000; + ret |= (ui<<24); + return ret; +#else + return i; +#endif +} + #define ENDIAN_SWITCH(x) {x=le_int(x);} @@ -66,7 +83,7 @@ } SpeexHeader; */ -void speex_init_header(SpeexHeader *header, int rate, int nb_channels, const SpeexMode *m) +EXPORT void speex_init_header(SpeexHeader *header, int rate, int nb_channels, const SpeexMode *m) { int i; const char *h="Speex "; @@ -101,12 +118,12 @@ header->reserved2 = 0; } -char *speex_header_to_packet(SpeexHeader *header, int *size) +EXPORT char *speex_header_to_packet(SpeexHeader *header, int *size) { SpeexHeader *le_header; le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader)); - speex_move(le_header, header, sizeof(SpeexHeader)); + SPEEX_COPY(le_header, header, 1); /*Make sure everything is now little-endian*/ ENDIAN_SWITCH(le_header->speex_version_id); @@ -125,7 +142,7 @@ return (char *)le_header; } -SpeexHeader *speex_packet_to_header(char *packet, int size) +EXPORT SpeexHeader *speex_packet_to_header(char *packet, int size) { int i; SpeexHeader *le_header; @@ -133,20 +150,20 @@ for (i=0;i<8;i++) if (packet[i]!=h[i]) { - speex_warning ("This doesn't look like a Speex file"); + speex_notify("This doesn't look like a Speex file"); return NULL; } /*FIXME: Do we allow larger headers?*/ if (size < (int)sizeof(SpeexHeader)) { - speex_warning("Speex header too small"); + speex_notify("Speex header too small"); return NULL; } le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader)); - speex_move(le_header, packet, sizeof(SpeexHeader)); + SPEEX_COPY(le_header, (SpeexHeader*)packet, 1); /*Make sure everything is converted correctly from little-endian*/ ENDIAN_SWITCH(le_header->speex_version_id); @@ -161,6 +178,23 @@ ENDIAN_SWITCH(le_header->frames_per_packet); ENDIAN_SWITCH(le_header->extra_headers); + if (le_header->mode >= SPEEX_NB_MODES || le_header->mode < 0) + { + speex_notify("Invalid mode specified in Speex header"); + speex_free (le_header); + return NULL; + } + + if (le_header->nb_channels>2) + le_header->nb_channels = 2; + if (le_header->nb_channels<1) + le_header->nb_channels = 1; + return le_header; } + +EXPORT void speex_header_free(void *ptr) +{ + speex_free(ptr); +} Modified: freeswitch/trunk/libs/speex/libspeex/stack_alloc.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/stack_alloc.h (original) +++ freeswitch/trunk/libs/speex/libspeex/stack_alloc.h Fri Feb 13 00:02:32 2009 @@ -36,11 +36,15 @@ #define STACK_ALLOC_H #ifdef USE_ALLOCA -#ifdef WIN32 -#include -#else -#include -#endif +# ifdef WIN32 +# include +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# include +# endif +# endif #endif /** @@ -63,15 +67,6 @@ */ /** - * @def PUSHS(stack, type) - * - * Allocates a struct stack - * - * @param stack Stack - * @param type Struct type - */ - -/** * @def VARDECL(var) * * Declare variable on stack @@ -97,16 +92,12 @@ #define PUSH(stack, size, type) (VALGRIND_MAKE_NOACCESS(stack, 1000),ALIGN((stack),sizeof(type)),VALGRIND_MAKE_WRITABLE(stack, ((size)*sizeof(type))),(stack)+=((size)*sizeof(type)),(type*)((stack)-((size)*sizeof(type)))) -#define PUSHS(stack, type) (VALGRIND_MAKE_NOACCESS(stack, 1000),ALIGN((stack),sizeof(long)),VALGRIND_MAKE_WRITABLE(stack, (sizeof(type))),(stack)+=(sizeof(type)),(type*)((stack)-(sizeof(type)))) - #else #define ALIGN(stack, size) ((stack) += ((size) - (long)(stack)) & ((size) - 1)) #define PUSH(stack, size, type) (ALIGN((stack),sizeof(type)),(stack)+=((size)*sizeof(type)),(type*)((stack)-((size)*sizeof(type)))) -#define PUSHS(stack, type) (ALIGN((stack),sizeof(long)),(stack)+=(sizeof(type)),(type*)((stack)-(sizeof(type)))) - #endif #if defined(VAR_ARRAYS) Modified: freeswitch/trunk/libs/speex/libspeex/stereo.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/stereo.c (original) +++ freeswitch/trunk/libs/speex/libspeex/stereo.c Fri Feb 13 00:02:32 2009 @@ -35,13 +35,77 @@ #include #include +#include "math_approx.h" #include "vq.h" #include +#include "os_support.h" + +typedef struct RealSpeexStereoState { + spx_word32_t balance; /**< Left/right balance info */ + spx_word32_t e_ratio; /**< Ratio of energies: E(left+right)/[E(left)+E(right)] */ + spx_word32_t smooth_left; /**< Smoothed left channel gain */ + spx_word32_t smooth_right; /**< Smoothed right channel gain */ + spx_uint32_t reserved1; /**< Reserved for future use */ + spx_int32_t reserved2; /**< Reserved for future use */ +} RealSpeexStereoState; + /*float e_ratio_quant[4] = {1, 1.26, 1.587, 2};*/ +#ifndef FIXED_POINT static const float e_ratio_quant[4] = {.25f, .315f, .397f, .5f}; +static const float e_ratio_quant_bounds[3] = {0.2825f, 0.356f, 0.4485f}; +#else +static const spx_word16_t e_ratio_quant[4] = {8192, 10332, 13009, 16384}; +static const spx_word16_t e_ratio_quant_bounds[3] = {9257, 11665, 14696}; +static const spx_word16_t balance_bounds[31] = {18, 23, 30, 38, 49, 63, 81, 104, + 134, 172, 221, 284, 364, 468, 600, 771, + 990, 1271, 1632, 2096, 2691, 3455, 4436, 5696, + 7314, 9392, 12059, 15484, 19882, 25529, 32766}; +#endif + +/* This is an ugly compatibility hack that properly resets the stereo state + In case it it compiled in fixed-point, but initialised with the deprecated + floating point static initialiser */ +#ifdef FIXED_POINT +#define COMPATIBILITY_HACK(s) do {if ((s)->reserved1 != 0xdeadbeef) speex_stereo_state_reset((SpeexStereoState*)s); } while (0); +#else +#define COMPATIBILITY_HACK(s) +#endif + +EXPORT SpeexStereoState *speex_stereo_state_init() +{ + SpeexStereoState *stereo = speex_alloc(sizeof(SpeexStereoState)); + speex_stereo_state_reset(stereo); + return stereo; +} + +EXPORT void speex_stereo_state_reset(SpeexStereoState *_stereo) +{ + RealSpeexStereoState *stereo = (RealSpeexStereoState*)_stereo; +#ifdef FIXED_POINT + stereo->balance = 65536; + stereo->e_ratio = 16384; + stereo->smooth_left = 16384; + stereo->smooth_right = 16384; + stereo->reserved1 = 0xdeadbeef; + stereo->reserved2 = 0; +#else + stereo->balance = 1.0f; + stereo->e_ratio = .5f; + stereo->smooth_left = 1.f; + stereo->smooth_right = 1.f; + stereo->reserved1 = 0; + stereo->reserved2 = 0; +#endif +} -void speex_encode_stereo(float *data, int frame_size, SpeexBits *bits) +EXPORT void speex_stereo_state_destroy(SpeexStereoState *stereo) +{ + speex_free(stereo); +} + +#ifndef DISABLE_FLOAT_API +EXPORT void speex_encode_stereo(float *data, int frame_size, SpeexBits *bits) { int i, tmp; float e_left=0, e_right=0, e_tot=0; @@ -73,118 +137,158 @@ speex_bits_pack(bits, (int)balance, 5); - /*Quantize energy ratio*/ - tmp=vq_index(&e_ratio, e_ratio_quant, 1, 4); + /* FIXME: this is a hack */ + tmp=scal_quant(e_ratio*Q15_ONE, e_ratio_quant_bounds, 4); speex_bits_pack(bits, tmp, 2); } +#endif /* #ifndef DISABLE_FLOAT_API */ -void speex_encode_stereo_int(spx_int16_t *data, int frame_size, SpeexBits *bits) +EXPORT void speex_encode_stereo_int(spx_int16_t *data, int frame_size, SpeexBits *bits) { int i, tmp; - float e_left=0, e_right=0, e_tot=0; - float balance, e_ratio; + spx_word32_t e_left=0, e_right=0, e_tot=0; + spx_word32_t balance, e_ratio; + spx_word32_t largest, smallest; + int balance_id; +#ifdef FIXED_POINT + int shift; +#endif + + /* In band marker */ + speex_bits_pack(bits, 14, 5); + /* Stereo marker */ + speex_bits_pack(bits, SPEEX_INBAND_STEREO, 4); + for (i=0;i0) + if (e_left > e_right) + { speex_bits_pack(bits, 0, 1); - else + largest = e_left; + smallest = e_right; + } else { speex_bits_pack(bits, 1, 1); - balance=floor(.5+fabs(balance)); - if (balance>30) - balance=31; + largest = e_right; + smallest = e_left; + } + + /* Balance quantization */ +#ifdef FIXED_POINT + shift = spx_ilog2(largest)-15; + largest = VSHR32(largest, shift-4); + smallest = VSHR32(smallest, shift); + balance = DIV32(largest, ADD32(smallest, 1)); + if (balance > 32767) + balance = 32767; + balance_id = scal_quant(EXTRACT16(balance), balance_bounds, 32); +#else + balance=(largest+1.)/(smallest+1.); + balance=4*log(balance); + balance_id=floor(.5+fabs(balance)); + if (balance_id>30) + balance_id=31; +#endif - speex_bits_pack(bits, (int)balance, 5); + speex_bits_pack(bits, balance_id, 5); - /*Quantize energy ratio*/ - tmp=vq_index(&e_ratio, e_ratio_quant, 1, 4); + /* "coherence" quantisation */ +#ifdef FIXED_POINT + shift = spx_ilog2(e_tot); + e_tot = VSHR32(e_tot, shift-25); + e_left = VSHR32(e_left, shift-10); + e_right = VSHR32(e_right, shift-10); + e_ratio = DIV32(e_tot, e_left+e_right+1); +#else + e_ratio = e_tot/(1.+e_left+e_right); +#endif + + tmp=scal_quant(EXTRACT16(e_ratio), e_ratio_quant_bounds, 4); + /*fprintf (stderr, "%d %d %d %d\n", largest, smallest, balance_id, e_ratio);*/ speex_bits_pack(bits, tmp, 2); } -void speex_decode_stereo(float *data, int frame_size, SpeexStereoState *stereo) +#ifndef DISABLE_FLOAT_API +EXPORT void speex_decode_stereo(float *data, int frame_size, SpeexStereoState *_stereo) { - float balance, e_ratio; int i; - float e_tot=0, e_left, e_right, e_sum; - + spx_word32_t balance; + spx_word16_t e_left, e_right, e_ratio; + RealSpeexStereoState *stereo = (RealSpeexStereoState*)_stereo; + + COMPATIBILITY_HACK(stereo); + balance=stereo->balance; e_ratio=stereo->e_ratio; - for (i=frame_size-1;i>=0;i--) - { - e_tot += ((float)data[i])*data[i]; - } - e_sum=e_tot/e_ratio; - e_left = e_sum*balance / (1+balance); - e_right = e_sum-e_left; - - e_left = sqrt(e_left/(e_tot+.01)); - e_right = sqrt(e_right/(e_tot+.01)); + + /* These two are Q14, with max value just below 2. */ + e_right = DIV32(QCONST32(1., 22), spx_sqrt(MULT16_32_Q15(e_ratio, ADD32(QCONST32(1., 16), balance)))); + e_left = SHR32(MULT16_16(spx_sqrt(balance), e_right), 8); for (i=frame_size-1;i>=0;i--) { - float ftmp=data[i]; - stereo->smooth_left = .98*stereo->smooth_left + .02*e_left; - stereo->smooth_right = .98*stereo->smooth_right + .02*e_right; - data[2*i] = stereo->smooth_left*ftmp; - data[2*i+1] = stereo->smooth_right*ftmp; + spx_word16_t tmp=data[i]; + stereo->smooth_left = EXTRACT16(PSHR32(MAC16_16(MULT16_16(stereo->smooth_left, QCONST16(0.98, 15)), e_left, QCONST16(0.02, 15)), 15)); + stereo->smooth_right = EXTRACT16(PSHR32(MAC16_16(MULT16_16(stereo->smooth_right, QCONST16(0.98, 15)), e_right, QCONST16(0.02, 15)), 15)); + data[2*i] = (float)MULT16_16_P14(stereo->smooth_left, tmp); + data[2*i+1] = (float)MULT16_16_P14(stereo->smooth_right, tmp); } } +#endif /* #ifndef DISABLE_FLOAT_API */ -void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState *stereo) +EXPORT void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState *_stereo) { - float balance, e_ratio; int i; - float e_tot=0, e_left, e_right, e_sum; + spx_word32_t balance; + spx_word16_t e_left, e_right, e_ratio; + RealSpeexStereoState *stereo = (RealSpeexStereoState*)_stereo; + COMPATIBILITY_HACK(stereo); + balance=stereo->balance; e_ratio=stereo->e_ratio; - for (i=frame_size-1;i>=0;i--) - { - e_tot += ((float)data[i])*data[i]; - } - e_sum=e_tot/e_ratio; - e_left = e_sum*balance / (1+balance); - e_right = e_sum-e_left; - - e_left = sqrt(e_left/(e_tot+.01)); - e_right = sqrt(e_right/(e_tot+.01)); + + /* These two are Q14, with max value just below 2. */ + e_right = DIV32(QCONST32(1., 22), spx_sqrt(MULT16_32_Q15(e_ratio, ADD32(QCONST32(1., 16), balance)))); + e_left = SHR32(MULT16_16(spx_sqrt(balance), e_right), 8); for (i=frame_size-1;i>=0;i--) { - float ftmp=data[i]; - stereo->smooth_left = .98*stereo->smooth_left + .02*e_left; - stereo->smooth_right = .98*stereo->smooth_right + .02*e_right; - data[2*i] = stereo->smooth_left*ftmp; - data[2*i+1] = stereo->smooth_right*ftmp; + spx_int16_t tmp=data[i]; + stereo->smooth_left = EXTRACT16(PSHR32(MAC16_16(MULT16_16(stereo->smooth_left, QCONST16(0.98, 15)), e_left, QCONST16(0.02, 15)), 15)); + stereo->smooth_right = EXTRACT16(PSHR32(MAC16_16(MULT16_16(stereo->smooth_right, QCONST16(0.98, 15)), e_right, QCONST16(0.02, 15)), 15)); + data[2*i] = (spx_int16_t)MULT16_16_P14(stereo->smooth_left, tmp); + data[2*i+1] = (spx_int16_t)MULT16_16_P14(stereo->smooth_right, tmp); } } -int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data) +EXPORT int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data) { - SpeexStereoState *stereo; - float sign=1; + RealSpeexStereoState *stereo; + spx_word16_t sign=1, dexp; int tmp; - stereo = (SpeexStereoState*)data; + stereo = (RealSpeexStereoState*)data; + + COMPATIBILITY_HACK(stereo); + if (speex_bits_unpack_unsigned(bits, 1)) sign=-1; - tmp = speex_bits_unpack_unsigned(bits, 5); - stereo->balance = exp(sign*.25*tmp); - + dexp = speex_bits_unpack_unsigned(bits, 5); +#ifndef FIXED_POINT + stereo->balance = exp(sign*.25*dexp); +#else + stereo->balance = spx_exp(MULT16_16(sign, SHL16(dexp, 9))); +#endif tmp = speex_bits_unpack_unsigned(bits, 2); stereo->e_ratio = e_ratio_quant[tmp]; Modified: freeswitch/trunk/libs/speex/libspeex/testdenoise.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/testdenoise.c (original) +++ freeswitch/trunk/libs/speex/libspeex/testdenoise.c Fri Feb 13 00:02:32 2009 @@ -20,13 +20,13 @@ speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DENOISE, &i); i=0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC, &i); - f=8000; - speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &f); + i=8000; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); i=0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB, &i); - f=.4; + f=.0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); - f=.3; + f=.0; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); while (1) { @@ -34,7 +34,7 @@ fread(in, sizeof(short), NN, stdin); if (feof(stdin)) break; - vad = speex_preprocess(st, in, NULL); + vad = speex_preprocess_run(st, in); /*fprintf (stderr, "%d\n", vad);*/ fwrite(in, sizeof(short), NN, stdout); count++; Modified: freeswitch/trunk/libs/speex/libspeex/testecho.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/testecho.c (original) +++ freeswitch/trunk/libs/speex/libspeex/testecho.c Fri Feb 13 00:02:32 2009 @@ -7,7 +7,6 @@ #include #include #include -#include #include "speex/speex_echo.h" #include "speex/speex_preprocess.h" @@ -17,37 +16,38 @@ int main(int argc, char **argv) { - int echo_fd, ref_fd, e_fd; - spx_int32_t noise[NN+1]; + FILE *echo_fd, *ref_fd, *e_fd; short echo_buf[NN], ref_buf[NN], e_buf[NN]; SpeexEchoState *st; SpeexPreprocessState *den; + int sampleRate = 8000; if (argc != 4) { - fprintf (stderr, "testecho mic_signal.sw speaker_signal.sw output.sw\n"); + fprintf(stderr, "testecho mic_signal.sw speaker_signal.sw output.sw\n"); exit(1); } - echo_fd = open (argv[2], O_RDONLY); - ref_fd = open (argv[1], O_RDONLY); - e_fd = open (argv[3], O_WRONLY | O_CREAT | O_TRUNC, 0644); + echo_fd = fopen(argv[2], "rb"); + ref_fd = fopen(argv[1], "rb"); + e_fd = fopen(argv[3], "wb"); st = speex_echo_state_init(NN, TAIL); - den = speex_preprocess_state_init(NN, 8000); - int tmp = 8000; - speex_echo_ctl(st, SPEEX_ECHO_SET_SAMPLING_RATE, &tmp); + den = speex_preprocess_state_init(NN, sampleRate); + speex_echo_ctl(st, SPEEX_ECHO_SET_SAMPLING_RATE, &sampleRate); + speex_preprocess_ctl(den, SPEEX_PREPROCESS_SET_ECHO_STATE, st); - while (read(ref_fd, ref_buf, NN*2)) + while (!feof(ref_fd) && !feof(echo_fd)) { - read(echo_fd, echo_buf, NN*2); - speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise); - /*speex_preprocess(den, e_buf, noise);*/ - write(e_fd, e_buf, NN*2); + fread(ref_buf, sizeof(short), NN, ref_fd); + fread(echo_buf, sizeof(short), NN, echo_fd); + speex_echo_cancellation(st, ref_buf, echo_buf, e_buf); + speex_preprocess_run(den, e_buf); + fwrite(e_buf, sizeof(short), NN, e_fd); } speex_echo_state_destroy(st); speex_preprocess_state_destroy(den); - close(e_fd); - close(echo_fd); - close(ref_fd); + fclose(e_fd); + fclose(echo_fd); + fclose(ref_fd); return 0; } Modified: freeswitch/trunk/libs/speex/libspeex/testenc.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/testenc.c (original) +++ freeswitch/trunk/libs/speex/libspeex/testenc.c Fri Feb 13 00:02:32 2009 @@ -19,7 +19,6 @@ FILE *fin, *fout, *fbits=NULL; short in_short[FRAME_SIZE]; short out_short[FRAME_SIZE]; - float sigpow,errpow,snr, seg_snr=0; int snr_frames = 0; char cbits[200]; int nbBits; @@ -32,11 +31,8 @@ spx_int32_t skip_group_delay; SpeexCallback callback; - sigpow = 0; - errpow = 0; - - st = speex_encoder_init(&speex_nb_mode); - dec = speex_decoder_init(&speex_nb_mode); + st = speex_encoder_init(speex_lib_get_mode(SPEEX_MODEID_NB)); + dec = speex_decoder_init(speex_lib_get_mode(SPEEX_MODEID_NB)); /* BEGIN: You probably don't need the following in a real application */ callback.callback_id = SPEEX_INBAND_CHAR; @@ -74,13 +70,13 @@ exit(1); } inFile = argv[1]; - fin = fopen(inFile, "r"); + fin = fopen(inFile, "rb"); outFile = argv[2]; - fout = fopen(outFile, "w+"); + fout = fopen(outFile, "wb+"); if (argc==4) { bitsFile = argv[3]; - fbits = fopen(bitsFile, "w"); + fbits = fopen(bitsFile, "wb"); } speex_bits_init(&bits); while (!feof(fin)) @@ -109,6 +105,12 @@ speex_decoder_destroy(dec); speex_bits_destroy(&bits); +#ifndef DISABLE_FLOAT_API + { + float sigpow,errpow,snr, seg_snr=0; + sigpow = 0; + errpow = 0; + /* This code just computes SNR, so you don't need it either */ rewind(fin); rewind(fout); @@ -127,9 +129,6 @@ errpow += e; snr_frames++; } - fclose(fin); - fclose(fout); - snr = 10 * log10( sigpow / errpow ); seg_snr /= snr_frames; fprintf(stderr,"SNR = %f\nsegmental SNR = %f\n",snr, seg_snr); @@ -137,6 +136,11 @@ #ifdef FIXED_DEBUG printf ("Total: %f MIPS\n", (float)(1e-6*50*spx_mips/snr_frames)); #endif - + } +#endif + + fclose(fin); + fclose(fout); + return 0; } Modified: freeswitch/trunk/libs/speex/libspeex/testenc_uwb.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/testenc_uwb.c (original) +++ freeswitch/trunk/libs/speex/libspeex/testenc_uwb.c Fri Feb 13 00:02:32 2009 @@ -36,8 +36,8 @@ sigpow = 0; errpow = 0; - st = speex_encoder_init(&speex_uwb_mode); - dec = speex_decoder_init(&speex_uwb_mode); + st = speex_encoder_init(speex_lib_get_mode(SPEEX_MODEID_UWB)); + dec = speex_decoder_init(speex_lib_get_mode(SPEEX_MODEID_UWB)); callback.callback_id = SPEEX_INBAND_CHAR; callback.func = speex_std_char_handler; @@ -69,13 +69,13 @@ exit(1); } inFile = argv[1]; - fin = fopen(inFile, "r"); + fin = fopen(inFile, "rb"); outFile = argv[2]; - fout = fopen(outFile, "w+"); + fout = fopen(outFile, "wb+"); if (argc==4) { bitsFile = argv[3]; - fbits = fopen(bitsFile, "w"); + fbits = fopen(bitsFile, "wb"); } speex_bits_init(&bits); while (!feof(fin)) Modified: freeswitch/trunk/libs/speex/libspeex/testenc_wb.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/testenc_wb.c (original) +++ freeswitch/trunk/libs/speex/libspeex/testenc_wb.c Fri Feb 13 00:02:32 2009 @@ -19,7 +19,6 @@ FILE *fin, *fout, *fbits=NULL; short in_short[FRAME_SIZE]; short out_short[FRAME_SIZE]; - float in_float[FRAME_SIZE]; float sigpow,errpow,snr, seg_snr=0; int snr_frames = 0; char cbits[200]; @@ -36,8 +35,8 @@ sigpow = 0; errpow = 0; - st = speex_encoder_init(&speex_wb_mode); - dec = speex_decoder_init(&speex_wb_mode); + st = speex_encoder_init(speex_lib_get_mode(SPEEX_MODEID_WB)); + dec = speex_decoder_init(speex_lib_get_mode(SPEEX_MODEID_WB)); callback.callback_id = SPEEX_INBAND_CHAR; callback.func = speex_std_char_handler; @@ -74,13 +73,13 @@ exit(1); } inFile = argv[1]; - fin = fopen(inFile, "r"); + fin = fopen(inFile, "rb"); outFile = argv[2]; - fout = fopen(outFile, "w+"); + fout = fopen(outFile, "wb+"); if (argc==4) { bitsFile = argv[3]; - fbits = fopen(bitsFile, "w"); + fbits = fopen(bitsFile, "wb"); } speex_bits_init(&bits); while (!feof(fin)) @@ -88,8 +87,6 @@ fread(in_short, sizeof(short), FRAME_SIZE, fin); if (feof(fin)) break; - for (i=0;i +#include + +union jbpdata { + unsigned int idx; + unsigned char data[4]; +}; + +void synthIn(JitterBufferPacket *in, int idx, int span) { + union jbpdata d; + d.idx = idx; + + in->data = d.data; + in->len = sizeof(d); + in->timestamp = idx * 10; + in->span = span * 10; + in->sequence = idx; + in->user_data = 0; +} + +void jitterFill(JitterBuffer *jb) { + char buffer[65536]; + JitterBufferPacket in, out; + int i; + + out.data = buffer; + + jitter_buffer_reset(jb); + + for(i=0;i<100;++i) { + synthIn(&in, i, 1); + jitter_buffer_put(jb, &in); + + out.len = 65536; + if (jitter_buffer_get(jb, &out, 10, NULL) != JITTER_BUFFER_OK) { + printf("Fill test failed iteration %d\n", i); + } + if (out.timestamp != i * 10) { + printf("Fill test expected %d got %d\n", i*10, out.timestamp); + } + jitter_buffer_tick(jb); + } +} + +int main() +{ + char buffer[65536]; + JitterBufferPacket in, out; + int i; + + JitterBuffer *jb = jitter_buffer_init(10); + + out.data = buffer; + + /* Frozen sender case */ + jitterFill(jb); + for(i=0;i<100;++i) { + out.len = 65536; + jitter_buffer_get(jb, &out, 10, NULL); + jitter_buffer_tick(jb); + } + synthIn(&in, 100, 1); + jitter_buffer_put(jb, &in); + out.len = 65536; + if (jitter_buffer_get(jb, &out, 10, NULL) != JITTER_BUFFER_OK) { + printf("Failed frozen sender resynchronize\n"); + } else { + printf("Frozen sender: Jitter %d\n", out.timestamp - 100*10); + } + return 0; +} Modified: freeswitch/trunk/libs/speex/libspeex/vbr.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/vbr.c (original) +++ freeswitch/trunk/libs/speex/libspeex/vbr.c Fri Feb 13 00:02:32 2009 @@ -45,31 +45,32 @@ #define MIN_ENERGY 6000 #define NOISE_POW .3 +#ifndef DISABLE_VBR const float vbr_nb_thresh[9][11]={ - {-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0}, /* CNG */ - { 3.5, 2.5, 2.0, 1.2, 0.5, 0.0, -0.5, -0.7, -0.8, -0.9, -1.0}, /* 2 kbps */ - {10.0, 6.5, 5.2, 4.5, 3.9, 3.5, 3.0, 2.5, 2.3, 1.8, 1.0}, /* 6 kbps */ - {11.0, 8.8, 7.5, 6.5, 5.0, 3.9, 3.9, 3.9, 3.5, 3.0, 1.0}, /* 8 kbps */ - {11.0, 11.0, 9.9, 9.0, 8.0, 7.0, 6.5, 6.0, 5.0, 4.0, 2.0}, /* 11 kbps */ - {11.0, 11.0, 11.0, 11.0, 9.5, 9.0, 8.0, 7.0, 6.5, 5.0, 3.0}, /* 15 kbps */ - {11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 9.5, 8.5, 8.0, 6.5, 4.0}, /* 18 kbps */ - {11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 9.8, 7.5, 5.5}, /* 24 kbps */ - { 8.0, 5.0, 3.7, 3.0, 2.5, 2.0, 1.8, 1.5, 1.0, 0.0, 0.0} /* 4 kbps */ + {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f}, /* CNG */ + { 4.0f, 2.5f, 2.0f, 1.2f, 0.5f, 0.0f, -0.5f, -0.7f, -0.8f, -0.9f, -1.0f}, /* 2 kbps */ + {10.0f, 6.5f, 5.2f, 4.5f, 3.9f, 3.5f, 3.0f, 2.5f, 2.3f, 1.8f, 1.0f}, /* 6 kbps */ + {11.0f, 8.8f, 7.5f, 6.5f, 5.0f, 3.9f, 3.9f, 3.9f, 3.5f, 3.0f, 1.0f}, /* 8 kbps */ + {11.0f, 11.0f, 9.9f, 8.5f, 7.0f, 6.0f, 4.5f, 4.0f, 4.0f, 4.0f, 2.0f}, /* 11 kbps */ + {11.0f, 11.0f, 11.0f, 11.0f, 9.5f, 8.5f, 8.0f, 7.0f, 6.0f, 5.0f, 3.0f}, /* 15 kbps */ + {11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 9.5f, 8.5f, 7.0f, 6.0f, 5.0f}, /* 18 kbps */ + {11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 9.8f, 9.5f, 7.5f}, /* 24 kbps */ + { 7.0f, 4.5f, 3.7f, 3.0f, 2.5f, 2.0f, 1.8f, 1.5f, 1.0f, 0.0f, 0.0f} /* 4 kbps */ }; const float vbr_hb_thresh[5][11]={ - {-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0}, /* silence */ - {-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0}, /* 2 kbps */ - {11.0, 11.0, 9.5, 8.5, 7.5, 6.0, 5.0, 3.9, 3.0, 2.0, 1.0}, /* 6 kbps */ - {11.0, 11.0, 11.0, 11.0, 11.0, 9.5, 8.7, 7.8, 7.0, 6.5, 4.0}, /* 10 kbps */ - {11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 9.8, 7.5, 5.5} /* 18 kbps */ + {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f}, /* silence */ + {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f}, /* 2 kbps */ + {11.0f, 11.0f, 9.5f, 8.5f, 7.5f, 6.0f, 5.0f, 3.9f, 3.0f, 2.0f, 1.0f}, /* 6 kbps */ + {11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 9.5f, 8.7f, 7.8f, 7.0f, 6.5f, 4.0f}, /* 10 kbps */ + {11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 11.0f, 9.8f, 7.5f, 5.5f} /* 18 kbps */ }; const float vbr_uhb_thresh[2][11]={ - {-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0}, /* silence */ - { 3.9, 2.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0} /* 2 kbps */ + {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f}, /* silence */ + { 3.9f, 2.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -1.0f} /* 2 kbps */ }; void vbr_init(VBRState *vbr) @@ -270,3 +271,5 @@ void vbr_destroy(VBRState *vbr) { } + +#endif /* #ifndef DISABLE_VBR */ Modified: freeswitch/trunk/libs/speex/libspeex/vbr.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/vbr.h (original) +++ freeswitch/trunk/libs/speex/libspeex/vbr.h Fri Feb 13 00:02:32 2009 @@ -37,7 +37,7 @@ #ifndef VBR_H #define VBR_H -#include "misc.h" +#include "arch.h" #define VBR_MEMORY_SIZE 5 Modified: freeswitch/trunk/libs/speex/libspeex/vorbis_psy.h ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/vorbis_psy.h (original) +++ freeswitch/trunk/libs/speex/libspeex/vorbis_psy.h Fri Feb 13 00:02:32 2009 @@ -39,7 +39,7 @@ #define NOISE_COMPAND_LEVELS 40 -#define todB(x) ((x)==0?-400.f:log((x)*(x))*4.34294480f) +#define todB(x) ((x)>1e-13?log((x)*(x))*4.34294480f:-30) #define fromdB(x) (exp((x)*.11512925f)) /* The bark scale equations are approximations, since the original Modified: freeswitch/trunk/libs/speex/libspeex/vq.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/vq.c (original) +++ freeswitch/trunk/libs/speex/libspeex/vq.c Fri Feb 13 00:02:32 2009 @@ -36,7 +36,7 @@ #include "vq.h" #include "stack_alloc.h" -#include "misc.h" +#include "arch.h" #ifdef _USE_SSE #include @@ -70,29 +70,6 @@ return i; } -/*Finds the index of the entry in a codebook that best matches the input*/ -int vq_index(float *in, const float *codebook, int len, int entries) -{ - int i,j; - float min_dist=0; - int best_index=0; - for (i=0;i void vq_nbest(spx_word16_t *in, const __m128 *codebook, int len, int entries, __m128 *E, int N, int *nbest, spx_word32_t *best_dist, char *stack); Modified: freeswitch/trunk/libs/speex/libspeex/window.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/window.c (original) +++ freeswitch/trunk/libs/speex/libspeex/window.c Fri Feb 13 00:02:32 2009 @@ -33,9 +33,13 @@ #include "config.h" #endif -#include "misc.h" +#include "arch.h" #ifdef FIXED_POINT +const spx_word16_t lag_window[11] = { + 16384, 16337, 16199, 15970, 15656, 15260, 14790, 14254, 13659, 13015, 12330 +}; + const spx_word16_t lpc_window[200] = { 1310, 1313, 1321, 1333, 1352, 1375, 1403, 1436, 1475, 1518, 1567, 1621, 1679, 1743, 1811, 1884, @@ -64,31 +68,35 @@ 6797, 6028, 5251, 4470, 3695, 2943, 2248, 1696 }; #else +const spx_word16_t lag_window[11] = { + 1.00000, 0.99716, 0.98869, 0.97474, 0.95554, 0.93140, 0.90273, 0.86998, 0.83367, 0.79434, 0.75258 +}; + const spx_word16_t lpc_window[200] = { - 0.080000, 0.080158, 0.080630, 0.081418, 0.082520, 0.083935, 0.085663, 0.087703, - 0.090052, 0.092710, 0.095674, 0.098943, 0.102514, 0.106385, 0.110553, 0.115015, - 0.119769, 0.124811, 0.130137, 0.135744, 0.141628, 0.147786, 0.154212, 0.160902, - 0.167852, 0.175057, 0.182513, 0.190213, 0.198153, 0.206328, 0.214731, 0.223357, - 0.232200, 0.241254, 0.250513, 0.259970, 0.269619, 0.279453, 0.289466, 0.299651, - 0.310000, 0.320507, 0.331164, 0.341965, 0.352901, 0.363966, 0.375151, 0.386449, - 0.397852, 0.409353, 0.420943, 0.432615, 0.444361, 0.456172, 0.468040, 0.479958, - 0.491917, 0.503909, 0.515925, 0.527959, 0.540000, 0.552041, 0.564075, 0.576091, - 0.588083, 0.600042, 0.611960, 0.623828, 0.635639, 0.647385, 0.659057, 0.670647, - 0.682148, 0.693551, 0.704849, 0.716034, 0.727099, 0.738035, 0.748836, 0.759493, - 0.770000, 0.780349, 0.790534, 0.800547, 0.810381, 0.820030, 0.829487, 0.838746, - 0.847800, 0.856643, 0.865269, 0.873672, 0.881847, 0.889787, 0.897487, 0.904943, - 0.912148, 0.919098, 0.925788, 0.932214, 0.938372, 0.944256, 0.949863, 0.955189, - 0.960231, 0.964985, 0.969447, 0.973615, 0.977486, 0.981057, 0.984326, 0.987290, - 0.989948, 0.992297, 0.994337, 0.996065, 0.997480, 0.998582, 0.999370, 0.999842, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, - 1.000000, 1.000000, 1.000000, 0.998640, 0.994566, 0.987787, 0.978324, 0.966203, - 0.951458, 0.934131, 0.914270, 0.891931, 0.867179, 0.840084, 0.810723, 0.779182, - 0.745551, 0.709930, 0.672424, 0.633148, 0.592223, 0.549781, 0.505964, 0.460932, - 0.414863, 0.367968, 0.320511, 0.272858, 0.225569, 0.179655, 0.137254, 0.103524 + 0.080000f, 0.080158f, 0.080630f, 0.081418f, 0.082520f, 0.083935f, 0.085663f, 0.087703f, + 0.090052f, 0.092710f, 0.095674f, 0.098943f, 0.102514f, 0.106385f, 0.110553f, 0.115015f, + 0.119769f, 0.124811f, 0.130137f, 0.135744f, 0.141628f, 0.147786f, 0.154212f, 0.160902f, + 0.167852f, 0.175057f, 0.182513f, 0.190213f, 0.198153f, 0.206328f, 0.214731f, 0.223357f, + 0.232200f, 0.241254f, 0.250513f, 0.259970f, 0.269619f, 0.279453f, 0.289466f, 0.299651f, + 0.310000f, 0.320507f, 0.331164f, 0.341965f, 0.352901f, 0.363966f, 0.375151f, 0.386449f, + 0.397852f, 0.409353f, 0.420943f, 0.432615f, 0.444361f, 0.456172f, 0.468040f, 0.479958f, + 0.491917f, 0.503909f, 0.515925f, 0.527959f, 0.540000f, 0.552041f, 0.564075f, 0.576091f, + 0.588083f, 0.600042f, 0.611960f, 0.623828f, 0.635639f, 0.647385f, 0.659057f, 0.670647f, + 0.682148f, 0.693551f, 0.704849f, 0.716034f, 0.727099f, 0.738035f, 0.748836f, 0.759493f, + 0.770000f, 0.780349f, 0.790534f, 0.800547f, 0.810381f, 0.820030f, 0.829487f, 0.838746f, + 0.847800f, 0.856643f, 0.865269f, 0.873672f, 0.881847f, 0.889787f, 0.897487f, 0.904943f, + 0.912148f, 0.919098f, 0.925788f, 0.932214f, 0.938372f, 0.944256f, 0.949863f, 0.955189f, + 0.960231f, 0.964985f, 0.969447f, 0.973615f, 0.977486f, 0.981057f, 0.984326f, 0.987290f, + 0.989948f, 0.992297f, 0.994337f, 0.996065f, 0.997480f, 0.998582f, 0.999370f, 0.999842f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, + 1.000000f, 1.000000f, 1.000000f, 0.998640f, 0.994566f, 0.987787f, 0.978324f, 0.966203f, + 0.951458f, 0.934131f, 0.914270f, 0.891931f, 0.867179f, 0.840084f, 0.810723f, 0.779182f, + 0.745551f, 0.709930f, 0.672424f, 0.633148f, 0.592223f, 0.549781f, 0.505964f, 0.460932f, + 0.414863f, 0.367968f, 0.320511f, 0.272858f, 0.225569f, 0.179655f, 0.137254f, 0.103524f }; #endif Modified: freeswitch/trunk/libs/speex/speex.m4 ============================================================================== --- freeswitch/trunk/libs/speex/speex.m4 (original) +++ freeswitch/trunk/libs/speex/speex.m4 Fri Feb 13 00:02:32 2009 @@ -21,7 +21,7 @@ elif test "x$speex_prefix" != "x" ; then SPEEX_LIBS="-L$speex_prefix/lib" elif test "x$prefix" != "xNONE" ; then - SPEEX_LIBS="" + SPEEX_LIBS="-L$prefix/lib" fi SPEEX_LIBS="$SPEEX_LIBS -lspeex" Modified: freeswitch/trunk/libs/speex/speex.pc.in ============================================================================== --- freeswitch/trunk/libs/speex/speex.pc.in (original) +++ freeswitch/trunk/libs/speex/speex.pc.in Fri Feb 13 00:02:32 2009 @@ -11,4 +11,5 @@ Requires: Conflicts: Libs: -L${libdir} -lspeex +Libs.private: -lm Cflags: -I${includedir} Added: freeswitch/trunk/libs/speex/speexdsp.pc.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/speexdsp.pc.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,15 @@ +# libspeexdsp pkg-config source file + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: speexdsp +Description: Speexdsp is a speech processing library that goes along with the Speex codec +Version: @SPEEX_VERSION@ +Requires: @FFT_PKGCONFIG@ +Conflicts: +Libs: -L${libdir} -lspeexdsp +Libs.private: -lm +Cflags: -I${includedir} Modified: freeswitch/trunk/libs/speex/src/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/src/Makefile.am (original) +++ freeswitch/trunk/libs/speex/src/Makefile.am Fri Feb 13 00:02:32 2009 @@ -7,7 +7,6 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) @OGG_CFLAGS@ -mandir = $(prefix)/share/man man_MANS = speexenc.1 speexdec.1 EXTRA_DIST = $(man_MANS) getopt_win.h getopt.c getopt1.c wave_out.c wave_out.h skeleton.h @@ -18,9 +17,9 @@ bin_PROGRAMS = speexenc speexdec speexenc_SOURCES = speexenc.c wav_io.c skeleton.c -speexenc_LDADD = $(top_builddir)/libspeex/libspeex.la \ - $(OGG_LIBS) +speexenc_LDADD = $(top_builddir)/libspeex/libspeex.la $(top_builddir)/libspeex/libspeexdsp.la \ + $(OGG_LIBS) @FFT_LIBS@ speexdec_SOURCES = speexdec.c wav_io.c speexdec_LDADD = $(top_builddir)/libspeex/libspeex.la \ - $(OGG_LIBS) + $(OGG_LIBS) @FFT_LIBS@ Modified: freeswitch/trunk/libs/speex/src/speexdec.1 ============================================================================== --- freeswitch/trunk/libs/speex/src/speexdec.1 (original) +++ freeswitch/trunk/libs/speex/src/speexdec.1 Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.29. .TH SPEEXDEC "1" "September 2003" "speexdec version 1.1" "User Commands" .SH NAME -speexdec \- manual page for speexdec version 1.1 +speexdec \- The reference implementation speex decoder. .SH SYNOPSIS .B speexdec [\fIoptions\fR] \fIinput_file.spx \fR[\fIoutput_file\fR] Modified: freeswitch/trunk/libs/speex/src/speexdec.c ============================================================================== --- freeswitch/trunk/libs/speex/src/speexdec.c (original) +++ freeswitch/trunk/libs/speex/src/speexdec.c Fri Feb 13 00:02:32 2009 @@ -36,6 +36,8 @@ #include #if !defined WIN32 && !defined _WIN32 #include +#endif +#ifdef HAVE_GETOPT_H #include #endif #ifndef HAVE_GETOPT_LONG @@ -48,8 +50,6 @@ #include #if defined WIN32 || defined _WIN32 -#include -#include "getopt_win.h" #include "wave_out.h" /* We need the following two to set stdout to binary */ #include @@ -84,7 +84,6 @@ #include #include #include -#include "wav_io.h" #define MAX_FRAME_SIZE 2000 @@ -107,7 +106,7 @@ end = c+length; len=readint(c, 0); c+=4; - if (c+len>end) + if (len < 0 || c+len>end) { fprintf (stderr, "Invalid/corrupted comments\n"); return; @@ -131,7 +130,7 @@ } len=readint(c, 0); c+=4; - if (c+len>end) + if (len < 0 || c+len>end) { fprintf (stderr, "Invalid/corrupted comments\n"); return; @@ -232,6 +231,8 @@ { #if defined WIN32 || defined _WIN32 _setmode(_fileno(stdout), _O_BINARY); +#elif defined OS2 + _fsetmode(stdout,"b"); #endif fout=stdout; } @@ -289,13 +290,17 @@ void version() { - printf ("speexdec (Speex decoder) version " SPEEX_VERSION " (compiled " __DATE__ ")\n"); + const char* speex_version; + speex_lib_ctl(SPEEX_LIB_GET_VERSION_STRING, (void*)&speex_version); + printf ("speexdec (Speex decoder) version %s (compiled " __DATE__ ")\n", speex_version); printf ("Copyright (C) 2002-2006 Jean-Marc Valin\n"); } void version_short() { - printf ("speexdec version " SPEEX_VERSION "\n"); + const char* speex_version; + speex_lib_ctl(SPEEX_LIB_GET_VERSION_STRING, (void*)&speex_version); + printf ("speexdec version %s\n", speex_version); printf ("Copyright (C) 2002-2006 Jean-Marc Valin\n"); } @@ -317,6 +322,7 @@ { fprintf (stderr, "Mode number %d does not (yet/any longer) exist in this version\n", header->mode); + free(header); return NULL; } @@ -329,17 +335,20 @@ if (header->speex_version_id > 1) { fprintf (stderr, "This file was encoded with Speex bit-stream version %d, which I don't know how to decode\n", header->speex_version_id); + free(header); return NULL; } if (mode->bitstream_version < header->mode_bitstream_version) { fprintf (stderr, "The file was encoded with a newer version of Speex. You need to upgrade in order to play it.\n"); + free(header); return NULL; } if (mode->bitstream_version > header->mode_bitstream_version) { fprintf (stderr, "The file was encoded with an older version of Speex. You would need to downgrade the version in order to play it.\n"); + free(header); return NULL; } @@ -347,19 +356,13 @@ if (!st) { fprintf (stderr, "Decoder initialization failed.\n"); + free(header); return NULL; } speex_decoder_ctl(st, SPEEX_SET_ENH, &enh_enabled); speex_decoder_ctl(st, SPEEX_GET_FRAME_SIZE, frame_size); *granule_frame_size = *frame_size; - if (!(*channels==1)) - { - callback.callback_id = SPEEX_INBAND_STEREO; - callback.func = speex_std_stereo_request_handler; - callback.data = stereo; - speex_decoder_ctl(st, SPEEX_SET_HANDLER, &callback); - } if (!*rate) *rate = header->rate; /* Adjust rate if --force-* options are used */ @@ -384,6 +387,15 @@ if (*channels==-1) *channels = header->nb_channels; + + if (!(*channels==1)) + { + *channels = 2; + callback.callback_id = SPEEX_INBAND_STEREO; + callback.func = speex_std_stereo_request_handler; + callback.data = stereo; + speex_decoder_ctl(st, SPEEX_SET_HANDLER, &callback); + } if (!quiet) { @@ -630,7 +642,7 @@ packet_no=0; while (!eos && ogg_stream_packetout(&os, &op) == 1) { - if (!memcmp(op.packet, "Speex", 5)) { + if (op.bytes>=5 && !memcmp(op.packet, "Speex", 5)) { speex_serialno = os.serialno; } if (speex_serialno == -1 || os.serialno != speex_serialno) Modified: freeswitch/trunk/libs/speex/src/speexenc.1 ============================================================================== --- freeswitch/trunk/libs/speex/src/speexenc.1 (original) +++ freeswitch/trunk/libs/speex/src/speexenc.1 Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.29. .TH SPEEXENC "1" "September 2003" "speexenc version 1.1" "User Commands" .SH NAME -speexenc \- manual page for speexenc version 1.1 +speexenc \- The reference implementation speex encoder. .SH SYNOPSIS .B speexenc [\fIoptions\fR] \fIinput_file output_file\fR Modified: freeswitch/trunk/libs/speex/src/speexenc.c ============================================================================== --- freeswitch/trunk/libs/speex/src/speexenc.c (original) +++ freeswitch/trunk/libs/speex/src/speexenc.c Fri Feb 13 00:02:32 2009 @@ -36,6 +36,8 @@ #include #if !defined WIN32 && !defined _WIN32 #include +#endif +#ifdef HAVE_GETOPT_H #include #endif #ifndef HAVE_GETOPT_LONG @@ -53,7 +55,6 @@ #include #if defined WIN32 || defined _WIN32 -#include "getopt_win.h" /* We need the following two to set stdout to binary */ #include #include @@ -182,13 +183,17 @@ void version() { - printf ("speexenc (Speex encoder) version " SPEEX_VERSION " (compiled " __DATE__ ")\n"); + const char* speex_version; + speex_lib_ctl(SPEEX_LIB_GET_VERSION_STRING, (void*)&speex_version); + printf ("speexenc (Speex encoder) version %s (compiled " __DATE__ ")\n", speex_version); printf ("Copyright (C) 2002-2006 Jean-Marc Valin\n"); } void version_short() { - printf ("speexenc version " SPEEX_VERSION "\n"); + const char* speex_version; + speex_lib_ctl(SPEEX_LIB_GET_VERSION_STRING, (void*)&speex_version); + printf ("speexenc version %s\n", speex_version); printf ("Copyright (C) 2002-2006 Jean-Marc Valin\n"); } @@ -316,7 +321,8 @@ SpeexHeader header; int nframes=1; spx_int32_t complexity=3; - char *vendor_string = "Encoded with Speex " SPEEX_VERSION; + const char* speex_version; + char vendor_string[64]; char *comments; int comments_length; int close_in=0, close_out=0; @@ -329,6 +335,9 @@ SpeexPreprocessState *preprocess = NULL; int denoise_enabled=0, agc_enabled=0; spx_int32_t lookahead = 0; + + speex_lib_ctl(SPEEX_LIB_GET_VERSION_STRING, (void*)&speex_version); + snprintf(vendor_string, sizeof(vendor_string), "Encoded with Speex %s", speex_version); comment_init(&comments, &comments_length, vendor_string); @@ -505,6 +514,8 @@ { #if defined WIN32 || defined _WIN32 _setmode(_fileno(stdin), _O_BINARY); +#elif defined OS2 + _fsetmode(stdin,"b"); #endif fin=stdin; } @@ -949,6 +960,8 @@ int len=4+vendor_length+4; char *p=(char*)malloc(len); if(p==NULL){ + fprintf (stderr, "malloc failed in comment_init()\n"); + exit(1); } writeint(p, 0, vendor_length); memcpy(p+4, vendor_string, vendor_length); @@ -967,6 +980,8 @@ p=(char*)realloc(p, len); if(p==NULL){ + fprintf (stderr, "realloc failed in comment_add()\n"); + exit(1); } writeint(p, *length, tag_len+val_len); /* length of comment */ Modified: freeswitch/trunk/libs/speex/src/wav_io.c ============================================================================== --- freeswitch/trunk/libs/speex/src/wav_io.c (original) +++ freeswitch/trunk/libs/speex/src/wav_io.c Fri Feb 13 00:02:32 2009 @@ -37,38 +37,7 @@ #include #include #include "speex/speex_types.h" - -static spx_uint32_t le_int(spx_uint32_t i) -{ - spx_uint32_t ret=i; -#ifdef WORDS_BIGENDIAN - ret = i>>24; - ret += (i>>8)&0x0000ff00; - ret += (i<<8)&0x00ff0000; - ret += (i<<24); -#endif - return ret; -} - -unsigned short be_short(unsigned short s) -{ - unsigned short ret=s; -#ifndef WORDS_BIGENDIAN - ret = s>>8; - ret += s<<8; -#endif - return ret; -} - -unsigned short le_short(unsigned short s) -{ - unsigned short ret=s; -#ifdef WORDS_BIGENDIAN - ret = s>>8; - ret += s<<8; -#endif - return ret; -} +#include "wav_io.h" int read_wav_header(FILE *file, int *rate, int *channels, int *format, spx_int32_t *size) Modified: freeswitch/trunk/libs/speex/src/wav_io.h ============================================================================== --- freeswitch/trunk/libs/speex/src/wav_io.h (original) +++ freeswitch/trunk/libs/speex/src/wav_io.h Fri Feb 13 00:02:32 2009 @@ -35,9 +35,29 @@ #include #include "speex/speex_types.h" -unsigned short be_short(unsigned short s); -unsigned short le_short(unsigned short s); -spx_uint32_t le_int(spx_uint32_t i); +#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) +#define le_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8)) +#define be_short(s) ((short) (s)) +#else +#define le_short(s) ((short) (s)) +#define be_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8)) +#endif + +/** Convert little endian */ +static inline spx_int32_t le_int(spx_int32_t i) +{ +#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) + spx_uint32_t ui, ret; + ui = i; + ret = ui>>24; + ret |= (ui>>8)&0x0000ff00; + ret |= (ui<<8)&0x00ff0000; + ret |= (ui<<24); + return ret; +#else + return i; +#endif +} int read_wav_header(FILE *file, int *rate, int *channels, int *format, spx_int32_t *size); Modified: freeswitch/trunk/libs/speex/symbian/bld.inf ============================================================================== --- freeswitch/trunk/libs/speex/symbian/bld.inf (original) +++ freeswitch/trunk/libs/speex/symbian/bld.inf Fri Feb 13 00:02:32 2009 @@ -30,6 +30,20 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +PRJ_EXPORTS + +..\include\speex\speex_bits.h \epoc32\include\speex\speex_bits.h +..\include\speex\speex_callbacks.h \epoc32\include\speex\speex_callbacks.h +..\include\speex\speex_config_types.h \epoc32\include\speex\speex_config_types.h +..\include\speex\speex_echo.h \epoc32\include\speex\speex_echo.h +..\include\speex\speex.h \epoc32\include\speex\speex.h +..\include\speex\speex_header.h \epoc32\include\speex\speex_header.h +..\include\speex\speex_jitter.h \epoc32\include\speex\speex_jitter.h +..\include\speex\speex_preprocess.h \epoc32\include\speex\speex_preprocess.h +..\include\speex\speex_stereo.h \epoc32\include\speex\speex_stereo.h +..\include\speex\speex_types.h \epoc32\include\speex\speex_types.h + + PRJ_MMPFILES speex.mmp Modified: freeswitch/trunk/libs/speex/symbian/speex.mmp ============================================================================== --- freeswitch/trunk/libs/speex/symbian/speex.mmp (original) +++ freeswitch/trunk/libs/speex/symbian/speex.mmp Fri Feb 13 00:02:32 2009 @@ -36,10 +36,10 @@ MACRO HAVE_CONFIG_H SOURCEPATH ..\libspeex SOURCE bits.c cb_search.c exc_5_64_table.c exc_5_256_table.c exc_8_128_table.c -SOURCE exc_10_16_table.c exc_10_32_table.c exc_20_32_table.c filters.c gain_table.c +SOURCE exc_10_16_table.c exc_10_32_table.c exc_20_32_table.c fftwrap.c kiss_fft.c kiss_fftr.c filterbank.c filters.c gain_table.c SOURCE gain_table_lbr.c hexc_10_32_table.c hexc_table.c high_lsp_tables.c jitter.c SOURCE lbr_48k_tables.c lpc.c lsp.c lsp_tables_nb.c ltp.c math_approx.c mdf.c misc.c SOURCE modes.c nb_celp.c preprocess.c quant_lsp.c sb_celp.c smallft.c -SOURCE speex.c speex_callbacks.c speex_header.c stereo.c vbr.c vq.c +SOURCE speex.c speex_callbacks.c speex_header.c stereo.c vbr.c vq.c window.c USERINCLUDE . ..\include\speex SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\include Modified: freeswitch/trunk/libs/speex/ti/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/ti/Makefile.am (original) +++ freeswitch/trunk/libs/speex/ti/Makefile.am Fri Feb 13 00:02:32 2009 @@ -5,5 +5,5 @@ SUBDIRS = speex_C54_test speex_C55_test speex_C64_test -EXTRA_DIST = config.h testenc-TI-C5x.c user_misc.h testenc-TI-C64x.c +EXTRA_DIST = config.h testenc-TI-C5x.c os_support_custom.h testenc-TI-C64x.c Modified: freeswitch/trunk/libs/speex/ti/config.h ============================================================================== --- freeswitch/trunk/libs/speex/ti/config.h (original) +++ freeswitch/trunk/libs/speex/ti/config.h Fri Feb 13 00:02:32 2009 @@ -35,35 +35,39 @@ #define FRAME_SIZE 160 #define DISABLE_WIDEBAND +/* Disable DC block if doing SNR testing */ +#define DISABLE_HIGHPASS + /* Allow for 2 20ms narrowband blocks per frame, plus a couple of bytes */ #define MAX_CHARS_PER_FRAME (42/BYTES_PER_CHAR) /* for debug */ #undef DECODE_ONLY +#define VERBOSE_ALLOC /* EITHER Allocate from fixed array (C heap not used) */ /* Enable VERBOSE_ALLOC to see how much is used */ #define MANUAL_ALLOC -#define USER_MISC -#define VERBOSE_ALLOC +#define OS_SUPPORT_CUSTOM + /* OR Use CALLOC (heap size must be increased in linker command file) */ //#undef MANUAL_ALLOC -//#undef USER_MISC +//#undef OS_SUPPORT_CUSTOM #if defined (CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) //#define PRECISION16 // These values determined by analysis for 8kbps narrowband -#define SPEEXENC_PERSIST_STACK_SIZE 5000 +#define SPEEXENC_PERSIST_STACK_SIZE 1000 #define SPEEXENC_SCRATCH_STACK_SIZE 3000 -#define SPEEXDEC_PERSIST_STACK_SIZE 2500 +#define SPEEXDEC_PERSIST_STACK_SIZE 1000 #define SPEEXDEC_SCRATCH_STACK_SIZE 1000 #else /* C6X */ #define NO_LONGLONG -#define SPEEXENC_PERSIST_STACK_SIZE 10000 +#define SPEEXENC_PERSIST_STACK_SIZE 2000 #define SPEEXENC_SCRATCH_STACK_SIZE 6000 -#define SPEEXDEC_PERSIST_STACK_SIZE 5000 +#define SPEEXDEC_PERSIST_STACK_SIZE 2000 #define SPEEXDEC_SCRATCH_STACK_SIZE 2000 #endif #define SPEEX_PERSIST_STACK_SIZE (SPEEXENC_PERSIST_STACK_SIZE + SPEEXDEC_PERSIST_STACK_SIZE) Added: freeswitch/trunk/libs/speex/ti/os_support_custom.h ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/ti/os_support_custom.h Fri Feb 13 00:02:32 2009 @@ -0,0 +1,128 @@ +/* Copyright (C) 2007 Psi Systems, Inc. + Author: Jean-Marc Valin + File: os_support_custom.h + Memory Allocation overrides to allow user control rather than C alloc/free. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef MANUAL_ALLOC + +/* To avoid changing the Speex call model, this file relies on four static variables + The user main creates two linear buffers, and initializes spxGlobalHeap/ScratchPtr + to point to the start of the two buffers, and initializes spxGlobalHeap/ScratchEnd + to point to the first address following the last byte of the two buffers. + + This mechanism allows, for example, data caching for multichannel applications, + where the Speex state is swapped from a large slow memory to a small fast memory + each time the codec runs. + + Persistent data is allocated in spxGlobalHeap (instead of calloc), while scratch + data is allocated in spxGlobalScratch. +*/ + +extern char *spxGlobalHeapPtr, *spxGlobalHeapEnd; +extern char *spxGlobalScratchPtr, *spxGlobalScratchEnd; + +/* Make sure that all structures are aligned to largest type */ +#define BLOCK_MASK (sizeof(long double)-1) +extern inline void speex_warning(const char *str); + +#define OVERRIDE_SPEEX_ALLOC +static inline void *speex_alloc (int size) +{ + void *ptr; + + ptr = (void *) (((int)spxGlobalHeapPtr + BLOCK_MASK) & ~BLOCK_MASK); //Start on 8 boundary + + spxGlobalHeapPtr = (char *)((int)ptr + size); // Update pointer to next free location + + if (spxGlobalHeapPtr > spxGlobalHeapEnd ) + { +#ifdef VERBOSE_ALLOC + fprintf (stderr, "insufficient space for persistent alloc request %d bytes\n", size); +#endif + return 0; + } + +#ifdef VERBOSE_ALLOC + fprintf (stderr, "Persist Allocated %d chars at %x, %d remaining\n", size, ptr, ((int)spxGlobalHeapEnd - (int)spxGlobalHeapPtr)); +#endif + memset(ptr, 0, size); + return ptr; +} + +#define OVERRIDE_SPEEX_ALLOC_SCRATCH +static inline void *speex_alloc_scratch (int size) +{ + void *ptr; + + ptr = (void *) (((int)spxGlobalScratchPtr + BLOCK_MASK) & ~BLOCK_MASK); //Start on 8 boundary + + spxGlobalScratchPtr = (char *)((int)ptr + size); // Update pointer to next free location + + if (spxGlobalScratchPtr > spxGlobalScratchEnd ) + { +#ifdef VERBOSE_ALLOC + fprintf (stderr, "insufficient space for scratch alloc request %d bytes\n", size); +#endif + return 0; + } + +#ifdef VERBOSE_ALLOC + fprintf (stderr, "Scratch Allocated %d chars at %x, %d remaining\n", size, ptr, ((int)spxGlobalScratchEnd - (int)spxGlobalScratchPtr)); +#endif + memset(ptr, 0, size); + return ptr; +} + +#define OVERRIDE_SPEEX_REALLOC +static inline void *speex_realloc (void *ptr, int size) +{ +#ifdef VERBOSE_ALLOC + speex_warning("realloc attempted, not allowed"); +#endif + return 0; +} + +#define OVERRIDE_SPEEX_FREE +static inline void speex_free (void *ptr) +{ +#ifdef VERBOSE_ALLOC + speex_warning("at speex_free"); +#endif +} +#define OVERRIDE_SPEEX_FREE_SCRATCH +static inline void speex_free_scratch (void *ptr) +{ +#ifdef VERBOSE_ALLOC + speex_warning("at speex_free_scratch"); +#endif +} + +#endif /* !MANUAL_ALLOC */ Modified: freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.pjt ============================================================================== --- freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.pjt (original) +++ freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.pjt Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ ; Code Composer Project File, Version 2.0 (do not modify or remove this line) [Project Settings] -ProjectDir="C:\speex_11234\ti\speex_C54_test\" +ProjectDir="C:\Speex\speex_14274\ti\speex_C54_test\" ProjectType=Executable CPUFamily=TMS320C54XX Tool="Compiler" @@ -27,8 +27,6 @@ Source="..\..\libspeex\lsp.c" Source="..\..\libspeex\lsp_tables_nb.c" Source="..\..\libspeex\ltp.c" -Source="..\..\libspeex\math_approx.c" -Source="..\..\libspeex\misc.c" Source="..\..\libspeex\modes.c" Source="..\..\libspeex\nb_celp.c" Source="..\..\libspeex\quant_lsp.c" Modified: freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.pjt ============================================================================== --- freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.pjt (original) +++ freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.pjt Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ ; Code Composer Project File, Version 2.0 (do not modify or remove this line) [Project Settings] -ProjectDir="C:\speex_11234\ti\speex_C55_test\" +ProjectDir="C:\Speex\speex_14274\ti\speex_C55_test\" ProjectType=Executable CPUFamily=TMS320C55XX Tool="Compiler" @@ -27,8 +27,6 @@ Source="..\..\libspeex\lsp.c" Source="..\..\libspeex\lsp_tables_nb.c" Source="..\..\libspeex\ltp.c" -Source="..\..\libspeex\math_approx.c" -Source="..\..\libspeex\misc.c" Source="..\..\libspeex\modes.c" Source="..\..\libspeex\nb_celp.c" Source="..\..\libspeex\quant_lsp.c" Modified: freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.pjt ============================================================================== --- freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.pjt (original) +++ freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.pjt Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ ; Code Composer Project File, Version 2.0 (do not modify or remove this line) [Project Settings] -ProjectDir="C:\speex_11234\ti\speex_C64_test\" +ProjectDir="C:\Speex\speex_14274\ti\speex_C64_test\" ProjectType=Executable CPUFamily=TMS320C64XX Tool="Compiler" @@ -12,7 +12,7 @@ Config="Release" [Source Files] -Source="..\..\..\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib" +Source="..\..\..\..\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib" Source="..\..\libspeex\bits.c" Source="..\..\libspeex\cb_search.c" Source="..\..\libspeex\exc_10_16_table.c" @@ -28,8 +28,6 @@ Source="..\..\libspeex\lsp.c" Source="..\..\libspeex\lsp_tables_nb.c" Source="..\..\libspeex\ltp.c" -Source="..\..\libspeex\math_approx.c" -Source="..\..\libspeex\misc.c" Source="..\..\libspeex\modes.c" Source="..\..\libspeex\nb_celp.c" Source="..\..\libspeex\quant_lsp.c" Modified: freeswitch/trunk/libs/speex/ti/testenc-TI-C5x.c ============================================================================== --- freeswitch/trunk/libs/speex/ti/testenc-TI-C5x.c (original) +++ freeswitch/trunk/libs/speex/ti/testenc-TI-C5x.c Fri Feb 13 00:02:32 2009 @@ -184,10 +184,17 @@ tmp=1; /* Lowest */ speex_encoder_ctl(st, SPEEX_SET_COMPLEXITY, &tmp); +#ifdef DISABLE_HIGHPASS + /* Turn this off if you want to measure SNR (on by default) */ + tmp=0; + speex_encoder_ctl(st, SPEEX_SET_HIGHPASS, &tmp); + speex_decoder_ctl(dec, SPEEX_SET_HIGHPASS, &tmp); +#endif + speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay); speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp); skip_group_delay += tmp; - fprintf (stderr, "decoder lookahead = %d\n", skip_group_delay); + fprintf (stderr, "decoder lookahead = %ld\n", skip_group_delay); #ifdef DECODE_ONLY bitsFile = "c:\\speextrunktest\\samples\\malebitsin.dat"; Modified: freeswitch/trunk/libs/speex/ti/testenc-TI-C64x.c ============================================================================== --- freeswitch/trunk/libs/speex/ti/testenc-TI-C64x.c (original) +++ freeswitch/trunk/libs/speex/ti/testenc-TI-C64x.c Fri Feb 13 00:02:32 2009 @@ -146,6 +146,13 @@ tmp=1; /* Lowest */ speex_encoder_ctl(st, SPEEX_SET_COMPLEXITY, &tmp); +#ifdef DISABLE_HIGHPASS + /* Turn this off if you want to measure SNR (on by default) */ + tmp=0; + speex_encoder_ctl(st, SPEEX_SET_HIGHPASS, &tmp); + speex_decoder_ctl(dec, SPEEX_SET_HIGHPASS, &tmp); +#endif + speex_encoder_ctl(st, SPEEX_GET_LOOKAHEAD, &skip_group_delay); speex_decoder_ctl(dec, SPEEX_GET_LOOKAHEAD, &tmp); skip_group_delay += tmp; Modified: freeswitch/trunk/libs/speex/win32/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/win32/Makefile.am (original) +++ freeswitch/trunk/libs/speex/win32/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,6 +3,6 @@ # Disable automatic dependency tracking if using other tools than gcc and gmake #AUTOMAKE_OPTIONS = no-dependencies -SUBDIRS = libspeex speexenc speexdec VS2003 VS2005 +SUBDIRS = libspeex speexenc speexdec VS2003 VS2005 VS2008 -EXTRA_DIST = speex.iss config.h +EXTRA_DIST = speex.iss config.h libspeex.def libspeexdsp.def Modified: freeswitch/trunk/libs/speex/win32/VS2003/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2003/Makefile.am (original) +++ freeswitch/trunk/libs/speex/win32/VS2003/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,6 +3,6 @@ # Disable automatic dependency tracking if using other tools than gcc and gmake #AUTOMAKE_OPTIONS = no-dependencies -SUBDIRS = libspeex speexenc speexdec +SUBDIRS = libspeex libspeexdsp speexenc speexdec tests -EXTRA_DIST = +EXTRA_DIST = libspeex.sln Added: freeswitch/trunk/libs/speex/win32/VS2003/libspeex.sln ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeex.sln Fri Feb 13 00:02:32 2009 @@ -0,0 +1,146 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdec", "speexdec\speexdec.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexenc", "speexenc\speexenc.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdenoise", "tests\testdenoise.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testecho", "tests\testecho.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc", "tests\testenc.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_uwb", "tests\testenc_uwb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_wb", "tests\testenc_wb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testresample", "tests\testresample.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libspeexdsp\libspeexdsp.vcproj", "{03207781-0D1C-4DB3-A71D-45C608F28DBD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + Release_Dynamic_SSE = Release_Dynamic_SSE + Release_Static_SSE = Release_Static_SSE + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release.Build.0 = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE.ActiveCfg = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE.Build.0 = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE.ActiveCfg = Release_Static_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE.Build.0 = Release_Static_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE.Build.0 = Release_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug.Build.0 = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release.ActiveCfg = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release.Build.0 = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic_SSE.ActiveCfg = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic_SSE.Build.0 = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Static_SSE.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Static_SSE.Build.0 = Release_Static_SSE|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal Modified: freeswitch/trunk/libs/speex/win32/VS2003/libspeex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2003/libspeex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,6 +3,6 @@ # Disable automatic dependency tracking if using other tools than gcc and gmake #AUTOMAKE_OPTIONS = no-dependencies -EXTRA_DIST = libspeex.def libspeex.vcproj +EXTRA_DIST = libspeex.vcproj Modified: freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.vcproj Fri Feb 13 00:02:32 2009 @@ -20,12 +20,12 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include;..\.." - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_CONFIG_H; USE_ALLOCA" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_CONFIG_H" MinimalRebuild="TRUE" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="3" Detect64BitPortabilityProblems="TRUE" DebugInformationFormat="4" CompileAs="1"/> @@ -33,7 +33,7 @@ Name="VCCustomBuildTool"/> + OutputFile="../../../lib/libspeex.lib"/> + OutputFile="../../../lib/libspeex.lib"/>
- - - - - - - - - - - - - - + OutputFile="../../../lib/libspeex.lib"/> + OptimizeForWindows98="1" + ImportLibrary="../../../lib/libspeex.lib"/> - - - - - - - - - - - - + RelativePath="..\..\..\libspeex\modes_wb.c"> + RelativePath="..\..\..\libspeex\nb_celp.c"> @@ -360,9 +293,6 @@ RelativePath="..\..\..\libspeex\sb_celp.c"> - - + + + + + RelativePath="..\..\..\libspeex\cb_search_sse.h"> @@ -398,6 +334,12 @@ RelativePath="..\..\..\libspeex\filters_sse.h"> + + + + - - + + + RelativePath="..\..\..\libspeex\stack_alloc.h"> + RelativePath="..\..\..\libspeex\vbr.h"> + RelativePath="..\..\..\libspeex\vq.h"> + RelativePath="..\..\..\libspeex\vq_sse.h"> + + + RelativePath="..\..\..\include\speex\speex.h"> + RelativePath="..\..\..\include\speex\speex_bits.h"> + RelativePath="..\..\..\include\speex\speex_callbacks.h"> + RelativePath="..\..\..\include\speex\speex_header.h"> @@ -457,15 +403,6 @@ - - - - - - + RelativePath="..\..\config.h"> + + Added: freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = libspeexdsp.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2003/libspeexdsp +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = libspeexdsp.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2003/libspeexdsp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2003/libspeexdsp/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/libspeexdsp.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/libspeexdsp.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/speex/win32/VS2003/speexdec/speexdec.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2003/speexdec/speexdec.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2003/speexdec/speexdec.vcproj Fri Feb 13 00:02:32 2009 @@ -19,11 +19,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2003/tests/testecho.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/tests/testecho.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_uwb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_uwb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_wb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/tests/testenc_wb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2003/tests/testresample.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2003/tests/testresample.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/speex/win32/VS2005/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2005/Makefile.am (original) +++ freeswitch/trunk/libs/speex/win32/VS2005/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,6 +3,6 @@ # Disable automatic dependency tracking if using other tools than gcc and gmake #AUTOMAKE_OPTIONS = no-dependencies -SUBDIRS = libspeex speexenc speexdec +SUBDIRS = libspeex libspeexdsp speexenc speexdec tests -EXTRA_DIST = +EXTRA_DIST = libspeex.sln Added: freeswitch/trunk/libs/speex/win32/VS2005/libspeex.sln ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeex.sln Fri Feb 13 00:02:32 2009 @@ -0,0 +1,259 @@ +? +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libspeexdsp\libspeexdsp.vcproj", "{E42FDC95-7243-4219-9EA4-ACCE4AB97197}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdec", "speexdec\speexdec.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexenc", "speexenc\speexenc.vcproj", "{CD6043D1-D5E7-46D0-854F-00BB1BC308FC}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdenoise", "tests\testdenoise.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}" + ProjectSection(ProjectDependencies) = postProject + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testecho", "tests\testecho.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}" + ProjectSection(ProjectDependencies) = postProject + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc", "tests\testenc.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_uwb", "tests\testenc_uwb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_wb", "tests\testenc_wb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testresample", "tests\testresample.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}" + ProjectSection(ProjectDependencies) = postProject + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_RTL_dll|Win32 = Debug_RTL_dll|Win32 + Debug_WM5_PPC_ARM|Win32 = Debug_WM5_PPC_ARM|Win32 + Debug|Win32 = Debug|Win32 + Release_Dynamic_SSE|Win32 = Release_Dynamic_SSE|Win32 + Release_Dynamic|Win32 = Release_Dynamic|Win32 + Release_RTL_dll|Win32 = Release_RTL_dll|Win32 + Release_SSE|Win32 = Release_SSE|Win32 + Release_SSE2|Win32 = Release_SSE2|Win32 + Release_WM5_PPC_ARM|Win32 = Release_WM5_PPC_ARM|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Win32.ActiveCfg = Debug_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Win32.Build.0 = Debug_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Win32.Build.0 = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Win32.ActiveCfg = Release_Dynamic|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Win32.Build.0 = Release_Dynamic|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Win32.ActiveCfg = Release_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Win32.Build.0 = Release_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug_RTL_dll|Win32.ActiveCfg = Debug_RTL_dll|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug_RTL_dll|Win32.Build.0 = Debug_RTL_dll|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug_WM5_PPC_ARM|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug_WM5_PPC_ARM|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug|Win32.ActiveCfg = Debug|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug|Win32.Build.0 = Debug|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_Dynamic_SSE|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_Dynamic_SSE|Win32.Build.0 = Release_Dynamic_SSE|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_Dynamic|Win32.ActiveCfg = Release_Dynamic|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_Dynamic|Win32.Build.0 = Release_Dynamic|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_RTL_dll|Win32.ActiveCfg = Release_RTL_dll|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_RTL_dll|Win32.Build.0 = Release_RTL_dll|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release_WM5_PPC_ARM|Win32.Build.0 = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release|Win32.ActiveCfg = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Win32.Build.0 = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug|Win32.Build.0 = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release|Win32.ActiveCfg = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_RTL_dll|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_RTL_dll|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Modified: freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj Fri Feb 13 00:02:32 2009 @@ -66,7 +66,7 @@ /> + + + + + + + + + + + + + + + + + + + + - - @@ -1442,22 +1529,6 @@ > - - - - - - - - @@ -1474,31 +1545,15 @@ > - - - - - - - - - - @@ -1548,15 +1599,15 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - - @@ -1608,7 +1655,7 @@ > + + + + - - - - - - - - + Added: freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = libspeexdsp.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2005/libspeexdsp +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = libspeexdsp.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2005/libspeexdsp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2005/libspeexdsp/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,1624 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/speex/win32/VS2005/speexdec/speexdec.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2005/speexdec/speexdec.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2005/speexdec/speexdec.vcproj Fri Feb 13 00:02:32 2009 @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2005/tests/testecho.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/tests/testecho.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_uwb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_uwb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_wb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/tests/testenc_wb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2005/tests/testresample.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2005/tests/testresample.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +SUBDIRS = libspeex libspeexdsp speexenc speexdec tests + +EXTRA_DIST = libspeex.sln Added: freeswitch/trunk/libs/speex/win32/VS2008/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,485 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = libspeex libspeexdsp speexenc speexdec tests +EXTRA_DIST = libspeex.sln +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ + clean clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-generic distclean-libtool \ + distclean-recursive distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-libtool \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeex.sln ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex.sln Fri Feb 13 00:02:32 2009 @@ -0,0 +1,439 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdec", "speexdec\speexdec.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexenc", "speexenc\speexenc.vcproj", "{CD6043D1-D5E7-46D0-854F-00BB1BC308FC}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdenoise", "tests\testdenoise.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testecho", "tests\testecho.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc", "tests\testenc.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_uwb", "tests\testenc_uwb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testenc_wb", "tests\testenc_wb.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}" + ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testresample", "tests\testresample.vcproj", "{961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}" + ProjectSection(ProjectDependencies) = postProject + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libspeexdsp\libspeexdsp.vcproj", "{03207781-0D1C-4DB3-A71D-45C608F28DBD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_RTL_dll|Win32 = Debug_RTL_dll|Win32 + Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Debug_WM5_PPC_ARM|Win32 = Debug_WM5_PPC_ARM|Win32 + Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Debug|Win32 = Debug|Win32 + Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_Dynamic_SSE|Win32 = Release_Dynamic_SSE|Win32 + Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_Dynamic|Win32 = Release_Dynamic|Win32 + Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_RTL_dll|Win32 = Release_RTL_dll|Win32 + Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_SSE|Win32 = Release_SSE|Win32 + Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_SSE2|Win32 = Release_SSE2|Win32 + Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_Static_SSE|Win32 = Release_Static_SSE|Win32 + Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release_WM5_PPC_ARM|Win32 = Release_WM5_PPC_ARM|Win32 + Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + Release|Win32 = Release|Win32 + Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Win32.ActiveCfg = Debug_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Win32.Build.0 = Debug_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Win32.Build.0 = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_Dynamic_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Win32.ActiveCfg = Release_Dynamic|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Win32.Build.0 = Release_Dynamic|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Win32.ActiveCfg = Release_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Win32.Build.0 = Release_RTL_dll|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE|Win32.ActiveCfg = Release_Static_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE|Win32.Build.0 = Release_Static_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_Static_SSE|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_WM5_PPC_ARM|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic|Win32.ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic|Win32.Build.0 = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_RTL_dll|Win32.Build.0 = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug|Win32.ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic|Win32.Build.0 = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_RTL_dll|Win32.Build.0 = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE2|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release|Win32.ActiveCfg = Release|Win32 + {CD6043D1-D5E7-46D0-854F-00BB1BC308FC}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DA9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAC}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_RTL_dll|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_WM5_PPC_ARM|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Win32.ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Win32.Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_RTL_dll|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_RTL_dll|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE2|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE2|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_WM5_PPC_ARM|Win32.Build.0 = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_SSE|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Win32.ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Win32.Build.0 = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {961B8359-1393-4EF7-B8E0-67B6FE1C6DAB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug_RTL_dll|Win32.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug_WM5_PPC_ARM|Win32.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Win32.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic_SSE|Win32.ActiveCfg = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic|Win32.ActiveCfg = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Dynamic_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_RTL_dll|Win32.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_RTL_dll|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_SSE|Win32.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_SSE2|Win32.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_SSE2|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Static_SSE|Win32.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_Static_SSE|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_WM5_PPC_ARM|Win32.ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Static_SSE|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Win32.ActiveCfg = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = libspeex.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008/libspeex +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = libspeex.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/libspeex/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/libspeex/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,1704 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = libspeexdsp.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008/libspeexdsp +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = libspeexdsp.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/libspeexdsp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/libspeexdsp/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = speexdec.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008/speexdec +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = speexdec.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/speexdec/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/speexdec/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/speexdec/speexdec.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexdec/speexdec.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,427 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,8 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = speexenc.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,341 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008/speexenc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = speexenc.vcproj +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/speexenc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/speexenc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/speexenc/speexenc.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/speexenc/speexenc.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,427 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.am ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.am Fri Feb 13 00:02:32 2009 @@ -0,0 +1,9 @@ +## Process this file with automake to produce Makefile.in. -*-Makefile-*- + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies + +EXTRA_DIST = testdenoise.vcproj testecho.vcproj testenc.vcproj testenc_uwb.vcproj \ + testenc_wb.vcproj testresample.vcproj + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.in ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.in Fri Feb 13 00:02:32 2009 @@ -0,0 +1,343 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + at SET_MAKE@ + +# Disable automatic dependency tracking if using other tools than gcc and gmake +#AUTOMAKE_OPTIONS = no-dependencies +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = win32/VS2008/tests +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_KISS_FFT_FALSE = @BUILD_KISS_FFT_FALSE@ +BUILD_KISS_FFT_TRUE = @BUILD_KISS_FFT_TRUE@ +BUILD_SMALLFT_FALSE = @BUILD_SMALLFT_FALSE@ +BUILD_SMALLFT_TRUE = @BUILD_SMALLFT_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFT_CFLAGS = @FFT_CFLAGS@ +FFT_LIBS = @FFT_LIBS@ +FFT_PKGCONFIG = @FFT_PKGCONFIG@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIZE16 = @SIZE16@ +SIZE32 = @SIZE32@ +SPEEX_LT_AGE = @SPEEX_LT_AGE@ +SPEEX_LT_CURRENT = @SPEEX_LT_CURRENT@ +SPEEX_LT_REVISION = @SPEEX_LT_REVISION@ +SPEEX_VERSION = @SPEEX_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +src = @src@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = testdenoise.vcproj testecho.vcproj testenc.vcproj testenc_uwb.vcproj \ + testenc_wb.vcproj testresample.vcproj + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/VS2008/tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu win32/VS2008/tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testdenoise.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testdenoise.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testecho.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testecho.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_uwb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_uwb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_wb.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testenc_wb.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/trunk/libs/speex/win32/VS2008/tests/testresample.vcproj ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/VS2008/tests/testresample.vcproj Fri Feb 13 00:02:32 2009 @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/trunk/libs/speex/win32/config.h ============================================================================== --- freeswitch/trunk/libs/speex/win32/config.h (original) +++ freeswitch/trunk/libs/speex/win32/config.h Fri Feb 13 00:02:32 2009 @@ -1,3 +1,20 @@ +// Microsoft version of 'inline' #define inline __inline -#define restrict -#include "misc.h" \ No newline at end of file + +// Visual Studio support alloca(), but it always align variables to 16-bit +// boundary, while SSE need 128-bit alignment. So we disable alloca() when +// SSE is enabled. +#ifndef _USE_SSE +# define USE_ALLOCA +#endif + +/* Default to floating point */ +#ifndef FIXED_POINT +# define FLOATING_POINT +# define USE_SMALLFT +#else +# define USE_KISS_FFT +#endif + +/* We don't support visibility on Win32 */ +#define EXPORT Added: freeswitch/trunk/libs/speex/win32/libspeex.def ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/libspeex.def Fri Feb 13 00:02:32 2009 @@ -0,0 +1,75 @@ +LIBRARY libspeex +EXPORTS + + +; +; speex.h +; +speex_encoder_init +speex_encoder_destroy +speex_encode +speex_encode_int +speex_encoder_ctl +speex_decoder_init +speex_decoder_destroy +speex_decode +speex_decode_int +speex_decoder_ctl +speex_mode_query +speex_lib_ctl +speex_lib_get_mode + +; +; speex_bits.h +; +speex_bits_init +speex_bits_init_buffer +speex_bits_set_bit_buffer +speex_bits_destroy +speex_bits_reset +speex_bits_rewind +speex_bits_read_from +speex_bits_read_whole_bytes +speex_bits_write +speex_bits_write_whole_bytes +speex_bits_pack +speex_bits_unpack_signed +speex_bits_unpack_unsigned +speex_bits_nbytes +speex_bits_peek_unsigned +speex_bits_peek +speex_bits_advance +speex_bits_remaining +speex_bits_insert_terminator + +; +; speex_callbacks.h +; +speex_inband_handler +speex_std_mode_request_handler +speex_std_high_mode_request_handler +speex_std_char_handler +speex_default_user_handler +speex_std_low_mode_request_handler +speex_std_vbr_request_handler +speex_std_enh_request_handler +speex_std_vbr_quality_request_handler + +; +; speex_header.h +; +speex_init_header +speex_header_to_packet +speex_packet_to_header + +; +; speex_stereo.h +; +speex_stereo_state_init +speex_stereo_state_reset +speex_stereo_state_destroy +speex_encode_stereo +speex_encode_stereo_int +speex_decode_stereo +speex_decode_stereo_int +speex_std_stereo_request_handler Modified: freeswitch/trunk/libs/speex/win32/libspeex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/win32/libspeex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/win32/libspeex/Makefile.am Fri Feb 13 00:02:32 2009 @@ -3,4 +3,4 @@ # Disable automatic dependency tracking if using other tools than gcc and gmake #AUTOMAKE_OPTIONS = no-dependencies -EXTRA_DIST = libspeex.dsp libspeex.dsw libspeex_dynamic.dsp speex.def +EXTRA_DIST = libspeex.dsw libspeex.dsp libspeex_dynamic.dsp libspeexdsp.dsp libspeexdsp_dynamic.dsp Modified: freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsp ============================================================================== --- freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsp (original) +++ freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsp Fri Feb 13 00:02:32 2009 @@ -42,7 +42,8 @@ # PROP Target_Dir "" F90=df.exe # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /GX /Ox /Ot /Og /Oi /Ob2 /I "../../include" /I "../" /D inline=__inline /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "HAVE_CONFIG_H" /YX /FD /c +# ADD CPP /nologo /MD /GX- /O2 /Ob2 /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_LIB" /D "HAVE_CONFIG_H" /FD /c +# SUBTRACT CPP /YX # ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG" BSC32=bscmake.exe @@ -50,7 +51,7 @@ # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\libspeex.lib" !ELSEIF "$(CFG)" == "libspeex - Win32 Debug" @@ -66,7 +67,8 @@ # PROP Target_Dir "" F90=df.exe # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /GX /Ox /Ot /Og /Oi /Ob2 /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "HAVE_CONFIG_H" /YX /FD /c +# ADD CPP /nologo /MDd /W3 /GX- /Zi /Od /Ob2 /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_LIB" /D "HAVE_CONFIG_H" /FD /c +# SUBTRACT CPP /YX # ADD BASE RSC /l 0x809 /d "_DEBUG" # ADD RSC /l 0x809 /d "_DEBUG" BSC32=bscmake.exe @@ -74,7 +76,7 @@ # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\libspeex.lib" !ENDIF @@ -159,23 +161,15 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\math_approx.c -# End Source File -# Begin Source File - -SOURCE=..\..\libspeex\misc.c -# End Source File -# Begin Source File - SOURCE=..\..\libspeex\modes.c # End Source File # Begin Source File -SOURCE=..\..\libspeex\nb_celp.c +SOURCE=..\..\libspeex\modes_wb.c # End Source File # Begin Source File -SOURCE=..\..\libspeex\preprocess.c +SOURCE=..\..\libspeex\nb_celp.c # End Source File # Begin Source File @@ -187,10 +181,6 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\smallft.c -# End Source File -# Begin Source File - SOURCE=..\..\libspeex\speex.c # End Source File # Begin Source File @@ -213,20 +203,44 @@ SOURCE=..\..\libspeex\vq.c # End Source File +# Begin Source File + +SOURCE=..\..\libspeex\window.c +# End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File +SOURCE=..\..\libspeex\arch.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\cb_search.h # End Source File # Begin Source File +SOURCE=..\..\libspeex\cb_search_sse.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\filters.h # End Source File # Begin Source File +SOURCE=..\..\libspeex\filters_sse.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_debug.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_generic.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\lpc.h # End Source File # Begin Source File @@ -239,7 +253,11 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\misc.h +SOURCE=..\..\libspeex\ltp_sse.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\math_approx.h # End Source File # Begin Source File @@ -251,6 +269,10 @@ # End Source File # Begin Source File +SOURCE=..\..\libspeex\os_support.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\quant_lsp.h # End Source File # Begin Source File @@ -259,44 +281,52 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\smallft.h +SOURCE=..\..\libspeex\stack_alloc.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex.h +SOURCE=..\..\libspeex\vbr.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_bits.h +SOURCE=..\..\libspeex\vq.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_callbacks.h +SOURCE=..\..\libspeex\vq_sse.h # End Source File +# End Group +# Begin Group "Public Header Files" + +# PROP Default_Filter "*.h" # Begin Source File -SOURCE=..\..\libspeex\speex_denoise.h +SOURCE=..\..\include\speex\speex.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_header.h +SOURCE=..\..\include\speex\speex_bits.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_stereo.h +SOURCE=..\..\include\speex\speex_callbacks.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\stack_alloc.h +SOURCE=..\..\include\speex\speex_header.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\vbr.h +SOURCE=..\..\include\speex\speex_stereo.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\vq.h +SOURCE=..\..\include\speex\speex_types.h # End Source File # End Group +# Begin Source File + +SOURCE=..\config.h +# End Source File # End Target # End Project Modified: freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsw ============================================================================== --- freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsw (original) +++ freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsw Fri Feb 13 00:02:32 2009 @@ -27,6 +27,30 @@ ############################################################################### +Project: "libspeexdsp"=.\libspeexdsp.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libspeexdsp_dynamic"=.\libspeexdsp_dynamic.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Global: Package=<5> Modified: freeswitch/trunk/libs/speex/win32/libspeex/libspeex_dynamic.dsp ============================================================================== --- freeswitch/trunk/libs/speex/win32/libspeex/libspeex_dynamic.dsp (original) +++ freeswitch/trunk/libs/speex/win32/libspeex/libspeex_dynamic.dsp Fri Feb 13 00:02:32 2009 @@ -43,7 +43,8 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /D "HAVE_CONFIG_H" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAVE_CONFIG_H" /FD /c +# SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -53,7 +54,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"Release/libspeex.dll" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\bin\libspeex.dll" /implib:"..\..\lib\libspeex.lib" !ELSEIF "$(CFG)" == "libspeex_dynamic - Win32 Debug" @@ -69,7 +70,8 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /D "HAVE_CONFIG_H" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAVE_CONFIG_H" /FD /GZ /c +# SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" @@ -79,7 +81,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"Debug/libspeex.dll" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\bin\libspeex.dll" /implib:"..\..\lib\libspeex.lib" /pdbtype:sept !ENDIF @@ -89,7 +91,7 @@ # Name "libspeex_dynamic - Win32 Debug" # Begin Group "Source Files" -# PROP Default_Filter "" +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\libspeex\bits.c @@ -164,23 +166,15 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\math_approx.c -# End Source File -# Begin Source File - -SOURCE=..\..\libspeex\misc.c -# End Source File -# Begin Source File - SOURCE=..\..\libspeex\modes.c # End Source File # Begin Source File -SOURCE=..\..\libspeex\nb_celp.c +SOURCE=..\..\libspeex\modes_wb.c # End Source File # Begin Source File -SOURCE=..\..\libspeex\preprocess.c +SOURCE=..\..\libspeex\nb_celp.c # End Source File # Begin Source File @@ -192,18 +186,10 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\smallft.c -# End Source File -# Begin Source File - SOURCE=..\..\libspeex\speex.c # End Source File # Begin Source File -SOURCE=.\speex.def -# End Source File -# Begin Source File - SOURCE=..\..\libspeex\speex_callbacks.c # End Source File # Begin Source File @@ -222,20 +208,44 @@ SOURCE=..\..\libspeex\vq.c # End Source File +# Begin Source File + +SOURCE=..\..\libspeex\window.c +# End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File +SOURCE=..\..\libspeex\arch.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\cb_search.h # End Source File # Begin Source File +SOURCE=..\..\libspeex\cb_search_sse.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\filters.h # End Source File # Begin Source File +SOURCE=..\..\libspeex\filters_sse.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_debug.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_generic.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\lpc.h # End Source File # Begin Source File @@ -248,7 +258,11 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\misc.h +SOURCE=..\..\libspeex\ltp_sse.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\math_approx.h # End Source File # Begin Source File @@ -260,6 +274,10 @@ # End Source File # Begin Source File +SOURCE=..\..\libspeex\os_support.h +# End Source File +# Begin Source File + SOURCE=..\..\libspeex\quant_lsp.h # End Source File # Begin Source File @@ -268,44 +286,56 @@ # End Source File # Begin Source File -SOURCE=..\..\libspeex\smallft.h +SOURCE=..\..\libspeex\stack_alloc.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex.h +SOURCE=..\..\libspeex\vbr.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_bits.h +SOURCE=..\..\libspeex\vq.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_callbacks.h +SOURCE=..\..\libspeex\vq_sse.h # End Source File +# End Group +# Begin Group "Public Header Files" + +# PROP Default_Filter "*.h" # Begin Source File -SOURCE=..\..\libspeex\speex_denoise.h +SOURCE=..\..\include\speex\speex.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_header.h +SOURCE=..\..\include\speex\speex_bits.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\speex_stereo.h +SOURCE=..\..\include\speex\speex_callbacks.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\stack_alloc.h +SOURCE=..\..\include\speex\speex_header.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\vbr.h +SOURCE=..\..\include\speex\speex_stereo.h # End Source File # Begin Source File -SOURCE=..\..\libspeex\vq.h +SOURCE=..\..\include\speex\speex_types.h # End Source File # End Group +# Begin Source File + +SOURCE=..\config.h +# End Source File +# Begin Source File + +SOURCE=..\libspeex.def +# End Source File # End Target # End Project Added: freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp.dsp ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp.dsp Fri Feb 13 00:02:32 2009 @@ -0,0 +1,224 @@ +# Microsoft Developer Studio Project File - Name="libspeexdsp" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=libspeexdsp - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libspeexdsp.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libspeexdsp.mak" CFG="libspeexdsp - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libspeexdsp - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "libspeexdsp - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libspeexdsp - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MD /W1 /GX- /O2 /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /FD /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x419 /d "NDEBUG" +# ADD RSC /l 0x809 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\libspeexdsp.lib" + +!ELSEIF "$(CFG)" == "libspeexdsp - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "libspeexdsp___Win32_Debug" +# PROP BASE Intermediate_Dir "libspeexdsp___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "libspeexdsp___Win32_Debug" +# PROP Intermediate_Dir "libspeexdsp___Win32_Debug" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm- /GX- /Zi /Od /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x419 /d "_DEBUG" +# ADD RSC /l 0x809 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\libspeexdsp.lib" + +!ENDIF + +# Begin Target + +# Name "libspeexdsp - Win32 Release" +# Name "libspeexdsp - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\libspeex\buffer.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fftwrap.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\filterbank.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\jitter.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fft.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fftr.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\mdf.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\preprocess.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\resample.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\smallft.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\libspeex\_kiss_fft_guts.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\arch.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fftwrap.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\filterbank.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_debug.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_generic.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fft.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fftr.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\math_approx.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\os_support.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\pseudofloat.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\smallft.h +# End Source File +# End Group +# Begin Group "Public Header Files" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\include\speex\speex.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_bits.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_buffer.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_echo.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_jitter.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_preprocess.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_resampler.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_types.h +# End Source File +# End Group +# Begin Source File + +SOURCE=..\config.h +# End Source File +# End Target +# End Project Added: freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp_dynamic.dsp ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/libspeex/libspeexdsp_dynamic.dsp Fri Feb 13 00:02:32 2009 @@ -0,0 +1,233 @@ +# Microsoft Developer Studio Project File - Name="libspeexdsp_dynamic" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libspeexdsp_dynamic - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libspeexdsp_dynamic.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libspeexdsp_dynamic.mak" CFG="libspeexdsp_dynamic - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libspeexdsp_dynamic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libspeexdsp_dynamic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libspeexdsp_dynamic - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "libspeexdsp_dynamic___Win32_Release" +# PROP BASE Intermediate_Dir "libspeexdsp_dynamic___Win32_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Dynamic_Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAVE_CONFIG_H" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\bin\libspeexdsp.dll" /implib:"..\..\lib\libspeexdsp.lib" + +!ELSEIF "$(CFG)" == "libspeexdsp_dynamic - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "libspeexdsp_dynamic___Win32_Debug" +# PROP BASE Intermediate_Dir "libspeexdsp_dynamic___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Dynamic_Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSPEEX_DYNAMIC_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAVE_CONFIG_H" /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\bin\libspeexdsp.dll" /implib:"..\..\lib\libspeexdsp.lib" /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "libspeexdsp_dynamic - Win32 Release" +# Name "libspeexdsp_dynamic - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\libspeex\buffer.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fftwrap.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\filterbank.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\jitter.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fft.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fftr.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\mdf.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\preprocess.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\resample.c +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\smallft.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\libspeex\_kiss_fft_guts.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\arch.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fftwrap.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\filterbank.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_debug.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\fixed_generic.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fft.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\kiss_fftr.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\math_approx.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\os_support.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\pseudofloat.h +# End Source File +# Begin Source File + +SOURCE=..\..\libspeex\smallft.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_buffer.h +# End Source File +# End Group +# Begin Group "Public Header Files" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\include\speex\speex.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_bits.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_echo.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_jitter.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_preprocess.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_resampler.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\speex\speex_types.h +# End Source File +# End Group +# Begin Source File + +SOURCE=..\config.h +# End Source File +# Begin Source File + +SOURCE=..\libspeexdsp.def +# End Source File +# End Target +# End Project Added: freeswitch/trunk/libs/speex/win32/libspeexdsp.def ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/speex/win32/libspeexdsp.def Fri Feb 13 00:02:32 2009 @@ -0,0 +1,72 @@ +LIBRARY libspeexdsp +EXPORTS + + +; +; speex_buffer.h +; +speex_buffer_init +speex_buffer_destroy +speex_buffer_write +speex_buffer_writezeros +speex_buffer_read +speex_buffer_get_available +speex_buffer_resize + +; +; speex_echo.h +; +speex_echo_state_init +speex_echo_state_destroy +speex_echo_cancellation +speex_echo_cancel +speex_echo_capture +speex_echo_playback +speex_echo_state_reset +speex_echo_ctl + +; +; speex_jitter.h +; +jitter_buffer_init +jitter_buffer_reset +jitter_buffer_destroy +jitter_buffer_put +jitter_buffer_get +jitter_buffer_get_pointer_timestamp +jitter_buffer_tick +jitter_buffer_update_delay + +; +; speex_preprocess.h +; +speex_preprocess_state_init +speex_preprocess_state_destroy +speex_preprocess_run +speex_preprocess +speex_preprocess_estimate_update +speex_preprocess_ctl + +; +; speex_resampler.h +; +speex_resampler_init +speex_resampler_init_frac +speex_resampler_destroy +speex_resampler_process_float +speex_resampler_process_int +speex_resampler_process_interleaved_float +speex_resampler_process_interleaved_int +speex_resampler_set_rate +speex_resampler_get_rate +speex_resampler_set_rate_frac +speex_resampler_get_ratio +speex_resampler_set_quality +speex_resampler_get_quality +speex_resampler_set_input_stride +speex_resampler_get_input_stride +speex_resampler_set_output_stride +speex_resampler_get_output_stride +speex_resampler_skip_zeros +speex_resampler_reset_mem +speex_resampler_strerror Modified: freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsp ============================================================================== --- freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsp (original) +++ freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsp Fri Feb 13 00:02:32 2009 @@ -42,7 +42,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /GX /O2 /I "../../libspeex" /I "../../../ogg/include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /GX /O2 /I "../../../libogg/include" /I "../../include" /I "../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /YX /FD /c # ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG" BSC32=bscmake.exe @@ -50,7 +50,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMT.lib" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMT.lib" /out:"../../bin/speexdec.exe" !ELSEIF "$(CFG)" == "speexdec - Win32 Debug" @@ -66,7 +66,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../libspeex" /I "../../../ogg/include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../libogg/include" /I "../../include" /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /YX /FD /GZ /c # ADD BASE RSC /l 0x809 /d "_DEBUG" # ADD RSC /l 0x809 /d "_DEBUG" BSC32=bscmake.exe @@ -74,7 +74,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/speexdec.exe" /pdbtype:sept !ENDIF Modified: freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsw ============================================================================== --- freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsw (original) +++ freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsw Fri Feb 13 00:02:32 2009 @@ -15,7 +15,7 @@ ############################################################################### -Project: "ogg_static"="..\..\..\MYOV-1.0\ogg\win32\ogg_static.dsp" - Package Owner=<4> +Project: "ogg_static"="..\..\..\libogg\win32\ogg_static.dsp" - Package Owner=<4> Package=<5> {{{ Modified: freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsp ============================================================================== --- freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsp (original) +++ freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsp Fri Feb 13 00:02:32 2009 @@ -42,7 +42,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /GX /Ox /Ot /Og /Oi /Ob2 /I "../../libspeex" /I "../../../ogg/include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /GX /Ox /Ot /Og /Oi /Ob2 /I "../" /I "../../include" /I "../../../libogg/include" /D "HAVE_CONFIG_H" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG" BSC32=bscmake.exe @@ -50,7 +50,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMT.lib" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMT.lib" /out:"../../bin/speexenc.exe" !ELSEIF "$(CFG)" == "speexenc - Win32 Debug" @@ -66,7 +66,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../libspeex" /I "../../../ogg/include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../" /I "../../include" /I "../../../libogg/include" /D "HAVE_CONFIG_H" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD BASE RSC /l 0x809 /d "_DEBUG" # ADD RSC /l 0x809 /d "_DEBUG" BSC32=bscmake.exe @@ -74,7 +74,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/speexenc.exe" /pdbtype:sept !ENDIF @@ -95,6 +95,10 @@ # End Source File # Begin Source File +SOURCE=..\..\src\skeleton.c +# End Source File +# Begin Source File + SOURCE=..\..\src\speexenc.c # End Source File # Begin Source File @@ -111,6 +115,10 @@ # End Source File # Begin Source File +SOURCE=..\..\src\skeleton.h +# End Source File +# Begin Source File + SOURCE=..\..\src\wav_io.h # End Source File # End Group Modified: freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsw ============================================================================== --- freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsw (original) +++ freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsw Fri Feb 13 00:02:32 2009 @@ -15,7 +15,19 @@ ############################################################################### -Project: "ogg_static"="..\..\..\MYOV-1.0\ogg\win32\ogg_static.dsp" - Package Owner=<4> +Project: "libspeexdsp"=..\libspeex\libspeexdsp.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "ogg_static"=..\..\..\libogg\win32\ogg_static.dsp - Package Owner=<4> Package=<5> {{{ @@ -41,6 +53,9 @@ Begin Project Dependency Project_Dep_Name ogg_static End Project Dependency + Begin Project Dependency + Project_Dep_Name libspeexdsp + End Project Dependency }}} ############################################################################### From mikej at freeswitch.org Thu Feb 12 22:52:57 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 00:52:57 -0600 Subject: [Freeswitch-svn] [commit] r11980 - in freeswitch/trunk/libs/speex/win32: VS2003/libspeexdsp VS2003/tests VS2005/libspeexdsp VS2005/tests VS2008 VS2008/libspeex VS2008/libspeexdsp VS2008/speexdec VS2008/speexenc VS2008/tests Message-ID: Author: mikej Date: Fri Feb 13 00:52:57 2009 New Revision: 11980 Log: remove generated files Removed: freeswitch/trunk/libs/speex/win32/VS2003/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2003/tests/Makefile.in freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2005/tests/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/libspeex/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/speexdec/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/speexenc/Makefile.in freeswitch/trunk/libs/speex/win32/VS2008/tests/Makefile.in From mikej at freeswitch.org Thu Feb 12 22:54:26 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 00:54:26 -0600 Subject: [Freeswitch-svn] [commit] r11981 - in freeswitch/trunk/libs/speex: . libspeex Message-ID: Author: mikej Date: Fri Feb 13 00:54:26 2009 New Revision: 11981 Log: slim build to just lib and fix some build errors and autotools errors Modified: freeswitch/trunk/libs/speex/Makefile.am freeswitch/trunk/libs/speex/configure.ac freeswitch/trunk/libs/speex/libspeex/Makefile.am freeswitch/trunk/libs/speex/libspeex/math_approx.c Modified: freeswitch/trunk/libs/speex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/Makefile.am Fri Feb 13 00:54:26 2009 @@ -13,7 +13,7 @@ EXTRA_DIST = Speex.spec Speex.spec.in Speex.kdevelop speex.m4 speex.pc.in README.blackfin README.symbian README.TI-DSP #Fools KDevelop into including all files -SUBDIRS = libspeex include @src@ doc win32 symbian ti +SUBDIRS = libspeex include DIST_SUBDIRS = libspeex include src doc win32 symbian ti Modified: freeswitch/trunk/libs/speex/configure.ac ============================================================================== --- freeswitch/trunk/libs/speex/configure.ac (original) +++ freeswitch/trunk/libs/speex/configure.ac Fri Feb 13 00:54:26 2009 @@ -208,33 +208,18 @@ ) FFT_PKGCONFIG= -AS_CASE([$FFT], - [kiss], [ - AC_DEFINE([USE_KISS_FFT], [], [Use KISS Fast Fourier Transform]) - ], - [smallft], [ - AC_DEFINE([USE_SMALLFT], [], [Use FFT from OggVorbis]) - ], - [gpl-fftw3], [ - AC_DEFINE([USE_GPL_FFTW3], [], [Use FFTW3 for FFT]) - PKG_CHECK_MODULES(FFT, fftw3f) - ], - [proprietary-intel-mkl], [ - AC_DEFINE([USE_INTEL_MKL], [], [Use Intel Math Kernel Library for FFT]) - AC_MSG_CHECKING(for valid MKL) - AC_LINK_IFELSE([ - AC_LANG_PROGRAM([[ -#include -void func() { - DFTI_DESCRIPTOR_HANDLE h; - MKL_LONG result=DftiCreateDescriptor(&h, DFTI_SINGLE, DFTI_REAL, 0); -}]])], - [AC_MSG_RESULT(yes)], - [AC_MSG_FAILURE([Failed to compile MKL test program. Make sure you set CFLAGS to include the include directory and set LDFLAGS to include the library directory and all necesarry libraries.])] - ) - ], - [AC_MSG_FAILURE([Unknown FFT $FFT specified for --with-fft])] -) + +case $FFT in + kiss) + AC_DEFINE([USE_KISS_FFT], [], [Use KISS Fast Fourier Transform]) ;; + smallft) + AC_DEFINE([USE_SMALLFT], [], [Use FFT from OggVorbis]) ;; + *) + AC_MSG_FAILURE([Unknown FFT $FFT specified for --with-fft]) ;; +esac + +AC_SUBST(FFT_LIBS) +AC_SUBST(FFT_CFLAGS) AM_CONDITIONAL(BUILD_KISS_FFT, [test "$FFT" = "kiss"]) AM_CONDITIONAL(BUILD_SMALLFT, [test "$FFT" = "smallft"]) AC_SUBST(FFT_PKGCONFIG) @@ -273,7 +258,7 @@ AC_SUBST(SIZE16) AC_SUBST(SIZE32) -AC_OUTPUT([Makefile libspeex/Makefile src/Makefile doc/Makefile Speex.spec +AC_OUTPUT([Makefile libspeex/Makefile src/Makefile Speex.spec include/Makefile include/speex/Makefile speex.pc speexdsp.pc win32/Makefile win32/libspeex/Makefile win32/speexenc/Makefile win32/speexdec/Makefile symbian/Makefile Modified: freeswitch/trunk/libs/speex/libspeex/Makefile.am ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/Makefile.am (original) +++ freeswitch/trunk/libs/speex/libspeex/Makefile.am Fri Feb 13 00:54:26 2009 @@ -40,16 +40,16 @@ libspeex_la_LDFLAGS = -no-undefined -version-info @SPEEX_LT_CURRENT@:@SPEEX_LT_REVISION@:@SPEEX_LT_AGE@ libspeexdsp_la_LDFLAGS = -no-undefined -version-info @SPEEX_LT_CURRENT@:@SPEEX_LT_REVISION@:@SPEEX_LT_AGE@ -noinst_PROGRAMS = testenc testenc_wb testenc_uwb testdenoise testecho testjitter -testenc_SOURCES = testenc.c -testenc_LDADD = libspeex.la -testenc_wb_SOURCES = testenc_wb.c -testenc_wb_LDADD = libspeex.la -testenc_uwb_SOURCES = testenc_uwb.c -testenc_uwb_LDADD = libspeex.la -testdenoise_SOURCES = testdenoise.c -testdenoise_LDADD = libspeexdsp.la @FFT_LIBS@ -testecho_SOURCES = testecho.c -testecho_LDADD = libspeexdsp.la @FFT_LIBS@ -testjitter_SOURCES = testjitter.c -testjitter_LDADD = libspeexdsp.la @FFT_LIBS@ +#noinst_PROGRAMS = testenc testenc_uwb testdenoise testecho testjitter testenc_wb +#testenc_SOURCES = testenc.c +#testenc_LDADD = libspeex.la +#testenc_wb_SOURCES = testenc_wb.c +#testenc_wb_LDADD = libspeex.la +#testenc_uwb_SOURCES = testenc_uwb.c +#testenc_uwb_LDADD = libspeex.la +#testdenoise_SOURCES = testdenoise.c +#testdenoise_LDADD = libspeexdsp.la @FFT_LIBS@ +#testecho_SOURCES = testecho.c +#testecho_LDADD = libspeexdsp.la @FFT_LIBS@ +#testjitter_SOURCES = testjitter.c +#testjitter_LDADD = libspeexdsp.la @FFT_LIBS@ Modified: freeswitch/trunk/libs/speex/libspeex/math_approx.c ============================================================================== --- freeswitch/trunk/libs/speex/libspeex/math_approx.c (original) +++ freeswitch/trunk/libs/speex/libspeex/math_approx.c Fri Feb 13 00:54:26 2009 @@ -136,6 +136,7 @@ #define K3 340 #define K4 -10 +#if 0 spx_word16_t spx_cos(spx_word16_t x) { spx_word16_t x2; @@ -150,7 +151,7 @@ return SUB32(-K1, MULT16_16_P13(x2, ADD32(K2, MULT16_16_P13(x2, ADD32(K3, MULT16_16_P13(K4, x2)))))); } } - +#endif #else #ifndef M_PI @@ -164,6 +165,7 @@ #define SPX_PI_2 1.5707963268 +#if 0 spx_word16_t spx_cos(spx_word16_t x) { if (x Author: mikej Date: Fri Feb 13 01:15:56 2009 New Revision: 11982 Log: move msvc build to the new speex lib Modified: freeswitch/trunk/Freeswitch.2008.express.sln freeswitch/trunk/Freeswitch.2008.sln freeswitch/trunk/libs/speex/win32/VS2008/libspeex/ (props changed) freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj Modified: freeswitch/trunk/Freeswitch.2008.express.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.express.sln (original) +++ freeswitch/trunk/Freeswitch.2008.express.sln Fri Feb 13 01:15:56 2009 @@ -45,8 +45,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_speex", "src\mod\codecs\mod_speex\mod_speex.2008.vcproj", "{5580D60E-0F77-4716-9CD4-B8E5986FA375}" ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "docs", "docs\docs.2008.vcproj", "{1A1FF289-4FD6-4285-A422-D31DD67A4723}" @@ -184,8 +184,6 @@ {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\win32\speex\libspeex.2008.vcproj", "{1C469CDD-A3AF-4A94-A592-B2CF12F2D918}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iksemel", "libs\win32\iksemel\iksemel.2008.vcproj", "{E727E8F6-935D-46FE-8B0E-37834748A0E3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download HOWL", "libs\win32\Download HOWL.2008.vcproj", "{5927104D-C14C-4AC8-925C-4AB681762E75}" @@ -594,6 +592,8 @@ {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} = {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\speex\win32\VS2008\libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -802,12 +802,6 @@ {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.Build.0 = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|x64.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.Build.0 = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|x64.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.Build.0 = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|x64.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.Build.0 = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1333,6 +1327,12 @@ {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.Build.0 = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|x64.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|x64.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|x64.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: freeswitch/trunk/Freeswitch.2008.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.sln (original) +++ freeswitch/trunk/Freeswitch.2008.sln Fri Feb 13 01:15:56 2009 @@ -418,8 +418,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_speex", "src\mod\codecs\mod_speex\mod_speex.2008.vcproj", "{5580D60E-0F77-4716-9CD4-B8E5986FA375}" ProjectSection(ProjectDependencies) = postProject + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "docs", "docs\docs.2008.vcproj", "{1A1FF289-4FD6-4285-A422-D31DD67A4723}" @@ -557,8 +557,6 @@ {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\win32\speex\libspeex.2008.vcproj", "{1C469CDD-A3AF-4A94-A592-B2CF12F2D918}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iksemel", "libs\win32\iksemel\iksemel.2008.vcproj", "{E727E8F6-935D-46FE-8B0E-37834748A0E3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download HOWL", "libs\win32\Download HOWL.2008.vcproj", "{5927104D-C14C-4AC8-925C-4AB681762E75}" @@ -972,751 +970,1009 @@ {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} = {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\speex\win32\VS2008\libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.Build.0 = Debug|Win32 + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|x64.ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.ActiveCfg = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.Build.0 = Release|Win32 + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|x64.ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.Build.0 = Debug|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|x64.ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.Build.0 = Release|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|x64.ActiveCfg = Release|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.Build.0 = Debug Passthrough|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|x64.ActiveCfg = Debug|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.Build.0 = Release Passthrough|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|x64.ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Win32.ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Win32.Build.0 = Debug|Win32 + {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|x64.ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.Build.0 = Release|Win32 + {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|x64.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.Build.0 = Debug|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|x64.ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.Build.0 = Release|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|x64.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.Build.0 = Debug|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|x64.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.Build.0 = Release|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|x64.ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Win32.ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Win32.Build.0 = Debug|Win32 + {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|x64.ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.Build.0 = Release|Win32 + {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|x64.ActiveCfg = Release|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|Win32.ActiveCfg = Debug|Win32 + {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|x64.ActiveCfg = Debug|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|Win32.ActiveCfg = Release|Win32 + {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|x64.ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Win32.ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Win32.Build.0 = Debug|Win32 + {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|x64.ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.Build.0 = Release|Win32 + {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|x64.ActiveCfg = Release|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Win32.ActiveCfg = Debug MS-LDAP|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Win32.Build.0 = Debug MS-LDAP|Win32 + {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|x64.ActiveCfg = Debug|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Win32.ActiveCfg = Release MS-LDAP|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Win32.Build.0 = Release MS-LDAP|Win32 + {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|x64.ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Win32.ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Win32.Build.0 = Debug|Win32 + {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|x64.ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Win32.ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Win32.Build.0 = Release|Win32 + {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|x64.ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Win32.ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Win32.Build.0 = Debug|Win32 + {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|x64.ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Win32.ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Win32.Build.0 = Release|Win32 + {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|x64.ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Win32.ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Win32.Build.0 = Debug|Win32 + {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|x64.ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.Build.0 = Release|Win32 + {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|x64.ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.Build.0 = Debug|Win32 + {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|x64.ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.Build.0 = Release|Win32 + {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|x64.ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.Build.0 = Debug|Win32 + {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|x64.ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.Build.0 = Release|Win32 + {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|x64.ActiveCfg = Release|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|Win32.ActiveCfg = Debug|Win32 + {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|x64.ActiveCfg = Debug|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Win32.ActiveCfg = Release|Win32 + {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|x64.ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.Build.0 = Debug|Win32 + {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|x64.ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Win32.ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Win32.Build.0 = Release|Win32 + {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|x64.ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Win32.ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Win32.Build.0 = Debug|Win32 + {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|x64.ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Win32.ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Win32.Build.0 = Release|Win32 + {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|x64.ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Win32.ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Win32.Build.0 = Debug|Win32 + {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|x64.ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Win32.ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Win32.Build.0 = Release|Win32 + {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|x64.ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Win32.ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Win32.Build.0 = Debug|Win32 + {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|x64.ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Win32.ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Win32.Build.0 = Release|Win32 + {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|x64.ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Win32.ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Win32.Build.0 = Debug|Win32 + {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|x64.ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Win32.ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Win32.Build.0 = Release|Win32 + {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|x64.ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Win32.ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Win32.Build.0 = Debug|Win32 + {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|x64.ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.Build.0 = Release|Win32 + {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|x64.ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.Build.0 = Debug|Win32 + {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|x64.ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.Build.0 = Release|Win32 + {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|x64.ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.Build.0 = Debug|Win32 + {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|x64.ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.Build.0 = Release|Win32 + {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|x64.ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Win32.ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Win32.Build.0 = Debug|Win32 + {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|x64.ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.Build.0 = Release|Win32 + {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|x64.ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Win32.ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Win32.Build.0 = Debug|Win32 + {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|x64.ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.Build.0 = Release|Win32 + {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|x64.ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.Build.0 = Debug|Win32 + {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|x64.ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Win32.ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Win32.Build.0 = Release|Win32 + {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|x64.ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Win32.ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Win32.Build.0 = Debug|Win32 + {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|x64.ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Win32.ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Win32.Build.0 = Release|Win32 + {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|x64.ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Win32.ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Win32.Build.0 = Debug|Win32 + {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|x64.ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Win32.ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Win32.Build.0 = Release|Win32 + {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|x64.ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Win32.ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Win32.Build.0 = Debug|Win32 + {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|x64.ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Win32.ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Win32.Build.0 = Release|Win32 + {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|x64.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.Build.0 = Debug|Win32 + {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|x64.ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 + {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.Build.0 = Debug|Win32 + {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|x64.ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.Build.0 = Release|Win32 + {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|x64.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.Build.0 = Debug|Win32 + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|x64.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.Build.0 = Release|Win32 + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|x64.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.Build.0 = Debug|Win32 + {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|x64.ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.Build.0 = Release|Win32 + {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|x64.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.Build.0 = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|x64.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.Build.0 = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|x64.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.Build.0 = Debug|Win32 + {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|x64.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Win32.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Win32.Build.0 = Release|Win32 + {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|x64.ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Win32.ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Win32.Build.0 = Debug|Win32 + {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|x64.ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Win32.ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Win32.Build.0 = Release|Win32 + {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|x64.ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Win32.ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Win32.Build.0 = Debug|Win32 + {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|x64.ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Win32.ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Win32.Build.0 = Release|Win32 + {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|x64.ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Win32.ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Win32.Build.0 = Debug|Win32 + {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|x64.ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Win32.ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Win32.Build.0 = Release|Win32 + {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|x64.ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Win32.ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Win32.Build.0 = Debug|Win32 + {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|x64.ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Win32.ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Win32.Build.0 = Release|Win32 + {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|x64.ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Win32.ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Win32.Build.0 = Debug|Win32 + {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|x64.ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Win32.ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Win32.Build.0 = Release|Win32 + {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|x64.ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Win32.ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Win32.Build.0 = Debug|Win32 + {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|x64.ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Win32.ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Win32.Build.0 = Release|Win32 + {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|x64.ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Win32.ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Win32.Build.0 = Debug|Win32 + {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|x64.ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Win32.ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Win32.Build.0 = Release|Win32 + {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|x64.ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Win32.ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Win32.Build.0 = Debug|Win32 + {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|x64.ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Win32.ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Win32.Build.0 = Release|Win32 + {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|x64.ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.Build.0 = Debug|Win32 + {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|x64.ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Win32.ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Win32.Build.0 = Release|Win32 + {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|x64.ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Win32.ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Win32.Build.0 = Debug|Win32 + {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|x64.ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.Build.0 = Release|Win32 + {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|x64.ActiveCfg = Release|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.ActiveCfg = Debug DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.Build.0 = Debug DLL|Win32 + {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|x64.ActiveCfg = Debug DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.ActiveCfg = Release DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.Build.0 = Release DLL|Win32 + {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|x64.ActiveCfg = Release|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Win32.Build.0 = Debug Passthrough|Win32 + {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|x64.ActiveCfg = Debug|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Win32.Build.0 = Release Passthrough|Win32 + {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|x64.ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Win32.ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Win32.Build.0 = Debug|Win32 + {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|x64.ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Win32.ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Win32.Build.0 = Release|Win32 + {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|x64.ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Win32.ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Win32.Build.0 = Debug|Win32 + {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|x64.ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Win32.ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Win32.Build.0 = Release|Win32 + {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|x64.ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Win32.ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Win32.Build.0 = Debug|Win32 + {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|x64.ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.Build.0 = Release|Win32 + {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|x64.ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.Build.0 = Debug|Win32 + {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|x64.ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.Build.0 = Release|Win32 + {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|x64.ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.Build.0 = Debug|Win32 + {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|x64.ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.Build.0 = Release|Win32 + {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|x64.ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.Build.0 = Debug|Win32 + {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|x64.ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.Build.0 = Release|Win32 + {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|x64.ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.Build.0 = Debug|Win32 + {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|x64.ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Win32.ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Win32.Build.0 = Release|Win32 + {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|x64.ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Win32.ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Win32.Build.0 = Debug|Win32 + {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|x64.ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Win32.ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Win32.Build.0 = Release|Win32 + {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|x64.ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Win32.ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Win32.Build.0 = Debug|Win32 + {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|x64.ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Win32.ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Win32.Build.0 = Release|Win32 + {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|x64.ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Win32.ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Win32.Build.0 = Debug|Win32 + {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|x64.ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Win32.ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Win32.Build.0 = Release|Win32 + {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|x64.ActiveCfg = Release|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Win32.Build.0 = Debug Passthrough|Win32 + {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|x64.ActiveCfg = Debug|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Win32.Build.0 = Release Passthrough|Win32 + {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|x64.ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Win32.ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Win32.Build.0 = Debug|Win32 + {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|x64.ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Win32.ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Win32.Build.0 = Release|Win32 + {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|x64.ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Win32.ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Win32.Build.0 = Debug|Win32 + {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|x64.ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Win32.ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Win32.Build.0 = Release|Win32 + {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|x64.ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Win32.ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Win32.Build.0 = Debug|Win32 + {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|x64.ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Win32.ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Win32.Build.0 = Release|Win32 + {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|x64.ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Win32.ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Win32.Build.0 = Debug|Win32 + {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|x64.ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Win32.ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Win32.Build.0 = Release|Win32 + {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|x64.ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Win32.ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Win32.Build.0 = Debug|Win32 + {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|x64.ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Win32.ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Win32.Build.0 = Release|Win32 + {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|x64.ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Win32.ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Win32.Build.0 = Debug|Win32 + {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|x64.ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Win32.ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Win32.Build.0 = Release|Win32 + {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|x64.ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Win32.ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Win32.Build.0 = Debug|Win32 + {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|x64.ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Win32.ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Win32.Build.0 = Release|Win32 + {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|x64.ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Win32.ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Win32.Build.0 = Debug|Win32 + {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|x64.ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Win32.ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Win32.Build.0 = Release|Win32 + {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|x64.ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Win32.ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Win32.Build.0 = Debug|Win32 + {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|x64.ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Win32.ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Win32.Build.0 = Release|Win32 + {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|x64.ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Win32.ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Win32.Build.0 = Debug|Win32 + {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|x64.ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Win32.ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Win32.Build.0 = Release|Win32 + {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|x64.ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Win32.ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Win32.Build.0 = Debug|Win32 + {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|x64.ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Win32.ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Win32.Build.0 = Release|Win32 + {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|x64.ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Win32.ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Win32.Build.0 = Debug|Win32 + {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|x64.ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|Win32.ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|Win32.Build.0 = Release|Win32 + {F6A33240-8F29-48BD-98F0-826995911799}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|x64.ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Win32.ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Win32.Build.0 = Debug|Win32 + {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|x64.ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Win32.ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Win32.Build.0 = Release|Win32 + {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|x64.ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Win32.ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Win32.Build.0 = Debug|Win32 + {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|x64.ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Win32.ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Win32.Build.0 = Release|Win32 + {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|x64.ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Win32.ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Win32.Build.0 = Debug|Win32 + {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|x64.ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Win32.ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Win32.Build.0 = Release|Win32 + {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|x64.ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Win32.ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Win32.Build.0 = Debug|Win32 + {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|x64.ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Win32.ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Win32.Build.0 = Release|Win32 + {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|x64.ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Win32.ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Win32.Build.0 = Debug|Win32 + {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|x64.ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Win32.ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Win32.Build.0 = Release|Win32 + {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|x64.ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.Build.0 = Debug|Win32 + {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|x64.ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.Build.0 = Release|Win32 + {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|x64.ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Win32.ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Win32.Build.0 = Debug|Win32 + {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|x64.ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Win32.ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Win32.Build.0 = Release|Win32 + {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|x64.ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Win32.ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Win32.Build.0 = Debug|Win32 + {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|x64.ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Win32.ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Win32.Build.0 = Release|Win32 + {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|x64.ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Win32.ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Win32.Build.0 = Debug|Win32 + {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|x64.ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.Build.0 = Release|Win32 + {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|x64.ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.Build.0 = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.Build.0 = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.Build.0 = Debug|Win32 + {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.Build.0 = Release|Win32 + {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.Build.0 = Debug|Win32 + {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.Build.0 = Release|Win32 + {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.Build.0 = Debug|Win32 + {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.Build.0 = Release|Win32 + {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.Build.0 = Debug|Win32 + {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.Build.0 = Release|Win32 + {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Win32.ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Win32.Build.0 = Debug|Win32 + {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|x64.ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Win32.ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Win32.Build.0 = Release|Win32 + {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|x64.ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Win32.ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Win32.Build.0 = Debug|Win32 + {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|x64.ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|Win32.ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|Win32.Build.0 = Release|Win32 + {2DEE4895-1134-439C-B688-52203E57D878}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|x64.ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Win32.ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Win32.Build.0 = Debug|Win32 + {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|x64.ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Win32.ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Win32.Build.0 = Release|Win32 + {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|x64.ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Win32.ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Win32.Build.0 = Debug|Win32 + {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|x64.ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Win32.ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Win32.Build.0 = Release|Win32 + {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|x64.ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Win32.ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Win32.Build.0 = Debug|Win32 + {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|x64.ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|Win32.ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|Win32.Build.0 = Release|Win32 + {94001A0E-A837-445C-8004-F918F10D0226}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|x64.ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Win32.ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Win32.Build.0 = Debug|Win32 + {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|x64.ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Win32.ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Win32.Build.0 = Release|Win32 + {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|x64.ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Win32.ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Win32.Build.0 = Debug|Win32 + {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|x64.ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Win32.ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Win32.Build.0 = Release|Win32 + {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|x64.ActiveCfg = Release|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|Win32.ActiveCfg = Debug|Win32 + {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|x64.ActiveCfg = Debug|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|Win32.ActiveCfg = Release|Win32 + {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|x64.ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Win32.ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Win32.Build.0 = Debug|Win32 + {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|x64.ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Win32.ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Win32.Build.0 = Release|Win32 + {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|x64.ActiveCfg = Release|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|Win32.ActiveCfg = Debug|Win32 + {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|x64.ActiveCfg = Debug|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|Win32.ActiveCfg = Release|Win32 + {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|x64.ActiveCfg = Release|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|Win32.ActiveCfg = Debug|Win32 + {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|x64.ActiveCfg = Debug|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|Win32.ActiveCfg = Release|Win32 + {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|x64.ActiveCfg = Release|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|Win32.ActiveCfg = Debug|Win32 + {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|x64.ActiveCfg = Debug|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Release|Win32.ActiveCfg = Release|Win32 + {464AAB78-5489-4916-BE51-BF8D61822311}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Release|x64.ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Win32.ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Win32.Build.0 = Debug|Win32 + {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|x64.ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Win32.ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Win32.Build.0 = Release|Win32 + {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|x64.ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Win32.ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Win32.Build.0 = Debug|Win32 + {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|x64.ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Win32.ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Win32.Build.0 = Release|Win32 + {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Win32.Build.0 = Debug|Win32 + {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Win32.Build.0 = Release|Win32 + {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Win32.Build.0 = Debug|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Win32.Build.0 = Release|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Win32.Build.0 = Debug|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Win32.Build.0 = Release|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Win32.Build.0 = Debug|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Win32.Build.0 = Release|Win32 + {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|x64.ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Win32.ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Win32.Build.0 = Debug|Win32 + {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|x64.ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Win32.ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Win32.Build.0 = Release|Win32 + {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|x64.ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Win32.ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Win32.Build.0 = Debug|Win32 + {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|x64.ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Win32.ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Win32.Build.0 = Release|Win32 + {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|x64.ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Win32.ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Win32.Build.0 = Debug|Win32 + {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|x64.ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Win32.ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Win32.Build.0 = Release|Win32 + {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|x64.ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Win32.ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Win32.Build.0 = Debug|Win32 + {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|x64.ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Win32.ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Win32.Build.0 = Release|Win32 + {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|x64.ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Win32.ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Win32.Build.0 = Debug|Win32 + {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|x64.ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.Build.0 = Release|Win32 + {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|x64.ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.Build.0 = Debug|Win32 + {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|x64.ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.Build.0 = Release|Win32 + {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|x64.ActiveCfg = Release|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Win32.ActiveCfg = Debug_CLR|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Win32.Build.0 = Debug_CLR|Win32 + {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|x64.ActiveCfg = Debug_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|Win32.ActiveCfg = Release_CLR|Win32 + {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|x64.ActiveCfg = Release_Mono|Win32 {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Win32.ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Win32.Build.0 = Debug|Any CPU + {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|x64.ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.ActiveCfg = Release|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.Build.0 = Release|Any CPU + {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|x64.ActiveCfg = Release|Any CPU {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.Build.0 = Debug|Win32 + {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Debug|x64.ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|Win32.ActiveCfg = Release|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|Win32.Build.0 = Release|Win32 + {E796E337-DE78-4303-8614-9A590862EE95}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|x64.ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Win32.ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Win32.Build.0 = Debug|Win32 + {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|x64.ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Win32.ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Win32.Build.0 = Release|Win32 + {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|x64.ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Win32.ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Win32.Build.0 = Debug|Win32 + {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|x64.ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Win32.ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Win32.Build.0 = Release|Win32 + {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|x64.ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Win32.ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Win32.Build.0 = Debug|Win32 + {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|x64.ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.Build.0 = Release|Win32 + {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|x64.ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.Build.0 = Debug|Win32 + {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|x64.ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.Build.0 = Release|Win32 + {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|x64.ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.Build.0 = Debug|Win32 + {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|x64.ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.Build.0 = Release|Win32 + {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|x64.ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.Build.0 = Debug|Win32 + {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|x64.ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.Build.0 = Release|Win32 + {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|x64.ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.Build.0 = Debug|Win32 + {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|x64.ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.Build.0 = Release|Win32 + {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|x64.ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Win32.ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Win32.Build.0 = Debug|Win32 + {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|x64.ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Win32.ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Win32.Build.0 = Release|Win32 + {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|x64.ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Win32.ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Win32.Build.0 = Debug|Win32 + {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|x64.ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Win32.ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Win32.Build.0 = Release|Win32 + {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|x64.ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Win32.ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Win32.Build.0 = Debug|Win32 + {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|x64.ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Win32.ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Win32.Build.0 = Release|Win32 + {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|x64.ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.Build.0 = Debug|Win32 + {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|x64.ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Win32.ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Win32.Build.0 = Release|Win32 + {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|x64.ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.Build.0 = Debug|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|x64.ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.Build.0 = Release|Win32 + {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|x64.ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Win32.ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Win32.Build.0 = Debug|Win32 + {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|x64.ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.Build.0 = Release|Win32 + {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|x64.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|x64.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|x64.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1791,7 +2047,6 @@ {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {49C34584-B6DA-448F-83CF-27584DC9FC90} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} @@ -1819,6 +2074,7 @@ {CF405366-9558-4AE8-90EF-5E21B51CCB4E} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {5927104D-C14C-4AC8-925C-4AB681762E75} = {C120A020-773F-4EA3-923F-B67AF28B750D} {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D} {4F92B672-DADB-4047-8D6A-4BB3796733FD} = {C120A020-773F-4EA3-923F-B67AF28B750D} Modified: freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj Fri Feb 13 01:15:56 2009 @@ -49,9 +49,9 @@ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_CONFIG_H" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" DebugInformationFormat="4" CompileAs="1" /> @@ -194,10 +194,10 @@ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_CONFIG_H" StringPooling="true" ExceptionHandling="0" - RuntimeLibrary="0" + RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" DebugInformationFormat="3" CompileAs="1" DisableSpecificWarnings="4244;4305;4311;4100;4127" @@ -1406,6 +1406,10 @@ > + + @@ -1522,6 +1526,10 @@ > + + From anthm at freeswitch.org Fri Feb 13 07:26:48 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 09:26:48 -0600 Subject: [Freeswitch-svn] [commit] r11983 - freeswitch/trunk/src/mod/languages/mod_spidermonkey Message-ID: Author: anthm Date: Fri Feb 13 09:26:48 2009 New Revision: 11983 Log: block some unwanted behaviours regarding session.originate Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Fri Feb 13 09:26:48 2009 @@ -2853,6 +2853,14 @@ jss = JS_GetPrivate(cx, obj); jss->cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "This method is depricated, please use new Session(\"\", a_leg) \n"); + + if (jss->session) { + eval_some_js("~throw new Error(\"cannot call this method on an initialized session\");", cx, obj, rval); + return JS_FALSE; + } + if (argc > 1) { JSObject *session_obj; switch_core_session_t *session = NULL, *peer_session = NULL; @@ -2876,7 +2884,19 @@ if (JS_ValueToObject(cx, argv[0], &session_obj)) { struct js_session *old_jss = NULL; - if (session_obj && (old_jss = JS_GetPrivate(cx, session_obj)) && old_jss->session) { + if (session_obj && (old_jss = JS_GetPrivate(cx, session_obj))) { + + if (old_jss == jss) { + eval_some_js("~throw new Error(\"Supplied a_leg session is the same as our session\");", cx, obj, rval); + return JS_FALSE; + + }; + + if (!old_jss->session) { + eval_some_js("~throw new Error(\"Supplied a_leg session is not initilaized!\");", cx, obj, rval); + return JS_FALSE; + } + session = old_jss->session; orig_caller_profile = switch_channel_get_caller_profile(switch_core_session_get_channel(session)); dialplan = orig_caller_profile->dialplan; @@ -2888,6 +2908,7 @@ context = orig_caller_profile->context; username = orig_caller_profile->username; } + } if (!switch_strlen_zero(jss->dialplan)) From mrene at freeswitch.org Fri Feb 13 07:31:11 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 09:31:11 -0600 Subject: [Freeswitch-svn] [commit] r11984 - freeswitch/trunk/src/mod/languages/mod_spidermonkey Message-ID: Author: mrene Date: Fri Feb 13 09:31:11 2009 New Revision: 11984 Log: s/depricated/deprecated/ Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Fri Feb 13 09:31:11 2009 @@ -2854,7 +2854,7 @@ jss->cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "This method is depricated, please use new Session(\"\", a_leg) \n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "This method is deprecated, please use new Session(\"\", a_leg) \n"); if (jss->session) { eval_some_js("~throw new Error(\"cannot call this method on an initialized session\");", cx, obj, rval); From mrene at freeswitch.org Fri Feb 13 09:05:16 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 11:05:16 -0600 Subject: [Freeswitch-svn] [commit] r11985 - freeswitch/trunk/scripts Message-ID: Author: mrene Date: Fri Feb 13 11:05:16 2009 New Revision: 11985 Log: GDB Macros FTW Added: freeswitch/trunk/scripts/gdbinit Added: freeswitch/trunk/scripts/gdbinit ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/gdbinit Fri Feb 13 11:05:16 2009 @@ -0,0 +1,12 @@ +# FreeSWITCH Custom GDB commands +define list_sessions + printf "Listing sessions: \n" + set $i = 0 + set $x=session_manager.session_table->table->first + while($x != 0x0) + printf "uuid %s is at %p\n", $x->pKey, $x->data + set $x = $x->next + set $i = $i + 1 + end + printf "Found %d sessions.\n", $i +end \ No newline at end of file From mrene at freeswitch.org Fri Feb 13 09:09:52 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 11:09:52 -0600 Subject: [Freeswitch-svn] [commit] r11986 - in freeswitch/trunk: scripts src/mod/applications/mod_limit support-d Message-ID: Author: mrene Date: Fri Feb 13 11:09:52 2009 New Revision: 11986 Log: move gdbinit to support-d Added: freeswitch/trunk/support-d/.gdbinit (props changed) - copied unchanged from r11985, /freeswitch/trunk/scripts/gdbinit Removed: freeswitch/trunk/scripts/gdbinit Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Fri Feb 13 11:09:52 2009 @@ -703,7 +703,6 @@ #define LIMIT_USAGE " [ [number [dialplan [context]]]]" #define LIMIT_DESC "limit access to a resource and transfer to an extension if the limit is exceeded" -static char *limit_def_xfer_exten = "limit_exceeded"; SWITCH_STANDARD_APP(limit_function) { @@ -748,7 +747,7 @@ if (argc >= 4) { xfer_exten = argv[3]; } else { - xfer_exten = limit_def_xfer_exten; + xfer_exten = NULL; } @@ -764,7 +763,7 @@ switch_safe_free(sql); got = atoi(buf); - if (max >= 0 && got + 1 > max) { + if (max >= 0 && xfer_exten && got + 1 > max) { switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); goto done; } From mrene at freeswitch.org Fri Feb 13 09:10:51 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 11:10:51 -0600 Subject: [Freeswitch-svn] [commit] r11987 - freeswitch/trunk/src/mod/applications/mod_limit Message-ID: Author: mrene Date: Fri Feb 13 11:10:51 2009 New Revision: 11987 Log: doh Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Fri Feb 13 11:10:51 2009 @@ -703,6 +703,7 @@ #define LIMIT_USAGE " [ [number [dialplan [context]]]]" #define LIMIT_DESC "limit access to a resource and transfer to an extension if the limit is exceeded" +static char *limit_def_xfer_exten = "limit_exceeded"; SWITCH_STANDARD_APP(limit_function) { @@ -747,7 +748,7 @@ if (argc >= 4) { xfer_exten = argv[3]; } else { - xfer_exten = NULL; + xfer_exten = limit_def_xfer_exten; } @@ -763,7 +764,7 @@ switch_safe_free(sql); got = atoi(buf); - if (max >= 0 && xfer_exten && got + 1 > max) { + if (max >= 0 && got + 1 > max) { switch_ivr_session_transfer(session, xfer_exten, argv[4], argv[5]); goto done; } From mikej at freeswitch.org Fri Feb 13 09:43:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 11:43:34 -0600 Subject: [Freeswitch-svn] [commit] r11988 - freeswitch/trunk Message-ID: Author: mikej Date: Fri Feb 13 11:43:34 2009 New Revision: 11988 Log: speexdsp build for core Modified: freeswitch/trunk/Makefile.am Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Fri Feb 13 11:43:34 2009 @@ -148,7 +148,7 @@ CORE_CFLAGS += $(RESAMPLE_CFLAGS) CORE_LIBS = libs/apr-util/libaprutil-1.la libs/apr/libapr-1.la -CORE_LIBS += libs/sqlite/libsqlite3.la libs/pcre/libpcre.la +CORE_LIBS += libs/sqlite/libsqlite3.la libs/pcre/libpcre.la libs/speex/libspeex/libspeexdsp.la CORE_LIBS += libs/srtp/libsrtp.la $(RESAMPLE_LIB) lib_LTLIBRARIES = libfreeswitch.la @@ -293,6 +293,10 @@ @cd libs/apr-util && $(MAKE) @$(TOUCH_TARGET) +libs/speex/libspeex/libspeexdsp.la: libs/speex/.update + @cd libs/speex && $(MAKE) + @$(TOUCH_TARGET) + libs/sqlite/libsqlite3.la: libs/sqlite libs/sqlite/.update @cd libs/sqlite && $(MAKE) CFLAGS="$(SWITCH_AM_CFLAGS)" @$(TOUCH_TARGET) @@ -362,6 +366,11 @@ cd libs/sofia-sip && $(MAKE) -j $(MAKE) -j modules +speex-reconf: + cd libs/speex && autoreconf + cd libs/speex && ./config.status --recheck + cd libs/speex && ./config.status + python-reconf: rm -f src/mod/languages/mod_python/Makefile ./config.status From mikej at freeswitch.org Fri Feb 13 09:44:55 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 11:44:55 -0600 Subject: [Freeswitch-svn] [commit] r11989 - freeswitch/trunk Message-ID: Author: mikej Date: Fri Feb 13 11:44:55 2009 New Revision: 11989 Log: speexdsp build for core Modified: freeswitch/trunk/Makefile.am Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Fri Feb 13 11:44:55 2009 @@ -143,6 +143,7 @@ CORE_CFLAGS += -I$(switch_srcdir)/libs/stfu CORE_CFLAGS += -I$(switch_srcdir)/libs/sqlite CORE_CFLAGS += -I$(switch_srcdir)/libs/pcre +CORE_CFLAGS += -I$(switch_srcdir)/libs/speex/include CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/include CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/crypto/include CORE_CFLAGS += $(RESAMPLE_CFLAGS) From mikej at freeswitch.org Fri Feb 13 10:51:11 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 12:51:11 -0600 Subject: [Freeswitch-svn] [commit] r11990 - in freeswitch/trunk: . libs/speex libs/speex/win32/VS2008/libspeex libs/speex/win32/VS2008/libspeexdsp w32/Library Message-ID: Author: mikej Date: Fri Feb 13 12:51:10 2009 New Revision: 11990 Log: add libspeexdsp to core on windows build Modified: freeswitch/trunk/Freeswitch.2008.express.sln freeswitch/trunk/Freeswitch.2008.sln freeswitch/trunk/libs/speex/ (props changed) freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/ (props changed) freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj Changes in other areas also in this revision: Modified: freeswitch/trunk/ (props changed) Modified: freeswitch/trunk/Freeswitch.2008.express.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.express.sln (original) +++ freeswitch/trunk/Freeswitch.2008.express.sln Fri Feb 13 12:51:10 2009 @@ -13,6 +13,7 @@ {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EEF031CB-FED8-451E-A471-91EC8D4F6750} {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} @@ -47,6 +48,7 @@ ProjectSection(ProjectDependencies) = postProject {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "docs", "docs\docs.2008.vcproj", "{1A1FF289-4FD6-4285-A422-D31DD67A4723}" @@ -594,6 +596,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\speex\win32\VS2008\libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libs\speex\win32\VS2008\libspeexdsp\libspeexdsp.vcproj", "{03207781-0D1C-4DB3-A71D-45C608F28DBD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1333,6 +1337,12 @@ {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|x64.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Win32.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Win32.Build.0 = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|x64.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Win32.ActiveCfg = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Win32.Build.0 = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: freeswitch/trunk/Freeswitch.2008.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.sln (original) +++ freeswitch/trunk/Freeswitch.2008.sln Fri Feb 13 12:51:10 2009 @@ -386,6 +386,7 @@ {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EEF031CB-FED8-451E-A471-91EC8D4F6750} {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} @@ -420,6 +421,7 @@ ProjectSection(ProjectDependencies) = postProject {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {03207781-0D1C-4DB3-A71D-45C608F28DBD} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "docs", "docs\docs.2008.vcproj", "{1A1FF289-4FD6-4285-A422-D31DD67A4723}" @@ -972,1007 +974,759 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\speex\win32\VS2008\libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libs\speex\win32\VS2008\libspeexdsp\libspeexdsp.vcproj", "{03207781-0D1C-4DB3-A71D-45C608F28DBD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 - Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 - Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.Build.0 = Debug|Win32 - {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|x64.ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.ActiveCfg = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.Build.0 = Release|Win32 - {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|x64.ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.Build.0 = Debug|Win32 - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|x64.ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.Build.0 = Release|Win32 - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|x64.ActiveCfg = Release|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.Build.0 = Debug Passthrough|Win32 - {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|x64.ActiveCfg = Debug|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.Build.0 = Release Passthrough|Win32 - {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|x64.ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Win32.ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Win32.Build.0 = Debug|Win32 - {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Debug|x64.ActiveCfg = Debug|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.Build.0 = Release|Win32 - {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|x64.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.Build.0 = Debug|Win32 - {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|x64.ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.Build.0 = Release|Win32 - {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|x64.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.Build.0 = Debug|Win32 - {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|x64.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.Build.0 = Release|Win32 - {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|x64.ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Win32.ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Win32.Build.0 = Debug|Win32 - {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Debug|x64.ActiveCfg = Debug|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.Build.0 = Release|Win32 - {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|x64.ActiveCfg = Release|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|Win32.ActiveCfg = Debug|Win32 - {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|x64.ActiveCfg = Debug|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|Win32.ActiveCfg = Release|Win32 - {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|x64.ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Win32.ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Win32.Build.0 = Debug|Win32 - {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Debug|x64.ActiveCfg = Debug|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.Build.0 = Release|Win32 - {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|x64.ActiveCfg = Release|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Win32.ActiveCfg = Debug MS-LDAP|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Win32.Build.0 = Debug MS-LDAP|Win32 - {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Debug|x64.ActiveCfg = Debug|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Win32.ActiveCfg = Release MS-LDAP|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Win32.Build.0 = Release MS-LDAP|Win32 - {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {EC3E5C7F-EE09-47E2-80FE-546363D14A98}.Release|x64.ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Win32.ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Win32.Build.0 = Debug|Win32 - {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Debug|x64.ActiveCfg = Debug|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Win32.ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Win32.Build.0 = Release|Win32 - {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {A27CCA23-1541-4337-81A4-F0A6413078A0}.Release|x64.ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Win32.ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Win32.Build.0 = Debug|Win32 - {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Debug|x64.ActiveCfg = Debug|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Win32.ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Win32.Build.0 = Release|Win32 - {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {C7705DC4-2088-493E-AF8D-65BC6D65C125}.Release|x64.ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Win32.ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Win32.Build.0 = Debug|Win32 - {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|x64.ActiveCfg = Debug|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.Build.0 = Release|Win32 - {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {784113EF-44D9-4949-835D-7065D3C7AD08}.Release|x64.ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.Build.0 = Debug|Win32 - {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|x64.ActiveCfg = Debug|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.Build.0 = Release|Win32 - {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|x64.ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.Build.0 = Debug|Win32 - {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|x64.ActiveCfg = Debug|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.Build.0 = Release|Win32 - {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|x64.ActiveCfg = Release|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|Win32.ActiveCfg = Debug|Win32 - {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|x64.ActiveCfg = Debug|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Win32.ActiveCfg = Release|Win32 - {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {692F6330-4D87-4C82-81DF-40DB5892636E}.Release|x64.ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.Build.0 = Debug|Win32 - {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|x64.ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Win32.ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Win32.Build.0 = Release|Win32 - {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Release|x64.ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Win32.ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Win32.Build.0 = Debug|Win32 - {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Debug|x64.ActiveCfg = Debug|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Win32.ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Win32.Build.0 = Release|Win32 - {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}.Release|x64.ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Win32.ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Win32.Build.0 = Debug|Win32 - {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Debug|x64.ActiveCfg = Debug|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Win32.ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Win32.Build.0 = Release|Win32 - {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {30A5B29C-983E-4580-9FD0-D647CCDCC7EB}.Release|x64.ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Win32.ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Win32.Build.0 = Debug|Win32 - {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Debug|x64.ActiveCfg = Debug|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Win32.ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Win32.Build.0 = Release|Win32 - {1C453396-D912-4213-89FD-9B489162B7B5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1C453396-D912-4213-89FD-9B489162B7B5}.Release|x64.ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Win32.ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Win32.Build.0 = Debug|Win32 - {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Debug|x64.ActiveCfg = Debug|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Win32.ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Win32.Build.0 = Release|Win32 - {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CBEC7225-0C21-4DA8-978E-1F158F8AD950}.Release|x64.ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Win32.ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Win32.Build.0 = Debug|Win32 - {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|x64.ActiveCfg = Debug|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.Build.0 = Release|Win32 - {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|x64.ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.Build.0 = Debug|Win32 - {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Debug|x64.ActiveCfg = Debug|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.Build.0 = Release|Win32 - {C24FB505-05D7-4319-8485-7540B44C8603}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {C24FB505-05D7-4319-8485-7540B44C8603}.Release|x64.ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.Build.0 = Debug|Win32 - {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|x64.ActiveCfg = Debug|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.Build.0 = Release|Win32 - {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|x64.ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Win32.ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Win32.Build.0 = Debug|Win32 - {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Debug|x64.ActiveCfg = Debug|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.Build.0 = Release|Win32 - {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {05515420-16DE-4E63-BE73-85BE85BA5142}.Release|x64.ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Win32.ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Win32.Build.0 = Debug|Win32 - {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Debug|x64.ActiveCfg = Debug|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.Build.0 = Release|Win32 - {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|x64.ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.Build.0 = Debug|Win32 - {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|x64.ActiveCfg = Debug|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Win32.ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Win32.Build.0 = Release|Win32 - {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1906D736-08BD-4EE1-924F-B536249B9A54}.Release|x64.ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Win32.ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Win32.Build.0 = Debug|Win32 - {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Debug|x64.ActiveCfg = Debug|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Win32.ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Win32.Build.0 = Release|Win32 - {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {EEF031CB-FED8-451E-A471-91EC8D4F6750}.Release|x64.ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Win32.ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Win32.Build.0 = Debug|Win32 - {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Debug|x64.ActiveCfg = Debug|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Win32.ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Win32.Build.0 = Release|Win32 - {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}.Release|x64.ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Win32.ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Win32.Build.0 = Debug|Win32 - {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Debug|x64.ActiveCfg = Debug|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Win32.ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Win32.Build.0 = Release|Win32 - {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8D04B550-D240-4A44-8A18-35DA3F7038D9}.Release|x64.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Win32.Build.0 = Debug|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Debug|x64.ActiveCfg = Debug|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 - {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.Build.0 = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|x64.ActiveCfg = Debug|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.Build.0 = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|x64.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.Build.0 = Debug|Win32 - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|x64.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.Build.0 = Release|Win32 - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|x64.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.Build.0 = Debug|Win32 - {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|x64.ActiveCfg = Debug|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.Build.0 = Release|Win32 - {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|x64.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.Build.0 = Debug|Win32 - {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|x64.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Win32.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Win32.Build.0 = Release|Win32 - {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Release|x64.ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Win32.ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Win32.Build.0 = Debug|Win32 - {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Debug|x64.ActiveCfg = Debug|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Win32.ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Win32.Build.0 = Release|Win32 - {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5927104D-C14C-4AC8-925C-4AB681762E75}.Release|x64.ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Win32.ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Win32.Build.0 = Debug|Win32 - {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Debug|x64.ActiveCfg = Debug|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Win32.ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Win32.Build.0 = Release|Win32 - {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0D826AF5-0506-4C50-BB8B-7DB019AC21AE}.Release|x64.ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Win32.ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Win32.Build.0 = Debug|Win32 - {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Debug|x64.ActiveCfg = Debug|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Win32.ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Win32.Build.0 = Release|Win32 - {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {49C34584-B6DA-448F-83CF-27584DC9FC90}.Release|x64.ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Win32.ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Win32.Build.0 = Debug|Win32 - {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Debug|x64.ActiveCfg = Debug|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Win32.ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Win32.Build.0 = Release|Win32 - {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3D0370CA-BED2-4657-A475-32375CBCB6E4}.Release|x64.ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Win32.ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Win32.Build.0 = Debug|Win32 - {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Debug|x64.ActiveCfg = Debug|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Win32.ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Win32.Build.0 = Release|Win32 - {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {87EE9DA4-DE1E-4448-8324-183C98DCA588}.Release|x64.ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Win32.ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Win32.Build.0 = Debug|Win32 - {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Debug|x64.ActiveCfg = Debug|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Win32.ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Win32.Build.0 = Release|Win32 - {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {155844C3-EC5F-407F-97A4-A2DDADED9B2F}.Release|x64.ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Win32.ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Win32.Build.0 = Debug|Win32 - {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Debug|x64.ActiveCfg = Debug|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Win32.ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Win32.Build.0 = Release|Win32 - {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {204FA0DE-305D-4414-AE2E-F195A23F390D}.Release|x64.ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Win32.ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Win32.Build.0 = Debug|Win32 - {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Debug|x64.ActiveCfg = Debug|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Win32.ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Win32.Build.0 = Release|Win32 - {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0DF3ABD0-DDC0-4265-B778-07C66780979B}.Release|x64.ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.Build.0 = Debug|Win32 - {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|x64.ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Win32.ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Win32.Build.0 = Release|Win32 - {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Release|x64.ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Win32.ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Win32.Build.0 = Debug|Win32 - {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|x64.ActiveCfg = Debug|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.Build.0 = Release|Win32 - {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|x64.ActiveCfg = Release|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.ActiveCfg = Debug DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.Build.0 = Debug DLL|Win32 - {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|x64.ActiveCfg = Debug DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.ActiveCfg = Release DLL|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.Build.0 = Release DLL|Win32 - {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|x64.ActiveCfg = Release|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Win32.Build.0 = Debug Passthrough|Win32 - {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|x64.ActiveCfg = Debug|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Win32.Build.0 = Release Passthrough|Win32 - {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Release|x64.ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Win32.ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Win32.Build.0 = Debug|Win32 - {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Debug|x64.ActiveCfg = Debug|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Win32.ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Win32.Build.0 = Release|Win32 - {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {9254C4B0-6F60-42B6-BB3A-36D63FC001C7}.Release|x64.ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Win32.ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Win32.Build.0 = Debug|Win32 - {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Debug|x64.ActiveCfg = Debug|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Win32.ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Win32.Build.0 = Release|Win32 - {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {ACFFF684-4D19-4D48-AF12-88EA1D778BDF}.Release|x64.ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Win32.ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Win32.Build.0 = Debug|Win32 - {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|x64.ActiveCfg = Debug|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.Build.0 = Release|Win32 - {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|x64.ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.Build.0 = Debug|Win32 - {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|x64.ActiveCfg = Debug|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.Build.0 = Release|Win32 - {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|x64.ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.Build.0 = Debug|Win32 - {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|x64.ActiveCfg = Debug|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.Build.0 = Release|Win32 - {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|x64.ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.Build.0 = Debug|Win32 - {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|x64.ActiveCfg = Debug|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.Build.0 = Release|Win32 - {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|x64.ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.Build.0 = Debug|Win32 - {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|x64.ActiveCfg = Debug|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Win32.ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Win32.Build.0 = Release|Win32 - {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Release|x64.ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Win32.ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Win32.Build.0 = Debug|Win32 - {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Debug|x64.ActiveCfg = Debug|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Win32.ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Win32.Build.0 = Release|Win32 - {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {988CACF7-3FCB-4992-BE69-77872AE67DC8}.Release|x64.ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Win32.ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Win32.Build.0 = Debug|Win32 - {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Debug|x64.ActiveCfg = Debug|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Win32.ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Win32.Build.0 = Release|Win32 - {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0A18A071-125E-442F-AFF7-A3F68ABECF99}.Release|x64.ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Win32.ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Win32.Build.0 = Debug|Win32 - {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Debug|x64.ActiveCfg = Debug|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Win32.ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Win32.Build.0 = Release|Win32 - {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}.Release|x64.ActiveCfg = Release|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Win32.Build.0 = Debug Passthrough|Win32 - {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Debug|x64.ActiveCfg = Debug|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Win32.ActiveCfg = Release Passthrough|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Win32.Build.0 = Release Passthrough|Win32 - {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {8DEB383C-4091-4F42-A56F-C9E46D552D79}.Release|x64.ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Win32.ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Win32.Build.0 = Debug|Win32 - {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Debug|x64.ActiveCfg = Debug|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Win32.ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Win32.Build.0 = Release|Win32 - {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2C3C2423-234B-4772-8899-D3B137E5CA35}.Release|x64.ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Win32.ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Win32.Build.0 = Debug|Win32 - {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Debug|x64.ActiveCfg = Debug|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Win32.ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Win32.Build.0 = Release|Win32 - {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3850D93A-5F24-4922-BC1C-74D08C37C256}.Release|x64.ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Win32.ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Win32.Build.0 = Debug|Win32 - {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Debug|x64.ActiveCfg = Debug|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Win32.ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Win32.Build.0 = Release|Win32 - {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2CA40887-1622-46A1-A7F9-17FD7E7E545B}.Release|x64.ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Win32.ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Win32.Build.0 = Debug|Win32 - {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Debug|x64.ActiveCfg = Debug|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Win32.ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Win32.Build.0 = Release|Win32 - {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {028C7278-05D7-4E18-82FE-BE231B844F41}.Release|x64.ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Win32.ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Win32.Build.0 = Debug|Win32 - {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Debug|x64.ActiveCfg = Debug|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Win32.ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Win32.Build.0 = Release|Win32 - {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D7F1E3F2-A3F4-474C-8555-15122571AF52}.Release|x64.ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Win32.ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Win32.Build.0 = Debug|Win32 - {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Debug|x64.ActiveCfg = Debug|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Win32.ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Win32.Build.0 = Release|Win32 - {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {5BC072DB-3826-48EA-AF34-FE32AA01E83B}.Release|x64.ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Win32.ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Win32.Build.0 = Debug|Win32 - {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Debug|x64.ActiveCfg = Debug|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Win32.ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Win32.Build.0 = Release|Win32 - {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {FA429E98-8B03-45E6-A096-A4BC5E821DE4}.Release|x64.ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Win32.ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Win32.Build.0 = Debug|Win32 - {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Debug|x64.ActiveCfg = Debug|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Win32.ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Win32.Build.0 = Release|Win32 - {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {06E3A538-AB32-44F2-B477-755FF9CB5D37}.Release|x64.ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Win32.ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Win32.Build.0 = Debug|Win32 - {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Debug|x64.ActiveCfg = Debug|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Win32.ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Win32.Build.0 = Release|Win32 - {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05}.Release|x64.ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Win32.ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Win32.Build.0 = Debug|Win32 - {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Debug|x64.ActiveCfg = Debug|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Win32.ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Win32.Build.0 = Release|Win32 - {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {A4B122CF-5196-476B-8C0E-D8BD59AC3C14}.Release|x64.ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Win32.ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Win32.Build.0 = Debug|Win32 - {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Debug|x64.ActiveCfg = Debug|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Win32.ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Win32.Build.0 = Release|Win32 - {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {75DF7F29-2FBF-47F7-B5AF-5B4952DC1ABD}.Release|x64.ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Win32.ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Win32.Build.0 = Debug|Win32 - {F6A33240-8F29-48BD-98F0-826995911799}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Debug|x64.ActiveCfg = Debug|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|Win32.ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|Win32.Build.0 = Release|Win32 - {F6A33240-8F29-48BD-98F0-826995911799}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {F6A33240-8F29-48BD-98F0-826995911799}.Release|x64.ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Win32.ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Win32.Build.0 = Debug|Win32 - {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Debug|x64.ActiveCfg = Debug|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Win32.ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Win32.Build.0 = Release|Win32 - {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {65A6273D-FCAB-4C55-B09E-65100141A5D4}.Release|x64.ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Win32.ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Win32.Build.0 = Debug|Win32 - {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Debug|x64.ActiveCfg = Debug|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Win32.ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Win32.Build.0 = Release|Win32 - {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24}.Release|x64.ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Win32.ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Win32.Build.0 = Debug|Win32 - {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Debug|x64.ActiveCfg = Debug|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Win32.ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Win32.Build.0 = Release|Win32 - {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D0BCAC02-D94B-46B8-9B49-CDDCC2BD7909}.Release|x64.ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Win32.ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Win32.Build.0 = Debug|Win32 - {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Debug|x64.ActiveCfg = Debug|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Win32.ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Win32.Build.0 = Release|Win32 - {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {44D7DEAF-FDA5-495E-8B9D-1439E4F4C21E}.Release|x64.ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Win32.ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Win32.Build.0 = Debug|Win32 - {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Debug|x64.ActiveCfg = Debug|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Win32.ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Win32.Build.0 = Release|Win32 - {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6FF941AC-82C5-429F-AA4C-AD2FB9E5DA52}.Release|x64.ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Win32.Build.0 = Debug|Win32 - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Debug|x64.ActiveCfg = Debug|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Win32.Build.0 = Release|Win32 - {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CF70F278-3364-4395-A2E1-23501C9B8AD2}.Release|x64.ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Win32.ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Win32.Build.0 = Debug|Win32 - {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Debug|x64.ActiveCfg = Debug|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Win32.ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Win32.Build.0 = Release|Win32 - {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {42B6C2E3-7D5F-4204-A1F6-C0376B86C315}.Release|x64.ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Win32.ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Win32.Build.0 = Debug|Win32 - {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Debug|x64.ActiveCfg = Debug|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Win32.ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Win32.Build.0 = Release|Win32 - {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E3246D17-E29B-4AB5-962A-C69B0C5837BB}.Release|x64.ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Win32.ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Win32.Build.0 = Debug|Win32 - {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Debug|x64.ActiveCfg = Debug|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.Build.0 = Release|Win32 - {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|x64.ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.Build.0 = Debug|Win32 - {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.Build.0 = Release|Win32 - {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Win32.Build.0 = Debug|Win32 - {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Debug|x64.ActiveCfg = Debug|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Win32.Build.0 = Release|Win32 - {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.Release|x64.ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Win32.Build.0 = Debug|Win32 - {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Debug|x64.ActiveCfg = Debug|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Win32.Build.0 = Release|Win32 - {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA}.Release|x64.ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Win32.Build.0 = Debug|Win32 - {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Debug|x64.ActiveCfg = Debug|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Win32.Build.0 = Release|Win32 - {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0D108721-EAE8-4BAF-8102-D8960EC93647}.Release|x64.ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Win32.Build.0 = Debug|Win32 - {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Debug|x64.ActiveCfg = Debug|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Win32.Build.0 = Release|Win32 - {B535402E-38D2-4D54-8360-423ACBD17192}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B535402E-38D2-4D54-8360-423ACBD17192}.Release|x64.ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Win32.ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Win32.Build.0 = Debug|Win32 - {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Debug|x64.ActiveCfg = Debug|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Win32.ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Win32.Build.0 = Release|Win32 - {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {4F92B672-DADB-4047-8D6A-4BB3796733FD}.Release|x64.ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Win32.ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Win32.Build.0 = Debug|Win32 - {2DEE4895-1134-439C-B688-52203E57D878}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Debug|x64.ActiveCfg = Debug|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|Win32.ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|Win32.Build.0 = Release|Win32 - {2DEE4895-1134-439C-B688-52203E57D878}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2DEE4895-1134-439C-B688-52203E57D878}.Release|x64.ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Win32.ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Win32.Build.0 = Debug|Win32 - {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Debug|x64.ActiveCfg = Debug|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Win32.ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Win32.Build.0 = Release|Win32 - {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {AF8163EE-FA76-4904-A11D-7D70A1B5BA2E}.Release|x64.ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Win32.ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Win32.Build.0 = Debug|Win32 - {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Debug|x64.ActiveCfg = Debug|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Win32.ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Win32.Build.0 = Release|Win32 - {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2F025EAD-99BD-40F5-B2CC-F0A28CAD7F2D}.Release|x64.ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Win32.ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Win32.Build.0 = Debug|Win32 - {94001A0E-A837-445C-8004-F918F10D0226}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Debug|x64.ActiveCfg = Debug|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|Win32.ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|Win32.Build.0 = Release|Win32 - {94001A0E-A837-445C-8004-F918F10D0226}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {94001A0E-A837-445C-8004-F918F10D0226}.Release|x64.ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Win32.ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Win32.Build.0 = Debug|Win32 - {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Debug|x64.ActiveCfg = Debug|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Win32.ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Win32.Build.0 = Release|Win32 - {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2286DA73-9FC5-45BC-A508-85994C3317AB}.Release|x64.ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Win32.ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Win32.Build.0 = Debug|Win32 - {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Debug|x64.ActiveCfg = Debug|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Win32.ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Win32.Build.0 = Release|Win32 - {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {3CE1DC99-8246-4DB1-A709-74F19F08EC67}.Release|x64.ActiveCfg = Release|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|Win32.ActiveCfg = Debug|Win32 - {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Debug|x64.ActiveCfg = Debug|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|Win32.ActiveCfg = Release|Win32 - {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {87A1FE3D-F410-4C8E-9591-8C625985BC70}.Release|x64.ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Win32.ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Win32.Build.0 = Debug|Win32 - {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Debug|x64.ActiveCfg = Debug|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Win32.ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Win32.Build.0 = Release|Win32 - {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7A8D8174-B355-4114-AFC1-04777CB9DE0A}.Release|x64.ActiveCfg = Release|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Debug|x64.ActiveCfg = Debug|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|Win32.ActiveCfg = Release|Win32 - {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7EB71250-F002-4ED8-92CA-CA218114537A}.Release|x64.ActiveCfg = Release|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|Win32.ActiveCfg = Debug|Win32 - {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Debug|x64.ActiveCfg = Debug|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|Win32.ActiveCfg = Release|Win32 - {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {6E49F6C2-ADDA-4BFB-81FE-AB9AF51B455F}.Release|x64.ActiveCfg = Release|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|Win32.ActiveCfg = Debug|Win32 - {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Debug|x64.ActiveCfg = Debug|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Release|Win32.ActiveCfg = Release|Win32 - {464AAB78-5489-4916-BE51-BF8D61822311}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {464AAB78-5489-4916-BE51-BF8D61822311}.Release|x64.ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Win32.ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Win32.Build.0 = Debug|Win32 - {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Debug|x64.ActiveCfg = Debug|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Win32.ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Win32.Build.0 = Release|Win32 - {0AD1177E-1FD8-4643-9391-431467A11084}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0AD1177E-1FD8-4643-9391-431467A11084}.Release|x64.ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Win32.ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Win32.Build.0 = Debug|Win32 - {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Debug|x64.ActiveCfg = Debug|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Win32.ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Win32.Build.0 = Release|Win32 - {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {66444AEE-554C-11DD-A9F0-8C5D56D89593}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Win32.Build.0 = Debug|Win32 - {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Win32.Build.0 = Release|Win32 - {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82FDD086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Win32.Build.0 = Debug|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Win32.Build.0 = Release|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB2086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Win32.Build.0 = Debug|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Win32.Build.0 = Release|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB3086DB1B}.Release|x64.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Win32.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Win32.Build.0 = Debug|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Debug|x64.ActiveCfg = Debug|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Win32.ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Win32.Build.0 = Release|Win32 - {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D5D2BF72-29FE-4982-A9FA-82AB1086DB1B}.Release|x64.ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Win32.ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Win32.Build.0 = Debug|Win32 - {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Debug|x64.ActiveCfg = Debug|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Win32.ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Win32.Build.0 = Release|Win32 - {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E316772F-5D8F-4F2A-8F71-094C3E859D34}.Release|x64.ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Win32.ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Win32.Build.0 = Debug|Win32 - {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Debug|x64.ActiveCfg = Debug|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Win32.ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Win32.Build.0 = Release|Win32 - {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D3D8B329-20BE-475E-9E83-653CEA0E0EF5}.Release|x64.ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Win32.ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Win32.Build.0 = Debug|Win32 - {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Debug|x64.ActiveCfg = Debug|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Win32.ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Win32.Build.0 = Release|Win32 - {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {38FE0559-9910-43A8-9E45-3E5004C27692}.Release|x64.ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Win32.ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Win32.Build.0 = Debug|Win32 - {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Debug|x64.ActiveCfg = Debug|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Win32.ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Win32.Build.0 = Release|Win32 - {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4}.Release|x64.ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Win32.ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Win32.Build.0 = Debug|Win32 - {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Debug|x64.ActiveCfg = Debug|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.Build.0 = Release|Win32 - {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|x64.ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.Build.0 = Debug|Win32 - {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|x64.ActiveCfg = Debug|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.Build.0 = Release|Win32 - {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|x64.ActiveCfg = Release|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Win32.ActiveCfg = Debug_CLR|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Win32.Build.0 = Debug_CLR|Win32 - {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Debug|x64.ActiveCfg = Debug_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|Win32.ActiveCfg = Release_CLR|Win32 - {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release_Mono|Win32 {7B42BDA1-72C0-4378-A9B6-5C530F8CD61E}.Release|x64.ActiveCfg = Release_Mono|Win32 {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Win32.ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Win32.Build.0 = Debug|Any CPU - {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|x64.ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.ActiveCfg = Release|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.Build.0 = Release|Any CPU - {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|x64.ActiveCfg = Release|Any CPU {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.Build.0 = Debug|Win32 - {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Debug|x64.ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|Win32.ActiveCfg = Release|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|Win32.Build.0 = Release|Win32 - {E796E337-DE78-4303-8614-9A590862EE95}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Release|x64.ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Win32.ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Win32.Build.0 = Debug|Win32 - {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Debug|x64.ActiveCfg = Debug|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Win32.ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Win32.Build.0 = Release|Win32 - {419C8F80-D858-4B48-A25C-AF4007608137}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {419C8F80-D858-4B48-A25C-AF4007608137}.Release|x64.ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Win32.ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Win32.Build.0 = Debug|Win32 - {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Debug|x64.ActiveCfg = Debug|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Win32.ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Win32.Build.0 = Release|Win32 - {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {B3F424EC-3D8F-417C-B244-3919D5E1A577}.Release|x64.ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Win32.ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Win32.Build.0 = Debug|Win32 - {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Debug|x64.ActiveCfg = Debug|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.Build.0 = Release|Win32 - {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|x64.ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.Build.0 = Debug|Win32 - {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|x64.ActiveCfg = Debug|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.Build.0 = Release|Win32 - {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|x64.ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.Build.0 = Debug|Win32 - {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|x64.ActiveCfg = Debug|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.Build.0 = Release|Win32 - {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {0B6C905B-142E-4999-B39D-92FF7951E921}.Release|x64.ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.Build.0 = Debug|Win32 - {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|x64.ActiveCfg = Debug|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.Build.0 = Release|Win32 - {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|x64.ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.Build.0 = Debug|Win32 - {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|x64.ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.Build.0 = Release|Win32 - {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|x64.ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Win32.ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Win32.Build.0 = Debug|Win32 - {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Debug|x64.ActiveCfg = Debug|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Win32.ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Win32.Build.0 = Release|Win32 - {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {329FD5B0-EF28-4606-86D0-F6EA21CF8E36}.Release|x64.ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Win32.ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Win32.Build.0 = Debug|Win32 - {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Debug|x64.ActiveCfg = Debug|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Win32.ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Win32.Build.0 = Release|Win32 - {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1A3793D1-05D1-4B57-9B0F-5AF3E79DC439}.Release|x64.ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Win32.ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Win32.Build.0 = Debug|Win32 - {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Debug|x64.ActiveCfg = Debug|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Win32.ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Win32.Build.0 = Release|Win32 - {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {2B8A45C9-FEB4-4734-AB37-8DB9DB899917}.Release|x64.ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Win32.Build.0 = Debug|Win32 - {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Debug|x64.ActiveCfg = Debug|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Win32.ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Win32.Build.0 = Release|Win32 - {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {401A40CD-5DB4-4E34-AC68-FA99E9FAC014}.Release|x64.ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Win32.Build.0 = Debug|Win32 - {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Debug|x64.ActiveCfg = Debug|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Win32.Build.0 = Release|Win32 - {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5}.Release|x64.ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Win32.ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Win32.Build.0 = Debug|Win32 - {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Debug|x64.ActiveCfg = Debug|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Win32.Build.0 = Release|Win32 - {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 {7877EFC8-4807-484B-B573-D7B7FD058FAA}.Release|x64.ActiveCfg = Release|Win32 {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|x64.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|x64.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Win32.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|Win32.Build.0 = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Debug|x64.ActiveCfg = Debug|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Win32.ActiveCfg = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|Win32.Build.0 = Release|Win32 + {03207781-0D1C-4DB3-A71D-45C608F28DBD}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2075,6 +1829,7 @@ {401A40CD-5DB4-4E34-AC68-FA99E9FAC014} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {1CBB0077-18C5-455F-801C-0A0CE7B0BBF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} + {03207781-0D1C-4DB3-A71D-45C608F28DBD} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {5927104D-C14C-4AC8-925C-4AB681762E75} = {C120A020-773F-4EA3-923F-B67AF28B750D} {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D} {4F92B672-DADB-4047-8D6A-4BB3796733FD} = {C120A020-773F-4EA3-923F-B67AF28B750D} Modified: freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeex/libspeex.vcproj Fri Feb 13 12:51:10 2009 @@ -1406,10 +1406,6 @@ > - - @@ -1438,14 +1434,6 @@ > - - - - @@ -1470,18 +1458,6 @@ > - - - - - - @@ -1502,10 +1478,6 @@ > - - @@ -1518,26 +1490,14 @@ > - - - - - - Modified: freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2008/libspeexdsp/libspeexdsp.vcproj Fri Feb 13 12:51:10 2009 @@ -47,7 +47,7 @@ BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="3" + WarningLevel="0" DebugInformationFormat="4" CompileAs="1" /> @@ -117,7 +117,7 @@ RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="3" + WarningLevel="0" DebugInformationFormat="3" CompileAs="1" DisableSpecificWarnings="4244;4305;4311;4100;4127" Modified: freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj ============================================================================== --- freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj (original) +++ freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj Fri Feb 13 12:51:10 2009 @@ -44,7 +44,7 @@ Author: mikej Date: Fri Feb 13 13:03:34 2009 New Revision: 11991 Log: fix msvc 2005 core warnings Modified: freeswitch/trunk/src/include/switch_resample.h freeswitch/trunk/src/switch_event.c freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/trunk/src/include/switch_resample.h (original) +++ freeswitch/trunk/src/include/switch_resample.h Fri Feb 13 13:03:34 2009 @@ -171,7 +171,7 @@ SWITCH_DECLARE(uint32_t) switch_merge_sln(int16_t *data, uint32_t samples, int16_t *other_data, uint32_t other_samples); -SWITCH_DECLARE(void) switch_mux_channels(int16_t *data, uint32_t samples, uint32_t channels); +SWITCH_DECLARE(void) switch_mux_channels(int16_t *data, switch_size_t samples, uint32_t channels); SWITCH_END_EXTERN_C #endif Modified: freeswitch/trunk/src/switch_event.c ============================================================================== --- freeswitch/trunk/src/switch_event.c (original) +++ freeswitch/trunk/src/switch_event.c Fri Feb 13 13:03:34 2009 @@ -933,7 +933,7 @@ switch_xml_t header = switch_xml_add_child_d(xml, name, offset); if (header) { - int encode_len = (strlen(value) * 3) + 1; + switch_size_t encode_len = (strlen(value) * 3) + 1; char *encode_buf = malloc(encode_len); switch_assert(encode_buf); Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Fri Feb 13 13:03:34 2009 @@ -239,7 +239,7 @@ for (i = 0; i < samples; i++, sum_rnd = 0) { for (x = 0; x < 10; x++) { - rnd += (int16_t)((x + i) * rnd2); + rnd = rnd + (int16_t)((x + i) * rnd2); sum_rnd += rnd; } switch_normalize_to_16bit(sum_rnd); @@ -271,11 +271,12 @@ return x; } -SWITCH_DECLARE(void) switch_mux_channels(int16_t *data, uint32_t samples, uint32_t channels) +SWITCH_DECLARE(void) switch_mux_channels(int16_t *data, switch_size_t samples, uint32_t channels) { int16_t *buf; switch_size_t len = samples * sizeof(int16_t); - uint32_t i = 0, j = 0, k = 0; + switch_size_t i = 0; + uint32_t j = 0, k = 0; switch_zmalloc(buf, len); From mikej at freeswitch.org Fri Feb 13 11:09:24 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 13:09:24 -0600 Subject: [Freeswitch-svn] [commit] r11992 - in freeswitch/trunk: . libs/speex/win32/VS2005/libspeex libs/speex/win32/VS2005/libspeexdsp Message-ID: Author: mikej Date: Fri Feb 13 13:09:24 2009 New Revision: 11992 Log: add libspeexdsp to core on windows msvc 2005 build Modified: freeswitch/trunk/Freeswitch.2005.unsupported.sln freeswitch/trunk/libs/speex/win32/VS2005/libspeex/ (props changed) freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/ (props changed) freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj Modified: freeswitch/trunk/Freeswitch.2005.unsupported.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2005.unsupported.sln (original) +++ freeswitch/trunk/Freeswitch.2005.unsupported.sln Fri Feb 13 13:09:24 2009 @@ -16,6 +16,7 @@ {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g729", "src\mod\codecs\mod_g729\mod_g729.vcproj", "{1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}" @@ -45,8 +46,9 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_speex", "src\mod\codecs\mod_speex\mod_speex.vcproj", "{5580D60E-0F77-4716-9CD4-B8E5986FA375}" ProjectSection(ProjectDependencies) = postProject - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {E972C52F-9E85-4D65-B19C-031E511E9DB4} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Codecs", "Codecs", "{F881ADA2-2F1A-4046-9FEB-191D9422D781}" @@ -214,8 +216,6 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Downloads", "_Downloads", "{C120A020-773F-4EA3-923F-B67AF28B750D}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\win32\speex\libspeex.vcproj", "{1C469CDD-A3AF-4A94-A592-B2CF12F2D918}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iksemel", "libs\win32\iksemel\iksemel.vcproj", "{E727E8F6-935D-46FE-8B0E-37834748A0E3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download HOWL", "libs\win32\Download HOWL.vcproj", "{5927104D-C14C-4AC8-925C-4AB681762E75}" @@ -803,6 +803,10 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_opal", "src\mod\endpoints\mod_opal\mod_opal_2005.vcproj", "{426B1369-FDB7-4B18-A7EF-9C6A9097A130}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libs\speex\win32\VS2005\libspeex\libspeex.vcproj", "{E972C52F-9E85-4D65-B19C-031E511E9DB4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeexdsp", "libs\speex\win32\VS2005\libspeexdsp\libspeexdsp.vcproj", "{E42FDC95-7243-4219-9EA4-ACCE4AB97197}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1017,12 +1021,6 @@ {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.ActiveCfg = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|Win32.Build.0 = Release|Win32 {F057DA7F-79E5-4B00-845C-EF446EF055E3}.Release|x64.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|Win32.Build.0 = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Debug|x64.ActiveCfg = Debug|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.ActiveCfg = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|Win32.Build.0 = Release|Win32 - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}.Release|x64.ActiveCfg = Release|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.ActiveCfg = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|Win32.Build.0 = Debug|Win32 {E727E8F6-935D-46FE-8B0E-37834748A0E3}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1329,6 +1327,18 @@ {426B1369-FDB7-4B18-A7EF-9C6A9097A130}.Release|Win32.ActiveCfg = Release|Win32 {426B1369-FDB7-4B18-A7EF-9C6A9097A130}.Release|Win32.Build.0 = Release|Win32 {426B1369-FDB7-4B18-A7EF-9C6A9097A130}.Release|x64.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|Win32.Build.0 = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Debug|x64.ActiveCfg = Debug|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.ActiveCfg = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|Win32.Build.0 = Release|Win32 + {E972C52F-9E85-4D65-B19C-031E511E9DB4}.Release|x64.ActiveCfg = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug|Win32.ActiveCfg = Debug|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug|Win32.Build.0 = Debug|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Debug|x64.ActiveCfg = Debug|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release|Win32.ActiveCfg = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release|Win32.Build.0 = Release|Win32 + {E42FDC95-7243-4219-9EA4-ACCE4AB97197}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1380,7 +1390,6 @@ {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {49C34584-B6DA-448F-83CF-27584DC9FC90} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} @@ -1397,6 +1406,8 @@ {B535402E-38D2-4D54-8360-423ACBD17192} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {CEE544A9-0303-44C2-8ECE-EFA7D7BCBBBA} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {0D108721-EAE8-4BAF-8102-D8960EC93647} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} + {E972C52F-9E85-4D65-B19C-031E511E9DB4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} + {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000} {ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000} {8F992C49-6C51-412F-B2A3-34EAB708EB65} = {0C808854-54D1-4230-BFF5-77B5FD905000} Modified: freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj Fri Feb 13 13:09:24 2009 @@ -48,9 +48,9 @@ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_CONFIG_H" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -118,10 +118,10 @@ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_CONFIG_H" StringPooling="true" ExceptionHandling="0" - RuntimeLibrary="0" + RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -194,7 +194,7 @@ BufferSecurityCheck="false" EnableEnhancedInstructionSet="1" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -267,7 +267,7 @@ BufferSecurityCheck="false" EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -340,7 +340,7 @@ BufferSecurityCheck="false" FloatingPointModel="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -421,7 +421,7 @@ BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -492,7 +492,7 @@ RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -559,7 +559,7 @@ BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -630,7 +630,7 @@ RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -704,7 +704,7 @@ EnableEnhancedInstructionSet="1" FloatingPointModel="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" Modified: freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj ============================================================================== --- freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj (original) +++ freeswitch/trunk/libs/speex/win32/VS2005/libspeexdsp/libspeexdsp.vcproj Fri Feb 13 13:09:24 2009 @@ -48,9 +48,9 @@ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_CONFIG_H" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -118,10 +118,10 @@ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_CONFIG_H" StringPooling="true" ExceptionHandling="0" - RuntimeLibrary="0" + RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -194,7 +194,7 @@ BufferSecurityCheck="false" EnableEnhancedInstructionSet="1" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -267,7 +267,7 @@ BufferSecurityCheck="false" EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -340,7 +340,7 @@ BufferSecurityCheck="false" FloatingPointModel="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -421,7 +421,7 @@ BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -492,7 +492,7 @@ RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -559,7 +559,7 @@ BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" CompileAs="1" @@ -630,7 +630,7 @@ RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" @@ -704,7 +704,7 @@ EnableEnhancedInstructionSet="1" FloatingPointModel="2" UsePrecompiledHeader="0" - WarningLevel="4" + WarningLevel="0" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" CompileAs="1" From anthm at freeswitch.org Fri Feb 13 11:35:42 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 13:35:42 -0600 Subject: [Freeswitch-svn] [commit] r11993 - freeswitch/trunk/src/mod/applications/mod_limit Message-ID: Author: anthm Date: Fri Feb 13 13:35:42 2009 New Revision: 11993 Log: dont free data that was session_strdup Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Fri Feb 13 13:35:42 2009 @@ -727,7 +727,7 @@ if (argc < 3) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "USAGE: limit %s\n", LIMIT_USAGE); - goto end; + return; } switch_mutex_lock(globals.mutex); @@ -782,8 +782,6 @@ done: switch_mutex_unlock(globals.mutex); - end: - switch_safe_free(mydata); } From mikej at freeswitch.org Fri Feb 13 12:29:33 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 14:29:33 -0600 Subject: [Freeswitch-svn] [commit] r11994 - freeswitch/trunk/libs/esl Message-ID: Author: mikej Date: Fri Feb 13 14:29:33 2009 New Revision: 11994 Log: fix fs_cli windows build Modified: freeswitch/trunk/libs/esl/fs_cli.c Modified: freeswitch/trunk/libs/esl/fs_cli.c ============================================================================== --- freeswitch/trunk/libs/esl/fs_cli.c (original) +++ freeswitch/trunk/libs/esl/fs_cli.c Fri Feb 13 14:29:33 2009 @@ -476,8 +476,9 @@ } signal(SIGINT, handle_SIGINT); +#ifdef SIGQUIT signal(SIGQUIT, handle_SIGQUIT); - +#endif esl_global_set_default_logger(6); /* default debug level to 6 (info) */ for(;;) { From mikej at freeswitch.org Fri Feb 13 12:31:21 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 14:31:21 -0600 Subject: [Freeswitch-svn] [commit] r11995 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Fri Feb 13 14:31:21 2009 New Revision: 11995 Log: uninitialized variable fix Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c Fri Feb 13 14:31:21 2009 @@ -1203,7 +1203,7 @@ struct srs_step *step, sres_record_t *answers[]) { - int i, j, order = -1, found; + int i, j, order = -1, found = 0; assert(answers); From mikej at freeswitch.org Fri Feb 13 13:04:30 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 15:04:30 -0600 Subject: [Freeswitch-svn] [commit] r11996 - freeswitch/trunk/libs/sofia-sip Message-ID: Author: mikej Date: Fri Feb 13 15:04:29 2009 New Revision: 11996 Log: slim down sofia build Modified: freeswitch/trunk/libs/sofia-sip/Makefile.am Modified: freeswitch/trunk/libs/sofia-sip/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/Makefile.am Fri Feb 13 15:04:29 2009 @@ -7,7 +7,7 @@ AUTOMAKE_OPTIONS = foreign 1.7 -SUBDIRS = s2check libsofia-sip-ua $(GLIB_SUBDIRS) utils packages tests +SUBDIRS = libsofia-sip-ua $(GLIB_SUBDIRS) packages # tests s2check utils DIST_SUBDIRS = s2check libsofia-sip-ua libsofia-sip-ua-glib utils packages \ tests win32 open_c @@ -35,15 +35,16 @@ EXTRA_DIST += scripts/lcov-report scripts/uncovered \ scripts/hide_emails.sh -dist_man_MANS = man/man1/sip-date.1 man/man1/sip-options.1 \ - man/man1/localinfo.1 man/man1/addrinfo.1 \ - man/man1/stunc.1 man/man1/sip-dig.1 +dist_man_MANS = +# man/man1/sip-date.1 man/man1/sip-options.1 \ +# man/man1/localinfo.1 man/man1/addrinfo.1 \ +# man/man1/stunc.1 man/man1/sip-dig.1 $(dist_man_MANS): manpages manpages: -mkdir -p man man/man1 2> /dev/null -if HAVE_DOXYGEN +if HAVE_DOXYGEN $(MAKE) $(AM_MAKEFLAGS) -C libsofia-sip-ua/docs built-sources @echo 'cd utils && $(DOXYGEN)' @cd utils && \ From brian at freeswitch.org Fri Feb 13 13:25:35 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 15:25:35 -0600 Subject: [Freeswitch-svn] [commit] r11997 - freeswitch/trunk/support-d Message-ID: Author: brian Date: Fri Feb 13 15:25:35 2009 New Revision: 11997 Log: add more goodies Modified: freeswitch/trunk/support-d/.bashrc Modified: freeswitch/trunk/support-d/.bashrc ============================================================================== --- freeswitch/trunk/support-d/.bashrc (original) +++ freeswitch/trunk/support-d/.bashrc Fri Feb 13 15:25:35 2009 @@ -24,7 +24,9 @@ alias e='emacs' alias tcommit='svn commit --no-auth-cache --username=anthm' alias mcommit='svn commit --no-auth-cache --username=mikej' +alias bcommit='svn commit --no-auth-cache --username=brian' alias dp='emacs /usr/local/freeswitch/conf/dialplan/default.xml' alias fstop='top -p `cat /usr/local/freeswitch/log/freeswitch.pid`' alias fsgdb='gdb /usr/local/freeswitch/bin/freeswitch `cat /usr/local/freeswitch/log/freeswitch.pid`' +alias fscore='gdb /usr/local/freeswitch/bin/freeswitch `ls -rt core.* | tail -n1`' # End of file From brian at freeswitch.org Fri Feb 13 13:45:54 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 15:45:54 -0600 Subject: [Freeswitch-svn] [commit] r11998 - freeswitch/trunk/src/mod/applications/mod_lcr Message-ID: Author: brian Date: Fri Feb 13 15:45:54 2009 New Revision: 11998 Log: space after if Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Fri Feb 13 15:45:54 2009 @@ -174,7 +174,7 @@ { profile_t *profile = NULL; - if(switch_strlen_zero(profile_name)) { + if (switch_strlen_zero(profile_name)) { profile = globals.default_profile; } else if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error invalid profile %s\n", profile_name); @@ -244,13 +244,13 @@ char *sql = NULL; if (globals.odbc_dsn) { sql = "SELECT * FROM lcr ORDER BY rand() LIMIT 1"; - if(switch_odbc_handle_exec(globals.master_odbc, sql, NULL) + if (switch_odbc_handle_exec(globals.master_odbc, sql, NULL) == SWITCH_ODBC_SUCCESS) { db_random = "rand()"; return SWITCH_TRUE; } sql = "SELECT * FROM lcr ORDER BY random() LIMIT 1"; - if(switch_odbc_handle_exec(globals.master_odbc, sql, NULL) + if (switch_odbc_handle_exec(globals.master_odbc, sql, NULL) == SWITCH_ODBC_SUCCESS) { db_random = "random()"; return SWITCH_TRUE; @@ -266,7 +266,7 @@ tsql = switch_mprintf(sql, "5555551212"); if (globals.odbc_dsn) { - if(switch_odbc_handle_exec(globals.master_odbc, tsql, NULL) + if (switch_odbc_handle_exec(globals.master_odbc, tsql, NULL) == SWITCH_ODBC_SUCCESS) { retval = SWITCH_TRUE; } else { @@ -291,7 +291,7 @@ np = newstr; while(*p) { - if(switch_isdigit(*p)) { + if (switch_isdigit(*p)) { *np = *p; np++; } @@ -308,7 +308,7 @@ switch_mutex_lock(globals.db_mutex); if (globals.odbc_dsn) { - if(switch_odbc_handle_callback_exec(globals.master_odbc, sql, callback, pdata) + if (switch_odbc_handle_callback_exec(globals.master_odbc, sql, callback, pdata) == SWITCH_ODBC_FAIL) { retval = SWITCH_FALSE; } else { @@ -329,7 +329,7 @@ switch_memory_pool_t *pool = cbt->pool; - if(argc != LCR_QUERY_COLS) { + if (argc != LCR_QUERY_COLS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unexpected number of columns returned for SQL. Returned columns are: %d. " "If using a custom sql for this profile, verify it is correct. Otherwise file a bug report.\n", @@ -366,7 +366,7 @@ additional->next = cbt->head; cbt->head = additional; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s to head of list\n", additional->carrier_name); - if(switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { + if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n"); return SWITCH_STATUS_GENERR; } @@ -377,29 +377,29 @@ for (current = cbt->head; current; current = current->next) { key = switch_core_sprintf(pool, "%s:%s", additional->gw_prefix, additional->gw_suffix); - if(switch_core_hash_find(cbt->dedup_hash, key)) { + if (switch_core_hash_find(cbt->dedup_hash, key)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ignoring Duplicate route for termination point (%s)\n", key); break; } - if(!cbt->profile->reorder_by_rate) { + if (!cbt->profile->reorder_by_rate) { /* use db order */ if (current->next == NULL) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s to end of list\n", additional->carrier_name); current->next = additional; additional->prev = current; - if(switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { + if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n"); return SWITCH_STATUS_GENERR; } break; } } else { - if(current->rate > additional->rate) { + if (current->rate > additional->rate) { /* insert myself here */ - if(current->prev != NULL) { + if (current->prev != NULL) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding %s before %s\n", additional->carrier_name, current->carrier_name); current->prev->next = additional; @@ -411,17 +411,17 @@ } additional->next = current; current->prev = additional; - if(switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { + if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n"); return SWITCH_STATUS_GENERR; } break; - } else if(current->next == NULL) { + } else if (current->next == NULL) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "adding %s to end of list after %s\n", additional->carrier_name, current->carrier_name); current->next = additional; additional->prev = current; - if(switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { + if (switch_core_hash_insert(cbt->dedup_hash, key, additional) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error inserting into dedup hash\n"); return SWITCH_STATUS_GENERR; } @@ -447,7 +447,7 @@ } /* allocate the dedup hash */ - if(switch_core_hash_init(&cb_struct->dedup_hash, cb_struct->pool) != SWITCH_STATUS_SUCCESS) { + if (switch_core_hash_init(&cb_struct->dedup_hash, cb_struct->pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error initializing the dedup hash\n"); return SWITCH_STATUS_FALSE; } @@ -456,7 +456,7 @@ SWITCH_STANDARD_STREAM(sql_stream); /* set up the query to be executed */ - if(switch_strlen_zero(profile->custom_sql)) { + if (switch_strlen_zero(profile->custom_sql)) { sql_stream.write_function(&sql_stream, "SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix " ); @@ -466,14 +466,14 @@ sql_stream.write_function(&sql_stream, "%s%s", (n==digit_len ? "" : ", "), digits_copy); } sql_stream.write_function(&sql_stream, ") AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end "); - if(profile->id > 0) { + if (profile->id > 0) { sql_stream.write_function(&sql_stream, "AND lcr_profile=%d ", profile->id); } sql_stream.write_function(&sql_stream, "ORDER BY %s%s digits DESC%s", profile->pre_order, switch_strlen_zero(profile->pre_order)? "" : ",", profile->order_by); - if(db_random) { + if (db_random) { sql_stream.write_function(&sql_stream, ", %s", db_random); } sql_stream.write_function(&sql_stream, ";"); @@ -491,7 +491,7 @@ switch_safe_free(sql_stream.data); switch_core_hash_destroy(&cb_struct->dedup_hash); - if(lookup_status) { + if (lookup_status) { return SWITCH_STATUS_SUCCESS; } else { return SWITCH_STATUS_GENERR; @@ -558,7 +558,7 @@ globals.default_profile = profile; switch_core_hash_init(&globals.profile_hash, globals.pool); - if((x_profiles = switch_xml_child(cfg, "profiles"))) { + if ((x_profiles = switch_xml_child(cfg, "profiles"))) { for (x_profile = switch_xml_child(x_profiles, "profile"); x_profile; x_profile = x_profile->next) { char *name = (char *) switch_xml_attr_soft(x_profile, "name"); char *comma = ", "; @@ -581,9 +581,9 @@ val = (char *) switch_xml_attr_soft(param, "value"); if ((!strcasecmp(var, "order_by") || !strcasecmp(var, "pre_order")) && !switch_strlen_zero(val)) { - if(!strcasecmp(var, "order_by")) { + if (!strcasecmp(var, "order_by")) { thisorder = &order_by; - } else if(!strcasecmp(var, "pre_order")) { + } else if (!strcasecmp(var, "pre_order")) { thisorder = &pre_order; comma = ""; /* don't want leading comma */ } @@ -591,10 +591,10 @@ if ((argc = switch_separate_string(val, ',', argv, (sizeof(argv) / sizeof(argv[0]))))) { for (x=0; xwrite_function(thisorder, "%s quality DESC", comma); - } else if(!strcasecmp(argv[x], "reliability")) { + } else if (!strcasecmp(argv[x], "reliability")) { thisorder->write_function(thisorder, "%s reliability DESC", comma); } else { thisorder->write_function(thisorder, "%s %s", comma, argv[x]); @@ -606,7 +606,7 @@ } else { if (!strcasecmp(val, "quality")) { thisorder->write_function(thisorder, "%s quality DESC", comma); - } else if(!strcasecmp(val, "reliability")) { + } else if (!strcasecmp(val, "reliability")) { thisorder->write_function(thisorder, "%s reliability DESC", comma); } else { thisorder->write_function(thisorder, "%s %s", comma, val); @@ -621,32 +621,32 @@ } } - if(switch_strlen_zero(name)) { + if (switch_strlen_zero(name)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No name specified.\n"); } else { profile = switch_core_alloc(globals.pool, sizeof(*profile)); memset(profile, 0, sizeof(profile_t)); profile->name = switch_core_strdup(globals.pool, name); - if(!switch_strlen_zero((char *)order_by.data)) { + if (!switch_strlen_zero((char *)order_by.data)) { profile->order_by = switch_core_strdup(globals.pool, (char *)order_by.data); } else { /* default to rate */ profile->order_by = ", rate"; } - if(!switch_strlen_zero((char *)pre_order.data)) { + if (!switch_strlen_zero((char *)pre_order.data)) { profile->pre_order = switch_core_strdup(globals.pool, (char *)pre_order.data); } else { /* default to rate */ profile->pre_order = ""; } - if(!switch_strlen_zero(id_s)) { + if (!switch_strlen_zero(id_s)) { profile->id = (uint16_t)atoi(id_s); } - if(!switch_strlen_zero(custom_sql)) { - if(test_lcr_sql(custom_sql) == SWITCH_TRUE) { + if (!switch_strlen_zero(custom_sql)) { + if (test_lcr_sql(custom_sql) == SWITCH_TRUE) { profile->custom_sql = switch_core_strdup(globals.pool, (char *)custom_sql); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Using custom lcr sql: %s\n", profile->custom_sql); } else { @@ -655,7 +655,7 @@ } } - if(!switch_strlen_zero("reorder_by_rate")) { + if (!switch_strlen_zero("reorder_by_rate")) { profile->reorder_by_rate = switch_true(reorder_by_rate); } @@ -683,13 +683,13 @@ char *lcr_profile = NULL; switch_memory_pool_t *pool = NULL; - if(session) { + if (session) { pool = switch_core_session_get_pool(session); } else { switch_core_new_memory_pool(&pool); } routes.pool = pool; - if(!(routes.profile = locate_profile(lcr_profile))) { + if (!(routes.profile = locate_profile(lcr_profile))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown profile: %s\n", lcr_profile); goto end; } @@ -718,7 +718,7 @@ } end: - if(!session) { + if (!session) { switch_core_destroy_memory_pool(&pool); } return extension; @@ -757,20 +757,20 @@ return; } - if(session) { + if (session) { pool = switch_core_session_get_pool(session); } else { switch_core_new_memory_pool(&pool); } routes.pool = pool; - if(!(routes.profile = locate_profile(lcr_profile))) { + if (!(routes.profile = locate_profile(lcr_profile))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown profile: %s\n", lcr_profile); goto end; } if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { dest = argv[0]; - if(argc > 1) { + if (argc > 1) { lcr_profile = argv[1]; } @@ -797,7 +797,7 @@ } end: - if(!session) { + if (!session) { switch_core_destroy_memory_pool(&pool); } } @@ -827,12 +827,12 @@ if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { switch_assert(argv[0] != NULL); destination_number = switch_core_strdup(pool, argv[0]); - if(argc > 1) { + if (argc > 1) { lcr_profile = argv[1]; } cb_struct.lookup_number = destination_number; cb_struct.pool = pool; - if(!(cb_struct.profile = locate_profile(lcr_profile))) { + if (!(cb_struct.profile = locate_profile(lcr_profile))) { stream->write_function(stream, "-ERR Unknown profile: %s\n", lcr_profile); goto end; } @@ -895,7 +895,7 @@ } } else { - if(lookup_status == SWITCH_STATUS_SUCCESS) { + if (lookup_status == SWITCH_STATUS_SUCCESS) { stream->write_function(stream, "No Routes To Display\n"); } else { stream->write_function(stream, "Error looking up routes\n"); @@ -927,20 +927,20 @@ mydata = strdup(cmd); if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { - if(argc < 2) { + if (argc < 2) { goto usage; } switch_assert(argv[0]); - if(!strcasecmp(argv[0], "show") && !strcasecmp(argv[1], "profiles")) { + if (!strcasecmp(argv[0], "show") && !strcasecmp(argv[1], "profiles")) { for (hi = switch_hash_first(NULL, globals.profile_hash); hi; hi = switch_hash_next(hi)) { switch_hash_this(hi, NULL, NULL, &val); profile = (profile_t *) val; stream->write_function(stream, "Name:\t\t%s\n", profile->name); - if(switch_strlen_zero(profile->custom_sql)) { + if (switch_strlen_zero(profile->custom_sql)) { stream->write_function(stream, " ID:\t\t%d\n", profile->id); stream->write_function(stream, " order by:\t%s\n", profile->order_by); - if(!switch_strlen_zero(profile->pre_order)) { + if (!switch_strlen_zero(profile->pre_order)) { stream->write_function(stream, " pre_order:\t%s\n", profile->pre_order); } } else { @@ -992,7 +992,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to initialize db_mutex\n"); } - if(set_db_random() == SWITCH_TRUE) { + if (set_db_random() == SWITCH_TRUE) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Database RANDOM function set to %s\n", db_random); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unable to determine database RANDOM function\n"); From brian at freeswitch.org Fri Feb 13 13:46:31 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 15:46:31 -0600 Subject: [Freeswitch-svn] [commit] r11999 - freeswitch/trunk/src/mod/applications/mod_vmd Message-ID: Author: brian Date: Fri Feb 13 15:46:31 2009 New Revision: 11999 Log: space after if Modified: freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.c Modified: freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.c (original) +++ freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.c Fri Feb 13 15:46:31 2009 @@ -247,11 +247,11 @@ } /* - if(vmd_info->data_len != len){ + if (vmd_info->data_len != len){ vmd_info->data_len = len; - if(vmd_info->data != NULL) free(vmd_info->data); + if (vmd_info->data != NULL) free(vmd_info->data); vmd_info->data = (int16_t *)malloc(len); - if(vmd_info->data == NULL) return SWITCH_FALSE; + if (vmd_info->data == NULL) return SWITCH_FALSE; } (void)memcpy(vmd_info->data, data, len); From brian at freeswitch.org Fri Feb 13 13:47:24 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 15:47:24 -0600 Subject: [Freeswitch-svn] [commit] r12000 - freeswitch/trunk/src/mod/applications/mod_soundtouch Message-ID: Author: brian Date: Fri Feb 13 15:47:24 2009 New Revision: 12000 Log: space after if Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp (original) +++ freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Fri Feb 13 15:47:24 2009 @@ -278,7 +278,7 @@ for (x = 0; x < argc; x++) { if (!strncasecmp(argv[x], "send_leg", 8)) { sth->send_not_recv = true; - }else if(!strncasecmp(argv[x], "hook_dtmf", 9)) { + } else if (!strncasecmp(argv[x], "hook_dtmf", 9)) { sth->hook_dtmf = true; } else if (strchr(argv[x], 'p')) { sth->pitch = normalize_soundtouch_value('p',atof(argv[x])); From brian at freeswitch.org Fri Feb 13 14:27:06 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 16:27:06 -0600 Subject: [Freeswitch-svn] [commit] r12001 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia mod/event_handlers/mod_erlang_event mod/event_handlers/mod_radius_cdr mod/languages/mod_lua mod/languages/mod_mono mod/xml_int/mod_xml_ldap Message-ID: Author: brian Date: Fri Feb 13 16:27:05 2009 New Revision: 12001 Log: fixing if's to be correct Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.cpp freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c freeswitch/trunk/src/switch_ivr_async.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Fri Feb 13 16:27:05 2009 @@ -761,7 +761,7 @@ } \ } \ \ - if(_session) break; \ + if (_session) break; \ } while(!_session) Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Fri Feb 13 16:27:05 2009 @@ -2102,7 +2102,7 @@ if (switch_true(val)) { sofia_set_pflag(profile, PFLAG_3PCC); } - else if(!strcasecmp(val, "proxy")){ + else if (!strcasecmp(val, "proxy")){ sofia_set_pflag(profile, PFLAG_3PCC_PROXY); } } else if (!strcasecmp(var, "accept-blind-auth")) { @@ -4488,7 +4488,7 @@ } if ((privacy = sip_privacy(sip))) { - if(msg_params_find(privacy->priv_values, "id")) { + if (msg_params_find(privacy->priv_values, "id")) { switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER); } } Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c Fri Feb 13 16:27:05 2009 @@ -220,7 +220,7 @@ */ contact = switch_mprintf("sip:%s@%s",sip->sip_contact->m_url->url_user, sip->sip_contact->m_url->url_host); - if(sip->sip_payload && sip->sip_payload->pl_data) { + if (sip->sip_payload && sip->sip_payload->pl_data) { sql = switch_mprintf("select subscriber,call_id,aor,profile_name,hostname,contact_str from sip_shared_appearance_subscriptions where " "aor='%q' and subscriber<>'%q' and profile_name='%q' and hostname='%q'", aor, contact, profile->name, mod_sofia_globals.hostname); @@ -253,7 +253,7 @@ nh = nua_handle_by_call_id(helper->profile->nua, call_id); /* that's all you need to find the subscription's nh */ - if(nh) { + if (nh) { if (strstr(contact_str, ";fs_nat")) { char *p; Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c Fri Feb 13 16:27:05 2009 @@ -307,7 +307,7 @@ { session_elem_t *s, *last = NULL; - if(!session) + if (!session) return; switch_mutex_lock(listener->session_mutex); Modified: freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c Fri Feb 13 16:27:05 2009 @@ -155,9 +155,9 @@ return SWITCH_STATUS_FALSE; } - if(channel) { + if (channel) { const char *disable_flag = switch_channel_get_variable(channel, "disable_radius_start"); - if(switch_true(disable_flag)) { + if (switch_true(disable_flag)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "[mod_radius_cdr] Not Sending RADIUS Start\n"); return SWITCH_STATUS_SUCCESS; } @@ -396,9 +396,9 @@ } - if(channel) { + if (channel) { const char *disable_flag = switch_channel_get_variable(channel, "disable_radius_stop"); - if(switch_true(disable_flag)) { + if (switch_true(disable_flag)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "[mod_radius_cdr] Not Sending RADIUS Stop\n"); return SWITCH_STATUS_SUCCESS; } Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp Fri Feb 13 16:27:05 2009 @@ -287,13 +287,13 @@ } } else if (!strcmp(var, "module-directory") && !switch_strlen_zero(val)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "lua: appending module directory: '%s'\n", val); - if(cpath_stream.data_len) { + if (cpath_stream.data_len) { cpath_stream.write_function(&cpath_stream, ";"); } cpath_stream.write_function(&cpath_stream, "%s", val); } else if (!strcmp(var, "script-directory") && !switch_strlen_zero(val)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "lua: appending script directory: '%s'\n", val); - if(path_stream.data_len) { + if (path_stream.data_len) { path_stream.write_function(&path_stream, ";"); } path_stream.write_function(&path_stream, "%s", val); Modified: freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.cpp Fri Feb 13 16:27:05 2009 @@ -113,7 +113,7 @@ } } - if(!found) + if (!found) { // Check registry DWORD size = MAX_PATH; if (ERROR_SUCCESS == RegGetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Novell\\Mono\\2.0", "FrameworkAssemblyDirectory", RRF_RT_REG_SZ, NULL, &libPath, &size)) { Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c Fri Feb 13 16:27:05 2009 @@ -186,7 +186,7 @@ char *n = (char *) switch_xml_attr_soft(tran, "name"); char *m = (char *) switch_xml_attr_soft(tran, "mapfrom"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, " adding map %s => %s\n", m , n); - if(!strncasecmp("id",n,strlen(n))) { + if (!strncasecmp("id",n,strlen(n))) { attr_list->type = LDAP_EXTEN_ID; attr_list->len = strlen(m); attr_list->val = strdup(m); @@ -530,9 +530,9 @@ - if( (ldap_initialize(&ld,binding->url)) != LDAP_SUCCESS ) goto cleanup; - if( (ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &desired_version)) != LDAP_SUCCESS ) goto cleanup; - if( (ldap_bind_s(ld, binding->binddn, binding->bindpass, auth_method)) != LDAP_SUCCESS ) goto cleanup; + if ( (ldap_initialize(&ld,binding->url)) != LDAP_SUCCESS ) goto cleanup; + if ( (ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &desired_version)) != LDAP_SUCCESS ) goto cleanup; + if ( (ldap_bind_s(ld, binding->binddn, binding->bindpass, auth_method)) != LDAP_SUCCESS ) goto cleanup; switch (binding->bt) { case XML_LDAP_CONFIG: @@ -564,7 +564,7 @@ printf("providing:\n%s\n", buf); switch_safe_free(buf); - if(ret != SWITCH_STATUS_SUCCESS) { + if (ret != SWITCH_STATUS_SUCCESS) { switch_xml_free(xml); return NULL; } Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Fri Feb 13 16:27:05 2009 @@ -1779,7 +1779,7 @@ switch_thread_cond_wait(sth->cond, sth->mutex); - if(switch_test_flag(sth->ah, SWITCH_ASR_FLAG_CLOSED)) + if (switch_test_flag(sth->ah, SWITCH_ASR_FLAG_CLOSED)) break; if (switch_core_asr_check_results(sth->ah, &flags) == SWITCH_STATUS_SUCCESS) { From shaneb at freeswitch.org Fri Feb 13 15:33:36 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 17:33:36 -0600 Subject: [Freeswitch-svn] [commit] r12002 - freeswitch/trunk/freeswitch.xcodeproj Message-ID: Author: shaneb Date: Fri Feb 13 17:33:36 2009 New Revision: 12002 Log: cmake updates Modified: freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj Modified: freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj ============================================================================== --- freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj (original) +++ freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj Fri Feb 13 17:33:36 2009 @@ -1,2391 +1,2566 @@ // !$*UTF8*$! { - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { /* Begin PBXAggregateTarget section */ - 4A04504A04504A0450000000 /* ALL_BUILD */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 4A16904A16904A1690000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */; - buildPhases = ( - 4A06304A06304A0630000000 /* CMake ReRun */, - 4A0D204A0D204A0D20000000 /* CMake Rules */, - ); - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = ALL_BUILD; - SECTORDER_FLAGS = ""; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 648250648250648250000000 /* PBXTargetDependency */, - 648A20648A20648A20000000 /* PBXTargetDependency */, - 649190649190649190000000 /* PBXTargetDependency */, - 649900649900649900000000 /* PBXTargetDependency */, - 64A08064A08064A080000000 /* PBXTargetDependency */, - 64A7D064A7D064A7D0000000 /* PBXTargetDependency */, - 64AFA064AFA064AFA0000000 /* PBXTargetDependency */, - ); - name = ALL_BUILD; - productName = ALL_BUILD; - }; + 492050492050492050000000 /* ALL_BUILD */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 493290493290493290000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */; + buildPhases = ( + 492230492230492230000000 /* CMake ReRun */, + 492920492920492920000000 /* CMake Rules */, + ); + dependencies = ( + 629320629320629320000000 /* PBXTargetDependency */, + 629A30629A30629A30000000 /* PBXTargetDependency */, + 62A1F062A1F062A1F0000000 /* PBXTargetDependency */, + 62A96062A96062A960000000 /* PBXTargetDependency */, + 62B0E062B0E062B0E0000000 /* PBXTargetDependency */, + 62B83062B83062B830000000 /* PBXTargetDependency */, + ); + name = ALL_BUILD; + productName = ALL_BUILD; + }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ -4A78104A78104A7810000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */ = {isa = PBXBuildFile; fileRef = 4A76604A76604A7660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */; settings = { COMPILER_FLAGS = ""; }; }; -4A82504A82504A8250000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */ = {isa = PBXBuildFile; fileRef = 4A7D704A7D704A7D70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */; settings = { COMPILER_FLAGS = ""; }; }; -4B1C404B1C404B1C40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */ = {isa = PBXBuildFile; fileRef = 4B1A504B1A504B1A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B26804B26804B2680000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */ = {isa = PBXBuildFile; fileRef = 4B21C04B21C04B21C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B31404B31404B3140000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */ = {isa = PBXBuildFile; fileRef = 4B2C804B2C804B2C80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B3C204B3C204B3C20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */ = {isa = PBXBuildFile; fileRef = 4B37404B37404B3740000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B46E04B46E04B46E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */ = {isa = PBXBuildFile; fileRef = 4B42004B42004B4200000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B51F04B51F04B51F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */ = {isa = PBXBuildFile; fileRef = 4B4CE04B4CE04B4CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B5D104B5D104B5D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */ = {isa = PBXBuildFile; fileRef = 4B5C404B5C404B5C40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B67604B67604B6760000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */ = {isa = PBXBuildFile; fileRef = 4B62804B62804B6280000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B72B04B72B04B72B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */ = {isa = PBXBuildFile; fileRef = 4B6D404B6D404B6D40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B7E204B7E204B7E20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */ = {isa = PBXBuildFile; fileRef = 4B7C704B7C704B7C70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B88604B88604B8860000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */ = {isa = PBXBuildFile; fileRef = 4B87904B87904B8790000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B93104B93104B9310000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */ = {isa = PBXBuildFile; fileRef = 4B92404B92404B9240000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */; settings = { COMPILER_FLAGS = ""; }; }; -4B9D604B9D604B9D60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */ = {isa = PBXBuildFile; fileRef = 4B98804B98804B9880000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BA8204BA8204BA820000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */ = {isa = PBXBuildFile; fileRef = 4BA3404BA3404BA340000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BB2E04BB2E04BB2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */ = {isa = PBXBuildFile; fileRef = 4BAE004BAE004BAE00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BBDA04BBDA04BBDA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */ = {isa = PBXBuildFile; fileRef = 4BB8C04BB8C04BB8C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BC9504BC9504BC950000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */ = {isa = PBXBuildFile; fileRef = 4BC7F04BC7F04BC7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BD4404BD4404BD440000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */ = {isa = PBXBuildFile; fileRef = 4BD3604BD3604BD360000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BDEA04BDEA04BDEA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */ = {isa = PBXBuildFile; fileRef = 4BD3D04BD3D04BD3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BE9204BE9204BE920000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */ = {isa = PBXBuildFile; fileRef = 4BE4404BE4404BE440000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BF4504BF4504BF450000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */ = {isa = PBXBuildFile; fileRef = 4BF3704BF3704BF370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */; settings = { COMPILER_FLAGS = ""; }; }; -4BFF304BFF304BFF30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */ = {isa = PBXBuildFile; fileRef = 4BF3E04BF3E04BF3E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C09504C09504C0950000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */ = {isa = PBXBuildFile; fileRef = 4C04704C04704C0470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C14104C14104C1410000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */ = {isa = PBXBuildFile; fileRef = 4C0F304C0F304C0F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C1F304C1F304C1F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */ = {isa = PBXBuildFile; fileRef = 4C19F04C19F04C19F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C29A04C29A04C29A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */ = {isa = PBXBuildFile; fileRef = 4C24B04C24B04C24B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C34A04C34A04C34A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */ = {isa = PBXBuildFile; fileRef = 4C33D04C33D04C33D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C3F304C3F304C3F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */ = {isa = PBXBuildFile; fileRef = 4C3A504C3A504C3A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C49F04C49F04C49F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */ = {isa = PBXBuildFile; fileRef = 4C45104C45104C4510000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C54B04C54B04C54B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */ = {isa = PBXBuildFile; fileRef = 4C4FD04C4FD04C4FD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C5FD04C5FD04C5FD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */ = {isa = PBXBuildFile; fileRef = 4C5A904C5A904C5A90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C6A304C6A304C6A30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */ = {isa = PBXBuildFile; fileRef = 4C65504C65504C6550000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C74D04C74D04C74D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */ = {isa = PBXBuildFile; fileRef = 4C70104C70104C7010000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C80F04C80F04C80F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */ = {isa = PBXBuildFile; fileRef = 4BD2E04BD2E04BD2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C8B804C8B804C8B80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */ = {isa = PBXBuildFile; fileRef = 4C86A04C86A04C86A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */; settings = { COMPILER_FLAGS = ""; }; }; -4C96A04C96A04C96A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */ = {isa = PBXBuildFile; fileRef = 4C95D04C95D04C95D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CA1504CA1504CA150000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */ = {isa = PBXBuildFile; fileRef = 4C9C104C9C104C9C10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CAC104CAC104CAC10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */ = {isa = PBXBuildFile; fileRef = 4CA6D04CA6D04CA6D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CB6D04CB6D04CB6D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */ = {isa = PBXBuildFile; fileRef = 4CB1904CB1904CB190000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CC1904CC1904CC190000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */ = {isa = PBXBuildFile; fileRef = 4CBC504CBC504CBC50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CCBF04CCBF04CCBF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */ = {isa = PBXBuildFile; fileRef = 4CC7104CC7104CC710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CD7104CD7104CD710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */ = {isa = PBXBuildFile; fileRef = 4CD1D04CD1D04CD1D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CE1D04CE1D04CE1D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */ = {isa = PBXBuildFile; fileRef = 4CDC904CDC904CDC90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */; settings = { COMPILER_FLAGS = ""; }; }; -4CEC304CEC304CEC30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp */ = {isa = PBXBuildFile; fileRef = 4CE7504CE7504CE750000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp */; settings = { COMPILER_FLAGS = ""; }; }; -4CF6B04CF6B04CF6B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/g711.c */ = {isa = PBXBuildFile; fileRef = 4CF2104CF2104CF210000000 /* /Users/shaneburrell/freeswitch-svn-real/src/g711.c */; settings = { COMPILER_FLAGS = ""; }; }; -4D01B04D01B04D01B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */ = {isa = PBXBuildFile; fileRef = 4D00C04D00C04D00C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */; settings = { COMPILER_FLAGS = ""; }; }; -4D0C104D0C104D0C10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */ = {isa = PBXBuildFile; fileRef = 4D07104D07104D0710000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */; settings = { COMPILER_FLAGS = ""; }; }; -4D17404D17404D1740000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */ = {isa = PBXBuildFile; fileRef = 4D0B804D0B804D0B80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */; settings = { COMPILER_FLAGS = ""; }; }; -4DBA504DBA504DBA50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c */ = {isa = PBXBuildFile; fileRef = 4C7FF04C7FF04C7FF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c */; settings = { COMPILER_FLAGS = ""; }; }; -4DC5104DC5104DC510000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c */ = {isa = PBXBuildFile; fileRef = 4DC4204DC4204DC420000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c */; settings = { COMPILER_FLAGS = ""; }; }; -4DCFE04DCFE04DCFE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c */ = {isa = PBXBuildFile; fileRef = 4DCEE04DCEE04DCEE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c */; settings = { COMPILER_FLAGS = ""; }; }; -4DDAA04DDAA04DDAA0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h */ = {isa = PBXBuildFile; fileRef = 4DCF704DCF704DCF70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h */; settings = { COMPILER_FLAGS = ""; }; }; -4E78404E78404E7840000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h */ = {isa = PBXBuildFile; fileRef = 4E76D04E76D04E76D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h */; settings = { COMPILER_FLAGS = ""; }; }; -4E82A04E82A04E82A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */ = {isa = PBXBuildFile; fileRef = 4D07104D07104D0710000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */; settings = { COMPILER_FLAGS = ""; }; }; -4E8AA04E8AA04E8AA0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h */ = {isa = PBXBuildFile; fileRef = 4E82104E82104E8210000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h */; settings = { COMPILER_FLAGS = ""; }; }; -4E94E04E94E04E94E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */ = {isa = PBXBuildFile; fileRef = 4D0B804D0B804D0B80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */; settings = { COMPILER_FLAGS = ""; }; }; -4E9DD04E9DD04E9DD0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h */ = {isa = PBXBuildFile; fileRef = 4E8A304E8A304E8A30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h */; settings = { COMPILER_FLAGS = ""; }; }; -4F3C204F3C204F3C20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c */ = {isa = PBXBuildFile; fileRef = 4F3A404F3A404F3A40000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F46B04F46B04F46B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c */ = {isa = PBXBuildFile; fileRef = 4F41904F41904F4190000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F51104F51104F5110000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c */ = {isa = PBXBuildFile; fileRef = 4F4C504F4C504F4C50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F5CA04F5CA04F5CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c */ = {isa = PBXBuildFile; fileRef = 4F57304F57304F5730000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F67304F67304F6730000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c */ = {isa = PBXBuildFile; fileRef = 4F66404F66404F6640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F72A04F72A04F72A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c */ = {isa = PBXBuildFile; fileRef = 4F6CF04F6CF04F6CF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F7CF04F7CF04F7CF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c */ = {isa = PBXBuildFile; fileRef = 4F7C304F7C304F7C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F87604F87604F8760000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c */ = {isa = PBXBuildFile; fileRef = 4F82A04F82A04F82A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F92C04F92C04F92C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c */ = {isa = PBXBuildFile; fileRef = 4F8D704F8D704F8D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c */; settings = { COMPILER_FLAGS = ""; }; }; -4F9DF04F9DF04F9DF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c */ = {isa = PBXBuildFile; fileRef = 4F98504F98504F9850000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c */; settings = { COMPILER_FLAGS = ""; }; }; -4FA8504FA8504FA850000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c */ = {isa = PBXBuildFile; fileRef = 4F9CC04F9CC04F9CC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c */; settings = { COMPILER_FLAGS = ""; }; }; -4FB2E04FB2E04FB2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c */ = {isa = PBXBuildFile; fileRef = 4FADC04FADC04FADC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c */; settings = { COMPILER_FLAGS = ""; }; }; -4FBDB04FBDB04FBDB0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c */ = {isa = PBXBuildFile; fileRef = 4FB8604FB8604FB860000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c */; settings = { COMPILER_FLAGS = ""; }; }; -600800600800600800000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c */ = {isa = PBXBuildFile; fileRef = 6002B06002B06002B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c */; settings = { COMPILER_FLAGS = ""; }; }; -601220601220601220000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c */ = {isa = PBXBuildFile; fileRef = 600D70600D70600D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c */; settings = { COMPILER_FLAGS = ""; }; }; -601CE0601CE0601CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h */ = {isa = PBXBuildFile; fileRef = 601830601830601830000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h */; settings = { COMPILER_FLAGS = ""; }; }; -6027B06027B06027B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h */ = {isa = PBXBuildFile; fileRef = 6022F06022F06022F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h */; settings = { COMPILER_FLAGS = ""; }; }; -603290603290603290000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c */ = {isa = PBXBuildFile; fileRef = 602DD0602DD0602DD0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c */; settings = { COMPILER_FLAGS = ""; }; }; -603D50603D50603D50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h */ = {isa = PBXBuildFile; fileRef = 6038A06038A06038A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h */; settings = { COMPILER_FLAGS = ""; }; }; -604820604820604820000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c */ = {isa = PBXBuildFile; fileRef = 604360604360604360000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c */; settings = { COMPILER_FLAGS = ""; }; }; -6053A06053A06053A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c */ = {isa = PBXBuildFile; fileRef = 6052E06052E06052E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c */; settings = { COMPILER_FLAGS = ""; }; }; -605E80605E80605E80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c */ = {isa = PBXBuildFile; fileRef = 605960605960605960000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c */; settings = { COMPILER_FLAGS = ""; }; }; -6068C06068C06068C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c */ = {isa = PBXBuildFile; fileRef = 606410606410606410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c */; settings = { COMPILER_FLAGS = ""; }; }; -607380607380607380000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c */ = {isa = PBXBuildFile; fileRef = 606ED0606ED0606ED0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c */; settings = { COMPILER_FLAGS = ""; }; }; -607EE0607EE0607EE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h */ = {isa = PBXBuildFile; fileRef = 607990607990607990000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h */; settings = { COMPILER_FLAGS = ""; }; }; -608900608900608900000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h */ = {isa = PBXBuildFile; fileRef = 608450608450608450000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h */; settings = { COMPILER_FLAGS = ""; }; }; -6093D06093D06093D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc */ = {isa = PBXBuildFile; fileRef = 608F20608F20608F20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc */; settings = { COMPILER_FLAGS = ""; }; }; -609EF0609EF0609EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c */ = {isa = PBXBuildFile; fileRef = 609E70609E70609E70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c */; settings = { COMPILER_FLAGS = ""; }; }; -60A96060A96060A960000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h */ = {isa = PBXBuildFile; fileRef = 60A4F060A4F060A4F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h */; settings = { COMPILER_FLAGS = ""; }; }; -60B45060B45060B450000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in */ = {isa = PBXBuildFile; fileRef = 60AA6060AA6060AA60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in */; settings = { COMPILER_FLAGS = ""; }; }; -60BFB060BFB060BFB0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h */ = {isa = PBXBuildFile; fileRef = 60BEF060BEF060BEF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h */; settings = { COMPILER_FLAGS = ""; }; }; -60CA9060CA9060CA90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h */ = {isa = PBXBuildFile; fileRef = 60C57060C57060C570000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h */; settings = { COMPILER_FLAGS = ""; }; }; -60D5C060D5C060D5C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h */ = {isa = PBXBuildFile; fileRef = 60D02060D02060D020000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h */; settings = { COMPILER_FLAGS = ""; }; }; -60DFC060DFC060DFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c */ = {isa = PBXBuildFile; fileRef = 60D49060D49060D490000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c */; settings = { COMPILER_FLAGS = ""; }; }; -604E70604E70604E70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */ = {isa = PBXBuildFile; fileRef = 4CDC904CDC904CDC90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */; settings = { COMPILER_FLAGS = ""; }; }; -618B10618B10618B10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h */ = {isa = PBXBuildFile; fileRef = 6189C06189C06189C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h */; settings = { COMPILER_FLAGS = ""; }; }; -6228A06228A06228A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c */ = {isa = PBXBuildFile; fileRef = 6226D06226D06226D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c */; settings = { COMPILER_FLAGS = ""; }; }; -623360623360623360000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c */ = {isa = PBXBuildFile; fileRef = 622740622740622740000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c */; settings = { COMPILER_FLAGS = ""; }; }; -623DC0623DC0623DC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.h */ = {isa = PBXBuildFile; fileRef = 6238A06238A06238A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.h */; settings = { COMPILER_FLAGS = ""; }; }; -624830624830624830000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c */ = {isa = PBXBuildFile; fileRef = 624350624350624350000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c */; settings = { COMPILER_FLAGS = ""; }; }; -6252F06252F06252F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.h */ = {isa = PBXBuildFile; fileRef = 624E10624E10624E10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.h */; settings = { COMPILER_FLAGS = ""; }; }; -625E40625E40625E40000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c */ = {isa = PBXBuildFile; fileRef = 6258E06258E06258E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c */; settings = { COMPILER_FLAGS = ""; }; }; -626900626900626900000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c */ = {isa = PBXBuildFile; fileRef = 6263A06263A06263A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c */; settings = { COMPILER_FLAGS = ""; }; }; -6272F06272F06272F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.h */ = {isa = PBXBuildFile; fileRef = 626E90626E90626E90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.h */; settings = { COMPILER_FLAGS = ""; }; }; -627EF0627EF0627EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.h */ = {isa = PBXBuildFile; fileRef = 627410627410627410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.h */; settings = { COMPILER_FLAGS = ""; }; }; -6289D06289D06289D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c */ = {isa = PBXBuildFile; fileRef = 628470628470628470000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c */; settings = { COMPILER_FLAGS = ""; }; }; -6294A06294A06294A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.h */ = {isa = PBXBuildFile; fileRef = 628F30628F30628F30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.h */; settings = { COMPILER_FLAGS = ""; }; }; -629EF0629EF0629EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c */ = {isa = PBXBuildFile; fileRef = 629A20629A20629A20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c */; settings = { COMPILER_FLAGS = ""; }; }; -62AA6062AA6062AA60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.h */ = {isa = PBXBuildFile; fileRef = 62A50062A50062A500000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.h */; settings = { COMPILER_FLAGS = ""; }; }; -62B52062B52062B520000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.h */ = {isa = PBXBuildFile; fileRef = 62AFC062AFC062AFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.h */; settings = { COMPILER_FLAGS = ""; }; }; -62BFE062BFE062BFE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c */ = {isa = PBXBuildFile; fileRef = 62BA8062BA8062BA80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c */; settings = { COMPILER_FLAGS = ""; }; }; -62CAA062CAA062CAA0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.h */ = {isa = PBXBuildFile; fileRef = 62C54062C54062C540000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.h */; settings = { COMPILER_FLAGS = ""; }; }; -62D4E062D4E062D4E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c */ = {isa = PBXBuildFile; fileRef = 62D00062D00062D000000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c */; settings = { COMPILER_FLAGS = ""; }; }; -62E0B062E0B062E0B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c */ = {isa = PBXBuildFile; fileRef = 62DAF062DAF062DAF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c */; settings = { COMPILER_FLAGS = ""; }; }; -62EB3062EB3062EB30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c */ = {isa = PBXBuildFile; fileRef = 62E5D062E5D062E5D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c */; settings = { COMPILER_FLAGS = ""; }; }; -62F5F062F5F062F5F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c */ = {isa = PBXBuildFile; fileRef = 62F09062F09062F090000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c */; settings = { COMPILER_FLAGS = ""; }; }; -6300C06300C06300C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el_term.h */ = {isa = PBXBuildFile; fileRef = 62FB5062FB5062FB50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el_term.h */; settings = { COMPILER_FLAGS = ""; }; }; -630BF0630BF0630BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.h */ = {isa = PBXBuildFile; fileRef = 630640630640630640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.h */; settings = { COMPILER_FLAGS = ""; }; }; -631660631660631660000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c */ = {isa = PBXBuildFile; fileRef = 6310F06310F06310F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c */; settings = { COMPILER_FLAGS = ""; }; }; -6320E06320E06320E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c */ = {isa = PBXBuildFile; fileRef = 631BC0631BC0631BC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c */; settings = { COMPILER_FLAGS = ""; }; }; -632BD0632BD0632BD0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.h */ = {isa = PBXBuildFile; fileRef = 632670632670632670000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.h */; settings = { COMPILER_FLAGS = ""; }; }; -633690633690633690000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sys.h */ = {isa = PBXBuildFile; fileRef = 633130633130633130000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sys.h */; settings = { COMPILER_FLAGS = ""; }; }; -634150634150634150000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c */ = {isa = PBXBuildFile; fileRef = 633BF0633BF0633BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c */; settings = { COMPILER_FLAGS = ""; }; }; -634C10634C10634C10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.h */ = {isa = PBXBuildFile; fileRef = 6346B06346B06346B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.h */; settings = { COMPILER_FLAGS = ""; }; }; -6356D06356D06356D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c */ = {isa = PBXBuildFile; fileRef = 635170635170635170000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c */; settings = { COMPILER_FLAGS = ""; }; }; -6361A06361A06361A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/histedit.h */ = {isa = PBXBuildFile; fileRef = 635C30635C30635C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/histedit.h */; settings = { COMPILER_FLAGS = ""; }; }; -636C10636C10636C10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.h */ = {isa = PBXBuildFile; fileRef = 6366F06366F06366F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.h */; settings = { COMPILER_FLAGS = ""; }; }; -637700637700637700000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.h */ = {isa = PBXBuildFile; fileRef = 6371A06371A06371A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.h */; settings = { COMPILER_FLAGS = ""; }; }; -638140638140638140000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c */ = {isa = PBXBuildFile; fileRef = 637C60637C60637C60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c */; settings = { COMPILER_FLAGS = ""; }; }; -638D00638D00638D00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c */ = {isa = PBXBuildFile; fileRef = 638C00638C00638C00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c */; settings = { COMPILER_FLAGS = ""; }; }; -639770639770639770000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c */ = {isa = PBXBuildFile; fileRef = 639250639250639250000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c */; settings = { COMPILER_FLAGS = ""; }; }; -63A26063A26063A260000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c */ = {isa = PBXBuildFile; fileRef = 639D00639D00639D00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c */; settings = { COMPILER_FLAGS = ""; }; }; -63AD3063AD3063AD30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c */ = {isa = PBXBuildFile; fileRef = 63A7C063A7C063A7C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c */; settings = { COMPILER_FLAGS = ""; }; }; -63B7A063B7A063B7A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c */ = {isa = PBXBuildFile; fileRef = 63B28063B28063B280000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c */; settings = { COMPILER_FLAGS = ""; }; }; -63C2A063C2A063C2A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c */ = {isa = PBXBuildFile; fileRef = 63BD3063BD3063BD30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c */; settings = { COMPILER_FLAGS = ""; }; }; -63CD1063CD1063CD10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c */ = {isa = PBXBuildFile; fileRef = 63C7F063C7F063C7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c */; settings = { COMPILER_FLAGS = ""; }; }; -63D70063D70063D700000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c */ = {isa = PBXBuildFile; fileRef = 63D2A063D2A063D2A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c */; settings = { COMPILER_FLAGS = ""; }; }; -63E32063E32063E320000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.h */ = {isa = PBXBuildFile; fileRef = 63E1B063E1B063E1B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.h */; settings = { COMPILER_FLAGS = ""; }; }; + 499420499420499420000000 /* switch.c in Sources */ = {isa = PBXBuildFile; fileRef = 499250499250499250000000 /* switch.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A38304A38304A3830000000 /* switch_apr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A36304A36304A3630000000 /* switch_apr.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A42704A42704A4270000000 /* switch_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A3DB04A3DB04A3DB0000000 /* switch_buffer.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A4D304A4D304A4D30000000 /* switch_caller.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A48704A48704A4870000000 /* switch_caller.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A58104A58104A5810000000 /* switch_channel.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A53304A53304A5330000000 /* switch_channel.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A62D04A62D04A62D0000000 /* switch_console.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A5DF04A5DF04A5DF0000000 /* switch_console.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A6DE04A6DE04A6DE0000000 /* switch_core_media_bug.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A68D04A68D04A68D0000000 /* switch_core_media_bug.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A79004A79004A7900000000 /* switch_core_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A78304A78304A7830000000 /* switch_core_timer.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A83504A83504A8350000000 /* switch_core_asr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A7E704A7E704A7E70000000 /* switch_core_asr.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A8EA04A8EA04A8EA0000000 /* switch_core_event_hook.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A89304A89304A8930000000 /* switch_core_event_hook.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4A9A104A9A104A9A10000000 /* switch_core_speech.c in Sources */ = {isa = PBXBuildFile; fileRef = 4A98604A98604A9860000000 /* switch_core_speech.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AA4504AA4504AA450000000 /* switch_core_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AA3804AA3804AA380000000 /* switch_core_memory.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AAF004AAF004AAF00000000 /* switch_core_codec.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AAE304AAE304AAE30000000 /* switch_core_codec.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AB9504AB9504AB950000000 /* switch_core_file.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AB4704AB4704AB470000000 /* switch_core_file.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AC4104AC4104AC410000000 /* switch_core_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 4ABF304ABF304ABF30000000 /* switch_core_hash.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4ACED04ACED04ACED0000000 /* switch_core_sqldb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AC9F04AC9F04AC9F0000000 /* switch_core_sqldb.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AD9904AD9904AD990000000 /* switch_core_session.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AD4B04AD4B04AD4B0000000 /* switch_core_session.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AE5404AE5404AE540000000 /* switch_core_directory.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AE3E04AE3E04AE3E0000000 /* switch_core_directory.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AF0304AF0304AF030000000 /* switch_core_state_machine.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AEF504AEF504AEF50000000 /* switch_core_state_machine.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4AFA904AFA904AFA90000000 /* switch_core_io.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AEFC04AEFC04AEFC0000000 /* switch_core_io.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B05104B05104B0510000000 /* switch_core_rwlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B00304B00304B0030000000 /* switch_core_rwlock.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B10404B10404B1040000000 /* switch_core_port_allocator.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B0F604B0F604B0F60000000 /* switch_core_port_allocator.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B1B204B1B204B1B20000000 /* switch_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B0FD04B0FD04B0FD0000000 /* switch_core.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B25404B25404B2540000000 /* switch_scheduler.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B20604B20604B2060000000 /* switch_scheduler.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B30004B30004B3000000000 /* switch_core_db.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B2B204B2B204B2B20000000 /* switch_core_db.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B3B204B3B204B3B20000000 /* switch_dso.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B35E04B35E04B35E0000000 /* switch_dso.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B45904B45904B4590000000 /* switch_loadable_module.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B40A04B40A04B40A0000000 /* switch_loadable_module.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B50904B50904B5090000000 /* switch_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B4FC04B4FC04B4FC0000000 /* switch_utils.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B5B204B5B204B5B20000000 /* switch_event.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B56404B56404B5640000000 /* switch_event.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B65E04B65E04B65E0000000 /* switch_resample.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B61004B61004B6100000000 /* switch_resample.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B70A04B70A04B70A0000000 /* switch_regex.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B6BC04B6BC04B6BC0000000 /* switch_regex.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B7BC04B7BC04B7BC0000000 /* switch_rtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B76804B76804B7680000000 /* switch_rtp.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B86204B86204B8620000000 /* switch_ivr_bridge.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B81404B81404B8140000000 /* switch_ivr_bridge.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B90C04B90C04B90C0000000 /* switch_ivr_originate.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B8C004B8C004B8C00000000 /* switch_ivr_originate.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4B9CE04B9CE04B9CE0000000 /* switch_ivr_async.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AEED04AEED04AEED0000000 /* switch_ivr_async.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BA7704BA7704BA770000000 /* switch_ivr_play_say.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BA2904BA2904BA290000000 /* switch_ivr_play_say.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BB2904BB2904BB290000000 /* switch_ivr_menu.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BB1C04BB1C04BB1C0000000 /* switch_ivr_menu.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BBD404BBD404BBD40000000 /* switch_ivr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BB8004BB8004BB800000000 /* switch_ivr.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BC8004BC8004BC800000000 /* switch_stun.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BC2C04BC2C04BC2C0000000 /* switch_stun.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BD2C04BD2C04BD2C0000000 /* switch_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BCD804BCD804BCD80000000 /* switch_log.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BDD804BDD804BDD80000000 /* switch_xml.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BD8404BD8404BD840000000 /* switch_xml.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BE7E04BE7E04BE7E0000000 /* switch_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BE3004BE3004BE300000000 /* switch_config.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BF3004BF3004BF300000000 /* switch_time.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BEDC04BEDC04BEDC0000000 /* switch_time.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4BFDC04BFDC04BFDC0000000 /* stfu.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8804BF8804BF880000000 /* stfu.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4C08204C08204C0820000000 /* switch_cpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C03404C03404C0340000000 /* switch_cpp.cpp */; settings = {COMPILER_FLAGS = ""; }; }; + 4C12A04C12A04C12A0000000 /* g711.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E004C0E004C0E00000000 /* g711.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4C1DA04C1DA04C1DA0000000 /* switch_pcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C1CB04C1CB04C1CB0000000 /* switch_pcm.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4C28004C28004C2800000000 /* libteletone_detect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C23004C23004C2300000000 /* libteletone_detect.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4C33304C33304C3330000000 /* libteletone_generate.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C27704C27704C2770000000 /* libteletone_generate.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4E2E004E2E004E2E00000000 /* resample.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CF2804CF2804CF280000000 /* resample.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4E38C04E38C04E38C0000000 /* filterkit.c in Sources */ = {isa = PBXBuildFile; fileRef = 4E37F04E37F04E37F0000000 /* filterkit.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4E43704E43704E4370000000 /* resamplesubs.c in Sources */ = {isa = PBXBuildFile; fileRef = 4E42704E42704E4270000000 /* resamplesubs.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4EF3004EF3004EF300000000 /* libteletone_detect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C23004C23004C2300000000 /* libteletone_detect.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4EFF804EFF804EFF80000000 /* libteletone_generate.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C27704C27704C2770000000 /* libteletone_generate.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4FA6604FA6604FA660000000 /* pcre_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 4FA4804FA4804FA480000000 /* pcre_compile.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4FB0F04FB0F04FB0F0000000 /* pcre_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 4FABD04FABD04FABD0000000 /* pcre_tables.c */; settings = {COMPILER_FLAGS = ""; }; }; + 4FBB504FBB504FBB50000000 /* pcre_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 4FB6904FB6904FB690000000 /* pcre_config.c */; settings = {COMPILER_FLAGS = ""; }; }; + 600670600670600670000000 /* pcre_try_flipped.c in Sources */ = {isa = PBXBuildFile; fileRef = 600100600100600100000000 /* pcre_try_flipped.c */; settings = {COMPILER_FLAGS = ""; }; }; + 601100601100601100000000 /* pcre_dfa_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 601010601010601010000000 /* pcre_dfa_exec.c */; settings = {COMPILER_FLAGS = ""; }; }; + 601C70601C70601C70000000 /* pcre_ucp_searchfuncs.c in Sources */ = {isa = PBXBuildFile; fileRef = 6016C06016C06016C0000000 /* pcre_ucp_searchfuncs.c */; settings = {COMPILER_FLAGS = ""; }; }; + 6026C06026C06026C0000000 /* pcre_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 602600602600602600000000 /* pcre_exec.c */; settings = {COMPILER_FLAGS = ""; }; }; + 603130603130603130000000 /* pcre_valid_utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 602C70602C70602C70000000 /* pcre_valid_utf8.c */; settings = {COMPILER_FLAGS = ""; }; }; + 603C90603C90603C90000000 /* pcre_fullinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 603740603740603740000000 /* pcre_fullinfo.c */; settings = {COMPILER_FLAGS = ""; }; }; + 6047C06047C06047C0000000 /* pcre_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 604220604220604220000000 /* pcre_version.c */; settings = {COMPILER_FLAGS = ""; }; }; + 605220605220605220000000 /* dftables.c in Sources */ = {isa = PBXBuildFile; fileRef = 604690604690604690000000 /* dftables.c */; settings = {COMPILER_FLAGS = ""; }; }; + 605CB0605CB0605CB0000000 /* pcre_get.c in Sources */ = {isa = PBXBuildFile; fileRef = 605790605790605790000000 /* pcre_get.c */; settings = {COMPILER_FLAGS = ""; }; }; + 606780606780606780000000 /* pcre_xclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 606230606230606230000000 /* pcre_xclass.c */; settings = {COMPILER_FLAGS = ""; }; }; + 607240607240607240000000 /* pcre_globals.c in Sources */ = {isa = PBXBuildFile; fileRef = 606CF0606CF0606CF0000000 /* pcre_globals.c */; settings = {COMPILER_FLAGS = ""; }; }; + 607C60607C60607C60000000 /* pcre_info.c in Sources */ = {isa = PBXBuildFile; fileRef = 6077B06077B06077B0000000 /* pcre_info.c */; settings = {COMPILER_FLAGS = ""; }; }; + 609CD0609CD0609CD0000000 /* pcre_maketables.c in Sources */ = {isa = PBXBuildFile; fileRef = 609810609810609810000000 /* pcre_maketables.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60B26060B26060B260000000 /* pcre_ord2utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 60ADA060ADA060ADA0000000 /* pcre_ord2utf8.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60B8B060B8B060B8B0000000 /* stfu.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8804BF8804BF880000000 /* stfu.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60BDE060BDE060BDE0000000 /* pcredemo.c in Sources */ = {isa = PBXBuildFile; fileRef = 60BD2060BD2060BD20000000 /* pcredemo.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60C8C060C8C060C8C0000000 /* pcre_refcount.c in Sources */ = {isa = PBXBuildFile; fileRef = 60C3A060C3A060C3A0000000 /* pcre_refcount.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60D30060D30060D300000000 /* pcregrep.c in Sources */ = {isa = PBXBuildFile; fileRef = 60CE5060CE5060CE50000000 /* pcregrep.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60DDC060DDC060DDC0000000 /* pcreposix.c in Sources */ = {isa = PBXBuildFile; fileRef = 60D91060D91060D910000000 /* pcreposix.c */; settings = {COMPILER_FLAGS = ""; }; }; + 60FE1060FE1060FE10000000 /* pcre_scanner_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 60F96060F96060F960000000 /* pcre_scanner_unittest.cc */; settings = {COMPILER_FLAGS = ""; }; }; + 610930610930610930000000 /* pcretest.c in Sources */ = {isa = PBXBuildFile; fileRef = 6108B06108B06108B0000000 /* pcretest.c */; settings = {COMPILER_FLAGS = ""; }; }; + 614A00614A00614A00000000 /* pcre_chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = 613ED0613ED0613ED0000000 /* pcre_chartables.c */; settings = {COMPILER_FLAGS = ""; }; }; /* End PBXBuildFile section */ -/* Begin PBXBuildStyle section */ - 493370493370493370000000 /* */ = { - isa = PBXBuildStyle; - }; - 4934E04934E04934E0000000 /* Debug */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = NO; - }; - name = Debug; - }; - 493900493900493900000000 /* Release */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = NO; - }; - name = Release; - }; - 493CF0493CF0493CF0000000 /* MinSizeRel */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = NO; - }; - name = MinSizeRel; - }; - 4940E04940E04940E0000000 /* RelWithDebInfo */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = NO; - }; - name = RelWithDebInfo; - }; -/* End PBXBuildStyle section */ - /* Begin PBXContainerItemProxy section */ - 638780638780638780000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4A9DB04A9DB04A9DB0000000; - remoteInfo = freeswitch; - }; - 648530648530648530000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4D33304D33304D3330000000; - remoteInfo = freeswitch_la; - }; - 648C90648C90648C90000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63FDE063FDE063FDE0000000; - remoteInfo = libedit; - }; - 649400649400649400000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 60FD3060FD3060FD30000000; - remoteInfo = pcre; - }; - 649B90649B90649B90000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4DF4E04DF4E04DF4E0000000; - remoteInfo = resample; - }; - 64A31064A31064A310000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 61A78061A78061A780000000; - remoteInfo = stfu; - }; - 64AAB064AAB064AAB0000000 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49E8E049E8E049E8E0000000 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EB8604EB8604EB860000000; - remoteInfo = teletone; - }; + 628E90628E90628E90000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 49B9E049B9E049B9E0000000; + remoteInfo = freeswitch; + }; + 6295B06295B06295B0000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4DA6F04DA6F04DA6F0000000; + remoteInfo = freeswitch_la; + }; + 629CF0629CF0629CF0000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 616770616770616770000000; + remoteInfo = pcre; + }; + 62A46062A46062A460000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4E68704E68704E6870000000; + remoteInfo = resample; + }; + 62ABF062ABF062ABF0000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 621070621070621070000000; + remoteInfo = stfu; + }; + 62B37062B37062B370000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4904E04904E04904E0000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4F22D04F22D04F22D0000000; + remoteInfo = teletone; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ -4A76604A76604A7660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch.c"; sourceTree = ""; }; -4A7D704A7D704A7D70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "switch.h"; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch.h"; sourceTree = ""; }; -4B13304B13304B1330000000 /* freeswitch */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = freeswitch; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -4B1A504B1A504B1A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_apr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c"; sourceTree = ""; }; -4B21C04B21C04B21C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_buffer.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c"; sourceTree = ""; }; -4B2C804B2C804B2C80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_caller.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c"; sourceTree = ""; }; -4B37404B37404B3740000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_channel.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c"; sourceTree = ""; }; -4B42004B42004B4200000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_console.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_console.c"; sourceTree = ""; }; -4B4CE04B4CE04B4CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_media_bug.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c"; sourceTree = ""; }; -4B5C404B5C404B5C40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_timer.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c"; sourceTree = ""; }; -4B62804B62804B6280000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_asr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c"; sourceTree = ""; }; -4B6D404B6D404B6D40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_event_hook.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c"; sourceTree = ""; }; -4B7C704B7C704B7C70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_speech.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c"; sourceTree = ""; }; -4B87904B87904B8790000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_memory.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c"; sourceTree = ""; }; -4B92404B92404B9240000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_codec.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c"; sourceTree = ""; }; -4B98804B98804B9880000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_file.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c"; sourceTree = ""; }; -4BA3404BA3404BA340000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_hash.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c"; sourceTree = ""; }; -4BAE004BAE004BAE00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_sqldb.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c"; sourceTree = ""; }; -4BB8C04BB8C04BB8C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_session.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c"; sourceTree = ""; }; -4BC7F04BC7F04BC7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_directory.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c"; sourceTree = ""; }; -4BD3604BD3604BD360000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_state_machine.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c"; sourceTree = ""; }; -4BD3D04BD3D04BD3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_io.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c"; sourceTree = ""; }; -4BE4404BE4404BE440000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_rwlock.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c"; sourceTree = ""; }; -4BF3704BF3704BF370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_port_allocator.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c"; sourceTree = ""; }; -4BF3E04BF3E04BF3E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core.c"; sourceTree = ""; }; -4C04704C04704C0470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_scheduler.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c"; sourceTree = ""; }; -4C0F304C0F304C0F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_core_db.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c"; sourceTree = ""; }; -4C19F04C19F04C19F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_dso.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c"; sourceTree = ""; }; -4C24B04C24B04C24B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_loadable_module.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c"; sourceTree = ""; }; -4C33D04C33D04C33D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_utils.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c"; sourceTree = ""; }; -4C3A504C3A504C3A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_event.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_event.c"; sourceTree = ""; }; -4C45104C45104C4510000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_resample.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c"; sourceTree = ""; }; -4C4FD04C4FD04C4FD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_regex.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c"; sourceTree = ""; }; -4C5A904C5A904C5A90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_rtp.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c"; sourceTree = ""; }; -4C65504C65504C6550000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_bridge.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c"; sourceTree = ""; }; -4C70104C70104C7010000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_originate.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c"; sourceTree = ""; }; -4BD2E04BD2E04BD2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_async.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c"; sourceTree = ""; }; -4C86A04C86A04C86A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_play_say.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c"; sourceTree = ""; }; -4C95D04C95D04C95D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr_menu.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c"; sourceTree = ""; }; -4C9C104C9C104C9C10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_ivr.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c"; sourceTree = ""; }; -4CA6D04CA6D04CA6D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_stun.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c"; sourceTree = ""; }; -4CB1904CB1904CB190000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_log.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_log.c"; sourceTree = ""; }; -4CBC504CBC504CBC50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_xml.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c"; sourceTree = ""; }; -4CC7104CC7104CC710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_config.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_config.c"; sourceTree = ""; }; -4CD1D04CD1D04CD1D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_time.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_time.c"; sourceTree = ""; }; -4CDC904CDC904CDC90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "stfu.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c"; sourceTree = ""; }; -4CE7504CE7504CE750000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.cpp"; name = "switch_cpp.cpp"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp"; sourceTree = ""; }; -4CF2104CF2104CF210000000 /* /Users/shaneburrell/freeswitch-svn-real/src/g711.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "g711.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/g711.c"; sourceTree = ""; }; -4D00C04D00C04D00C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "switch_pcm.c"; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c"; sourceTree = ""; }; -4D07104D07104D0710000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "libteletone_detect.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c"; sourceTree = ""; }; -4D0B804D0B804D0B80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "libteletone_generate.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c"; sourceTree = ""; }; -4DB2304DB2304DB230000000 /* freeswitch_la */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libfreeswitch_la.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -4C7FF04C7FF04C7FF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "resample.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c"; sourceTree = ""; }; -4DC4204DC4204DC420000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "filterkit.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c"; sourceTree = ""; }; -4DCEE04DCEE04DCEE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "resamplesubs.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c"; sourceTree = ""; }; -4DCF704DCF704DCF70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "libresample.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h"; sourceTree = ""; }; -4E6F704E6F704E6F70000000 /* resample */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libresample.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -4E76D04E76D04E76D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "libteletone.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h"; sourceTree = ""; }; -4E82104E82104E8210000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "libteletone_detect.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h"; sourceTree = ""; }; -4E8A304E8A304E8A30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "libteletone_generate.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h"; sourceTree = ""; }; -4F32F04F32F04F32F0000000 /* teletone */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libteletone.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -4F3A404F3A404F3A40000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_compile.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c"; sourceTree = ""; }; -4F41904F41904F4190000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_tables.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c"; sourceTree = ""; }; -4F4C504F4C504F4C50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_config.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c"; sourceTree = ""; }; -4F57304F57304F5730000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_try_flipped.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c"; sourceTree = ""; }; -4F66404F66404F6640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_dfa_exec.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c"; sourceTree = ""; }; -4F6CF04F6CF04F6CF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_ucp_searchfuncs.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c"; sourceTree = ""; }; -4F7C304F7C304F7C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_exec.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c"; sourceTree = ""; }; -4F82A04F82A04F82A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_valid_utf8.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c"; sourceTree = ""; }; -4F8D704F8D704F8D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_fullinfo.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c"; sourceTree = ""; }; -4F98504F98504F9850000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_version.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c"; sourceTree = ""; }; -4F9CC04F9CC04F9CC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "dftables.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c"; sourceTree = ""; }; -4FADC04FADC04FADC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_get.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c"; sourceTree = ""; }; -4FB8604FB8604FB860000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_xclass.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c"; sourceTree = ""; }; -6002B06002B06002B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_globals.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c"; sourceTree = ""; }; -600D70600D70600D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_info.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c"; sourceTree = ""; }; -601830601830601830000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcrecpp.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h"; sourceTree = ""; }; -6022F06022F06022F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcre_internal.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h"; sourceTree = ""; }; -602DD0602DD0602DD0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_maketables.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c"; sourceTree = ""; }; -6038A06038A06038A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcrecpparg.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h"; sourceTree = ""; }; -604360604360604360000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_ord2utf8.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c"; sourceTree = ""; }; -6052E06052E06052E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcredemo.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c"; sourceTree = ""; }; -605960605960605960000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_refcount.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c"; sourceTree = ""; }; -606410606410606410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcregrep.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c"; sourceTree = ""; }; -606ED0606ED0606ED0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcreposix.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c"; sourceTree = ""; }; -607990607990607990000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcre_scanner.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h"; sourceTree = ""; }; -608450608450608450000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcreposix.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h"; sourceTree = ""; }; -608F20608F20608F20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.cpp"; name = "pcre_scanner_unittest.cc"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc"; sourceTree = ""; }; -609E70609E70609E70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcretest.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c"; sourceTree = ""; }; -60A4F060A4F060A4F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcre_stringpiece.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h"; sourceTree = ""; }; -60AA6060AA6060AA60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode; name = "pcre_stringpiece.h.in"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in"; sourceTree = ""; }; -60BEF060BEF060BEF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "ucp.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h"; sourceTree = ""; }; -60C57060C57060C570000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "pcre.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h"; sourceTree = ""; }; -60D02060D02060D020000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.cpp.h"; name = "ucpinternal.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h"; sourceTree = ""; }; -60D49060D49060D490000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "pcre_chartables.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c"; sourceTree = ""; }; -617B10617B10617B10000000 /* pcre */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libpcre.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -6189C06189C06189C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "stfu.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h"; sourceTree = ""; }; -621F70621F70621F70000000 /* stfu */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "libstfu.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; -6226D06226D06226D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "filecomplete.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c"; sourceTree = ""; }; -622740622740622740000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "key.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c"; sourceTree = ""; }; -6238A06238A06238A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "parse.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.h"; sourceTree = ""; }; -624350624350624350000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "refresh.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c"; sourceTree = ""; }; -624E10624E10624E10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "sig.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.h"; sourceTree = ""; }; -6258E06258E06258E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "tty.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c"; sourceTree = ""; }; -6263A06263A06263A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "el.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c"; sourceTree = ""; }; -626E90626E90626E90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "filecomplete.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.h"; sourceTree = ""; }; -627410627410627410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "key.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.h"; sourceTree = ""; }; -628470628470628470000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "prompt.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c"; sourceTree = ""; }; -628F30628F30628F30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "refresh.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.h"; sourceTree = ""; }; -629A20629A20629A20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "strlcat.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c"; sourceTree = ""; }; -62A50062A50062A500000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "tty.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.h"; sourceTree = ""; }; -62AFC062AFC062AFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "el.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.h"; sourceTree = ""; }; -62BA8062BA8062BA80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "hist.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c"; sourceTree = ""; }; -62C54062C54062C540000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "prompt.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.h"; sourceTree = ""; }; -62D00062D00062D000000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "search.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c"; sourceTree = ""; }; -62DAF062DAF062DAF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "strlcpy.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c"; sourceTree = ""; }; -62E5D062E5D062E5D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "unvis.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c"; sourceTree = ""; }; -62F09062F09062F090000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "chared.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c"; sourceTree = ""; }; -62FB5062FB5062FB50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el_term.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "el_term.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el_term.h"; sourceTree = ""; }; -630640630640630640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "hist.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.h"; sourceTree = ""; }; -6310F06310F06310F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "map.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c"; sourceTree = ""; }; -631BC0631BC0631BC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "read.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c"; sourceTree = ""; }; -632670632670632670000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "search.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.h"; sourceTree = ""; }; -633130633130633130000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "sys.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sys.h"; sourceTree = ""; }; -633BF0633BF0633BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "vi.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c"; sourceTree = ""; }; -6346B06346B06346B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "chared.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.h"; sourceTree = ""; }; -635170635170635170000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "emacs.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c"; sourceTree = ""; }; -635C30635C30635C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/histedit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "histedit.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/histedit.h"; sourceTree = ""; }; -6366F06366F06366F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "map.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.h"; sourceTree = ""; }; -6371A06371A06371A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "read.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.h"; sourceTree = ""; }; -637C60637C60637C60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "term.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c"; sourceTree = ""; }; -638C00638C00638C00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "vis.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c"; sourceTree = ""; }; -639250639250639250000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "common.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c"; sourceTree = ""; }; -639D00639D00639D00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "fgetln.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c"; sourceTree = ""; }; -63A7C063A7C063A7C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "history.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c"; sourceTree = ""; }; -63B28063B28063B280000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "parse.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c"; sourceTree = ""; }; -63BD3063BD3063BD30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "readline.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c"; sourceTree = ""; }; -63C7F063C7F063C7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "sig.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c"; sourceTree = ""; }; -63D2A063D2A063D2A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.c"; name = "tokenizer.c"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c"; sourceTree = ""; }; -63E1B063E1B063E1B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.c.h"; name = "vis.h"; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.h"; sourceTree = ""; }; -647800647800647800000000 /* libedit */ = {isa = PBXFileReference; explicitFileType = "archive.ar"; path = "liblibedit.a"; refType = 0; sourceTree = BUILT_PRODUCTS_DIR; }; + 499250499250499250000000 /* switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch.c"; sourceTree = ""; }; + 4999A04999A04999A0000000 /* switch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch.h"; sourceTree = ""; }; + 4A2F104A2F104A2F10000000 /* freeswitch */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = freeswitch; sourceTree = BUILT_PRODUCTS_DIR; }; + 4A36304A36304A3630000000 /* switch_apr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_apr.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c"; sourceTree = ""; }; + 4A3DB04A3DB04A3DB0000000 /* switch_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_buffer.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c"; sourceTree = ""; }; + 4A48704A48704A4870000000 /* switch_caller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_caller.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c"; sourceTree = ""; }; + 4A53304A53304A5330000000 /* switch_channel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_channel.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c"; sourceTree = ""; }; + 4A5DF04A5DF04A5DF0000000 /* switch_console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_console.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_console.c"; sourceTree = ""; }; + 4A68D04A68D04A68D0000000 /* switch_core_media_bug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_media_bug.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c"; sourceTree = ""; }; + 4A78304A78304A7830000000 /* switch_core_timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_timer.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c"; sourceTree = ""; }; + 4A7E704A7E704A7E70000000 /* switch_core_asr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_asr.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c"; sourceTree = ""; }; + 4A89304A89304A8930000000 /* switch_core_event_hook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_event_hook.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c"; sourceTree = ""; }; + 4A98604A98604A9860000000 /* switch_core_speech.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_speech.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c"; sourceTree = ""; }; + 4AA3804AA3804AA380000000 /* switch_core_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_memory.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c"; sourceTree = ""; }; + 4AAE304AAE304AAE30000000 /* switch_core_codec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_codec.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c"; sourceTree = ""; }; + 4AB4704AB4704AB470000000 /* switch_core_file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_file.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c"; sourceTree = ""; }; + 4ABF304ABF304ABF30000000 /* switch_core_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_hash.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c"; sourceTree = ""; }; + 4AC9F04AC9F04AC9F0000000 /* switch_core_sqldb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_sqldb.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c"; sourceTree = ""; }; + 4AD4B04AD4B04AD4B0000000 /* switch_core_session.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_session.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c"; sourceTree = ""; }; + 4AE3E04AE3E04AE3E0000000 /* switch_core_directory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_directory.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c"; sourceTree = ""; }; + 4AEED04AEED04AEED0000000 /* switch_ivr_async.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr_async.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c"; sourceTree = ""; }; + 4AEF504AEF504AEF50000000 /* switch_core_state_machine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_state_machine.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c"; sourceTree = ""; }; + 4AEFC04AEFC04AEFC0000000 /* switch_core_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_io.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c"; sourceTree = ""; }; + 4B00304B00304B0030000000 /* switch_core_rwlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_rwlock.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c"; sourceTree = ""; }; + 4B0F604B0F604B0F60000000 /* switch_core_port_allocator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_port_allocator.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c"; sourceTree = ""; }; + 4B0FD04B0FD04B0FD0000000 /* switch_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core.c"; sourceTree = ""; }; + 4B20604B20604B2060000000 /* switch_scheduler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_scheduler.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c"; sourceTree = ""; }; + 4B2B204B2B204B2B20000000 /* switch_core_db.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_core_db.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c"; sourceTree = ""; }; + 4B35E04B35E04B35E0000000 /* switch_dso.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_dso.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c"; sourceTree = ""; }; + 4B40A04B40A04B40A0000000 /* switch_loadable_module.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_loadable_module.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c"; sourceTree = ""; }; + 4B4FC04B4FC04B4FC0000000 /* switch_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_utils.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c"; sourceTree = ""; }; + 4B56404B56404B5640000000 /* switch_event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_event.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_event.c"; sourceTree = ""; }; + 4B61004B61004B6100000000 /* switch_resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_resample.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c"; sourceTree = ""; }; + 4B6BC04B6BC04B6BC0000000 /* switch_regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_regex.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c"; sourceTree = ""; }; + 4B76804B76804B7680000000 /* switch_rtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_rtp.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c"; sourceTree = ""; }; + 4B81404B81404B8140000000 /* switch_ivr_bridge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr_bridge.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c"; sourceTree = ""; }; + 4B8C004B8C004B8C00000000 /* switch_ivr_originate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr_originate.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c"; sourceTree = ""; }; + 4BA2904BA2904BA290000000 /* switch_ivr_play_say.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr_play_say.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c"; sourceTree = ""; }; + 4BB1C04BB1C04BB1C0000000 /* switch_ivr_menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr_menu.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c"; sourceTree = ""; }; + 4BB8004BB8004BB800000000 /* switch_ivr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_ivr.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c"; sourceTree = ""; }; + 4BC2C04BC2C04BC2C0000000 /* switch_stun.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_stun.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c"; sourceTree = ""; }; + 4BCD804BCD804BCD80000000 /* switch_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_log.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_log.c"; sourceTree = ""; }; + 4BD8404BD8404BD840000000 /* switch_xml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_xml.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c"; sourceTree = ""; }; + 4BE3004BE3004BE300000000 /* switch_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_config.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_config.c"; sourceTree = ""; }; + 4BEDC04BEDC04BEDC0000000 /* switch_time.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_time.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_time.c"; sourceTree = ""; }; + 4BF8804BF8804BF880000000 /* stfu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stfu.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c"; sourceTree = ""; }; + 4C03404C03404C0340000000 /* switch_cpp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = switch_cpp.cpp; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp"; sourceTree = ""; }; + 4C0E004C0E004C0E00000000 /* g711.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = g711.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/g711.c"; sourceTree = ""; }; + 4C1CB04C1CB04C1CB0000000 /* switch_pcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = switch_pcm.c; path = "/Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c"; sourceTree = ""; }; + 4C23004C23004C2300000000 /* libteletone_detect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = libteletone_detect.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c"; sourceTree = ""; }; + 4C27704C27704C2770000000 /* libteletone_generate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = libteletone_generate.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c"; sourceTree = ""; }; + 4C32C04C32C04C32C0000000 /* switch_am_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_am_config.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_am_config.h"; sourceTree = ""; }; + 4C4F504C4F504C4F50000000 /* switch_apr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_apr.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_apr.h"; sourceTree = ""; }; + 4C56004C56004C5600000000 /* switch_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_buffer.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_buffer.h"; sourceTree = ""; }; + 4C60D04C60D04C60D0000000 /* switch_caller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_caller.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_caller.h"; sourceTree = ""; }; + 4C6BB04C6BB04C6BB0000000 /* switch_channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_channel.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_channel.h"; sourceTree = ""; }; + 4C7AD04C7AD04C7AD0000000 /* switch_console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_console.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_console.h"; sourceTree = ""; }; + 4C85B04C85B04C85B0000000 /* switch_core_event_hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_core_event_hook.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_event_hook.h"; sourceTree = ""; }; + 4C86404C86404C8640000000 /* switch_scheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_scheduler.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_scheduler.h"; sourceTree = ""; }; + 4C9BB04C9BB04C9BB0000000 /* switch_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_core.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core.h"; sourceTree = ""; }; + 4CA2604CA2604CA260000000 /* switch_core_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_core_db.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_core_db.h"; sourceTree = ""; }; + 4CB1704CB1704CB170000000 /* switch_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_config.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_config.h"; sourceTree = ""; }; + 4CB7F04CB7F04CB7F0000000 /* switch_event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_event.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_event.h"; sourceTree = ""; }; + 4CC2C04CC2C04CC2C0000000 /* switch_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_frame.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_frame.h"; sourceTree = ""; }; + 4CCD904CCD904CCD90000000 /* switch_ivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_ivr.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_ivr.h"; sourceTree = ""; }; + 4CD8504CD8504CD850000000 /* switch_dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_dso.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_dso.h"; sourceTree = ""; }; + 4CE3104CE3104CE310000000 /* switch_loadable_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_loadable_module.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_loadable_module.h"; sourceTree = ""; }; + 4CE7804CE7804CE780000000 /* switch_module_interfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_module_interfaces.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_module_interfaces.h"; sourceTree = ""; }; + 4CF2804CF2804CF280000000 /* resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = resample.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c"; sourceTree = ""; }; + 4CF3004CF3004CF300000000 /* switch_platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_platform.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_platform.h"; sourceTree = ""; }; + 4D08504D08504D0850000000 /* switch_resample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_resample.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_resample.h"; sourceTree = ""; }; + 4D13304D13304D1330000000 /* switch_regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_regex.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_regex.h"; sourceTree = ""; }; + 4D19B04D19B04D19B0000000 /* switch_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_types.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_types.h"; sourceTree = ""; }; + 4D24804D24804D2480000000 /* switch_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_utils.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_utils.h"; sourceTree = ""; }; + 4D2F504D2F504D2F50000000 /* switch_rtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_rtp.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_rtp.h"; sourceTree = ""; }; + 4D3A104D3A104D3A10000000 /* switch_stun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_stun.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_stun.h"; sourceTree = ""; }; + 4D44D04D44D04D44D0000000 /* switch_log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_log.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_log.h"; sourceTree = ""; }; + 4D4F904D4F904D4F90000000 /* switch_xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_xml.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_xml.h"; sourceTree = ""; }; + 4D5A504D5A504D5A50000000 /* switch_cpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_cpp.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_cpp.h"; sourceTree = ""; }; + 4D65104D65104D6510000000 /* libteletone_detect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libteletone_detect.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h"; sourceTree = ""; }; + 4D69804D69804D6980000000 /* libteletone_generate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libteletone_generate.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h"; sourceTree = ""; }; + 4D74D04D74D04D74D0000000 /* libteletone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libteletone.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h"; sourceTree = ""; }; + 4D7FA04D7FA04D7FA0000000 /* switch_odbc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = switch_odbc.h; path = "/Users/shaneburrell/freeswitch-svn-real/src/include/switch_odbc.h"; sourceTree = ""; }; + 4E26604E26604E2660000000 /* libfreeswitch_la.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libfreeswitch_la.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4E37F04E37F04E37F0000000 /* filterkit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filterkit.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c"; sourceTree = ""; }; + 4E42704E42704E4270000000 /* resamplesubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = resamplesubs.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c"; sourceTree = ""; }; + 4E43004E43004E4300000000 /* libresample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libresample.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h"; sourceTree = ""; }; + 4EE3404EE3404EE340000000 /* libresample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libresample.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F9DA04F9DA04F9DA0000000 /* libteletone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libteletone.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4FA4804FA4804FA480000000 /* pcre_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_compile.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c"; sourceTree = ""; }; + 4FABD04FABD04FABD0000000 /* pcre_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_tables.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c"; sourceTree = ""; }; + 4FB6904FB6904FB690000000 /* pcre_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_config.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c"; sourceTree = ""; }; + 600100600100600100000000 /* pcre_try_flipped.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_try_flipped.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c"; sourceTree = ""; }; + 601010601010601010000000 /* pcre_dfa_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_dfa_exec.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c"; sourceTree = ""; }; + 6016C06016C06016C0000000 /* pcre_ucp_searchfuncs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_ucp_searchfuncs.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c"; sourceTree = ""; }; + 602600602600602600000000 /* pcre_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_exec.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c"; sourceTree = ""; }; + 602C70602C70602C70000000 /* pcre_valid_utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_valid_utf8.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c"; sourceTree = ""; }; + 603740603740603740000000 /* pcre_fullinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_fullinfo.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c"; sourceTree = ""; }; + 604220604220604220000000 /* pcre_version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_version.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c"; sourceTree = ""; }; + 604690604690604690000000 /* dftables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dftables.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c"; sourceTree = ""; }; + 605790605790605790000000 /* pcre_get.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_get.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c"; sourceTree = ""; }; + 606230606230606230000000 /* pcre_xclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_xclass.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c"; sourceTree = ""; }; + 606CF0606CF0606CF0000000 /* pcre_globals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_globals.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c"; sourceTree = ""; }; + 6077B06077B06077B0000000 /* pcre_info.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_info.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c"; sourceTree = ""; }; + 608270608270608270000000 /* pcrecpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcrecpp.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h"; sourceTree = ""; }; + 608D30608D30608D30000000 /* pcre_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcre_internal.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h"; sourceTree = ""; }; + 609810609810609810000000 /* pcre_maketables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_maketables.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c"; sourceTree = ""; }; + 60A2E060A2E060A2E0000000 /* pcrecpparg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcrecpparg.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h"; sourceTree = ""; }; + 60ADA060ADA060ADA0000000 /* pcre_ord2utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_ord2utf8.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c"; sourceTree = ""; }; + 60BD2060BD2060BD20000000 /* pcredemo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcredemo.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c"; sourceTree = ""; }; + 60C3A060C3A060C3A0000000 /* pcre_refcount.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_refcount.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c"; sourceTree = ""; }; + 60CE5060CE5060CE50000000 /* pcregrep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcregrep.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c"; sourceTree = ""; }; + 60D91060D91060D910000000 /* pcreposix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcreposix.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c"; sourceTree = ""; }; + 60E3D060E3D060E3D0000000 /* pcre_scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcre_scanner.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h"; sourceTree = ""; }; + 60EE9060EE9060EE90000000 /* pcreposix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcreposix.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h"; sourceTree = ""; }; + 60F96060F96060F960000000 /* pcre_scanner_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pcre_scanner_unittest.cc; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc"; sourceTree = ""; }; + 6108B06108B06108B0000000 /* pcretest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcretest.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c"; sourceTree = ""; }; + 610F30610F30610F30000000 /* pcre_stringpiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcre_stringpiece.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h"; sourceTree = ""; }; + 6114A06114A06114A0000000 /* pcre_stringpiece.h.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode; name = pcre_stringpiece.h.in; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in"; sourceTree = ""; }; + 612930612930612930000000 /* ucp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ucp.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h"; sourceTree = ""; }; + 612FB0612FB0612FB0000000 /* pcre.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pcre.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h"; sourceTree = ""; }; + 613A60613A60613A60000000 /* ucpinternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ucpinternal.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h"; sourceTree = ""; }; + 613ED0613ED0613ED0000000 /* pcre_chartables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pcre_chartables.c; path = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c"; sourceTree = ""; }; + 61E47061E47061E470000000 /* libpcre.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libpcre.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 61F2B061F2B061F2B0000000 /* stfu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stfu.h; path = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h"; sourceTree = ""; }; + 628790628790628790000000 /* libstfu.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libstfu.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ - 4944B04944B04944B0000000 = { - isa = PBXGroup; - children = ( - 4947E04947E04947E0000000 /* Sources */, - 494BA0494BA0494BA0000000 /* Resources */, - 49C5B049C5B049C5B0000000 /* Products */, - ); - sourceTree = ""; - }; - 4947E04947E04947E0000000 /* Sources */ = { - isa = PBXGroup; - children = ( - 495140495140495140000000 /* freeswitch */, - 495FD0495FD0495FD0000000 /* freeswitch_la */, - 495EC0495EC0495EC0000000 /* resample */, - 498EB0498EB0498EB0000000 /* teletone */, - 499D40499D40499D40000000 /* pcre */, - 499CD0499CD0499CD0000000 /* stfu */, - 49C6C049C6C049C6C0000000 /* libedit */, - ); - name = Sources; - sourceTree = ""; - }; - 494BA0494BA0494BA0000000 /* Resources */ = { - isa = PBXGroup; - children = ( - ); - name = Resources; - sourceTree = ""; - }; - 495140495140495140000000 /* freeswitch */ = { - isa = PBXGroup; - children = ( - 4955A04955A04955A0000000 /* Source Files */, - 495A60495A60495A60000000 /* Header Files */, - ); - name = freeswitch; - sourceTree = ""; - }; - 4955A04955A04955A0000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4A76604A76604A7660000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 495A60495A60495A60000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 4A7D704A7D704A7D70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/include/switch.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 495FD0495FD0495FD0000000 /* freeswitch_la */ = { - isa = PBXGroup; - children = ( - 496380496380496380000000 /* Source Files */, - ); - name = freeswitch_la; - sourceTree = ""; - }; - 496380496380496380000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4B1A504B1A504B1A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */, - 4B21C04B21C04B21C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */, - 4B2C804B2C804B2C80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */, - 4B37404B37404B3740000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */, - 4B42004B42004B4200000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */, - 4B4CE04B4CE04B4CE0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */, - 4B5C404B5C404B5C40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */, - 4B62804B62804B6280000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */, - 4B6D404B6D404B6D40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */, - 4B7C704B7C704B7C70000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */, - 4B87904B87904B8790000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */, - 4B92404B92404B9240000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */, - 4B98804B98804B9880000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */, - 4BA3404BA3404BA340000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */, - 4BAE004BAE004BAE00000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */, - 4BB8C04BB8C04BB8C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */, - 4BC7F04BC7F04BC7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */, - 4BD3604BD3604BD360000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */, - 4BD3D04BD3D04BD3D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */, - 4BE4404BE4404BE440000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */, - 4BF3704BF3704BF370000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */, - 4BF3E04BF3E04BF3E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */, - 4C04704C04704C0470000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */, - 4C0F304C0F304C0F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */, - 4C19F04C19F04C19F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */, - 4C24B04C24B04C24B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */, - 4C33D04C33D04C33D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */, - 4C3A504C3A504C3A50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */, - 4C45104C45104C4510000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */, - 4C4FD04C4FD04C4FD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */, - 4C5A904C5A904C5A90000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */, - 4C65504C65504C6550000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */, - 4C70104C70104C7010000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */, - 4BD2E04BD2E04BD2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */, - 4C86A04C86A04C86A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */, - 4C95D04C95D04C95D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */, - 4C9C104C9C104C9C10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */, - 4CA6D04CA6D04CA6D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */, - 4CB1904CB1904CB190000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */, - 4CBC504CBC504CBC50000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */, - 4CC7104CC7104CC710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */, - 4CD1D04CD1D04CD1D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */, - 4CDC904CDC904CDC90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */, - 4CE7504CE7504CE750000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp */, - 4CF2104CF2104CF210000000 /* /Users/shaneburrell/freeswitch-svn-real/src/g711.c */, - 4D00C04D00C04D00C0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */, - 4D07104D07104D0710000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */, - 4D0B804D0B804D0B80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 495EC0495EC0495EC0000000 /* resample */ = { - isa = PBXGroup; - children = ( - 4983F04983F04983F0000000 /* Source Files */, - 4989F04989F04989F0000000 /* Header Files */, - ); - name = resample; - sourceTree = ""; - }; - 4983F04983F04983F0000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4C7FF04C7FF04C7FF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c */, - 4DC4204DC4204DC420000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c */, - 4DCEE04DCEE04DCEE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 4989F04989F04989F0000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 4DCF704DCF704DCF70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include/libresample.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 498EB0498EB0498EB0000000 /* teletone */ = { - isa = PBXGroup; - children = ( - 4991E04991E04991E0000000 /* Header Files */, - 4996A04996A04996A0000000 /* Source Files */, - ); - name = teletone; - sourceTree = ""; - }; - 4991E04991E04991E0000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 4E76D04E76D04E76D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone.h */, - 4E82104E82104E8210000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.h */, - 4E8A304E8A304E8A30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 4996A04996A04996A0000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4D07104D07104D0710000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */, - 4D0B804D0B804D0B80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 499D40499D40499D40000000 /* pcre */ = { - isa = PBXGroup; - children = ( - 49A16049A16049A160000000 /* Source Files */, - 49ACA049ACA049ACA0000000 /* Header Files */, - ); - name = pcre; - sourceTree = ""; - }; - 49A16049A16049A160000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4F3A404F3A404F3A40000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c */, - 4F41904F41904F4190000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c */, - 4F4C504F4C504F4C50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c */, - 4F57304F57304F5730000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c */, - 4F66404F66404F6640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c */, - 4F6CF04F6CF04F6CF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c */, - 4F7C304F7C304F7C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c */, - 4F82A04F82A04F82A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c */, - 4F8D704F8D704F8D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c */, - 4F98504F98504F9850000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c */, - 4F9CC04F9CC04F9CC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c */, - 4FADC04FADC04FADC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c */, - 4FB8604FB8604FB860000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c */, - 6002B06002B06002B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c */, - 600D70600D70600D70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c */, - 602DD0602DD0602DD0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c */, - 604360604360604360000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c */, - 6052E06052E06052E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c */, - 605960605960605960000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c */, - 606410606410606410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c */, - 606ED0606ED0606ED0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c */, - 608F20608F20608F20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc */, - 609E70609E70609E70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c */, - 60D49060D49060D490000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 49ACA049ACA049ACA0000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 601830601830601830000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpp.h */, - 6022F06022F06022F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_internal.h */, - 6038A06038A06038A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcrecpparg.h */, - 607990607990607990000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner.h */, - 608450608450608450000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.h */, - 60A4F060A4F060A4F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h */, - 60AA6060AA6060AA60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_stringpiece.h.in */, - 60BEF060BEF060BEF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucp.h */, - 60C57060C57060C570000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre.h */, - 60D02060D02060D020000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/ucpinternal.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 499CD0499CD0499CD0000000 /* stfu */ = { - isa = PBXGroup; - children = ( - 49BD4049BD4049BD40000000 /* Source Files */, - 49C19049C19049C190000000 /* Header Files */, - ); - name = stfu; - sourceTree = ""; - }; - 49BD4049BD4049BD40000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 4CDC904CDC904CDC90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 49C19049C19049C190000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 6189C06189C06189C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 49C6C049C6C049C6C0000000 /* libedit */ = { - isa = PBXGroup; - children = ( - 49CB0049CB0049CB00000000 /* Source Files */, - 49D01049D01049D010000000 /* Header Files */, - ); - name = libedit; - sourceTree = ""; - }; - 49CB0049CB0049CB00000000 /* Source Files */ = { - isa = PBXGroup; - children = ( - 6226D06226D06226D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c */, - 622740622740622740000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c */, - 624350624350624350000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c */, - 6258E06258E06258E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c */, - 6263A06263A06263A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c */, - 628470628470628470000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c */, - 629A20629A20629A20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c */, - 62BA8062BA8062BA80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c */, - 62D00062D00062D000000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c */, - 62DAF062DAF062DAF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c */, - 62E5D062E5D062E5D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c */, - 62F09062F09062F090000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c */, - 6310F06310F06310F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c */, - 631BC0631BC0631BC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c */, - 633BF0633BF0633BF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c */, - 635170635170635170000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c */, - 637C60637C60637C60000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c */, - 638C00638C00638C00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c */, - 639250639250639250000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c */, - 639D00639D00639D00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c */, - 63A7C063A7C063A7C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c */, - 63B28063B28063B280000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c */, - 63BD3063BD3063BD30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c */, - 63C7F063C7F063C7F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c */, - 63D2A063D2A063D2A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c */, - ); - name = "Source Files"; - sourceTree = ""; - }; - 49D01049D01049D010000000 /* Header Files */ = { - isa = PBXGroup; - children = ( - 6238A06238A06238A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.h */, - 624E10624E10624E10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.h */, - 626E90626E90626E90000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.h */, - 627410627410627410000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.h */, - 628F30628F30628F30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.h */, - 62A50062A50062A500000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.h */, - 62AFC062AFC062AFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.h */, - 62C54062C54062C540000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.h */, - 62FB5062FB5062FB50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el_term.h */, - 630640630640630640000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.h */, - 632670632670632670000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.h */, - 633130633130633130000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sys.h */, - 6346B06346B06346B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.h */, - 635C30635C30635C30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/histedit.h */, - 6366F06366F06366F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.h */, - 6371A06371A06371A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.h */, - 63E1B063E1B063E1B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.h */, - ); - name = "Header Files"; - sourceTree = ""; - }; - 49C5B049C5B049C5B0000000 /* Products */ = { - isa = PBXGroup; - children = ( - 4B13304B13304B1330000000 /* freeswitch */, - 4DB2304DB2304DB230000000 /* freeswitch_la */, - 4E6F704E6F704E6F70000000 /* resample */, - 4F32F04F32F04F32F0000000 /* teletone */, - 617B10617B10617B10000000 /* pcre */, - 621F70621F70621F70000000 /* stfu */, - 647800647800647800000000 /* libedit */, - ); - name = Products; - sourceTree = ""; - }; + 486D20486D20486D20000000 = { + isa = PBXGroup; + children = ( + 486FE0486FE0486FE0000000 /* Sources */, + 487420487420487420000000 /* Resources */, + 4877E04877E04877E0000000 /* Products */, + ); + sourceTree = ""; + }; + 486FE0486FE0486FE0000000 /* Sources */ = { + isa = PBXGroup; + children = ( + 4879C04879C04879C0000000 /* freeswitch */, + 4888D04888D04888D0000000 /* freeswitch_la */, + 487880487880487880000000 /* resample */, + 48CB2048CB2048CB20000000 /* teletone */, + 48DA9048DA9048DA90000000 /* pcre */, + 48DA2048DA2048DA20000000 /* stfu */, + ); + name = Sources; + sourceTree = ""; + }; + 487420487420487420000000 /* Resources */ = { + isa = PBXGroup; + children = ( + ); + name = Resources; + sourceTree = ""; + }; + 4877E04877E04877E0000000 /* Products */ = { + isa = PBXGroup; + children = ( + 4A2F104A2F104A2F10000000 /* freeswitch */, + 4E26604E26604E2660000000 /* libfreeswitch_la.a */, + 4EE3404EE3404EE340000000 /* libresample.a */, + 4F9DA04F9DA04F9DA0000000 /* libteletone.a */, + 61E47061E47061E470000000 /* libpcre.a */, + 628790628790628790000000 /* libstfu.a */, + ); + name = Products; + sourceTree = ""; + }; + 487880487880487880000000 /* resample */ = { + isa = PBXGroup; + children = ( + 48C1D048C1D048C1D0000000 /* Source Files */, + 48C75048C75048C750000000 /* Header Files */, + ); + name = resample; + sourceTree = ""; + }; + 4879C04879C04879C0000000 /* freeswitch */ = { + isa = PBXGroup; + children = ( + 487E20487E20487E20000000 /* Source Files */, + 4882E04882E04882E0000000 /* Header Files */, + ); + name = freeswitch; + sourceTree = ""; + }; + 487E20487E20487E20000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 499250499250499250000000 /* switch.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 4882E04882E04882E0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4999A04999A04999A0000000 /* switch.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 4888D04888D04888D0000000 /* freeswitch_la */ = { + isa = PBXGroup; + children = ( + 488C80488C80488C80000000 /* Source Files */, + 48A97048A97048A970000000 /* Header Files */, + ); + name = freeswitch_la; + sourceTree = ""; + }; + 488C80488C80488C80000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4A36304A36304A3630000000 /* switch_apr.c */, + 4A3DB04A3DB04A3DB0000000 /* switch_buffer.c */, + 4A48704A48704A4870000000 /* switch_caller.c */, + 4A53304A53304A5330000000 /* switch_channel.c */, + 4A5DF04A5DF04A5DF0000000 /* switch_console.c */, + 4A68D04A68D04A68D0000000 /* switch_core_media_bug.c */, + 4A78304A78304A7830000000 /* switch_core_timer.c */, + 4A7E704A7E704A7E70000000 /* switch_core_asr.c */, + 4A89304A89304A8930000000 /* switch_core_event_hook.c */, + 4A98604A98604A9860000000 /* switch_core_speech.c */, + 4AA3804AA3804AA380000000 /* switch_core_memory.c */, + 4AAE304AAE304AAE30000000 /* switch_core_codec.c */, + 4AB4704AB4704AB470000000 /* switch_core_file.c */, + 4ABF304ABF304ABF30000000 /* switch_core_hash.c */, + 4AC9F04AC9F04AC9F0000000 /* switch_core_sqldb.c */, + 4AD4B04AD4B04AD4B0000000 /* switch_core_session.c */, + 4AE3E04AE3E04AE3E0000000 /* switch_core_directory.c */, + 4AEF504AEF504AEF50000000 /* switch_core_state_machine.c */, + 4AEFC04AEFC04AEFC0000000 /* switch_core_io.c */, + 4B00304B00304B0030000000 /* switch_core_rwlock.c */, + 4B0F604B0F604B0F60000000 /* switch_core_port_allocator.c */, + 4B0FD04B0FD04B0FD0000000 /* switch_core.c */, + 4B20604B20604B2060000000 /* switch_scheduler.c */, + 4B2B204B2B204B2B20000000 /* switch_core_db.c */, + 4B35E04B35E04B35E0000000 /* switch_dso.c */, + 4B40A04B40A04B40A0000000 /* switch_loadable_module.c */, + 4B4FC04B4FC04B4FC0000000 /* switch_utils.c */, + 4B56404B56404B5640000000 /* switch_event.c */, + 4B61004B61004B6100000000 /* switch_resample.c */, + 4B6BC04B6BC04B6BC0000000 /* switch_regex.c */, + 4B76804B76804B7680000000 /* switch_rtp.c */, + 4B81404B81404B8140000000 /* switch_ivr_bridge.c */, + 4B8C004B8C004B8C00000000 /* switch_ivr_originate.c */, + 4AEED04AEED04AEED0000000 /* switch_ivr_async.c */, + 4BA2904BA2904BA290000000 /* switch_ivr_play_say.c */, + 4BB1C04BB1C04BB1C0000000 /* switch_ivr_menu.c */, + 4BB8004BB8004BB800000000 /* switch_ivr.c */, + 4BC2C04BC2C04BC2C0000000 /* switch_stun.c */, + 4BCD804BCD804BCD80000000 /* switch_log.c */, + 4BD8404BD8404BD840000000 /* switch_xml.c */, + 4BE3004BE3004BE300000000 /* switch_config.c */, + 4BEDC04BEDC04BEDC0000000 /* switch_time.c */, + 4BF8804BF8804BF880000000 /* stfu.c */, + 4C03404C03404C0340000000 /* switch_cpp.cpp */, + 4C0E004C0E004C0E00000000 /* g711.c */, + 4C1CB04C1CB04C1CB0000000 /* switch_pcm.c */, + 4C23004C23004C2300000000 /* libteletone_detect.c */, + 4C27704C27704C2770000000 /* libteletone_generate.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 48A97048A97048A970000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4C32C04C32C04C32C0000000 /* switch_am_config.h */, + 4999A04999A04999A0000000 /* switch.h */, + 4C4F504C4F504C4F50000000 /* switch_apr.h */, + 4C56004C56004C5600000000 /* switch_buffer.h */, + 4C60D04C60D04C60D0000000 /* switch_caller.h */, + 4C6BB04C6BB04C6BB0000000 /* switch_channel.h */, + 4C7AD04C7AD04C7AD0000000 /* switch_console.h */, + 4C85B04C85B04C85B0000000 /* switch_core_event_hook.h */, + 4C86404C86404C8640000000 /* switch_scheduler.h */, + 4C9BB04C9BB04C9BB0000000 /* switch_core.h */, + 4CA2604CA2604CA260000000 /* switch_core_db.h */, + 4CB1704CB1704CB170000000 /* switch_config.h */, + 4CB7F04CB7F04CB7F0000000 /* switch_event.h */, + 4CC2C04CC2C04CC2C0000000 /* switch_frame.h */, + 4CCD904CCD904CCD90000000 /* switch_ivr.h */, + 4CD8504CD8504CD850000000 /* switch_dso.h */, + 4CE3104CE3104CE310000000 /* switch_loadable_module.h */, + 4CE7804CE7804CE780000000 /* switch_module_interfaces.h */, + 4CF3004CF3004CF300000000 /* switch_platform.h */, + 4D08504D08504D0850000000 /* switch_resample.h */, + 4D13304D13304D1330000000 /* switch_regex.h */, + 4D19B04D19B04D19B0000000 /* switch_types.h */, + 4D24804D24804D2480000000 /* switch_utils.h */, + 4D2F504D2F504D2F50000000 /* switch_rtp.h */, + 4D3A104D3A104D3A10000000 /* switch_stun.h */, + 4D44D04D44D04D44D0000000 /* switch_log.h */, + 4D4F904D4F904D4F90000000 /* switch_xml.h */, + 4D5A504D5A504D5A50000000 /* switch_cpp.h */, + 4D65104D65104D6510000000 /* libteletone_detect.h */, + 4D69804D69804D6980000000 /* libteletone_generate.h */, + 4D74D04D74D04D74D0000000 /* libteletone.h */, + 4D7FA04D7FA04D7FA0000000 /* switch_odbc.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 48C1D048C1D048C1D0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4CF2804CF2804CF280000000 /* resample.c */, + 4E37F04E37F04E37F0000000 /* filterkit.c */, + 4E42704E42704E4270000000 /* resamplesubs.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 48C75048C75048C750000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4E43004E43004E4300000000 /* libresample.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 48CB2048CB2048CB20000000 /* teletone */ = { + isa = PBXGroup; + children = ( + 48CF6048CF6048CF60000000 /* Header Files */, + 48D3D048D3D048D3D0000000 /* Source Files */, + ); + name = teletone; + sourceTree = ""; + }; + 48CF6048CF6048CF60000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 4D74D04D74D04D74D0000000 /* libteletone.h */, + 4D65104D65104D6510000000 /* libteletone_detect.h */, + 4D69804D69804D6980000000 /* libteletone_generate.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 48D3D048D3D048D3D0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4C23004C23004C2300000000 /* libteletone_detect.c */, + 4C27704C27704C2770000000 /* libteletone_generate.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 48DA2048DA2048DA20000000 /* stfu */ = { + isa = PBXGroup; + children = ( + 48FA9048FA9048FA90000000 /* Source Files */, + 48FEE048FEE048FEE0000000 /* Header Files */, + ); + name = stfu; + sourceTree = ""; + }; + 48DA9048DA9048DA90000000 /* pcre */ = { + isa = PBXGroup; + children = ( + 48DEB048DEB048DEB0000000 /* Source Files */, + 48E9F048E9F048E9F0000000 /* Header Files */, + ); + name = pcre; + sourceTree = ""; + }; + 48DEB048DEB048DEB0000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4FA4804FA4804FA480000000 /* pcre_compile.c */, + 4FABD04FABD04FABD0000000 /* pcre_tables.c */, + 4FB6904FB6904FB690000000 /* pcre_config.c */, + 600100600100600100000000 /* pcre_try_flipped.c */, + 601010601010601010000000 /* pcre_dfa_exec.c */, + 6016C06016C06016C0000000 /* pcre_ucp_searchfuncs.c */, + 602600602600602600000000 /* pcre_exec.c */, + 602C70602C70602C70000000 /* pcre_valid_utf8.c */, + 603740603740603740000000 /* pcre_fullinfo.c */, + 604220604220604220000000 /* pcre_version.c */, + 604690604690604690000000 /* dftables.c */, + 605790605790605790000000 /* pcre_get.c */, + 606230606230606230000000 /* pcre_xclass.c */, + 606CF0606CF0606CF0000000 /* pcre_globals.c */, + 6077B06077B06077B0000000 /* pcre_info.c */, + 609810609810609810000000 /* pcre_maketables.c */, + 60ADA060ADA060ADA0000000 /* pcre_ord2utf8.c */, + 60BD2060BD2060BD20000000 /* pcredemo.c */, + 60C3A060C3A060C3A0000000 /* pcre_refcount.c */, + 60CE5060CE5060CE50000000 /* pcregrep.c */, + 60D91060D91060D910000000 /* pcreposix.c */, + 60F96060F96060F960000000 /* pcre_scanner_unittest.cc */, + 6108B06108B06108B0000000 /* pcretest.c */, + 613ED0613ED0613ED0000000 /* pcre_chartables.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 48E9F048E9F048E9F0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 608270608270608270000000 /* pcrecpp.h */, + 608D30608D30608D30000000 /* pcre_internal.h */, + 60A2E060A2E060A2E0000000 /* pcrecpparg.h */, + 60E3D060E3D060E3D0000000 /* pcre_scanner.h */, + 60EE9060EE9060EE90000000 /* pcreposix.h */, + 610F30610F30610F30000000 /* pcre_stringpiece.h */, + 6114A06114A06114A0000000 /* pcre_stringpiece.h.in */, + 612930612930612930000000 /* ucp.h */, + 612FB0612FB0612FB0000000 /* pcre.h */, + 613A60613A60613A60000000 /* ucpinternal.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 48FA9048FA9048FA90000000 /* Source Files */ = { + isa = PBXGroup; + children = ( + 4BF8804BF8804BF880000000 /* stfu.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 48FEE048FEE048FEE0000000 /* Header Files */ = { + isa = PBXGroup; + children = ( + 61F2B061F2B061F2B0000000 /* stfu.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 4A9DB04A9DB04A9DB0000000 /* freeswitch */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4AA1A04AA1A04AA1A0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */; - buildPhases = ( - 4A8FA04A8FA04A8FA0000000 /* CMake ReRun */, - 4A88304A88304A8830000000 /* Sources */, - 4A96504A96504A9650000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = ""; - EXECUTABLE_SUFFIX = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names"; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 64AFA064AFA064AFA0000000 /* PBXTargetDependency */, - 649900649900649900000000 /* PBXTargetDependency */, - 64A08064A08064A080000000 /* PBXTargetDependency */, - 648A20648A20648A20000000 /* PBXTargetDependency */, - 64A7D064A7D064A7D0000000 /* PBXTargetDependency */, - ); - name = freeswitch; - productName = freeswitch; - productReference = 4B13304B13304B1330000000 /* freeswitch */; - productType = "com.apple.product-type.tool"; - }; - 4D33304D33304D3330000000 /* libfreeswitch_la.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4D37104D37104D3710000000 /* Build configuration list for PBXNativeTarget "freeswitch_la" */; - buildPhases = ( - 4D25004D25004D2500000000 /* CMake ReRun */, - 4D16D04D16D04D16D0000000 /* Sources */, - 4D2BE04D2BE04D2BE0000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch_la; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "libfreeswitch_la.a"; - productName = "libfreeswitch_la.a"; - productReference = 4DB2304DB2304DB230000000 /* freeswitch_la */; - productType = "com.apple.product-type.library.static"; - }; - 4DF4E04DF4E04DF4E0000000 /* libresample.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4DF9904DF9904DF990000000 /* Build configuration list for PBXNativeTarget "resample" */; - buildPhases = ( - 4DE7804DE7804DE780000000 /* CMake ReRun */, - 4DDA304DDA304DDA30000000 /* Sources */, - 4DEE304DEE304DEE30000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = resample; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "libresample.a"; - productName = "libresample.a"; - productReference = 4E6F704E6F704E6F70000000 /* resample */; - productType = "com.apple.product-type.library.static"; - }; - 4EB8604EB8604EB860000000 /* libteletone.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4EBD104EBD104EBD10000000 /* Build configuration list for PBXNativeTarget "teletone" */; - buildPhases = ( - 4EAB004EAB004EAB00000000 /* CMake ReRun */, - 4E9D604E9D604E9D60000000 /* Sources */, - 4EB1B04EB1B04EB1B0000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = teletone; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "libteletone.a"; - productName = "libteletone.a"; - productReference = 4F32F04F32F04F32F0000000 /* teletone */; - productType = "com.apple.product-type.library.static"; - }; - 60FD3060FD3060FD30000000 /* libpcre.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 60FFB060FFB060FFB0000000 /* Build configuration list for PBXNativeTarget "pcre" */; - buildPhases = ( - 60EDA060EDA060EDA0000000 /* CMake ReRun */, - 60E58060E58060E580000000 /* Sources */, - 60F45060F45060F450000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/pcre/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = pcre; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "libpcre.a"; - productName = "libpcre.a"; - productReference = 617B10617B10617B10000000 /* pcre */; - productType = "com.apple.product-type.library.static"; - }; - 61A78061A78061A780000000 /* libstfu.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 61AA0061AA0061AA00000000 /* Build configuration list for PBXNativeTarget "stfu" */; - buildPhases = ( - 6197E06197E06197E0000000 /* CMake ReRun */, - 618A90618A90618A90000000 /* Sources */, - 619EC0619EC0619EC0000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/stfu/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = stfu; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "libstfu.a"; - productName = "libstfu.a"; - productReference = 621F70621F70621F70000000 /* stfu */; - productType = "com.apple.product-type.library.static"; - }; - 63FDE063FDE063FDE0000000 /* liblibedit.a */ = { - isa = PBXNativeTarget; - buildConfigurationList = 640280640280640280000000 /* Build configuration list for PBXNativeTarget "libedit" */; - buildPhases = ( - 63F0A063F0A063F0A0000000 /* CMake ReRun */, - 63ECF063ECF063ECF0000000 /* Sources */, - 63F75063F75063F750000000 /* CMake PostBuild Rules */, - ); - buildRules = ( - ); - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/. /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = libedit; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - name = "liblibedit.a"; - productName = "liblibedit.a"; - productReference = 647800647800647800000000 /* libedit */; - productType = "com.apple.product-type.library.static"; - }; + 49B9E049B9E049B9E0000000 /* freeswitch */ = { + isa = PBXNativeTarget; + buildConfigurationList = 49BDD049BDD049BDD0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */; + buildPhases = ( + 49ABD049ABD049ABD0000000 /* CMake ReRun */, + 49A46049A46049A460000000 /* Sources */, + 49B28049B28049B280000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + 62B83062B83062B830000000 /* PBXTargetDependency */, + 62A1F062A1F062A1F0000000 /* PBXTargetDependency */, + 62A96062A96062A960000000 /* PBXTargetDependency */, + 629A30629A30629A30000000 /* PBXTargetDependency */, + 62B0E062B0E062B0E0000000 /* PBXTargetDependency */, + ); + name = freeswitch; + productName = freeswitch; + productReference = 4A2F104A2F104A2F10000000 /* freeswitch */; + productType = "com.apple.product-type.tool"; + }; + 4DA6F04DA6F04DA6F0000000 /* libfreeswitch_la.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4DAAD04DAAD04DAAD0000000 /* Build configuration list for PBXNativeTarget "libfreeswitch_la.a" */; + buildPhases = ( + 4D98F04D98F04D98F0000000 /* CMake ReRun */, + 4D90604D90604D9060000000 /* Sources */, + 4D9FA04D9FA04D9FA0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libfreeswitch_la.a; + productName = libfreeswitch_la.a; + productReference = 4E26604E26604E2660000000 /* libfreeswitch_la.a */; + productType = "com.apple.product-type.library.static"; + }; + 4E68704E68704E6870000000 /* libresample.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4E6D204E6D204E6D20000000 /* Build configuration list for PBXNativeTarget "libresample.a" */; + buildPhases = ( + 4E5B104E5B104E5B10000000 /* CMake ReRun */, + 4E4DC04E4DC04E4DC0000000 /* Sources */, + 4E61C04E61C04E61C0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libresample.a; + productName = libresample.a; + productReference = 4EE3404EE3404EE340000000 /* libresample.a */; + productType = "com.apple.product-type.library.static"; + }; + 4F22D04F22D04F22D0000000 /* libteletone.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4F27804F27804F2780000000 /* Build configuration list for PBXNativeTarget "libteletone.a" */; + buildPhases = ( + 4F15704F15704F1570000000 /* CMake ReRun */, + 4EF2904EF2904EF290000000 /* Sources */, + 4F1C204F1C204F1C20000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libteletone.a; + productName = libteletone.a; + productReference = 4F9DA04F9DA04F9DA0000000 /* libteletone.a */; + productType = "com.apple.product-type.library.static"; + }; + 616770616770616770000000 /* libpcre.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6169F06169F06169F0000000 /* Build configuration list for PBXNativeTarget "libpcre.a" */; + buildPhases = ( + 6157E06157E06157E0000000 /* CMake ReRun */, + 614FC0614FC0614FC0000000 /* Sources */, + 615E90615E90615E90000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libpcre.a; + productName = libpcre.a; + productReference = 61E47061E47061E470000000 /* libpcre.a */; + productType = "com.apple.product-type.library.static"; + }; + 621070621070621070000000 /* libstfu.a */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6212F06212F06212F0000000 /* Build configuration list for PBXNativeTarget "libstfu.a" */; + buildPhases = ( + 6200D06200D06200D0000000 /* CMake ReRun */, + 61F38061F38061F380000000 /* Sources */, + 6207B06207B06207B0000000 /* CMake PostBuild Rules */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libstfu.a; + productName = libstfu.a; + productReference = 628790628790628790000000 /* libstfu.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 49E8E049E8E049E8E0000000 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 49EEA049EEA049EEA0000000 /* Build configuration list for PBXProject "freeswitch" */; - buildSettings = { - }; - buildStyles = ( - 4934E04934E04934E0000000 /* Debug */, - 493900493900493900000000 /* Release */, - 493CF0493CF0493CF0000000 /* MinSizeRel */, - 4940E04940E04940E0000000 /* RelWithDebInfo */, - ); - hasScannedForEncodings = 0; - mainGroup = 4944B04944B04944B0000000; - projectRoot = "/Users/shaneburrell/freeswitch-svn-real"; - targets = ( - 4A04504A04504A0450000000 /* ALL_BUILD */, - 4A9DB04A9DB04A9DB0000000 /* freeswitch */, - 4D33304D33304D3330000000 /* libfreeswitch_la.a */, - 4DF4E04DF4E04DF4E0000000 /* libresample.a */, - 4EB8604EB8604EB860000000 /* libteletone.a */, - 60FD3060FD3060FD30000000 /* libpcre.a */, - 61A78061A78061A780000000 /* libstfu.a */, - 63FDE063FDE063FDE0000000 /* liblibedit.a */, - ); - }; + 4904E04904E04904E0000000 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 490AA0490AA0490AA0000000 /* Build configuration list for PBXProject "freeswitch" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 0; + mainGroup = 486D20486D20486D20000000; + projectDirPath = ""; + projectRoot = "/Users/shaneburrell/freeswitch-svn-real"; + targets = ( + 492050492050492050000000 /* ALL_BUILD */, + 49B9E049B9E049B9E0000000 /* freeswitch */, + 4DA6F04DA6F04DA6F0000000 /* libfreeswitch_la.a */, + 4E68704E68704E6870000000 /* libresample.a */, + 4F22D04F22D04F22D0000000 /* libteletone.a */, + 616770616770616770000000 /* libpcre.a */, + 621070621070621070000000 /* libstfu.a */, + ); + }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 49FCD049FCD049FCD0000000 /* */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# shell script goes here -exit 0"; - }; - 4A06304A06304A0630000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 4A0D204A0D204A0D20000000 /* CMake Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ALL_BUILD_cmakeRulesBuildPhase.make$CONFIGURATION all"; - }; - 4A8FA04A8FA04A8FA0000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 4A96504A96504A9650000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/freeswitch_postBuildPhase.make$CONFIGURATION all"; - }; - 4D25004D25004D2500000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 4D2BE04D2BE04D2BE0000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/freeswitch_la_postBuildPhase.make$CONFIGURATION all"; - }; - 4DE7804DE7804DE780000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 4DEE304DEE304DEE30000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/libresample -f /Users/shaneburrell/freeswitch-svn-real/libs/libresample/CMakeScripts/resample_postBuildPhase.make$CONFIGURATION all"; - }; - 4EAB004EAB004EAB00000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 4EB1B04EB1B04EB1B0000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/libteletone -f /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/CMakeScripts/teletone_postBuildPhase.make$CONFIGURATION all"; - }; - 60EDA060EDA060EDA0000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 60F45060F45060F450000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/pcre -f /Users/shaneburrell/freeswitch-svn-real/libs/pcre/CMakeScripts/pcre_postBuildPhase.make$CONFIGURATION all"; - }; - 6197E06197E06197E0000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 619EC0619EC0619EC0000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/stfu -f /Users/shaneburrell/freeswitch-svn-real/libs/stfu/CMakeScripts/stfu_postBuildPhase.make$CONFIGURATION all"; - }; - 63F0A063F0A063F0A0000000 /* CMake ReRun */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake ReRun"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; - }; - 63F75063F75063F750000000 /* CMake PostBuild Rules */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "CMake PostBuild Rules"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/libedit -f /Users/shaneburrell/freeswitch-svn-real/libs/libedit/CMakeScripts/libedit_postBuildPhase.make$CONFIGURATION all"; - }; + 492230492230492230000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 492920492920492920000000 /* CMake Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ALL_BUILD_cmakeRulesBuildPhase.make$CONFIGURATION all"; + }; + 49ABD049ABD049ABD0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 49B28049B28049B280000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/freeswitch_postBuildPhase.make$CONFIGURATION all"; + }; + 4D98F04D98F04D98F0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4D9FA04D9FA04D9FA0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/src -f /Users/shaneburrell/freeswitch-svn-real/src/CMakeScripts/freeswitch_la_postBuildPhase.make$CONFIGURATION all"; + }; + 4E5B104E5B104E5B10000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4E61C04E61C04E61C0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/libresample -f /Users/shaneburrell/freeswitch-svn-real/libs/libresample/CMakeScripts/resample_postBuildPhase.make$CONFIGURATION all"; + }; + 4F15704F15704F1570000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 4F1C204F1C204F1C20000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/libteletone -f /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/CMakeScripts/teletone_postBuildPhase.make$CONFIGURATION all"; + }; + 6157E06157E06157E0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 615E90615E90615E90000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/pcre -f /Users/shaneburrell/freeswitch-svn-real/libs/pcre/CMakeScripts/pcre_postBuildPhase.make$CONFIGURATION all"; + }; + 6200D06200D06200D0000000 /* CMake ReRun */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake ReRun"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real -f /Users/shaneburrell/freeswitch-svn-real/CMakeScripts/ReRunCMake.make"; + }; + 6207B06207B06207B0000000 /* CMake PostBuild Rules */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "CMake PostBuild Rules"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "make -C /Users/shaneburrell/freeswitch-svn-real/libs/stfu -f /Users/shaneburrell/freeswitch-svn-real/libs/stfu/CMakeScripts/stfu_postBuildPhase.make$CONFIGURATION all"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 4A88304A88304A8830000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4A78104A78104A7810000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4D16D04D16D04D16D0000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4B1C404B1C404B1C40000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_apr.c */, - 4B26804B26804B2680000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_buffer.c */, - 4B31404B31404B3140000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_caller.c */, - 4B3C204B3C204B3C20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_channel.c */, - 4B46E04B46E04B46E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_console.c */, - 4B51F04B51F04B51F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_media_bug.c */, - 4B5D104B5D104B5D10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_timer.c */, - 4B67604B67604B6760000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_asr.c */, - 4B72B04B72B04B72B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_event_hook.c */, - 4B7E204B7E204B7E20000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_speech.c */, - 4B88604B88604B8860000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_memory.c */, - 4B93104B93104B9310000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_codec.c */, - 4B9D604B9D604B9D60000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_file.c */, - 4BA8204BA8204BA820000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_hash.c */, - 4BB2E04BB2E04BB2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_sqldb.c */, - 4BBDA04BBDA04BBDA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_session.c */, - 4BC9504BC9504BC950000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_directory.c */, - 4BD4404BD4404BD440000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_state_machine.c */, - 4BDEA04BDEA04BDEA0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_io.c */, - 4BE9204BE9204BE920000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_rwlock.c */, - 4BF4504BF4504BF450000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_port_allocator.c */, - 4BFF304BFF304BFF30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core.c */, - 4C09504C09504C0950000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_scheduler.c */, - 4C14104C14104C1410000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_core_db.c */, - 4C1F304C1F304C1F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_dso.c */, - 4C29A04C29A04C29A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_loadable_module.c */, - 4C34A04C34A04C34A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_utils.c */, - 4C3F304C3F304C3F30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_event.c */, - 4C49F04C49F04C49F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_resample.c */, - 4C54B04C54B04C54B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_regex.c */, - 4C5FD04C5FD04C5FD0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_rtp.c */, - 4C6A304C6A304C6A30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_bridge.c */, - 4C74D04C74D04C74D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_originate.c */, - 4C80F04C80F04C80F0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_async.c */, - 4C8B804C8B804C8B80000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_play_say.c */, - 4C96A04C96A04C96A0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr_menu.c */, - 4CA1504CA1504CA150000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_ivr.c */, - 4CAC104CAC104CAC10000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_stun.c */, - 4CB6D04CB6D04CB6D0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_log.c */, - 4CC1904CC1904CC190000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_xml.c */, - 4CCBF04CCBF04CCBF0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_config.c */, - 4CD7104CD7104CD710000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_time.c */, - 4CE1D04CE1D04CE1D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */, - 4CEC304CEC304CEC30000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_cpp.cpp */, - 4CF6B04CF6B04CF6B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/g711.c */, - 4D01B04D01B04D01B0000000 /* /Users/shaneburrell/freeswitch-svn-real/src/switch_pcm.c */, - 4D0C104D0C104D0C10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */, - 4D17404D17404D1740000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4DDA304DDA304DDA30000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4DBA504DBA504DBA50000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resample.c */, - 4DC5104DC5104DC510000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/filterkit.c */, - 4DCFE04DCFE04DCFE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libresample/src/resamplesubs.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4E9D604E9D604E9D60000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4E82A04E82A04E82A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_detect.c */, - 4E94E04E94E04E94E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src/libteletone_generate.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 60E58060E58060E580000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4F3C204F3C204F3C20000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_compile.c */, - 4F46B04F46B04F46B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_tables.c */, - 4F51104F51104F5110000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_config.c */, - 4F5CA04F5CA04F5CA0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_try_flipped.c */, - 4F67304F67304F6730000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_dfa_exec.c */, - 4F72A04F72A04F72A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ucp_searchfuncs.c */, - 4F7CF04F7CF04F7CF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_exec.c */, - 4F87604F87604F8760000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_valid_utf8.c */, - 4F92C04F92C04F92C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_fullinfo.c */, - 4F9DF04F9DF04F9DF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_version.c */, - 4FA8504FA8504FA850000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/dftables.c */, - 4FB2E04FB2E04FB2E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_get.c */, - 4FBDB04FBDB04FBDB0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_xclass.c */, - 600800600800600800000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_globals.c */, - 601220601220601220000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_info.c */, - 603290603290603290000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_maketables.c */, - 604820604820604820000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_ord2utf8.c */, - 6053A06053A06053A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcredemo.c */, - 605E80605E80605E80000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_refcount.c */, - 6068C06068C06068C0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcregrep.c */, - 607380607380607380000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcreposix.c */, - 6093D06093D06093D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_scanner_unittest.cc */, - 609EF0609EF0609EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcretest.c */, - 60DFC060DFC060DFC0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/pcre/pcre_chartables.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 618A90618A90618A90000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 604E70604E70604E70000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/stfu/stfu.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63ECF063ECF063ECF0000000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6228A06228A06228A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/filecomplete.c */, - 623360623360623360000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/key.c */, - 624830624830624830000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/refresh.c */, - 625E40625E40625E40000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tty.c */, - 626900626900626900000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/el.c */, - 6289D06289D06289D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/prompt.c */, - 629EF0629EF0629EF0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcat.c */, - 62BFE062BFE062BFE0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/hist.c */, - 62D4E062D4E062D4E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/search.c */, - 62E0B062E0B062E0B0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/strlcpy.c */, - 62EB3062EB3062EB30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/unvis.c */, - 62F5F062F5F062F5F0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/chared.c */, - 631660631660631660000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/map.c */, - 6320E06320E06320E0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/read.c */, - 634150634150634150000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vi.c */, - 6356D06356D06356D0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/emacs.c */, - 638140638140638140000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/term.c */, - 638D00638D00638D00000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/vis.c */, - 639770639770639770000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/common.c */, - 63A26063A26063A260000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/fgetln.c */, - 63AD3063AD3063AD30000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/history.c */, - 63B7A063B7A063B7A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/parse.c */, - 63C2A063C2A063C2A0000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/readline.c */, - 63CD1063CD1063CD10000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/sig.c */, - 63D70063D70063D700000000 /* /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/tokenizer.c */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; + 49A46049A46049A460000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 499420499420499420000000 /* switch.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4D90604D90604D9060000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4A38304A38304A3830000000 /* switch_apr.c in Sources */, + 4A42704A42704A4270000000 /* switch_buffer.c in Sources */, + 4A4D304A4D304A4D30000000 /* switch_caller.c in Sources */, + 4A58104A58104A5810000000 /* switch_channel.c in Sources */, + 4A62D04A62D04A62D0000000 /* switch_console.c in Sources */, + 4A6DE04A6DE04A6DE0000000 /* switch_core_media_bug.c in Sources */, + 4A79004A79004A7900000000 /* switch_core_timer.c in Sources */, + 4A83504A83504A8350000000 /* switch_core_asr.c in Sources */, + 4A8EA04A8EA04A8EA0000000 /* switch_core_event_hook.c in Sources */, + 4A9A104A9A104A9A10000000 /* switch_core_speech.c in Sources */, + 4AA4504AA4504AA450000000 /* switch_core_memory.c in Sources */, + 4AAF004AAF004AAF00000000 /* switch_core_codec.c in Sources */, + 4AB9504AB9504AB950000000 /* switch_core_file.c in Sources */, + 4AC4104AC4104AC410000000 /* switch_core_hash.c in Sources */, + 4ACED04ACED04ACED0000000 /* switch_core_sqldb.c in Sources */, + 4AD9904AD9904AD990000000 /* switch_core_session.c in Sources */, + 4AE5404AE5404AE540000000 /* switch_core_directory.c in Sources */, + 4AF0304AF0304AF030000000 /* switch_core_state_machine.c in Sources */, + 4AFA904AFA904AFA90000000 /* switch_core_io.c in Sources */, + 4B05104B05104B0510000000 /* switch_core_rwlock.c in Sources */, + 4B10404B10404B1040000000 /* switch_core_port_allocator.c in Sources */, + 4B1B204B1B204B1B20000000 /* switch_core.c in Sources */, + 4B25404B25404B2540000000 /* switch_scheduler.c in Sources */, + 4B30004B30004B3000000000 /* switch_core_db.c in Sources */, + 4B3B204B3B204B3B20000000 /* switch_dso.c in Sources */, + 4B45904B45904B4590000000 /* switch_loadable_module.c in Sources */, + 4B50904B50904B5090000000 /* switch_utils.c in Sources */, + 4B5B204B5B204B5B20000000 /* switch_event.c in Sources */, + 4B65E04B65E04B65E0000000 /* switch_resample.c in Sources */, + 4B70A04B70A04B70A0000000 /* switch_regex.c in Sources */, + 4B7BC04B7BC04B7BC0000000 /* switch_rtp.c in Sources */, + 4B86204B86204B8620000000 /* switch_ivr_bridge.c in Sources */, + 4B90C04B90C04B90C0000000 /* switch_ivr_originate.c in Sources */, + 4B9CE04B9CE04B9CE0000000 /* switch_ivr_async.c in Sources */, + 4BA7704BA7704BA770000000 /* switch_ivr_play_say.c in Sources */, + 4BB2904BB2904BB290000000 /* switch_ivr_menu.c in Sources */, + 4BBD404BBD404BBD40000000 /* switch_ivr.c in Sources */, + 4BC8004BC8004BC800000000 /* switch_stun.c in Sources */, + 4BD2C04BD2C04BD2C0000000 /* switch_log.c in Sources */, + 4BDD804BDD804BDD80000000 /* switch_xml.c in Sources */, + 4BE7E04BE7E04BE7E0000000 /* switch_config.c in Sources */, + 4BF3004BF3004BF300000000 /* switch_time.c in Sources */, + 4BFDC04BFDC04BFDC0000000 /* stfu.c in Sources */, + 4C08204C08204C0820000000 /* switch_cpp.cpp in Sources */, + 4C12A04C12A04C12A0000000 /* g711.c in Sources */, + 4C1DA04C1DA04C1DA0000000 /* switch_pcm.c in Sources */, + 4C28004C28004C2800000000 /* libteletone_detect.c in Sources */, + 4C33304C33304C3330000000 /* libteletone_generate.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4E4DC04E4DC04E4DC0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4E2E004E2E004E2E00000000 /* resample.c in Sources */, + 4E38C04E38C04E38C0000000 /* filterkit.c in Sources */, + 4E43704E43704E4370000000 /* resamplesubs.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF2904EF2904EF290000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EF3004EF3004EF300000000 /* libteletone_detect.c in Sources */, + 4EFF804EFF804EFF80000000 /* libteletone_generate.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 614FC0614FC0614FC0000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4FA6604FA6604FA660000000 /* pcre_compile.c in Sources */, + 4FB0F04FB0F04FB0F0000000 /* pcre_tables.c in Sources */, + 4FBB504FBB504FBB50000000 /* pcre_config.c in Sources */, + 600670600670600670000000 /* pcre_try_flipped.c in Sources */, + 601100601100601100000000 /* pcre_dfa_exec.c in Sources */, + 601C70601C70601C70000000 /* pcre_ucp_searchfuncs.c in Sources */, + 6026C06026C06026C0000000 /* pcre_exec.c in Sources */, + 603130603130603130000000 /* pcre_valid_utf8.c in Sources */, + 603C90603C90603C90000000 /* pcre_fullinfo.c in Sources */, + 6047C06047C06047C0000000 /* pcre_version.c in Sources */, + 605220605220605220000000 /* dftables.c in Sources */, + 605CB0605CB0605CB0000000 /* pcre_get.c in Sources */, + 606780606780606780000000 /* pcre_xclass.c in Sources */, + 607240607240607240000000 /* pcre_globals.c in Sources */, + 607C60607C60607C60000000 /* pcre_info.c in Sources */, + 609CD0609CD0609CD0000000 /* pcre_maketables.c in Sources */, + 60B26060B26060B260000000 /* pcre_ord2utf8.c in Sources */, + 60BDE060BDE060BDE0000000 /* pcredemo.c in Sources */, + 60C8C060C8C060C8C0000000 /* pcre_refcount.c in Sources */, + 60D30060D30060D300000000 /* pcregrep.c in Sources */, + 60DDC060DDC060DDC0000000 /* pcreposix.c in Sources */, + 60FE1060FE1060FE10000000 /* pcre_scanner_unittest.cc in Sources */, + 610930610930610930000000 /* pcretest.c in Sources */, + 614A00614A00614A00000000 /* pcre_chartables.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 61F38061F38061F380000000 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 60B8B060B8B060B8B0000000 /* stfu.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 648250648250648250000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4A9DB04A9DB04A9DB0000000 /* freeswitch */; - targetProxy = 638780638780638780000000 /* PBXContainerItemProxy */; - }; - 648A20648A20648A20000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4D33304D33304D3330000000 /* libfreeswitch_la.a */; - targetProxy = 648530648530648530000000 /* PBXContainerItemProxy */; - }; - 649190649190649190000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 63FDE063FDE063FDE0000000 /* liblibedit.a */; - targetProxy = 648C90648C90648C90000000 /* PBXContainerItemProxy */; - }; - 649900649900649900000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 60FD3060FD3060FD30000000 /* libpcre.a */; - targetProxy = 649400649400649400000000 /* PBXContainerItemProxy */; - }; - 64A08064A08064A080000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4DF4E04DF4E04DF4E0000000 /* libresample.a */; - targetProxy = 649B90649B90649B90000000 /* PBXContainerItemProxy */; - }; - 64A7D064A7D064A7D0000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 61A78061A78061A780000000 /* libstfu.a */; - targetProxy = 64A31064A31064A310000000 /* PBXContainerItemProxy */; - }; - 64AFA064AFA064AFA0000000 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EB8604EB8604EB860000000 /* libteletone.a */; - targetProxy = 64AAB064AAB064AAB0000000 /* PBXContainerItemProxy */; - }; + 629320629320629320000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 49B9E049B9E049B9E0000000 /* freeswitch */; + targetProxy = 628E90628E90628E90000000 /* PBXContainerItemProxy */; + }; + 629A30629A30629A30000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4DA6F04DA6F04DA6F0000000 /* libfreeswitch_la.a */; + targetProxy = 6295B06295B06295B0000000 /* PBXContainerItemProxy */; + }; + 62A1F062A1F062A1F0000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 616770616770616770000000 /* libpcre.a */; + targetProxy = 629CF0629CF0629CF0000000 /* PBXContainerItemProxy */; + }; + 62A96062A96062A960000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4E68704E68704E6870000000 /* libresample.a */; + targetProxy = 62A46062A46062A460000000 /* PBXContainerItemProxy */; + }; + 62B0E062B0E062B0E0000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 621070621070621070000000 /* libstfu.a */; + targetProxy = 62ABF062ABF062ABF0000000 /* PBXContainerItemProxy */; + }; + 62B83062B83062B830000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 4F22D04F22D04F22D0000000 /* libteletone.a */; + targetProxy = 62B37062B37062B370000000 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 49EF8049EF8049EF80000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Debug; - }; - 49F14049F14049F140000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Release; - }; - 49F2F049F2F049F2F0000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = MinSizeRel; - }; - 49F57049F57049F570000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = RelWithDebInfo; - }; - 4A19F04A19F04A19F0000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = ALL_BUILD; - SECTORDER_FLAGS = ""; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 4A2C604A2C604A2C60000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = ALL_BUILD; - SECTORDER_FLAGS = ""; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 4A3E804A3E804A3E80000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = ALL_BUILD; - SECTORDER_FLAGS = ""; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 4A50A04A50A04A50A0000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = ALL_BUILD; - SECTORDER_FLAGS = ""; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 4AA4E04AA4E04AA4E0000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = ""; - EXECUTABLE_SUFFIX = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/Debug/libteletone.a /Users/shaneburrell/freeswitch-svn-real/libs/pcre/Debug/libpcre.a /Users/shaneburrell/freeswitch-svn-real/libs/libresample/Debug/libresample.a /Users/shaneburrell/freeswitch-svn-real/src/Debug/libfreeswitch_la.a /Users/shaneburrell/freeswitch-svn-real/libs/stfu/Debug/libstfu.a -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 4ABB904ABB904ABB90000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = ""; - EXECUTABLE_SUFFIX = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/Release/libteletone.a /Users/shaneburrell/freeswitch-svn-real/libs/pcre/Release/libpcre.a /Users/shaneburrell/freeswitch-svn-real/libs/libresample/Release/libresample.a /Users/shaneburrell/freeswitch-svn-real/src/Release/libfreeswitch_la.a /Users/shaneburrell/freeswitch-svn-real/libs/stfu/Release/libstfu.a -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 4AD1804AD1804AD180000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = ""; - EXECUTABLE_SUFFIX = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/MinSizeRel/libteletone.a /Users/shaneburrell/freeswitch-svn-real/libs/pcre/MinSizeRel/libpcre.a /Users/shaneburrell/freeswitch-svn-real/libs/libresample/MinSizeRel/libresample.a /Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libfreeswitch_la.a /Users/shaneburrell/freeswitch-svn-real/libs/stfu/MinSizeRel/libstfu.a -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 4AE7504AE7504AE750000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = ""; - EXECUTABLE_SUFFIX = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include "; - INSTALL_PATH = ""; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = " -Wl,-search_paths_first -headerpad_max_install_names -L/usr/lib -lapr-1 -L/usr/lib -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/RelWithDebInfo/libteletone.a /Users/shaneburrell/freeswitch-svn-real/libs/pcre/RelWithDebInfo/libpcre.a /Users/shaneburrell/freeswitch-svn-real/libs/libresample/RelWithDebInfo/libresample.a /Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libfreeswitch_la.a /Users/shaneburrell/freeswitch-svn-real/libs/stfu/RelWithDebInfo/libstfu.a -L/usr/lib -lapr-1 -laprutil-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src/.libs/libedit.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a /Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a /Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a"; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 4D3A904D3A904D3A90000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch_la; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 4D53204D53204D5320000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_CPLUSPLUSFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch_la; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 4D55504D55504D5550000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-Os"; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_CPLUSPLUSFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch_la; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 4D6D204D6D204D6D20000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-O2"; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = freeswitch_la; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 4DFCD04DFCD04DFCD0000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = resample; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 4E14404E14404E1440000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = resample; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 4E2B104E2B104E2B10000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = resample; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 4E41A04E41A04E41A0000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libresample/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = resample; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 4EC0504EC0504EC050000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = teletone; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 4ED7C04ED7C04ED7C0000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = teletone; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 4EEE904EEE904EEE90000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = teletone; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 4F05204F05204F0520000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = teletone; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 6102E06102E06102E0000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/pcre/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = pcre; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 611B80611B80611B80000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/pcre/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_CPLUSPLUSFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = pcre; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 613380613380613380000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/pcre/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-Os"; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_CPLUSPLUSFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = pcre; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 614B40614B40614B40000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/pcre/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-O2"; - OTHER_CFLAGS = " "; - OTHER_CPLUSPLUSFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = pcre; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 61AD3061AD3061AD30000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/stfu/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = stfu; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 61C48061C48061C480000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/stfu/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = stfu; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 61DB4061DB4061DB40000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/stfu/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = stfu; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 61F1B061F1B061F1B0000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/stfu/include "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = stfu; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; - 6405C06405C06405C0000000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/. /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = libedit; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Debug; - }; - 641CD0641CD0641CD0000000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/. /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = libedit; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = Release; - }; - 643390643390643390000000 /* MinSizeRel */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/. /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " -DNDEBUG "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = libedit; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = MinSizeRel; - }; - 644A20644A20644A20000000 /* RelWithDebInfo */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - EXECUTABLE_SUFFIX = ".a"; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 2; - GCC_PREPROCESSOR_DEFINITIONS = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"' 'SWITCH_HAVE_LIBEDIT' 'MACOSX' 'HAVE_NETDB_H'"; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = "/usr/include/apr-1 /Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src /Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include /Users/shaneburrell/freeswitch-svn-real/libs/sqlite /Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src /Users/shaneburrell/freeswitch-svn-real/src/include /Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src /Users/shaneburrell/freeswitch-svn-real/libs/stfu /Users/shaneburrell/freeswitch-svn-real/libs/apr/include /Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/include /Users/shaneburrell/freeswitch-svn-real/libs/libedit/. /Users/shaneburrell/freeswitch-svn-real/libs/libedit/src "; - INSTALL_PATH = ""; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = ""; - OTHER_CFLAGS = " "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = libedit; - SECTORDER_FLAGS = ""; - SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libedit"; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - name = RelWithDebInfo; - }; + 490B80490B80490B80000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + 490D40490D40490D40000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; + 490EF0490EF0490EF0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = MinSizeRel; + }; + 491170491170491170000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = RelWithDebInfo; + }; + 4935F04935F04935F0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 4948E04948E04948E0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 495AF0495AF0495AF0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 496C70496C70496C70000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = ALL_BUILD; + SECTORDER_FLAGS = ""; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 49C11049C11049C110000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ( + "-Wl,-search_paths_first", + "-headerpad_max_install_names", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/Debug/libteletone.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/Debug/libpcre.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/Debug/libresample.a", + "/Users/shaneburrell/freeswitch-svn-real/src/Debug/libfreeswitch_la.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/Debug/libstfu.a", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + ); + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 49D81049D81049D810000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ( + "-Wl,-search_paths_first", + "-headerpad_max_install_names", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/Release/libteletone.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/Release/libpcre.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/Release/libresample.a", + "/Users/shaneburrell/freeswitch-svn-real/src/Release/libfreeswitch_la.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/Release/libstfu.a", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + ); + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 49EDE049EDE049EDE0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ( + "-Wl,-search_paths_first", + "-headerpad_max_install_names", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/MinSizeRel/libteletone.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/MinSizeRel/libpcre.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/MinSizeRel/libresample.a", + "/Users/shaneburrell/freeswitch-svn-real/src/MinSizeRel/libfreeswitch_la.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/MinSizeRel/libstfu.a", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + ); + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 4A03A04A03A04A03A0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = ""; + EXECUTABLE_SUFFIX = ""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + ); + INSTALL_PATH = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ( + "-Wl,-search_paths_first", + "-headerpad_max_install_names", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/RelWithDebInfo/libteletone.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/RelWithDebInfo/libpcre.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/RelWithDebInfo/libresample.a", + "/Users/shaneburrell/freeswitch-svn-real/src/RelWithDebInfo/libfreeswitch_la.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/RelWithDebInfo/libstfu.a", + "-Llibs/apr/.libs", + "-lapr-1", + "-L/libs/apr-util/.libs", + "-laprutil-1", + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src/.libs/libsndfile.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libcryptomath.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/.libs/libsrtp.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite/.libs/libsqlite3.a", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src/.libs/libvoipcodecs.a", + ); + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 4DAE504DAE504DAE50000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch_la; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 4DC6D04DC6D04DC6D0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_CPLUSPLUSFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch_la; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 4DDED04DDED04DDED0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_CPLUSPLUSFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch_la; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 4DF6704DF6704DF670000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_4 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/libresample/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/src/../libs/srtp/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = freeswitch_la; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/src"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 4E70604E70604E7060000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 4E88204E88204E8820000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 4E9E404E9E404E9E40000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 4EB4D04EB4D04EB4D0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libresample/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = resample; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libresample"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 4F2AC04F2AC04F2AC0000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = teletone; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 4F42804F42804F4280000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = teletone; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 4F58A04F58A04F58A0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = teletone; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 4F6F304F6F304F6F30000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = teletone; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 616D20616D20616D20000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = pcre; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 6185B06185B06185B0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_CPLUSPLUSFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = pcre; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 619CD0619CD0619CD0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_CPLUSPLUSFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = pcre; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 61B45061B45061B450000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 2; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/pcre/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = pcre; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/pcre"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; + 621620621620621620000000 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = stfu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 622DA0622DA0622DA0000000 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = stfu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; + 6243B06243B06243B0000000 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = "-DNDEBUG"; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = stfu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = MinSizeRel; + }; + 6259F06259F06259F0000000 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .a; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2)", + "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3)", + ); + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_1 = "'CMAKE_INTDIR=\"$(CONFIGURATION)\"'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_2 = "'MACOSX'"; + GCC_PREPROCESSOR_DEFINITIONS_QUOTED_FOR_TARGET_3 = "'HAVE_NETDB_H'"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + HEADER_SEARCH_PATHS = ( + "/Users/shaneburrell/freeswitch-svn-real/libs/libsndfile/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/srtp/crypto/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/sqlite", + "/Users/shaneburrell/freeswitch-svn-real/libs/voipcodecs/src", + "/Users/shaneburrell/freeswitch-svn-real/src/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/libteletone/src", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/apr-util/include", + "/Users/shaneburrell/freeswitch-svn-real/libs/stfu/include", + ); + INSTALL_PATH = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = stfu; + SECTORDER_FLAGS = ""; + SYMROOT = "/Users/shaneburrell/freeswitch-svn-real/libs/stfu"; + USE_HEADERMAP = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = RelWithDebInfo; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 49EEA049EEA049EEA0000000 /* Build configuration list for PBXProject "freeswitch" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 49EF8049EF8049EF80000000 /* Debug */, - 49F14049F14049F140000000 /* Release */, - 49F2F049F2F049F2F0000000 /* MinSizeRel */, - 49F57049F57049F570000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 4A16904A16904A1690000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4A19F04A19F04A19F0000000 /* Debug */, - 4A2C604A2C604A2C60000000 /* Release */, - 4A3E804A3E804A3E80000000 /* MinSizeRel */, - 4A50A04A50A04A50A0000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 4AA1A04AA1A04AA1A0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4AA4E04AA4E04AA4E0000000 /* Debug */, - 4ABB904ABB904ABB90000000 /* Release */, - 4AD1804AD1804AD180000000 /* MinSizeRel */, - 4AE7504AE7504AE750000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 4D37104D37104D3710000000 /* Build configuration list for PBXNativeTarget "freeswitch_la" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4D3A904D3A904D3A90000000 /* Debug */, - 4D53204D53204D5320000000 /* Release */, - 4D55504D55504D5550000000 /* MinSizeRel */, - 4D6D204D6D204D6D20000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 4DF9904DF9904DF990000000 /* Build configuration list for PBXNativeTarget "resample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4DFCD04DFCD04DFCD0000000 /* Debug */, - 4E14404E14404E1440000000 /* Release */, - 4E2B104E2B104E2B10000000 /* MinSizeRel */, - 4E41A04E41A04E41A0000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 4EBD104EBD104EBD10000000 /* Build configuration list for PBXNativeTarget "teletone" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EC0504EC0504EC050000000 /* Debug */, - 4ED7C04ED7C04ED7C0000000 /* Release */, - 4EEE904EEE904EEE90000000 /* MinSizeRel */, - 4F05204F05204F0520000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 60FFB060FFB060FFB0000000 /* Build configuration list for PBXNativeTarget "pcre" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6102E06102E06102E0000000 /* Debug */, - 611B80611B80611B80000000 /* Release */, - 613380613380613380000000 /* MinSizeRel */, - 614B40614B40614B40000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 61AA0061AA0061AA00000000 /* Build configuration list for PBXNativeTarget "stfu" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 61AD3061AD3061AD30000000 /* Debug */, - 61C48061C48061C480000000 /* Release */, - 61DB4061DB4061DB40000000 /* MinSizeRel */, - 61F1B061F1B061F1B0000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 640280640280640280000000 /* Build configuration list for PBXNativeTarget "libedit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6405C06405C06405C0000000 /* Debug */, - 641CD0641CD0641CD0000000 /* Release */, - 643390643390643390000000 /* MinSizeRel */, - 644A20644A20644A20000000 /* RelWithDebInfo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; + 490AA0490AA0490AA0000000 /* Build configuration list for PBXProject "freeswitch" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 490B80490B80490B80000000 /* Debug */, + 490D40490D40490D40000000 /* Release */, + 490EF0490EF0490EF0000000 /* MinSizeRel */, + 491170491170491170000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 493290493290493290000000 /* Build configuration list for PBXAggregateTarget "ALL_BUILD" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4935F04935F04935F0000000 /* Debug */, + 4948E04948E04948E0000000 /* Release */, + 495AF0495AF0495AF0000000 /* MinSizeRel */, + 496C70496C70496C70000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 49BDD049BDD049BDD0000000 /* Build configuration list for PBXNativeTarget "freeswitch" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 49C11049C11049C110000000 /* Debug */, + 49D81049D81049D810000000 /* Release */, + 49EDE049EDE049EDE0000000 /* MinSizeRel */, + 4A03A04A03A04A03A0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4DAAD04DAAD04DAAD0000000 /* Build configuration list for PBXNativeTarget "libfreeswitch_la.a" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4DAE504DAE504DAE50000000 /* Debug */, + 4DC6D04DC6D04DC6D0000000 /* Release */, + 4DDED04DDED04DDED0000000 /* MinSizeRel */, + 4DF6704DF6704DF670000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4E6D204E6D204E6D20000000 /* Build configuration list for PBXNativeTarget "libresample.a" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4E70604E70604E7060000000 /* Debug */, + 4E88204E88204E8820000000 /* Release */, + 4E9E404E9E404E9E40000000 /* MinSizeRel */, + 4EB4D04EB4D04EB4D0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 4F27804F27804F2780000000 /* Build configuration list for PBXNativeTarget "libteletone.a" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4F2AC04F2AC04F2AC0000000 /* Debug */, + 4F42804F42804F4280000000 /* Release */, + 4F58A04F58A04F58A0000000 /* MinSizeRel */, + 4F6F304F6F304F6F30000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6169F06169F06169F0000000 /* Build configuration list for PBXNativeTarget "libpcre.a" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 616D20616D20616D20000000 /* Debug */, + 6185B06185B06185B0000000 /* Release */, + 619CD0619CD0619CD0000000 /* MinSizeRel */, + 61B45061B45061B450000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6212F06212F06212F0000000 /* Build configuration list for PBXNativeTarget "libstfu.a" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 621620621620621620000000 /* Debug */, + 622DA0622DA0622DA0000000 /* Release */, + 6243B06243B06243B0000000 /* MinSizeRel */, + 6259F06259F06259F0000000 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; /* End XCConfigurationList section */ - }; - rootObject = 49E8E049E8E049E8E0000000 /* Project object */; + }; + rootObject = 4904E04904E04904E0000000 /* Project object */; } From anthm at freeswitch.org Fri Feb 13 15:35:17 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 17:35:17 -0600 Subject: [Freeswitch-svn] [commit] r12003 - in freeswitch/trunk/src: . include mod/applications/mod_conference Message-ID: Author: anthm Date: Fri Feb 13 17:35:17 2009 New Revision: 12003 Log: replace the resampler code with the awesome code from speex Modified: freeswitch/trunk/src/include/switch_resample.h freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/trunk/src/switch_core_file.c freeswitch/trunk/src/switch_core_io.c freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/trunk/src/include/switch_resample.h (original) +++ freeswitch/trunk/src/include/switch_resample.h Fri Feb 13 17:35:17 2009 @@ -42,7 +42,7 @@ #ifndef SWITCH_RESAMPLE_H #define SWITCH_RESAMPLE_H - +#define SWITCH_RESAMPLE_QUALITY 0 #include SWITCH_BEGIN_EXTERN_C /*! @@ -51,7 +51,7 @@ \{ */ /*! \brief An audio resampling handle */ - typedef struct { +typedef struct { /*! a pointer to store the resampler object */ void *resampler; /*! the rate to resample from in hz */ @@ -61,35 +61,29 @@ /*! the factor to resample by (from / to) */ double factor; double rfactor; - /*! a pointer to store a float buffer for data to be resampled */ - float *from; - /*! the size of the from buffer used */ - int from_len; - /*! the total size of the from buffer */ - switch_size_t from_size; - /*! a pointer to store a float buffer for resampled data */ - float *to; - /*! the size of the to buffer used */ - uint32_t to_len; - /*! the total size of the to buffer */ - uint32_t to_size; + int16_t *to; + /*! the size of the to buffer used */ + uint32_t to_len; + /*! the total size of the to buffer */ + uint32_t to_size; + } switch_audio_resampler_t; /*! \brief Prepare a new resampler handle \param new_resampler NULL pointer to aim at the new handle \param from_rate the rate to transfer from in hz - \param from_size the size of the buffer to allocate for the from data \param to_rate the rate to transfer to in hz - \param to_size the size of the buffer to allocate for the to data - \param pool the memory pool to use for buffer allocation + \param quality the quality desired \return SWITCH_STATUS_SUCCESS if the handle was created */ SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resampler_t **new_resampler, - int from_rate, switch_size_t from_size, int to_rate, - uint32_t to_size, switch_memory_pool_t *pool, const char *file, const char *func, int line); + uint32_t from_rate, uint32_t to_rate, uint32_t to_size, + int quality, + const char *file, const char *func, int line); -#define switch_resample_create(_n, _fr, _fs, _tr, _ts, _p) switch_resample_perform_create(_n, _fr, _fs, _tr, _ts, _p, __FILE__, __SWITCH_FUNC__, __LINE__) + +#define switch_resample_create(_n, _fr, _tr, _ts, _q) switch_resample_perform_create(_n, _fr, _tr, _ts, _q, __FILE__, __SWITCH_FUNC__, __LINE__) /*! \brief Destroy an existing resampler handle @@ -102,12 +96,10 @@ \param resampler the resample handle \param src the source data \param srclen the length of the source data - \param dst the destination data - \param dstlen the length of the destination data - \param last parameter denoting the last sample is being resampled \return the used size of dst */ -SWITCH_DECLARE(uint32_t) switch_resample_process(switch_audio_resampler_t *resampler, float *src, int srclen, float *dst, uint32_t dstlen, int last); +SWITCH_DECLARE(uint32_t) switch_resample_process(switch_audio_resampler_t *resampler, int16_t *src, uint32_t srclen); + /*! \brief Convert an array of floats to an array of shorts Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Feb 13 17:35:17 2009 @@ -1692,12 +1692,8 @@ int16_t *bptr = (int16_t *) read_frame->data; int len = (int) read_frame->datalen; - read_resampler->from_len = switch_short_to_float(bptr, read_resampler->from, (int) len / 2); - read_resampler->to_len = switch_resample_process(read_resampler, - read_resampler->from, - read_resampler->from_len, read_resampler->to, read_resampler->to_size, 0); - - switch_float_to_short(read_resampler->to, member->resample_out, read_resampler->to_len); + switch_resample_process(read_resampler, bptr, len / 2); + memcpy(member->resample_out, read_resampler->to, read_resampler->to_len * 2); len = read_resampler->to_len * 2; datalen = len; data = member->resample_out; @@ -4477,7 +4473,7 @@ if (read_impl.actual_samples_per_second != conference->rate) { if (switch_resample_create(&member->read_resampler, read_impl.actual_samples_per_second, - member->frame_size, conference->rate, member->frame_size, member->pool) != SWITCH_STATUS_SUCCESS) { + conference->rate, member->frame_size, SWITCH_RESAMPLE_QUALITY) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n"); goto done; } Modified: freeswitch/trunk/src/switch_core_file.c ============================================================================== --- freeswitch/trunk/src/switch_core_file.c (original) +++ freeswitch/trunk/src/switch_core_file.c Fri Feb 13 17:35:17 2009 @@ -214,16 +214,14 @@ if (!switch_test_flag(fh, SWITCH_FILE_NATIVE) && fh->native_rate != fh->samplerate) { if (!fh->resampler) { if (switch_resample_create(&fh->resampler, - fh->native_rate, orig_len, fh->samplerate, (uint32_t) orig_len, fh->memory_pool) != SWITCH_STATUS_SUCCESS) { + fh->native_rate, fh->samplerate, (uint32_t) orig_len, SWITCH_RESAMPLE_QUALITY) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n"); return SWITCH_STATUS_GENERR; } } - fh->resampler->from_len = switch_short_to_float(data, fh->resampler->from, (int) *len); - fh->resampler->to_len = - switch_resample_process(fh->resampler, fh->resampler->from, fh->resampler->from_len, fh->resampler->to, fh->resampler->to_size, 0); - + switch_resample_process(fh->resampler, data, *len); + if (fh->resampler->to_len < want || fh->resampler->to_len > orig_len) { if (!fh->buffer) { int factor = fh->resampler->to_len * fh->samplerate / 1000; @@ -235,8 +233,8 @@ fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen); } switch_assert(fh->resampler->to_len <= fh->dbuflen); - - switch_float_to_short(fh->resampler->to, (int16_t *) fh->dbuf, fh->resampler->to_len); + + memcpy((int16_t *) fh->dbuf, fh->resampler->to, fh->resampler->to_len * 2); switch_buffer_write(fh->buffer, fh->dbuf, fh->resampler->to_len * 2); if (switch_buffer_inuse(fh->buffer) < want * 2) { @@ -245,7 +243,7 @@ } *len = switch_buffer_read(fh->buffer, data, orig_len * 2) / 2; } else { - switch_float_to_short(fh->resampler->to, data, fh->resampler->to_len); + memcpy(data, fh->resampler->to, fh->resampler->to_len * 2); *len = fh->resampler->to_len; } @@ -274,28 +272,25 @@ if (!fh->resampler) { if (switch_resample_create(&fh->resampler, fh->native_rate, - orig_len * fh->channels, fh->samplerate, (uint32_t) orig_len *fh->channels, - fh->memory_pool) != SWITCH_STATUS_SUCCESS) { + SWITCH_RESAMPLE_QUALITY) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n"); return SWITCH_STATUS_GENERR; } } + switch_resample_process(fh->resampler, data, *len * fh->channels); - fh->resampler->from_len = switch_short_to_float(data, fh->resampler->from, (int) *len * fh->channels); - fh->resampler->to_len = - switch_resample_process(fh->resampler, fh->resampler->from, fh->resampler->from_len, fh->resampler->to, fh->resampler->to_size, 0); if (fh->resampler->to_len > orig_len * fh->channels) { if (!fh->dbuf) { fh->dbuflen = fh->resampler->to_len * 2; fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen); } switch_assert(fh->resampler->to_len <= fh->dbuflen); - switch_float_to_short(fh->resampler->to, (int16_t *) fh->dbuf, fh->resampler->to_len); + memcpy(fh->dbuf, fh->resampler->to, fh->resampler->to_len); data = fh->dbuf; } else { - switch_float_to_short(fh->resampler->to, data, fh->resampler->to_len); + memcpy(data, fh->resampler->to, fh->resampler->to_len); } *len = fh->resampler->to_len / fh->channels; Modified: freeswitch/trunk/src/switch_core_io.c ============================================================================== --- freeswitch/trunk/src/switch_core_io.c (original) +++ freeswitch/trunk/src/switch_core_io.c Fri Feb 13 17:35:17 2009 @@ -271,9 +271,10 @@ switch_mutex_lock(session->resample_mutex); status = switch_resample_create(&session->read_resampler, read_frame->codec->implementation->actual_samples_per_second, - read_frame->codec->implementation->decoded_bytes_per_packet, - session->read_impl.actual_samples_per_second, - session->read_impl.decoded_bytes_per_packet, session->pool); + session->read_impl.actual_samples_per_second, + session->read_impl.decoded_bytes_per_packet, + SWITCH_RESAMPLE_QUALITY); + switch_mutex_unlock(session->resample_mutex); if (status != SWITCH_STATUS_SUCCESS) { @@ -385,15 +386,11 @@ if (session->read_resampler) { short *data = read_frame->data; switch_mutex_lock(session->resample_mutex); - - session->read_resampler->from_len = switch_short_to_float(data, session->read_resampler->from, (int) read_frame->datalen / 2); - session->read_resampler->to_len = - switch_resample_process(session->read_resampler, session->read_resampler->from, - session->read_resampler->from_len, session->read_resampler->to, session->read_resampler->to_size, 0); - switch_float_to_short(session->read_resampler->to, data, read_frame->datalen); + switch_resample_process(session->read_resampler, data, (int)read_frame->datalen / 2); + memcpy(data, session->read_resampler->to, session->read_resampler->to_len * 2); read_frame->samples = session->read_resampler->to_len; - read_frame->datalen = session->read_resampler->to_len * 2; - read_frame->rate = session->read_resampler->to_rate; + read_frame->datalen = session->read_resampler->to_len * 2; + read_frame->rate = session->read_resampler->to_rate; switch_mutex_unlock(session->resample_mutex); } @@ -681,9 +678,10 @@ switch_mutex_lock(session->resample_mutex); status = switch_resample_create(&session->write_resampler, frame->codec->implementation->actual_samples_per_second, - frame->codec->implementation->decoded_bytes_per_packet, - session->write_impl.actual_samples_per_second, - session->write_impl.decoded_bytes_per_packet, session->pool); + session->write_impl.actual_samples_per_second, + session->write_impl.decoded_bytes_per_packet, + SWITCH_RESAMPLE_QUALITY); + switch_mutex_unlock(session->resample_mutex); if (status != SWITCH_STATUS_SUCCESS) { goto done; @@ -731,15 +729,8 @@ short *data = write_frame->data; switch_mutex_lock(session->resample_mutex); - session->write_resampler->from_len = write_frame->datalen / 2; - switch_short_to_float(data, session->write_resampler->from, session->write_resampler->from_len); - - session->write_resampler->to_len = (uint32_t) - switch_resample_process(session->write_resampler, session->write_resampler->from, - session->write_resampler->from_len, session->write_resampler->to, session->write_resampler->to_size, 0); - - switch_float_to_short(session->write_resampler->to, data, session->write_resampler->to_len); - + switch_resample_process(session->write_resampler, data, write_frame->datalen / 2); + memcpy(data, session->write_resampler->to, session->write_resampler->to_len * 2); write_frame->samples = session->write_resampler->to_len; write_frame->datalen = write_frame->samples * 2; write_frame->rate = session->write_resampler->to_rate; @@ -946,9 +937,10 @@ switch_mutex_lock(session->resample_mutex); status = switch_resample_create(&session->write_resampler, frame->codec->implementation->actual_samples_per_second, - frame->codec->implementation->decoded_bytes_per_packet, - session->write_impl.actual_samples_per_second, - session->write_impl.decoded_bytes_per_packet, session->pool); + session->write_impl.actual_samples_per_second, + session->write_impl.decoded_bytes_per_packet, + SWITCH_RESAMPLE_QUALITY); + switch_mutex_unlock(session->resample_mutex); if (status != SWITCH_STATUS_SUCCESS) { @@ -993,14 +985,8 @@ if (!did_write_resample && session->read_resampler) { short *data = write_frame->data; switch_mutex_lock(session->resample_mutex); - - session->read_resampler->from_len = - switch_short_to_float(data, session->read_resampler->from, (int) write_frame->datalen / 2); - session->read_resampler->to_len = (uint32_t) - switch_resample_process(session->read_resampler, session->read_resampler->from, - session->read_resampler->from_len, - session->read_resampler->to, session->read_resampler->to_size, 0); - switch_float_to_short(session->read_resampler->to, data, write_frame->datalen * 2); + switch_resample_process(session->read_resampler, data, write_frame->datalen / 2); + memcpy(data, session->read_resampler->to, session->read_resampler->to_len * 2); write_frame->samples = session->read_resampler->to_len; write_frame->datalen = session->read_resampler->to_len * 2; write_frame->rate = session->read_resampler->to_rate; Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Fri Feb 13 17:35:17 2009 @@ -38,6 +38,9 @@ #ifndef DISABLE_RESAMPLE #include #endif + +#include + #define NORMFACT (float)0x8000 #define MAXSAMPLE (float)0x7FFF #define MAXSAMPLEC (char)0x7F @@ -54,62 +57,52 @@ #define resample_buffer(a, b, c) a > b ? ((a / 1000) / 2) * c : ((b / 1000) / 2) * c SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resampler_t **new_resampler, - int from_rate, switch_size_t from_size, int to_rate, - uint32_t to_size, switch_memory_pool_t *pool, const char *file, const char *func, int line) + uint32_t from_rate, uint32_t to_rate, + uint32_t to_size, + int quality, + const char *file, const char *func, int line) { + #ifdef DISABLE_RESAMPLE *new_resampler = NULL; return SWITCH_STATUS_NOTIMPL; #else + int err = 0; switch_audio_resampler_t *resampler; double lto_rate, lfrom_rate; - if ((resampler = switch_core_alloc(pool, sizeof(*resampler))) == 0) { - return SWITCH_STATUS_MEMERR; + switch_zmalloc(resampler, sizeof(*resampler)); + + resampler->resampler = speex_resampler_init(1, from_rate, to_rate, quality, &err); + + if (!resampler->resampler) { + free(resampler); + return SWITCH_STATUS_GENERR; } - resampler->from_rate = from_rate; - resampler->to_rate = to_rate; + *new_resampler = resampler; lto_rate = (double) resampler->to_rate; - lfrom_rate = (double) resampler->from_rate; - resampler->factor = (lto_rate / lfrom_rate); - resampler->rfactor = (lfrom_rate / lto_rate); - - resampler->resampler = resample_open(QUALITY, resampler->factor, resampler->factor); - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, - "Activate Resampler %d->%d %f\n", resampler->from_rate, resampler->to_rate, resampler->factor); - resampler->from_size = resample_buffer(to_rate, from_rate, (uint32_t) from_size); - resampler->from = (float *) switch_core_alloc(pool, resampler->from_size * sizeof(float)); - resampler->to_size = resample_buffer(to_rate, from_rate, (uint32_t) to_size);; - resampler->to = (float *) switch_core_alloc(pool, resampler->to_size * sizeof(float)); + lfrom_rate = (double) resampler->from_rate; + resampler->from_rate = from_rate; + resampler->to_rate = to_rate; + resampler->factor = (lto_rate / lfrom_rate); + resampler->rfactor = (lfrom_rate / lto_rate); + resampler->to_size = resample_buffer(to_rate, from_rate, (uint32_t) to_size); + resampler->to = malloc(resampler->to_size * sizeof(int16_t)); - *new_resampler = resampler; return SWITCH_STATUS_SUCCESS; #endif } -SWITCH_DECLARE(uint32_t) switch_resample_process(switch_audio_resampler_t *resampler, float *src, int srclen, float *dst, uint32_t dstlen, int last) + +SWITCH_DECLARE(uint32_t) switch_resample_process(switch_audio_resampler_t *resampler, int16_t *src, uint32_t srclen) { #ifdef DISABLE_RESAMPLE return 0; #else - int o = 0, srcused = 0, srcpos = 0, out = 0; - - for (;;) { - int srcBlock = MIN(srclen - srcpos, srclen); - int lastFlag = (last && (srcBlock == srclen - srcpos)); - o = resample_process(resampler->resampler, resampler->factor, &src[srcpos], srcBlock, lastFlag, &srcused, &dst[out], dstlen - out); - /* printf("resampling %d/%d (%d) %d %f\n", srcpos, srclen, MIN(dstlen-out, dstlen), srcused, factor); */ - - srcpos += srcused; - if (o >= 0) { - out += o; - } - if (o < 0 || (o == 0 && srcpos == srclen)) { - break; - } - } - return out; + resampler->to_len = resampler->to_size; + speex_resampler_process_int(resampler->resampler, 0, src, &srclen, resampler->to, &resampler->to_len); + return resampler->to_len; #endif } @@ -119,8 +112,10 @@ if (resampler && *resampler) { #ifndef DISABLE_RESAMPLE if ((*resampler)->resampler) { - resample_close((*resampler)->resampler); + speex_resampler_destroy((*resampler)->resampler); } + free((*resampler)->to); + free(*resampler); #endif *resampler = NULL; } From brian at freeswitch.org Fri Feb 13 15:37:39 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 17:37:39 -0600 Subject: [Freeswitch-svn] [commit] r12004 - in freeswitch/trunk: build src src/include src/include/private src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/applications/mod_easyroute src/mod/applications/mod_enum src/mod/applications/mod_esf src/mod/applications/mod_expr src/mod/applications/mod_fax src/mod/applications/mod_fifo src/mod/applications/mod_fsv src/mod/applications/mod_lcr src/mod/applications/mod_limit src/mod/applications/mod_rss src/mod/applications/mod_skel src/mod/applications/mod_snom src/mod/applications/mod_soundtouch src/mod/applications/mod_stress src/mod/applications/mod_voicemail src/mod/asr_tts/mod_cepstral src/mod/asr_tts/mod_flite src/mod/asr_tts/mod_pocketsphinx src/mod/codecs/mod_amr src/mod/codecs/mod_amrwb src/mod/codecs/mod_celt src/mod/codecs/mod_dahdi_codec src/mod/codecs/mod_g723_1 src/mod/codecs/mod_g729 src/mod/codecs/mod_h26x src/mod/codecs/mod_ilbc src/mod/codecs/mod_siren src/mod/codecs/mod_speex src/mod/codecs/mod_voipcodecs src/mod/dialplans/mod_dialplan_asterisk src/mod/dialplans/mod_dialplan_directory src/mod/dialplans/mod_dialplan_xml src/mod/directories/mod_ldap src/mod/endpoints/mod_alsa src/mod/endpoints/mod_dingaling src/mod/endpoints/mod_iax src/mod/endpoints/mod_loopback src/mod/endpoints/mod_portaudio src/mod/endpoints/mod_reference src/mod/endpoints/mod_sofia src/mod/event_handlers/mod_cdr_csv src/mod/event_handlers/mod_erlang_event src/mod/event_handlers/mod_event_multicast src/mod/event_handlers/mod_event_socket src/mod/event_handlers/mod_event_test src/mod/event_handlers/mod_radius_cdr src/mod/event_handlers/mod_zeroconf src/mod/formats/mod_local_stream src/mod/formats/mod_native_file src/mod/formats/mod_shout src/mod/formats/mod_sndfile src/mod/formats/mod_tone_stream src/mod/languages/mod_lua src/mod/languages/mod_perl src/mod/languages/mod_python src/mod/languages/mod_spidermonkey src/mod/languages/mod_spidermonkey_core_db src/mod/languages/mod_spidermonkey_curl src/mod/languages/mod_spidermonkey_odbc src/mod/languages/mod_spidermonkey_skel src/mod/languages/mod_spidermonkey_teletone src/mod/languages/mod_yaml src/mod/loggers/mod_console src/mod/loggers/mod_syslog src/mod/xml_int/mod_xml_cdr src/mod/xml_int/mod_xml_curl src/mod/xml_int/mod_xml_ldap src/mod/xml_int/mod_xml_rpc Message-ID: Author: brian Date: Fri Feb 13 17:37:37 2009 New Revision: 12004 Log: update copyright Modified: freeswitch/trunk/build/ignore_helper.pl freeswitch/trunk/src/include/private/switch_core_pvt.h freeswitch/trunk/src/include/switch.h freeswitch/trunk/src/include/switch_apr.h freeswitch/trunk/src/include/switch_bitpack.h freeswitch/trunk/src/include/switch_buffer.h freeswitch/trunk/src/include/switch_caller.h freeswitch/trunk/src/include/switch_channel.h freeswitch/trunk/src/include/switch_config.h freeswitch/trunk/src/include/switch_console.h freeswitch/trunk/src/include/switch_core.h freeswitch/trunk/src/include/switch_core_db.h freeswitch/trunk/src/include/switch_core_event_hook.h freeswitch/trunk/src/include/switch_event.h freeswitch/trunk/src/include/switch_frame.h freeswitch/trunk/src/include/switch_ivr.h freeswitch/trunk/src/include/switch_loadable_module.h freeswitch/trunk/src/include/switch_log.h freeswitch/trunk/src/include/switch_module_interfaces.h freeswitch/trunk/src/include/switch_odbc.h freeswitch/trunk/src/include/switch_platform.h freeswitch/trunk/src/include/switch_regex.h freeswitch/trunk/src/include/switch_resample.h freeswitch/trunk/src/include/switch_rtp.h freeswitch/trunk/src/include/switch_scheduler.h freeswitch/trunk/src/include/switch_stun.h freeswitch/trunk/src/include/switch_types.h freeswitch/trunk/src/include/switch_utils.h freeswitch/trunk/src/include/switch_xml.h freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c freeswitch/trunk/src/mod/languages/mod_python/mod_python.c freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c freeswitch/trunk/src/switch.c freeswitch/trunk/src/switch_apr.c freeswitch/trunk/src/switch_buffer.c freeswitch/trunk/src/switch_caller.c freeswitch/trunk/src/switch_channel.c freeswitch/trunk/src/switch_config.c freeswitch/trunk/src/switch_console.c freeswitch/trunk/src/switch_core.c freeswitch/trunk/src/switch_core_asr.c freeswitch/trunk/src/switch_core_codec.c freeswitch/trunk/src/switch_core_db.c freeswitch/trunk/src/switch_core_directory.c freeswitch/trunk/src/switch_core_event_hook.c freeswitch/trunk/src/switch_core_file.c freeswitch/trunk/src/switch_core_hash.c freeswitch/trunk/src/switch_core_io.c freeswitch/trunk/src/switch_core_media_bug.c freeswitch/trunk/src/switch_core_memory.c freeswitch/trunk/src/switch_core_port_allocator.c freeswitch/trunk/src/switch_core_rwlock.c freeswitch/trunk/src/switch_core_session.c freeswitch/trunk/src/switch_core_speech.c freeswitch/trunk/src/switch_core_sqldb.c freeswitch/trunk/src/switch_core_state_machine.c freeswitch/trunk/src/switch_core_timer.c freeswitch/trunk/src/switch_cpp.cpp freeswitch/trunk/src/switch_event.c freeswitch/trunk/src/switch_ivr.c freeswitch/trunk/src/switch_ivr_async.c freeswitch/trunk/src/switch_ivr_bridge.c freeswitch/trunk/src/switch_ivr_menu.c freeswitch/trunk/src/switch_ivr_originate.c freeswitch/trunk/src/switch_ivr_play_say.c freeswitch/trunk/src/switch_loadable_module.c freeswitch/trunk/src/switch_log.c freeswitch/trunk/src/switch_odbc.c freeswitch/trunk/src/switch_pcm.c freeswitch/trunk/src/switch_regex.c freeswitch/trunk/src/switch_resample.c freeswitch/trunk/src/switch_rtp.c freeswitch/trunk/src/switch_scheduler.c freeswitch/trunk/src/switch_stun.c freeswitch/trunk/src/switch_swig.c freeswitch/trunk/src/switch_time.c freeswitch/trunk/src/switch_utils.c freeswitch/trunk/src/switch_xml.c Modified: freeswitch/trunk/build/ignore_helper.pl ============================================================================== --- freeswitch/trunk/build/ignore_helper.pl (original) +++ freeswitch/trunk/build/ignore_helper.pl Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ ################################################################################ # ignore_helper.pl -# Copyright (c) 2007 Anthony Minessale II +# Copyright (c) 2007-2009 Anthony Minessale II # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation Modified: freeswitch/trunk/src/include/private/switch_core_pvt.h ============================================================================== --- freeswitch/trunk/src/include/private/switch_core_pvt.h (original) +++ freeswitch/trunk/src/include/private/switch_core_pvt.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch.h ============================================================================== --- freeswitch/trunk/src/include/switch.h (original) +++ freeswitch/trunk/src/include/switch.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_apr.h ============================================================================== --- freeswitch/trunk/src/include/switch_apr.h (original) +++ freeswitch/trunk/src/include/switch_apr.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_bitpack.h ============================================================================== --- freeswitch/trunk/src/include/switch_bitpack.h (original) +++ freeswitch/trunk/src/include/switch_bitpack.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_buffer.h ============================================================================== --- freeswitch/trunk/src/include/switch_buffer.h (original) +++ freeswitch/trunk/src/include/switch_buffer.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_caller.h ============================================================================== --- freeswitch/trunk/src/include/switch_caller.h (original) +++ freeswitch/trunk/src/include/switch_caller.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_channel.h ============================================================================== --- freeswitch/trunk/src/include/switch_channel.h (original) +++ freeswitch/trunk/src/include/switch_channel.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_config.h ============================================================================== --- freeswitch/trunk/src/include/switch_config.h (original) +++ freeswitch/trunk/src/include/switch_config.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_console.h ============================================================================== --- freeswitch/trunk/src/include/switch_console.h (original) +++ freeswitch/trunk/src/include/switch_console.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_core.h ============================================================================== --- freeswitch/trunk/src/include/switch_core.h (original) +++ freeswitch/trunk/src/include/switch_core.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_core_db.h ============================================================================== --- freeswitch/trunk/src/include/switch_core_db.h (original) +++ freeswitch/trunk/src/include/switch_core_db.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_core_event_hook.h ============================================================================== --- freeswitch/trunk/src/include/switch_core_event_hook.h (original) +++ freeswitch/trunk/src/include/switch_core_event_hook.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_event.h ============================================================================== --- freeswitch/trunk/src/include/switch_event.h (original) +++ freeswitch/trunk/src/include/switch_event.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_frame.h ============================================================================== --- freeswitch/trunk/src/include/switch_frame.h (original) +++ freeswitch/trunk/src/include/switch_frame.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_ivr.h ============================================================================== --- freeswitch/trunk/src/include/switch_ivr.h (original) +++ freeswitch/trunk/src/include/switch_ivr.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_loadable_module.h ============================================================================== --- freeswitch/trunk/src/include/switch_loadable_module.h (original) +++ freeswitch/trunk/src/include/switch_loadable_module.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_log.h ============================================================================== --- freeswitch/trunk/src/include/switch_log.h (original) +++ freeswitch/trunk/src/include/switch_log.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_module_interfaces.h ============================================================================== --- freeswitch/trunk/src/include/switch_module_interfaces.h (original) +++ freeswitch/trunk/src/include/switch_module_interfaces.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_odbc.h ============================================================================== --- freeswitch/trunk/src/include/switch_odbc.h (original) +++ freeswitch/trunk/src/include/switch_odbc.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_platform.h ============================================================================== --- freeswitch/trunk/src/include/switch_platform.h (original) +++ freeswitch/trunk/src/include/switch_platform.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_regex.h ============================================================================== --- freeswitch/trunk/src/include/switch_regex.h (original) +++ freeswitch/trunk/src/include/switch_regex.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/trunk/src/include/switch_resample.h (original) +++ freeswitch/trunk/src/include/switch_resample.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_rtp.h ============================================================================== --- freeswitch/trunk/src/include/switch_rtp.h (original) +++ freeswitch/trunk/src/include/switch_rtp.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_scheduler.h ============================================================================== --- freeswitch/trunk/src/include/switch_scheduler.h (original) +++ freeswitch/trunk/src/include/switch_scheduler.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_stun.h ============================================================================== --- freeswitch/trunk/src/include/switch_stun.h (original) +++ freeswitch/trunk/src/include/switch_stun.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/trunk/src/include/switch_types.h (original) +++ freeswitch/trunk/src/include/switch_types.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_utils.h ============================================================================== --- freeswitch/trunk/src/include/switch_utils.h (original) +++ freeswitch/trunk/src/include/switch_utils.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/include/switch_xml.h ============================================================================== --- freeswitch/trunk/src/include/switch_xml.h (original) +++ freeswitch/trunk/src/include/switch_xml.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c (original) +++ freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c (original) +++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c (original) +++ freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original) +++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c (original) +++ freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c (original) +++ freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp (original) +++ freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp (original) +++ freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_amrwb/mod_amrwb.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_dahdi_codec/mod_dahdi_codec.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * 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 Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c ============================================================================== --- freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c (original) +++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c ============================================================================== --- freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original) +++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c ============================================================================== --- freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c (original) +++ freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c (original) +++ freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c (original) +++ freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c (original) +++ freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c ============================================================================== --- freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c (original) +++ freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c (original) +++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_python/mod_python.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_python/mod_python.c (original) +++ freeswitch/trunk/src/mod/languages/mod_python/mod_python.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c (original) +++ freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c ============================================================================== --- freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c (original) +++ freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c ============================================================================== --- freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c (original) +++ freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, James Martelletti + * Copyright (C) 2005-2009, James Martelletti * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch.c ============================================================================== --- freeswitch/trunk/src/switch.c (original) +++ freeswitch/trunk/src/switch.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_apr.c ============================================================================== --- freeswitch/trunk/src/switch_apr.c (original) +++ freeswitch/trunk/src/switch_apr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_buffer.c ============================================================================== --- freeswitch/trunk/src/switch_buffer.c (original) +++ freeswitch/trunk/src/switch_buffer.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_caller.c ============================================================================== --- freeswitch/trunk/src/switch_caller.c (original) +++ freeswitch/trunk/src/switch_caller.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Fri Feb 13 17:37:37 2009 @@ -1,7 +1,7 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_config.c ============================================================================== --- freeswitch/trunk/src/switch_config.c (original) +++ freeswitch/trunk/src/switch_config.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_console.c ============================================================================== --- freeswitch/trunk/src/switch_console.c (original) +++ freeswitch/trunk/src/switch_console.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core.c ============================================================================== --- freeswitch/trunk/src/switch_core.c (original) +++ freeswitch/trunk/src/switch_core.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_asr.c ============================================================================== --- freeswitch/trunk/src/switch_core_asr.c (original) +++ freeswitch/trunk/src/switch_core_asr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_codec.c ============================================================================== --- freeswitch/trunk/src/switch_core_codec.c (original) +++ freeswitch/trunk/src/switch_core_codec.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_db.c ============================================================================== --- freeswitch/trunk/src/switch_core_db.c (original) +++ freeswitch/trunk/src/switch_core_db.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_directory.c ============================================================================== --- freeswitch/trunk/src/switch_core_directory.c (original) +++ freeswitch/trunk/src/switch_core_directory.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_event_hook.c ============================================================================== --- freeswitch/trunk/src/switch_core_event_hook.c (original) +++ freeswitch/trunk/src/switch_core_event_hook.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_file.c ============================================================================== --- freeswitch/trunk/src/switch_core_file.c (original) +++ freeswitch/trunk/src/switch_core_file.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_hash.c ============================================================================== --- freeswitch/trunk/src/switch_core_hash.c (original) +++ freeswitch/trunk/src/switch_core_hash.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_io.c ============================================================================== --- freeswitch/trunk/src/switch_core_io.c (original) +++ freeswitch/trunk/src/switch_core_io.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_media_bug.c ============================================================================== --- freeswitch/trunk/src/switch_core_media_bug.c (original) +++ freeswitch/trunk/src/switch_core_media_bug.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_memory.c ============================================================================== --- freeswitch/trunk/src/switch_core_memory.c (original) +++ freeswitch/trunk/src/switch_core_memory.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_port_allocator.c ============================================================================== --- freeswitch/trunk/src/switch_core_port_allocator.c (original) +++ freeswitch/trunk/src/switch_core_port_allocator.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_rwlock.c ============================================================================== --- freeswitch/trunk/src/switch_core_rwlock.c (original) +++ freeswitch/trunk/src/switch_core_rwlock.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_speech.c ============================================================================== --- freeswitch/trunk/src/switch_core_speech.c (original) +++ freeswitch/trunk/src/switch_core_speech.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_sqldb.c ============================================================================== --- freeswitch/trunk/src/switch_core_sqldb.c (original) +++ freeswitch/trunk/src/switch_core_sqldb.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_state_machine.c ============================================================================== --- freeswitch/trunk/src/switch_core_state_machine.c (original) +++ freeswitch/trunk/src/switch_core_state_machine.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_core_timer.c ============================================================================== --- freeswitch/trunk/src/switch_core_timer.c (original) +++ freeswitch/trunk/src/switch_core_timer.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_cpp.cpp ============================================================================== --- freeswitch/trunk/src/switch_cpp.cpp (original) +++ freeswitch/trunk/src/switch_cpp.cpp Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_event.c ============================================================================== --- freeswitch/trunk/src/switch_event.c (original) +++ freeswitch/trunk/src/switch_event.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_bridge.c (original) +++ freeswitch/trunk/src/switch_ivr_bridge.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr_menu.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_menu.c (original) +++ freeswitch/trunk/src/switch_ivr_menu.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_play_say.c (original) +++ freeswitch/trunk/src/switch_ivr_play_say.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_loadable_module.c ============================================================================== --- freeswitch/trunk/src/switch_loadable_module.c (original) +++ freeswitch/trunk/src/switch_loadable_module.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_log.c ============================================================================== --- freeswitch/trunk/src/switch_log.c (original) +++ freeswitch/trunk/src/switch_log.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_odbc.c ============================================================================== --- freeswitch/trunk/src/switch_odbc.c (original) +++ freeswitch/trunk/src/switch_odbc.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_pcm.c ============================================================================== --- freeswitch/trunk/src/switch_pcm.c (original) +++ freeswitch/trunk/src/switch_pcm.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_regex.c ============================================================================== --- freeswitch/trunk/src/switch_regex.c (original) +++ freeswitch/trunk/src/switch_regex.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_rtp.c ============================================================================== --- freeswitch/trunk/src/switch_rtp.c (original) +++ freeswitch/trunk/src/switch_rtp.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_scheduler.c ============================================================================== --- freeswitch/trunk/src/switch_scheduler.c (original) +++ freeswitch/trunk/src/switch_scheduler.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_stun.c ============================================================================== --- freeswitch/trunk/src/switch_stun.c (original) +++ freeswitch/trunk/src/switch_stun.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_swig.c ============================================================================== --- freeswitch/trunk/src/switch_swig.c (original) +++ freeswitch/trunk/src/switch_swig.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_time.c ============================================================================== --- freeswitch/trunk/src/switch_time.c (original) +++ freeswitch/trunk/src/switch_time.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_utils.c ============================================================================== --- freeswitch/trunk/src/switch_utils.c (original) +++ freeswitch/trunk/src/switch_utils.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * Modified: freeswitch/trunk/src/switch_xml.c ============================================================================== --- freeswitch/trunk/src/switch_xml.c (original) +++ freeswitch/trunk/src/switch_xml.c Fri Feb 13 17:37:37 2009 @@ -1,6 +1,6 @@ /* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II + * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * From mikej at freeswitch.org Fri Feb 13 15:45:25 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 17:45:25 -0600 Subject: [Freeswitch-svn] [commit] r12005 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Fri Feb 13 17:45:25 2009 New Revision: 12005 Log: safety first Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c Fri Feb 13 17:45:25 2009 @@ -411,7 +411,7 @@ #if !defined(NDEBUG) else if (tt->tt_class && tt->tt_class->tc_ref_set) { fprintf(stderr, "WARNING: tag %s::%s directly used by tl_gets()\n", - tt->tt_ns, tt->tt_name); + tt->tt_ns ? tt->tt_ns : "", tt->tt_name ? tt->tt_name : ""); assert(tt->tt_class == ref_tag_class); } #endif From shaneb at freeswitch.org Fri Feb 13 16:07:12 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 18:07:12 -0600 Subject: [Freeswitch-svn] [commit] r12006 - freeswitch/trunk Message-ID: Author: shaneb Date: Fri Feb 13 18:07:12 2009 New Revision: 12006 Log: Use included apr Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Fri Feb 13 18:07:12 2009 @@ -16,7 +16,10 @@ SET( ${PROJECT_NAME}_MAJOR_VERSION 0 ) SET( ${PROJECT_NAME}_MINOR_VERSION 1 ) SET( ${PROJECT_NAME}_PATCH_LEVEL 0 ) -SET( ${SWITCH_VERSION_REVISION}$Project_WC_REVISION) + + +ADD_DEFINITIONS( "-DSWITCH_VERSION_REVISION=${Project_WC_REVISION}" ) + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") INCLUDE (CheckSymbolExists) @@ -125,16 +128,20 @@ # DO APR -FIND_PACKAGE (APR) -FIND_PACKAGE (APRUtil) +#FIND_PACKAGE (APR) +#FIND_PACKAGE (APRUtil) + +#LINK_LIBRARIES (${APR_LIBS} ${APRUTIL_LIBS}) +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr/.libs/libapr-1.a) +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr-util/.libs/libaprutil-1.a) + -LINK_LIBRARIES (${APR_LIBS} ${APRUTIL_LIBS}) MESSAGE( STATUS "APR INFO------------------------------------------" ) MESSAGE( STATUS "APR_LIBS = ${APR_LIBS}" ) MESSAGE( STATUS "APRUTIL_LIBS = ${APRUTIL_LIBS}" ) MESSAGE( STATUS "--------------------------------------------------" ) -INCLUDE_DIRECTORIES (${APR_INCLUDES} ${APRUTIL_INCLUDES}) +#INCLUDE_DIRECTORIES (${APR_INCLUDES} ${APRUTIL_INCLUDES}) # DO SNDFILE From mikej at freeswitch.org Fri Feb 13 16:09:49 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 18:09:49 -0600 Subject: [Freeswitch-svn] [commit] r12007 - freeswitch/trunk/libs/sofia-sip/m4 Message-ID: Author: mikej Date: Fri Feb 13 18:09:49 2009 New Revision: 12007 Log: turn off sego-initstate Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Modified: freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 ============================================================================== --- freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 (original) +++ freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4 Fri Feb 13 18:09:49 2009 @@ -526,7 +526,7 @@ AC_FUNC_ALLOCA -AC_CHECK_FUNCS([gettimeofday strerror random initstate tcsetattr flock \ +AC_CHECK_FUNCS([gettimeofday strerror random tcsetattr flock \ socketpair gethostname gethostbyname getipnodebyname \ poll epoll_create kqueue select if_nameindex \ signal alarm \ From mrene at freeswitch.org Fri Feb 13 17:04:28 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 19:04:28 -0600 Subject: [Freeswitch-svn] [commit] r12008 - freeswitch/trunk/src/mod/codecs/mod_speex Message-ID: Author: mrene Date: Fri Feb 13 19:04:28 2009 New Revision: 12008 Log: mod_speex also needs libspeexdsp Modified: freeswitch/trunk/src/mod/codecs/mod_speex/Makefile freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Modified: freeswitch/trunk/src/mod/codecs/mod_speex/Makefile ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_speex/Makefile (original) +++ freeswitch/trunk/src/mod/codecs/mod_speex/Makefile Fri Feb 13 19:04:28 2009 @@ -2,11 +2,16 @@ SPEEX_DIR=$(BASE)/libs/speex SPEEXLA=$(SPEEX_DIR)/libspeex/libspeex.la +SPEEXDSPLA=$(SPEEX_DIR)/libspeex/libspeexdsp.la LOCAL_CFLAGS=-I$(SPEEX_DIR)/include -LOCAL_LIBADD=$(SPEEXLA) +LOCAL_LIBADD=$(SPEEXLA) $(SPEEXDSPLA) include $(BASE)/build/modmake.rules $(SPEEXLA): $(SPEEX_DIR) $(SPEEX_DIR)/.update cd $(SPEEX_DIR)/libspeex && $(MAKE) $(TOUCH_TARGET) + +$(SPEEXDSPLA): $(SPEEX_DIR) $(SPEEX_DIR)/.update + cd $(SPEEX_DIR)/libspeex && $(MAKE) + $(TOUCH_TARGET) \ No newline at end of file Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Fri Feb 13 19:04:28 2009 @@ -74,7 +74,7 @@ int decoder_mode; }; -static switch_status_t switch_speex_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +switch_status_t switch_speex_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) { struct speex_context *context = NULL; int encoding, decoding; From mrene at freeswitch.org Fri Feb 13 17:05:25 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 13 Feb 2009 19:05:25 -0600 Subject: [Freeswitch-svn] [commit] r12009 - freeswitch/trunk/src/mod/codecs/mod_speex Message-ID: Author: mrene Date: Fri Feb 13 19:05:25 2009 New Revision: 12009 Log: doh Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c ============================================================================== --- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original) +++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Fri Feb 13 19:05:25 2009 @@ -74,7 +74,7 @@ int decoder_mode; }; -switch_status_t switch_speex_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +static switch_status_t switch_speex_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) { struct speex_context *context = NULL; int encoding, decoding; From shaneb at freeswitch.org Fri Feb 13 22:56:09 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 00:56:09 -0600 Subject: [Freeswitch-svn] [commit] r12010 - freeswitch/trunk/src/include Message-ID: Author: shaneb Date: Sat Feb 14 00:56:08 2009 New Revision: 12010 Log: switch_private.h template Added: freeswitch/trunk/src/include/switch_private.h.cmake Added: freeswitch/trunk/src/include/switch_private.h.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/src/include/switch_private.h.cmake Sat Feb 14 00:56:08 2009 @@ -0,0 +1,326 @@ +/* src/include/switch_private.h.cmake. Generated from cmake. */ + +/* Enable extra debugging. */ +#cmakedefine DEBUG + +/* Disable the embedded resampler */ +#cmakedefine DISABLE_RESAMPLE + +/* Define to 1 if you have the `asprintf' function. */ +#cmakedefine HAVE_ASPRINTF + +/* Define if you have clock_gettime() */ +#cmakedefine HAVE_CLOCK_GETTIME + +/* Define if you have clock_nanosleep() */ +#cmakedefine HAVE_CLOCK_NANOSLEEP + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#cmakedefine HAVE_DIRENT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_EXECINFO_H + +/* Define to 1 if you have the `gethostname' function. */ +#cmakedefine HAVE_GETHOSTNAME + +/* Define to 1 if you have the `gettimeofday' function. */ +#cmakedefine HAVE_GETTIMEOFDAY + +/* Define to 1 if you have the `gmtime_r' function. */ +#cmakedefine HAVE_GMTIME_R + +/* Define to 1 if you have the `initgroups' function. */ +#cmakedefine HAVE_INITGROUPS + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_INTTYPES_H + +/* Define to 1 if you have a functional curl library. */ +#cmakedefine HAVE_LIBCURL + +/* Define to 1 if you have the `curses' library (-lcurses). */ +#cmakedefine HAVE_LIBCURSES + +/* Define to 1 if you have the `ncurses' library (-lncurses). */ +#cmakedefine HAVE_LIBNCURSES + +/* Define to 1 if you have the `socket' library (-lsocket). */ +#cmakedefine HAVE_LIBSOCKET + +/* Define to 1 if you have the `localtime_r' function. */ +#cmakedefine HAVE_LOCALTIME_R + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#cmakedefine HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_MEMORY_H + +/* Define to 1 if you have the `mlock' function. */ +#cmakedefine HAVE_MLOCK + +/* Define to 1 if you have the `mlockall' function. */ +#cmakedefine HAVE_MLOCKALL + +/* Define to 1 if you have the `mmap' function. */ +#cmakedefine HAVE_MMAP + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#cmakedefine HAVE_NDIR_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_NETDB_H + +/* libodbc */ +#cmakedefine HAVE_ODBC + +/* Define to 1 if you have the `pselect' function. */ +#cmakedefine HAVE_PSELECT + +/* RLIMIT_MEMLOCK constant for setrlimit */ +#cmakedefine HAVE_RLIMIT_MEMLOCK + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SCHED_H + +/* SCHED_RR constant for sched_setscheduler */ +#cmakedefine HAVE_SCHED_RR + +/* Define to 1 if you have the `sched_setscheduler' function. */ +#cmakedefine HAVE_SCHED_SETSCHEDULER + +/* Define to 1 if you have the `setenv' function. */ +#cmakedefine HAVE_SETENV + +/* Define to 1 if you have the `setgroups' function. */ +#cmakedefine HAVE_SETGROUPS + +/* Define to 1 if you have the `setpriority' function. */ +#cmakedefine HAVE_SETPRIORITY + +/* Define to 1 if you have the `setrlimit' function. */ +#cmakedefine HAVE_SETRLIMIT + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_STDLIB_H + +/* Define to 1 if you have the `strcasecmp' function. */ +#cmakedefine HAVE_STRCASECMP + +/* Define to 1 if you have the `strftime' function. */ +#cmakedefine HAVE_STRFTIME + +/* Define to 1 if you have the `stricmp' function. */ +#cmakedefine HAVE_STRICMP + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_STRING_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#cmakedefine HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_FILIO_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_IOCTL_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#cmakedefine HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_RESOURCE_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_UNISTD_H + +/* Define to 1 if you have the `usleep' function. */ +#cmakedefine HAVE_USLEEP + +/* Define to 1 if you have the `vasprintf' function. */ +#cmakedefine HAVE_VASPRINTF + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_WCHAR_H + +/* Define to 1 if you have the `wcsncmp' function. */ +#cmakedefine HAVE_WCSNCMP + +/* Define to 1 if you have the `_stricmp' function. */ +#cmakedefine HAVE__STRICMP + +/* Define if you have Java */ +#cmakedefine HasJava + +/* Defined if libcurl supports AsynchDNS */ +#cmakedefine LIBCURL_FEATURE_ASYNCHDNS + +/* Defined if libcurl supports IDN */ +#cmakedefine LIBCURL_FEATURE_IDN + +/* Defined if libcurl supports IPv6 */ +#cmakedefine LIBCURL_FEATURE_IPV6 + +/* Defined if libcurl supports KRB4 */ +#cmakedefine LIBCURL_FEATURE_KRB4 + +/* Defined if libcurl supports libz */ +#cmakedefine LIBCURL_FEATURE_LIBZ + +/* Defined if libcurl supports NTLM */ +#cmakedefine LIBCURL_FEATURE_NTLM + +/* Defined if libcurl supports SSL */ +#cmakedefine LIBCURL_FEATURE_SSL + +/* Defined if libcurl supports SSPI */ +#cmakedefine LIBCURL_FEATURE_SSPI + +/* Defined if libcurl supports DICT */ +#cmakedefine LIBCURL_PROTOCOL_DICT + +/* Defined if libcurl supports FILE */ +#cmakedefine LIBCURL_PROTOCOL_FILE + +/* Defined if libcurl supports FTP */ +#cmakedefine LIBCURL_PROTOCOL_FTP + +/* Defined if libcurl supports FTPS */ +#cmakedefine LIBCURL_PROTOCOL_FTPS + +/* Defined if libcurl supports HTTP */ +#cmakedefine LIBCURL_PROTOCOL_HTTP + +/* Defined if libcurl supports HTTPS */ +#cmakedefine LIBCURL_PROTOCOL_HTTPS + +/* Defined if libcurl supports LDAP */ +#cmakedefine LIBCURL_PROTOCOL_LDAP + +/* Defined if libcurl supports TELNET */ +#cmakedefine LIBCURL_PROTOCOL_TELNET + +/* Defined if libcurl supports TFTP */ +#cmakedefine LIBCURL_PROTOCOL_TFTP + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#cmakedefine NO_MINUS_C_MINUS_O + +/* Enable Optimization. */ +#cmakedefine OPTIMZER + +/* Name of package */ +#cmakedefine PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#cmakedefine PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#cmakedefine PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#cmakedefine PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#cmakedefine PACKAGE_TARNAME + +/* Define to the version of this package. */ +#cmakedefine PACKAGE_VERSION + +/* Define as the return type of signal handlers (`int' or `void'). */ +#cmakedefine RETSIGTYPE + +/* The size of `char', as computed by sizeof. */ +#cmakedefine SIZEOF_CHAR + +/* The size of `int', as computed by sizeof. */ +#cmakedefine SIZEOF_INT + +/* The size of `long', as computed by sizeof. */ +#cmakedefine SIZEOF_LONG + +/* The size of `long long', as computed by sizeof. */ +#cmakedefine SIZEOF_LONG_LONG + +/* The size of `short', as computed by sizeof. */ +#cmakedefine SIZEOF_SHORT + +/* The size of size_t */ +#cmakedefine SIZEOF_SIZE_T + +/* The size of ssize_t */ +#cmakedefine SIZEOF_SSIZE_T + +/* The size of `void*', as computed by sizeof. */ +#cmakedefine SIZEOF_VOIDP + +/* Define to 1 if you have the ANSI C header files. */ +#cmakedefine STDC_HEADERS + +/* Little Endian */ +#cmakedefine SWITCH_BYTE_ORDER + +/* directory for configuration files */ +#cmakedefine SWITCH_CONF_DIR + +/* where to install the modules to */ +#cmakedefine SWITCH_MOD_DIR + +/* Define to 1 if you can safely include both and . */ +#cmakedefine TIME_WITH_SYS_TIME + +/* Define to 1 if your declares `struct tm'. */ +#cmakedefine TM_IN_SYS_TIME + +/* Enable mlockall support */ +#cmakedefine USE_MLOCKALL + +/* Enable round-robin scheduler using sched_setscheduler */ +#cmakedefine USE_SCHED_SETSCHEDULER + +/* Use setrlimit to disable mlock limit for non-root users */ +#cmakedefine USE_SETRLIMIT + +/* Version number of package */ +#cmakedefine VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#cmakedefine const + +/* Define curl_free() as free() if our version of curl lacks curl_free. */ +#cmakedefine curl_free + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#cmakedefine inline +#endif + +/* Define to rpl_malloc if the replacement function should be used. */ +#cmakedefine malloc + +/* Define to `unsigned int' if does not define. */ +#cmakedefine size_t + +/* Define to `int' if does not define. */ +#cmakedefine ssize_t From shaneb at freeswitch.org Fri Feb 13 22:56:36 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 00:56:36 -0600 Subject: [Freeswitch-svn] [commit] r12011 - freeswitch/trunk Message-ID: Author: shaneb Date: Sat Feb 14 00:56:36 2009 New Revision: 12011 Log: switch_private.h template Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Sat Feb 14 00:56:36 2009 @@ -18,7 +18,7 @@ SET( ${PROJECT_NAME}_PATCH_LEVEL 0 ) -ADD_DEFINITIONS( "-DSWITCH_VERSION_REVISION=${Project_WC_REVISION}" ) +#ADD_DEFINITIONS( "-DSWITCH_VERSION_REVISION=${Project_WC_REVISION}" ) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") @@ -55,17 +55,19 @@ # Configuration checks check_symbol_exists (strncasecmp "string.h" HAVE_STRNCASECMP) check_symbol_exists (strcasecmp "string.h" HAVE_STRCASECMP) -check_function_exists (strcasestr HAVE_STRCASESTR) -check_function_exists (strchrnul HAVE_STRCHRNUL) +check_symbol_exists (iswspace "wctype.h" HAVE_ISWSPACE) +check_symbol_exists (towlower "wctype.h" HAVE_TOWLOWER) + check_include_file (dirent.h HAVE_DIRENT_H) +check_include_file (dlfcn.h HAVE_DLFCN_H) +check_include_file (execinfo.h HAVE_EXECINFO_H) +check_include_file (memory.h HAVE_MEMORY_H) +check_include_file (inttypes.h HAVE_INTTYPES_H) + check_include_file (sys/ioctl.h HAVE_SYS_IOCTL_H) check_include_file (sys/utsname.h HAVE_SYS_UTSNAME_H) check_include_file (wchar.h HAVE_WCHAR_H) check_include_file (wctype.h HAVE_WCTYPE_H) -check_function_exists (scandir HAVE_SCANDIR) -check_function_exists (alphasort HAVE_ALPHASORT) -check_symbol_exists (iswspace "wctype.h" HAVE_ISWSPACE) -check_symbol_exists (towlower "wctype.h" HAVE_TOWLOWER) check_include_file(sys/devpoll.h HAVE_SYS_DEVPOLL_H) check_include_file(sys/epoll.h HAVE_SYS_EPOLL_H) check_include_file(sys/event.h HAVE_SYS_EVENT_H) @@ -86,6 +88,34 @@ check_include_file(unistd.h HAVE_UNISTD_H) check_include_file(pthread.h HAVE_PTHREAD_H) +check_function_exists (scandir HAVE_SCANDIR) +check_function_exists (alphasort HAVE_ALPHASORT) +check_function_exists (strcasestr HAVE_STRCASESTR) +check_function_exists (strchrnul HAVE_STRCHRNUL) +check_function_exists (setenv HAVE_SETENV) +check_function_exists (setgroups HAVE_SETGROUPS) + + +check_function_exists (pselect HAVE_PSELECT) +check_function_exists (mlock HAVE_MLOCK) +check_function_exists (mlockall HAVE_MLOCKALL) +check_function_exists (asprintf HAVE_ASPRINTF) +check_function_exists (gethostname HAVE_GETHOSTNAME) +check_function_exists (gettimeofday HAVE_GETTIMEOFDAY) +check_function_exists (gmtime_r HAVE_GMTIME_R) +check_function_exists (initgroups HAVE_INITGROUPS) + + +# OPTION( VARIABLE "Description" Initial state) + OPTION( DEBUG "Debug" OFF ) + OPTION( DISABLE_RESAMPLE "Disable RESAMPLE" OFF ) + OPTION( HAVE_ODBC "Enable Core ODBC Support" ON ) + CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/src/include/switch_private.h.cmake ${CMAKE_SOURCE_DIR}/src/include/switch_private.h ) + + + + + MESSAGE( STATUS "-------------------------------------------------------------------------------" ) MESSAGE( STATUS ) From cypromis at freeswitch.org Sat Feb 14 09:59:38 2009 From: cypromis at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 11:59:38 -0600 Subject: [Freeswitch-svn] [commit] r12012 - freeswitch/trunk Message-ID: Author: cypromis Date: Sat Feb 14 11:59:38 2009 New Revision: 12012 Log: updated sysconfigdir for handling conf files in /opt/freeswitch/conf added mod_http, mod_python split out openzap to its own rpm added all sound files with separation bei density split out mod_python as its own rpm. works fine on centos5, needs testing on suse Modified: freeswitch/trunk/freeswitch.spec Modified: freeswitch/trunk/freeswitch.spec ============================================================================== --- freeswitch/trunk/freeswitch.spec (original) +++ freeswitch/trunk/freeswitch.spec Sat Feb 14 11:59:38 2009 @@ -1,11 +1,13 @@ %define _prefix /opt/freeswitch %define prefix %{_prefix} +%define sysconfdir /opt/freeswitch/conf +%define _sysconfdir %{sysconfdir} Name: freeswitch Summary: FreeSWITCH open source telephony platform License: MPL Group: Productivity/Telephony/Servers -Version: 1.0 +Version: 1.0.3 Release: 1 URL: http://www.freeswitch.org/ Packager: Michal Bielicki @@ -26,7 +28,7 @@ BuildRequires: curl-devel BuildRequires: gcc-c++ BuildRequires: gnutls-devel -BuildRequires: libtool >= 1.5.14 +BuildRequires: libtool >= 1.5.17 BuildRequires: ncurses-devel BuildRequires: openssl-devel BuildRequires: perl @@ -35,6 +37,7 @@ BuildRequires: unixODBC-devel BuildRequires: gdbm-devel BuildRequires: db4-devel +BuildRequires: python-devel %if %{?suse_version:1}0 %if 0%{?suse_version} > 910 @@ -81,6 +84,16 @@ %description devel FreeSWITCH development files +%package codec-passthru-amrwb +Summary: Pass-through AMR WideBand Codec support for FreeSWITCH open source telephony platform +Group: System/Libraries +Requires: %{name} = %{version}-%{release} +Conflicts: codec-amrwb + +%description codec-passthru-amrwb +Pass-through AMR WideBand Codec support for FreeSWITCH open source telephony platform + + %package codec-passthru-amr Summary: Pass-through AMR Codec support for FreeSWITCH open source telephony platform Group: System/Libraries @@ -129,6 +142,14 @@ %description perl +%package python +Summary: Python support for the FreeSWITCH open source telephony platform +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description python + + %package lang-en Summary: Provides english language dependand modules and sounds for the FreeSwitch Open Source telephone platform. Group: System/Libraries @@ -137,6 +158,86 @@ %description lang-en English language phrases module and directory structure for say module and voicemail +%package openzap +Summary: Provides a unified interface to hardware TDM cards and ss7 stacks for freeswitch +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description openzap +OpenZAP + +%package moh +Summary: FreeSWITCH Music on hold files +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description moh +8khz music on hold files for freeswitch + + +%package hd-moh +Summary: High Definition FreeSWITCH Music on hold files +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description hd-moh +16khz High Definition FreeSWITCH Music on hold files + + +%package uhd-moh +Summary: Ultra High Definition FreeSWITCH Music on hold files +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description uhd-moh +32khz Ultra High Definition FreeSWITCH Music on hold files + + +%package cd-moh +Summary: CD Quality FreeSWITCH Musci on hold files +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description cd-moh +40khz CD Quality FreeSWITCH Music on hold files + + +%package sounds-en-callie +Summary: English prompts for Freeswitch +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description sounds-en-callie +8khz English prompts for Freeswitch + + +%package hd-sounds-en-callie +Summary: High Density English prompts for Freeswitch +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description hd-sounds-en-callie +16khz High Density English prompts for Freeswitch + + +%package uhd-sounds-en-callie +Summary: Ultra High Density English prompts for Freeswitch +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description uhd-sounds-en-callie +32khz Ultra High Density English prompts for Freeswitch + + +%package cd-sounds-en-callie +Summary: CD Quality English prompts for Freeswitch +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description cd-sounds-en-callie +40khz CD Quality English prompts for Freeswitch + + %prep %setup -q @@ -150,18 +251,18 @@ %endif %endif -PASSTHRU_CODEC_MODULES="codecs/mod_g729 codecs/mod_g723_1 codecs/mod_amr" +PASSTHRU_CODEC_MODULES="codecs/mod_g729 codecs/mod_g723_1 codecs/mod_amr codecs/mod_amrwb" SPIDERMONKEY_MODULES="languages/mod_spidermonkey languages/mod_spidermonkey_curl languages/mod_spidermonkey_core_db languages/mod_spidermonkey_odbc languages/mod_spidermonkey_socket languages/mod_spidermonkey_teletone" -APPLICATIONS_MODULES="applications/mod_commands applications/mod_conference applications/mod_dptools applications/mod_enum applications/mod_esf applications/mod_expr applications/mod_fifo applications/mod_limit applications/mod_rss applications/mod_voicemail applications/mod_fsv" +APPLICATIONS_MODULES="applications/mod_commands applications/mod_conference applications/mod_dptools applications/mod_enum applications/mod_esf applications/mod_expr applications/mod_fifo applications/mod_limit applications/mod_rss applications/mod_voicemail applications/mod_fsv applications/mod_lcr applications/mod_easyroute applications/mod_stress applications/mod_http applications/mod_vm applications/mod_limitd" ASR_TTS_MODULES="asr_tts/mod_pocketsphinx asr_tts/mod_flite" -CODECS_MODULES="codecs/mod_ilbc codecs/mod_h26x codecs/mod_voipcodecs codecs/mod_speex" +CODECS_MODULES="codecs/mod_ilbc codecs/mod_h26x codecs/mod_voipcodecs codecs/mod_speex codecs/mod_celt codecs/mod_siren" DIALPLANS_MODULES="dialplans/mod_dialplan_asterisk dialplans/mod_dialplan_directory dialplans/mod_dialplan_xml" DIRECTORIES_MODULES= DOTNET_MODULES= -ENDPOINTS_MODULES="endpoints/mod_dingaling endpoints/mod_iax endpoints/mod_portaudio endpoints/mod_sofia endpoints/mod_woomera ../../libs/openzap/mod_openzap" +ENDPOINTS_MODULES="endpoints/mod_dingaling endpoints/mod_iax endpoints/mod_portaudio endpoints/mod_sofia ../../libs/openzap/mod_openzap endpoints/mod_loopback" EVENT_HANDLERS_MODULES="event_handlers/mod_event_multicast event_handlers/mod_event_socket event_handlers/mod_cdr_csv" FORMATS_MODULES="formats/mod_local_stream formats/mod_native_file formats/mod_sndfile formats/mod_tone_stream" -LANGUAGES_MODULES="languages/mod_perl languages/mod_lua" +LANGUAGES_MODULES="languages/mod_perl languages/mod_lua languages/mod_python languages/mod_yaml" LOGGERS_MODULES="loggers/mod_console loggers/mod_logfile loggers/mod_syslog" SAY_MODULES="say/mod_say_en" TIMERS_MODULES= @@ -186,11 +287,10 @@ %configure -C \ --prefix=%{prefix} \ - --bindir=%{prefix}/bin \ - --libdir=%{prefix}/lib \ - --sysconfdir=%{_sysconfdir} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ + --sysconfdir=%{sysconfdir} \ + --libdir=%{prefix}/lib \ --enable-core-libedit-support \ --enable-core-odbc-support \ %ifos linux @@ -217,6 +317,11 @@ %{__make} DESTDIR=$RPM_BUILD_ROOT install +# Install Sound Files + +%{__make} DESTDIR=$RPM_BUILD_ROOT cd-sounds-install +%{__make} DESTDIR=$RPM_BUILD_ROOT cd-moh-install + # Create a log dir %{__mkdir} -p $RPM_BUILD_ROOT%{prefix}/log @@ -298,7 +403,8 @@ %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.tpl %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.ttml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.xml -%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/*.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/m3ua.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/extensions.conf %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/cmudict.0.6d %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/acl.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/alsa.conf.xml @@ -312,7 +418,6 @@ %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/cdr_csv.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/fax.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/fifo.conf.xml -%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/openzap.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/shout.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/timezones.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/iax.conf.xml @@ -331,11 +436,14 @@ %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/switch.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/syslog.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/voicemail.conf.xml -%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/woomera.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_cdr.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_curl.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/xml_rpc.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/zeroconf.conf.xml +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/easyroute.conf.xml +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/lcr.conf.xml +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/opal.conf.xml +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/unicall.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/*.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/default/*.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/dialplan/public/*.xml @@ -359,7 +467,6 @@ %endif %{prefix}/bin/* %{prefix}/lib/libfreeswitch*.so* -%{prefix}/lib/libopenzap.so* %{prefix}/mod/mod_console.so* %{prefix}/mod/mod_logfile.so* %{prefix}/mod/mod_syslog.so* @@ -386,8 +493,6 @@ %{prefix}/mod/mod_iax.so* %{prefix}/mod/mod_portaudio.so* %{prefix}/mod/mod_sofia.so* -%{prefix}/mod/mod_woomera.so* -%{prefix}/mod/mod_openzap.so* %{prefix}/mod/mod_cdr_csv.so* %{prefix}/mod/mod_event_multicast.so* %{prefix}/mod/mod_event_socket.so* @@ -399,12 +504,36 @@ %{prefix}/mod/mod_xml_cdr.so* %{prefix}/mod/mod_fsv.so %{prefix}/mod/mod_tone_stream.so -%{prefix}/mod/ozmod_analog.so -%{prefix}/mod/ozmod_analog_em.so -%{prefix}/mod/ozmod_isdn.so -%{prefix}/mod/ozmod_ss7_boost.so -%{prefix}/mod/ozmod_zt.so -%{prefix}/mod/ozmod_wanpipe.so +%{prefix}/mod/mod_amrwb.so +%{prefix}/mod/mod_celt.so +%{prefix}/mod/mod_easyroute.so +%{prefix}/mod/mod_http.so +%{prefix}/mod/mod_lcr.so +%{prefix}/mod/mod_loopback.so +%{prefix}/mod/mod_siren.so +%{prefix}/mod/mod_stress.so +%{prefix}/mod/mod_yaml.so + +%files openzap +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/tones.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/openzap.conf.xml +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/pika.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/openzap.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/wanpipe.conf +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/zt.conf +%{prefix}/lib/libopenzap.so* +%{prefix}/mod/mod_openzap.so* +%{prefix}/mod/ozmod_analog.so* +%{prefix}/mod/ozmod_analog_em.so* +%{prefix}/mod/ozmod_isdn.so* +%{prefix}/mod/ozmod_skel.* +%{prefix}/mod/ozmod_ss7_boost.so* +%{prefix}/mod/ozmod_wanpipe.so* +%{prefix}/mod/ozmod_zt.so* + +%files codec-passthru-amrwb +%defattr(-,freeswitch,daemon) +%{prefix}/mod/mod_amrwb.so* %files codec-passthru-amr %defattr(-,freeswitch,daemon) @@ -441,6 +570,13 @@ %dir %attr(0750, freeswitch, daemon) %{prefix}/conf/autoload_configs %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/perl.conf.xml +%files python +%defattr(-,freeswitch,daemon) +%{prefix}/mod/mod_python*.so* +%attr(0644, root, bin) /usr/lib/python2.4/site-packages/freeswitch.py +%dir %attr(0750, freeswitch, daemon) %{prefix}/conf/autoload_configs +%config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/autoload_configs/python.conf.xml + %files devel %defattr(-, freeswitch, daemon) %{prefix}/lib/*.a @@ -458,6 +594,105 @@ %config(noreplace) %attr(0640, freeswitch, daemon) %{prefix}/conf/lang/en/vm/*.xml %{prefix}/mod/mod_say_en.so* +%files moh +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/music/8000 +%{prefix}/sounds/music/8000/* + +%files hd-moh +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/music/16000 +%{prefix}/sounds/music/16000/* + +%files uhd-moh +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/music/32000 +%{prefix}/sounds/music/32000/* + +%files cd-moh +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/music/48000 +%{prefix}/sounds/music/48000 + +%files sounds-en-callie +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ascii/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/conference/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/currency/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/digits/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ivr/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/misc/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/phonetic-ascii/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/time/8000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/voicemail/8000 +%{prefix}/sounds/en/us/callie/ascii/8000/* +%{prefix}/sounds/en/us/callie/conference/8000/* +%{prefix}/sounds/en/us/callie/currency/8000/* +%{prefix}/sounds/en/us/callie/digits/8000/* +%{prefix}/sounds/en/us/callie/ivr/8000/* +%{prefix}/sounds/en/us/callie/misc/8000/* +%{prefix}/sounds/en/us/callie/phonetic-ascii/8000/* +%{prefix}/sounds/en/us/callie/time/8000/* +%{prefix}/sounds/en/us/callie/voicemail/8000/* + +%files hd-sounds-en-callie +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ascii/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/conference/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/currency/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/digits/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ivr/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/misc/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/phonetic-ascii/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/time/16000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/voicemail/16000 +%{prefix}/sounds/en/us/callie/ascii/16000/* +%{prefix}/sounds/en/us/callie/conference/16000/* +%{prefix}/sounds/en/us/callie/currency/16000/* +%{prefix}/sounds/en/us/callie/digits/16000/* +%{prefix}/sounds/en/us/callie/ivr/16000/* +%{prefix}/sounds/en/us/callie/misc/16000/* +%{prefix}/sounds/en/us/callie/phonetic-ascii/16000/* +%{prefix}/sounds/en/us/callie/time/16000/* +%{prefix}/sounds/en/us/callie/voicemail/16000/* + + +%files uhd-sounds-en-callie +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ascii/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/conference/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/currency/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/digits/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ivr/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/misc/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/phonetic-ascii/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/time/32000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/voicemail/32000 +%{prefix}/sounds/en/us/callie/ascii/32000/* +%{prefix}/sounds/en/us/callie/conference/32000/* +%{prefix}/sounds/en/us/callie/currency/32000/* +%{prefix}/sounds/en/us/callie/digits/32000/* +%{prefix}/sounds/en/us/callie/ivr/32000/* +%{prefix}/sounds/en/us/callie/misc/32000/* +%{prefix}/sounds/en/us/callie/phonetic-ascii/32000/* +%{prefix}/sounds/en/us/callie/time/32000/* +%{prefix}/sounds/en/us/callie/voicemail/32000/* + + +%files cd-sounds-en-callie +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ascii/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/conference/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/currency/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/digits/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/ivr/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/misc/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/phonetic-ascii/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/time/48000 +%dir %attr(0750, freeswitch, daemon) %{prefix}/sounds/en/us/callie/voicemail/48000 +%{prefix}/sounds/en/us/callie/ascii/48000/* +%{prefix}/sounds/en/us/callie/conference/48000/* +%{prefix}/sounds/en/us/callie/currency/48000/* +%{prefix}/sounds/en/us/callie/digits/48000/* +%{prefix}/sounds/en/us/callie/ivr/48000/* +%{prefix}/sounds/en/us/callie/misc/48000/* +%{prefix}/sounds/en/us/callie/phonetic-ascii/48000/* +%{prefix}/sounds/en/us/callie/time/48000/* +%{prefix}/sounds/en/us/callie/voicemail/48000/* + + %changelog * Thu May 22 2008 - michal.bielicki at voiceworks.pl - disabled beta class language stuff From brian at freeswitch.org Sat Feb 14 10:52:56 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 12:52:56 -0600 Subject: [Freeswitch-svn] [commit] r12013 - freeswitch/trunk/src/mod/applications/mod_commands Message-ID: Author: brian Date: Sat Feb 14 12:52:55 2009 New Revision: 12013 Log: its FreeSWITCH Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Sat Feb 14 12:52:55 2009 @@ -2705,7 +2705,7 @@ SWITCH_STANDARD_API(version_function) { char version_string[1024]; - switch_snprintf(version_string, sizeof(version_string) - 1, "FreeSwitch Version %s\n", SWITCH_VERSION_FULL); + switch_snprintf(version_string, sizeof(version_string) - 1, "FreeSWITCH Version %s\n", SWITCH_VERSION_FULL); stream->write_function(stream, version_string); return SWITCH_STATUS_SUCCESS; From mrene at freeswitch.org Sat Feb 14 13:26:30 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 15:26:30 -0600 Subject: [Freeswitch-svn] [commit] r12014 - freeswitch/trunk/src Message-ID: Author: mrene Date: Sat Feb 14 15:26:30 2009 New Revision: 12014 Log: MODLANG-99 Work around broken uClibc Modified: freeswitch/trunk/src/switch_dso.c Modified: freeswitch/trunk/src/switch_dso.c ============================================================================== --- freeswitch/trunk/src/switch_dso.c (original) +++ freeswitch/trunk/src/switch_dso.c Sat Feb 14 15:26:30 2009 @@ -97,7 +97,13 @@ } if (lib == NULL) { - *err = strdup(dlerror()); + const char *dlerr = dlerror(); + /* Work around broken uclibc returning NULL on both dlopen() and dlerror() */ + if (dlerr) { + *err = strdup(dlerr); + } else { + *err = strdup("Unknown error"); + } } return lib; } From gmaruzz at freeswitch.org Sat Feb 14 13:46:57 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 15:46:57 -0600 Subject: [Freeswitch-svn] [commit] r12015 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Sat Feb 14 15:46:57 2009 New Revision: 12015 Log: skypiax: * 1.6 changed CLI mechanism, so disable compilation of our CLIs for 1.6 until our CLIs updated. Works for 1.4 and 1.2 Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile Sat Feb 14 15:46:57 2009 @@ -21,7 +21,8 @@ #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_160/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_12/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include -AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include +#AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include +AST_INCLUDE_DIR=/home/user/devel/asterisk-1.6.0.5/include #ASTERISK CFLAGS+=-DASTERISK @@ -29,8 +30,8 @@ #ASTERISK VERSION #Uncomment one of the following lines to match your Asterisk series #CFLAGS+=-DASTERISK_VERSION_1_4 -#CFLAGS+=-DASTERISK_VERSION_1_6 -CFLAGS+=-DASTERISK_VERSION_1_2 +CFLAGS+=-DASTERISK_VERSION_1_6 +#CFLAGS+=-DASTERISK_VERSION_1_2 #LINUX SKYPE SUPPORT (Celliax for Cygwin always supports Skype) SKYPE_LIB=-L/usr/X11R6/lib -lX11 Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Sat Feb 14 15:46:57 2009 @@ -130,6 +130,23 @@ */ struct skypiax_pvt *skypiax_iflist = NULL; +#ifdef ASTERISK_VERSION_1_6 +struct ast_cli_entry myclis[] = { +/* + * CLI do not works since some time on 1.6, they changed the CLI mechanism + */ +#if 0 + AST_CLI_DEFINE(skypiax_console_hangup, "Hangup a call on the console"), + AST_CLI_DEFINE(skypiax_console_dial, "Dial an extension on the console"), + AST_CLI_DEFINE(skypiax_console_playback_boost, "Sets/displays spk boost in dB"), + AST_CLI_DEFINE(skypiax_console_capture_boost, "Sets/displays mic boost in dB"), + AST_CLI_DEFINE(skypiax_console_set_active, "Sets/displays active console"), + AST_CLI_DEFINE(skypiax_console_skype, "Sends a Skype command"), + AST_CLI_DEFINE(skypiax_console_skypiax_dir_import, "imports entries from cellphone"), + AST_CLI_DEFINE(skypiax_console_skypiax, "all things skypiax"), + #endif +}; +#else struct ast_cli_entry myclis[] = { {{"skypiax_hangup", NULL}, skypiax_console_hangup, "Hangup a call on the skypiax_console", @@ -152,6 +169,7 @@ "Write the directoriax.conf file, used by directoriax app", skypiax_console_skypiax_dir_import_usage}, }; +#endif /* IMPLEMENTATION */ From gmaruzz at freeswitch.org Sat Feb 14 14:25:56 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 16:25:56 -0600 Subject: [Freeswitch-svn] [commit] r12016 - freeswitch/branches/gmaruzz/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Sat Feb 14 16:25:55 2009 New Revision: 12016 Log: skypiax: the 'skypiax_skype' CLI command was mistakenly renamed 'skypiax_' Back to the old name Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile Sat Feb 14 16:25:55 2009 @@ -22,15 +22,15 @@ #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_12/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include #AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include -AST_INCLUDE_DIR=/home/user/devel/asterisk-1.6.0.5/include +AST_INCLUDE_DIR=/home/user/devel/asterisk-1.4.23.1/include #ASTERISK CFLAGS+=-DASTERISK #ASTERISK VERSION #Uncomment one of the following lines to match your Asterisk series -#CFLAGS+=-DASTERISK_VERSION_1_4 -CFLAGS+=-DASTERISK_VERSION_1_6 +CFLAGS+=-DASTERISK_VERSION_1_4 +#CFLAGS+=-DASTERISK_VERSION_1_6 #CFLAGS+=-DASTERISK_VERSION_1_2 #LINUX SKYPE SUPPORT (Celliax for Cygwin always supports Skype) Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c Sat Feb 14 16:25:55 2009 @@ -36,7 +36,7 @@ " chan_skypiax adds to Asterisk the following CLI commands:\n" " \n" " CLI COMMANDS:\n" " skypiax_hangup\n" " skypiax_dial\n" " skypiax_console\n" " skypiax_playback_boost\n" - " skypiax_capture_boost\n" " skypiax_\n" + " skypiax_capture_boost\n" " skypiax_skype\n" " skypiax_dir_import\n" "\n" " You can type 'help [command]' to obtain more specific info on usage.\n" " \n"; @@ -67,7 +67,7 @@ " If the parameter is \"show\", the available interfaces are listed\n"; char skypiax_console_skype_usage[] = - "Usage: skypiax_ [command string]\n" + "Usage: skypiax_skype [command string]\n" " Send the 'command string' skype_msg to the Skype client connected to the \"current\" skypiax_console (Skypiax) channel.\n" " Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n"; @@ -157,7 +157,7 @@ skypiax_console_capture_boost_usage}, {{"skypiax_usage", NULL}, skypiax_console_skypiax, "chan_skypiax commands info", skypiax_console_skypiax_usage}, - {{"skypiax_", NULL}, skypiax_console_skype, "Skype msg", + {{"skypiax_skype", NULL}, skypiax_console_skype, "Skype msg", skypiax_console_skype_usage}, {{"skypiax_dial", NULL}, skypiax_console_dial, "Dial an extension on the skypiax_console", From mikej at freeswitch.org Sat Feb 14 14:56:27 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 16:56:27 -0600 Subject: [Freeswitch-svn] [commit] r12017 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su Message-ID: Author: mikej Date: Sat Feb 14 16:56:27 2009 New Revision: 12017 Log: only declare var if we need it (SFSIP-122) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Sat Feb 14 16:56:27 2009 @@ -629,7 +629,6 @@ struct ifreq ifreq[1]; int scope, if_index, flags = 0, gni_flags = 0; char *if_name; - su_sockaddr_t su2[1]; #if SA_LEN if (ifr->ifr_addr.sa_len > sizeof(ifr->ifr_addr)) @@ -747,6 +746,7 @@ #if SU_HAVE_IN6 if (su_xtra) { + su_sockaddr_t su2[1]; /* Map IPv4 address to IPv6 address */ memset(su2, 0, sizeof(*su2)); su2->su_family = AF_INET6; From mrene at freeswitch.org Sat Feb 14 15:18:53 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 17:18:53 -0600 Subject: [Freeswitch-svn] [commit] r12018 - in freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua: soa sresolv su Message-ID: Author: mrene Date: Sat Feb 14 17:18:53 2009 New Revision: 12018 Log: Fix sofia build on non-ipv6 hosts Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c Sat Feb 14 17:18:53 2009 @@ -2526,9 +2526,9 @@ break; else if (!li6) li6 = li; /* Best IP6 address */ - } + } else #endif - else if (li->li_family == AF_INET) { + if (li->li_family == AF_INET) { if (ip4 >= ip6) break; else if (!li4) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_sip.c Sat Feb 14 17:18:53 2009 @@ -1526,7 +1526,6 @@ char const *target = srs->srs_target; su_addrinfo_t ai[1]; su_sockaddr_t su[1]; - char buffer[64]; int i; memset(ai, 0, (sizeof ai)); @@ -1551,6 +1550,7 @@ } } else if (host_is_ip6_reference(target)) { + char buffer[64]; size_t len = strlen(target) - 2; ai->ai_addr = memset(su, 0, (sizeof su->su_sin6)); Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c Sat Feb 14 17:18:53 2009 @@ -96,7 +96,10 @@ #endif static int li_scope4(uint32_t ip4); + +#ifdef SU_HAVE_IN6 static int li_scope6(struct in6_addr const *ip6); +#endif #if !SU_LOCALINFO_TEST From brian at freeswitch.org Sat Feb 14 18:40:43 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 20:40:43 -0600 Subject: [Freeswitch-svn] [commit] r12019 - freeswitch/trunk Message-ID: Author: brian Date: Sat Feb 14 20:40:43 2009 New Revision: 12019 Log: removing libresample Modified: freeswitch/trunk/Makefile.am freeswitch/trunk/configure.in Modified: freeswitch/trunk/Makefile.am ============================================================================== --- freeswitch/trunk/Makefile.am (original) +++ freeswitch/trunk/Makefile.am Sat Feb 14 20:40:43 2009 @@ -146,11 +146,10 @@ CORE_CFLAGS += -I$(switch_srcdir)/libs/speex/include CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/include CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/crypto/include -CORE_CFLAGS += $(RESAMPLE_CFLAGS) CORE_LIBS = libs/apr-util/libaprutil-1.la libs/apr/libapr-1.la CORE_LIBS += libs/sqlite/libsqlite3.la libs/pcre/libpcre.la libs/speex/libspeex/libspeexdsp.la -CORE_LIBS += libs/srtp/libsrtp.la $(RESAMPLE_LIB) +CORE_LIBS += libs/srtp/libsrtp.la lib_LTLIBRARIES = libfreeswitch.la libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(AM_CFLAGS) @@ -310,12 +309,6 @@ @cd libs/srtp && $(MAKE) @$(TOUCH_TARGET) -if USE_INTREE_RESAMPLE -libs/libresample/libresample.la: libs/libresample libs/libresample/.update - @cd libs/libresample && $(MAKE) - @$(TOUCH_TARGET) -endif - core: $(MAKE) $(AM_MAKEFLAGS) libfreeswitch.la Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Sat Feb 14 20:40:43 2009 @@ -88,27 +88,6 @@ AX_CC_MAXOPT fi - -# Optional Features - -AC_ARG_ENABLE(resample, -[AC_HELP_STRING([--disable-resample],[build without embedded resampler])],[enable_resample="$enableval"],[enable_resample="yes"]) - -# We should add checking for out of tree libresample here -RESAMPLE_LIB= -RESAMPLE_CFLAGS= -if test "${enable_resample}" = "yes"; then - RESAMPLE_LIB="libs/libresample/libresample.la" - RESAMPLE_CFLAGS="-I${switch_srcdir}/libs/libresample/include" -else - AC_DEFINE([DISABLE_RESAMPLE],[],[Disable the embedded resampler]) -fi - -AC_SUBST(RESAMPLE_LIB) -AC_SUBST(RESAMPLE_CFLAGS) - -AM_CONDITIONAL([USE_INTREE_RESAMPLE],[test "${enable_resample}" = "yes"]) - # set defaults for use on all platforms SWITCH_AM_CFLAGS="-I${switch_srcdir}/src/include -I${switch_srcdir}/libs/libteletone/src" SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_srcdir}/libs/libteletone/src" From brian at freeswitch.org Sat Feb 14 19:12:57 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 21:12:57 -0600 Subject: [Freeswitch-svn] [commit] r12020 - freeswitch/trunk/src Message-ID: Author: brian Date: Sat Feb 14 21:12:57 2009 New Revision: 12020 Log: tweak Modified: freeswitch/trunk/src/switch_resample.c Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Sat Feb 14 21:12:57 2009 @@ -36,10 +36,8 @@ #include #endif #ifndef DISABLE_RESAMPLE -#include -#endif - #include +#endif #define NORMFACT (float)0x8000 #define MAXSAMPLE (float)0x7FFF From mikej at freeswitch.org Sat Feb 14 19:20:16 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 21:20:16 -0600 Subject: [Freeswitch-svn] [commit] r12021 - in freeswitch/trunk: . libs/libresample src w32/Library Message-ID: Author: mikej Date: Sat Feb 14 21:20:16 2009 New Revision: 12021 Log: remove libresample Removed: freeswitch/trunk/libs/libresample/ Modified: freeswitch/trunk/Freeswitch.2005.unsupported.sln freeswitch/trunk/Freeswitch.2008.express.sln freeswitch/trunk/Freeswitch.2008.sln freeswitch/trunk/bootstrap.sh freeswitch/trunk/src/switch_resample.c freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj Modified: freeswitch/trunk/Freeswitch.2005.unsupported.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2005.unsupported.sln (original) +++ freeswitch/trunk/Freeswitch.2005.unsupported.sln Sat Feb 14 21:20:16 2009 @@ -15,7 +15,6 @@ {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} {E42FDC95-7243-4219-9EA4-ACCE4AB97197} = {E42FDC95-7243-4219-9EA4-ACCE4AB97197} EndProjectSection EndProject @@ -205,8 +204,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre Generate pcre_chartables.c", "libs\win32\pcre\pcre_chartables.c.vcproj", "{1CED5987-A529-46DC-B30F-870D85FF9C94}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libresample", "libs\win32\libresample\libresample.vcproj", "{50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapr", "libs\win32\apr\libapr.vcproj", "{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libaprutil", "libs\win32\apr-util\libaprutil.vcproj", "{F057DA7F-79E5-4B00-845C-EF446EF055E3}" @@ -1003,12 +1000,6 @@ {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.Build.0 = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|x64.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.Build.0 = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|x64.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.Build.0 = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1387,7 +1378,6 @@ {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {1CED5987-A529-46DC-B30F-870D85FF9C94} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} Modified: freeswitch/trunk/Freeswitch.2008.express.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.express.sln (original) +++ freeswitch/trunk/Freeswitch.2008.express.sln Sat Feb 14 21:20:16 2009 @@ -9,7 +9,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "w32\Library\FreeSwitchCore.2008.vcproj", "{202D7A4E-760D-4D0E-AFA1-D7459CED30FF}" ProjectSection(ProjectDependencies) = postProject - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} @@ -177,8 +176,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre Generate pcre_chartables.c", "libs\win32\pcre\pcre_chartables.c.2008.vcproj", "{1CED5987-A529-46DC-B30F-870D85FF9C94}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libresample", "libs\win32\libresample\libresample.2008.vcproj", "{50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapr", "libs\win32\apr\libapr.2008.vcproj", "{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libaprutil", "libs\win32\apr-util\libaprutil.2008.vcproj", "{F057DA7F-79E5-4B00-845C-EF446EF055E3}" @@ -788,12 +785,6 @@ {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.Build.0 = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|x64.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.Build.0 = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|x64.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.Build.0 = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|x64.ActiveCfg = Debug|Win32 Modified: freeswitch/trunk/Freeswitch.2008.sln ============================================================================== --- freeswitch/trunk/Freeswitch.2008.sln (original) +++ freeswitch/trunk/Freeswitch.2008.sln Sat Feb 14 21:20:16 2009 @@ -382,7 +382,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "w32\Library\FreeSwitchCore.2008.vcproj", "{202D7A4E-760D-4D0E-AFA1-D7459CED30FF}" ProjectSection(ProjectDependencies) = postProject - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} @@ -550,8 +549,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre Generate pcre_chartables.c", "libs\win32\pcre\pcre_chartables.c.2008.vcproj", "{1CED5987-A529-46DC-B30F-870D85FF9C94}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libresample", "libs\win32\libresample\libresample.2008.vcproj", "{50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapr", "libs\win32\apr\libapr.2008.vcproj", "{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libaprutil", "libs\win32\apr-util\libaprutil.2008.vcproj", "{F057DA7F-79E5-4B00-845C-EF446EF055E3}" @@ -1166,12 +1163,6 @@ {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32 {1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|Win32.Build.0 = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Debug|x64.ActiveCfg = Debug|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.ActiveCfg = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|Win32.Build.0 = Release|Win32 - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}.Release|x64.ActiveCfg = Release|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|Win32.Build.0 = Debug|Win32 {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1798,7 +1789,6 @@ {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {1CED5987-A529-46DC-B30F-870D85FF9C94} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} - {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B} Modified: freeswitch/trunk/bootstrap.sh ============================================================================== --- freeswitch/trunk/bootstrap.sh (original) +++ freeswitch/trunk/bootstrap.sh Sat Feb 14 21:20:16 2009 @@ -4,7 +4,7 @@ BASEDIR=`pwd`; LIBDIR=${BASEDIR}/libs; SUBDIRS="codec/ilbc curl iksemel voipcodecs \ - js js/nsprpub libdingaling libedit libresample libsndfile pcre sofia-sip \ + js js/nsprpub libdingaling libedit libsndfile pcre sofia-sip \ speex sqlite srtp openzap spandsp"; Modified: freeswitch/trunk/src/switch_resample.c ============================================================================== --- freeswitch/trunk/src/switch_resample.c (original) +++ freeswitch/trunk/src/switch_resample.c Sat Feb 14 21:20:16 2009 @@ -35,9 +35,7 @@ #ifndef WIN32 #include #endif -#ifndef DISABLE_RESAMPLE #include -#endif #define NORMFACT (float)0x8000 #define MAXSAMPLE (float)0x7FFF @@ -60,11 +58,6 @@ int quality, const char *file, const char *func, int line) { - -#ifdef DISABLE_RESAMPLE - *new_resampler = NULL; - return SWITCH_STATUS_NOTIMPL; -#else int err = 0; switch_audio_resampler_t *resampler; double lto_rate, lfrom_rate; @@ -89,32 +82,25 @@ resampler->to = malloc(resampler->to_size * sizeof(int16_t)); return SWITCH_STATUS_SUCCESS; -#endif } SWITCH_DECLARE(uint32_t) switch_resample_process(switch_audio_resampler_t *resampler, int16_t *src, uint32_t srclen) { -#ifdef DISABLE_RESAMPLE - return 0; -#else resampler->to_len = resampler->to_size; speex_resampler_process_int(resampler->resampler, 0, src, &srclen, resampler->to, &resampler->to_len); return resampler->to_len; -#endif } SWITCH_DECLARE(void) switch_resample_destroy(switch_audio_resampler_t **resampler) { if (resampler && *resampler) { -#ifndef DISABLE_RESAMPLE if ((*resampler)->resampler) { speex_resampler_destroy((*resampler)->resampler); } free((*resampler)->to); free(*resampler); -#endif *resampler = NULL; } } Modified: freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj ============================================================================== --- freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj (original) +++ freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj Sat Feb 14 21:20:16 2009 @@ -44,7 +44,7 @@ Author: shaneb Date: Sat Feb 14 21:27:35 2009 New Revision: 12022 Log: Removed libresample Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Sat Feb 14 21:27:35 2009 @@ -63,6 +63,12 @@ check_include_file (execinfo.h HAVE_EXECINFO_H) check_include_file (memory.h HAVE_MEMORY_H) check_include_file (inttypes.h HAVE_INTTYPES_H) +check_include_file (strings.h HAVE_STRINGS_H) +check_include_file (string.h HAVE_STRING_H) +check_include_file (sys/filio.h HAVE_SYS_FILIO_H) +check_include_file (sys/ndir.h HAVE_SYS_NDIR_H) +CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H) + check_include_file (sys/ioctl.h HAVE_SYS_IOCTL_H) check_include_file (sys/utsname.h HAVE_SYS_UTSNAME_H) @@ -110,6 +116,8 @@ OPTION( DEBUG "Debug" OFF ) OPTION( DISABLE_RESAMPLE "Disable RESAMPLE" OFF ) OPTION( HAVE_ODBC "Enable Core ODBC Support" ON ) + OPTION( OPTIMZER "Enable Optimization" OFF ) + CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/src/include/switch_private.h.cmake ${CMAKE_SOURCE_DIR}/src/include/switch_private.h ) @@ -158,22 +166,12 @@ # DO APR -#FIND_PACKAGE (APR) -#FIND_PACKAGE (APRUtil) -#LINK_LIBRARIES (${APR_LIBS} ${APRUTIL_LIBS}) +INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/apr/include/ ${CMAKE_SOURCE_DIR}/libs/apr-util/include/) LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr/.libs/libapr-1.a) LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr-util/.libs/libaprutil-1.a) - -MESSAGE( STATUS "APR INFO------------------------------------------" ) -MESSAGE( STATUS "APR_LIBS = ${APR_LIBS}" ) -MESSAGE( STATUS "APRUTIL_LIBS = ${APRUTIL_LIBS}" ) -MESSAGE( STATUS "--------------------------------------------------" ) -#INCLUDE_DIRECTORIES (${APR_INCLUDES} ${APRUTIL_INCLUDES}) - - # DO SNDFILE FIND_PACKAGE (Sndfile) @@ -214,6 +212,11 @@ LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/voipcodecs/src/.libs/libvoipcodecs.a) INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/voipcodecs/src/) +# libspeexdsp +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/speex/libspeex/.libs/libspeexdsp.a) +INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/speex/include/) + + # DO POSTGRES #FIND_PACKAGE(POSTGRES) IF(POSTGRES_FOUND) @@ -230,16 +233,14 @@ -CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H) -if( HAVE_NETDB_H) - add_definitions( -DHAVE_NETDB_H) -endif( HAVE_NETDB_H) + + INCLUDE_DIRECTORIES(src/include/ libs/libteletone/src/ libs/stfu/ libs/apr/include/ libs/apr-util/include/) ADD_SUBDIRECTORY(src) -ADD_SUBDIRECTORY(libs/libresample/) +#ADD_SUBDIRECTORY(libs/libresample/) ADD_SUBDIRECTORY(libs/libteletone/) #ADD_SUBDIRECTORY(libs/sqlite/) ADD_SUBDIRECTORY(libs/pcre/) @@ -251,6 +252,6 @@ ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) -TARGET_LINK_LIBRARIES(freeswitch teletone pcre resample freeswitch_la stfu ${optionalLibs}) +TARGET_LINK_LIBRARIES(freeswitch teletone pcre freeswitch_la stfu ${optionalLibs}) From shaneb at freeswitch.org Sat Feb 14 19:28:18 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 21:28:18 -0600 Subject: [Freeswitch-svn] [commit] r12023 - freeswitch/trunk/src Message-ID: Author: shaneb Date: Sat Feb 14 21:28:18 2009 New Revision: 12023 Log: Removed libresample Modified: freeswitch/trunk/src/CMakeLists.txt Modified: freeswitch/trunk/src/CMakeLists.txt ============================================================================== --- freeswitch/trunk/src/CMakeLists.txt (original) +++ freeswitch/trunk/src/CMakeLists.txt Sat Feb 14 21:28:18 2009 @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 2.6) -INCLUDE_DIRECTORIES(include/ ../libs/libresample/include/ ../libs/srtp/crypto/include/ ../libs/srtp/include/) +INCLUDE_DIRECTORIES(include/ ../libs/libresample/include/ ../libs/srtp/crypto/include/ ../libs/srtp/include/ ../libs/speex/include/) if( HAVE_NETDB_H) add_definitions( -DHAVE_NETDB_H) From mikej at freeswitch.org Sat Feb 14 19:29:10 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 21:29:10 -0600 Subject: [Freeswitch-svn] [commit] r12024 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv Message-ID: Author: mikej Date: Sat Feb 14 21:29:09 2009 New Revision: 12024 Log: don't override CFLAGS Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am Sat Feb 14 21:29:09 2009 @@ -24,7 +24,6 @@ check_PROGRAMS += check_sres_sip TESTS += check_sres_sip check_sres_sip_LDADD = $(LDADD) ${top_builddir}/s2check/libs2.a @CHECK_LIBS@ -CFLAGS += -I${top_srcdir}/s2check CLEANFILES = resolv.conf error.conf named.conf.tmp \ .test_sresolv.api.conf.?????? \ @@ -68,3 +67,4 @@ include $(top_srcdir)/rules/sofia.am +AM_CFLAGS += -I${top_srcdir}/s2check From mikej at freeswitch.org Sat Feb 14 19:32:53 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 21:32:53 -0600 Subject: [Freeswitch-svn] [commit] r12025 - freeswitch/trunk Message-ID: Author: mikej Date: Sat Feb 14 21:32:52 2009 New Revision: 12025 Log: remove libresample Modified: freeswitch/trunk/configure.in Modified: freeswitch/trunk/configure.in ============================================================================== --- freeswitch/trunk/configure.in (original) +++ freeswitch/trunk/configure.in Sat Feb 14 21:32:52 2009 @@ -673,7 +673,6 @@ # Run configure in all the subdirs AC_CONFIG_SUBDIRS(libs/srtp) AC_CONFIG_SUBDIRS(libs/sqlite) -AC_CONFIG_SUBDIRS(libs/libresample) if test "$enable_core_libedit_support" = "yes" ; then AC_CONFIG_SUBDIRS(libs/libedit) fi From mikej at freeswitch.org Sat Feb 14 20:04:53 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 22:04:53 -0600 Subject: [Freeswitch-svn] [commit] r12026 - in freeswitch/trunk/src/mod/languages/mod_managed: . managed Message-ID: Author: mikej Date: Sat Feb 14 22:04:53 2009 New Revision: 12026 Log: swigall Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (original) +++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx Sat Feb 14 22:04:53 2009 @@ -19760,6 +19760,17 @@ } +SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RESAMPLE_QUALITY_get() { + int jresult ; + int result; + + result = (int) 0; + + jresult = result; + return jresult; +} + + SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_resampler_set(void * jarg1, void * jarg2) { switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; void *arg2 = (void *) 0 ; @@ -19875,87 +19886,12 @@ } -SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_set(void * jarg1, void * jarg2) { - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - float *arg2 = (float *) 0 ; - - arg1 = (switch_audio_resampler_t *)jarg1; - arg2 = (float *)jarg2; - if (arg1) (arg1)->from = arg2; - -} - - -SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_get(void * jarg1) { - void * jresult ; - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - float *result = 0 ; - - arg1 = (switch_audio_resampler_t *)jarg1; - result = (float *) ((arg1)->from); - jresult = (void *)result; - return jresult; -} - - -SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_set(void * jarg1, int jarg2) { - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - int arg2 ; - - arg1 = (switch_audio_resampler_t *)jarg1; - arg2 = (int)jarg2; - if (arg1) (arg1)->from_len = arg2; - -} - - -SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_get(void * jarg1) { - int jresult ; - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - int result; - - arg1 = (switch_audio_resampler_t *)jarg1; - result = (int) ((arg1)->from_len); - jresult = result; - return jresult; -} - - -SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_set(void * jarg1, void * jarg2) { - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - switch_size_t arg2 ; - switch_size_t *argp2 ; - - arg1 = (switch_audio_resampler_t *)jarg1; - argp2 = (switch_size_t *)jarg2; - if (!argp2) { - SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0); - return ; - } - arg2 = *argp2; - if (arg1) (arg1)->from_size = arg2; - -} - - -SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_get(void * jarg1) { - void * jresult ; - switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - switch_size_t result; - - arg1 = (switch_audio_resampler_t *)jarg1; - result = ((arg1)->from_size); - jresult = new switch_size_t((switch_size_t &)result); - return jresult; -} - - SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_set(void * jarg1, void * jarg2) { switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - float *arg2 = (float *) 0 ; + int16_t *arg2 = (int16_t *) 0 ; arg1 = (switch_audio_resampler_t *)jarg1; - arg2 = (float *)jarg2; + arg2 = (int16_t *)jarg2; if (arg1) (arg1)->to = arg2; } @@ -19964,10 +19900,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_to_get(void * jarg1) { void * jresult ; switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - float *result = 0 ; + int16_t *result = 0 ; arg1 = (switch_audio_resampler_t *)jarg1; - result = (float *) ((arg1)->to); + result = (int16_t *) ((arg1)->to); jresult = (void *)result; return jresult; } @@ -20038,35 +19974,27 @@ } -SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_perform_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, int jarg9) { +SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_perform_create(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, int jarg5, char * jarg6, char * jarg7, int jarg8) { int jresult ; switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ; - int arg2 ; - switch_size_t arg3 ; - int arg4 ; - uint32_t arg5 ; - switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ; + uint32_t arg2 ; + uint32_t arg3 ; + uint32_t arg4 ; + int arg5 ; + char *arg6 = (char *) 0 ; char *arg7 = (char *) 0 ; - char *arg8 = (char *) 0 ; - int arg9 ; + int arg8 ; switch_status_t result; - switch_size_t *argp3 ; arg1 = (switch_audio_resampler_t **)jarg1; - arg2 = (int)jarg2; - argp3 = (switch_size_t *)jarg3; - if (!argp3) { - SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0); - return 0; - } - arg3 = *argp3; - arg4 = (int)jarg4; - arg5 = (uint32_t)jarg5; - arg6 = (switch_memory_pool_t *)jarg6; + arg2 = (uint32_t)jarg2; + arg3 = (uint32_t)jarg3; + arg4 = (uint32_t)jarg4; + arg5 = (int)jarg5; + arg6 = (char *)jarg6; arg7 = (char *)jarg7; - arg8 = (char *)jarg8; - arg9 = (int)jarg9; - result = (switch_status_t)switch_resample_perform_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const *)arg7,(char const *)arg8,arg9); + arg8 = (int)jarg8; + result = (switch_status_t)switch_resample_perform_create(arg1,arg2,arg3,arg4,arg5,(char const *)arg6,(char const *)arg7,arg8); jresult = result; return jresult; } @@ -20080,23 +20008,17 @@ } -SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_resample_process(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned long jarg5, int jarg6) { +SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_resample_process(void * jarg1, void * jarg2, unsigned long jarg3) { unsigned long jresult ; switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ; - float *arg2 = (float *) 0 ; - int arg3 ; - float *arg4 = (float *) 0 ; - uint32_t arg5 ; - int arg6 ; + int16_t *arg2 = (int16_t *) 0 ; + uint32_t arg3 ; uint32_t result; arg1 = (switch_audio_resampler_t *)jarg1; - arg2 = (float *)jarg2; - arg3 = (int)jarg3; - arg4 = (float *)jarg4; - arg5 = (uint32_t)jarg5; - arg6 = (int)jarg6; - result = (uint32_t)switch_resample_process(arg1,arg2,arg3,arg4,arg5,arg6); + arg2 = (int16_t *)jarg2; + arg3 = (uint32_t)jarg3; + result = (uint32_t)switch_resample_process(arg1,arg2,arg3); jresult = (unsigned long)result; return jresult; } @@ -20224,13 +20146,19 @@ } -SWIGEXPORT void SWIGSTDCALL CSharp_switch_mux_channels(void * jarg1, unsigned long jarg2, unsigned long jarg3) { +SWIGEXPORT void SWIGSTDCALL CSharp_switch_mux_channels(void * jarg1, void * jarg2, unsigned long jarg3) { int16_t *arg1 = (int16_t *) 0 ; - uint32_t arg2 ; + switch_size_t arg2 ; uint32_t arg3 ; + switch_size_t *argp2 ; arg1 = (int16_t *)jarg1; - arg2 = (uint32_t)jarg2; + argp2 = (switch_size_t *)jarg2; + if (!argp2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0); + return ; + } + arg2 = *argp2; arg3 = (uint32_t)jarg3; switch_mux_channels(arg1,arg2,arg3); } Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (original) +++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs Sat Feb 14 22:04:53 2009 @@ -2871,9 +2871,8 @@ return ret; } - public static switch_status_t switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool, string file, string func, int line) { - switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool), file, func, line); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); + public static switch_status_t switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, uint from_rate, uint to_rate, uint to_size, int quality, string file, string func, int line) { + switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, to_rate, to_size, quality, file, func, line); return ret; } @@ -2881,8 +2880,8 @@ freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler)); } - public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) { - uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last); + public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_short src, uint srclen) { + uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_short.getCPtr(src), srclen); return ret; } @@ -2924,8 +2923,9 @@ return ret; } - public static void switch_mux_channels(SWIGTYPE_p_short data, uint samples, uint channels) { - freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), samples, channels); + public static void switch_mux_channels(SWIGTYPE_p_short data, SWIGTYPE_p_switch_size_t samples, uint channels) { + freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(samples), channels); + if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); } public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) { @@ -4222,6 +4222,7 @@ public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get(); public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get(); public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get(); + public static readonly int SWITCH_RESAMPLE_QUALITY = freeswitchPINVOKE.SWITCH_RESAMPLE_QUALITY_get(); public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get(); public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get(); public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get(); @@ -9113,6 +9114,9 @@ [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")] public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3); + [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RESAMPLE_QUALITY_get")] + public static extern int SWITCH_RESAMPLE_QUALITY_get(); + [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")] public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2); @@ -9143,24 +9147,6 @@ [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")] public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")] - public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")] - public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")] - public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")] - public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")] - public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2); - - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")] - public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1); - [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")] public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2); @@ -9186,13 +9172,13 @@ public static extern void delete_switch_audio_resampler_t(HandleRef jarg1); [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_perform_create")] - public static extern int switch_resample_perform_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, int jarg9); + public static extern int switch_resample_perform_create(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, int jarg5, string jarg6, string jarg7, int jarg8); [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")] public static extern void switch_resample_destroy(HandleRef jarg1); [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")] - public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6); + public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, uint jarg3); [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")] public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3); @@ -9219,7 +9205,7 @@ public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4); [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")] - public static extern void switch_mux_channels(HandleRef jarg1, uint jarg2, uint jarg3); + public static extern void switch_mux_channels(HandleRef jarg1, HandleRef jarg2, uint jarg3); [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")] public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2); @@ -16274,46 +16260,13 @@ } } - public SWIGTYPE_p_float from { - set { - freeswitchPINVOKE.switch_audio_resampler_t_from_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value)); - } - get { - IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_from_get(swigCPtr); - SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false); - return ret; - } - } - - public int from_len { - set { - freeswitchPINVOKE.switch_audio_resampler_t_from_len_set(swigCPtr, value); - } - get { - int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_len_get(swigCPtr); - return ret; - } - } - - public SWIGTYPE_p_switch_size_t from_size { - set { - freeswitchPINVOKE.switch_audio_resampler_t_from_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value)); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - } - get { - SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_audio_resampler_t_from_size_get(swigCPtr), true); - if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - } - - public SWIGTYPE_p_float to { + public SWIGTYPE_p_short to { set { - freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value)); + freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_short.getCPtr(value)); } get { IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr); - SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false); + SWIGTYPE_p_short ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_short(cPtr, false); return ret; } } From robertj at freeswitch.org Sat Feb 14 20:10:31 2009 From: robertj at freeswitch.org (FreeSWITCH SVN) Date: Sat, 14 Feb 2009 22:10:31 -0600 Subject: [Freeswitch-svn] [commit] r12027 - in freeswitch/trunk: src/mod/applications/mod_lcr w32/Library Message-ID: Author: robertj Date: Sat Feb 14 22:10:31 2009 New Revision: 12027 Log: Fixed VS2008 compiler warnings, including what clearly looks like a bug! Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj Modified: freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c (original) +++ freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c Sat Feb 14 22:10:31 2009 @@ -565,7 +565,7 @@ switch_stream_handle_t order_by = { 0 }; switch_stream_handle_t pre_order = { 0 }; switch_stream_handle_t *thisorder = NULL; - char *reorder_by_rate = SWITCH_FALSE; + char *reorder_by_rate = NULL; char *id_s = NULL; char *custom_sql = NULL; int argc, x = 0; @@ -655,7 +655,7 @@ } } - if (!switch_strlen_zero("reorder_by_rate")) { + if (!switch_strlen_zero(reorder_by_rate)) { profile->reorder_by_rate = switch_true(reorder_by_rate); } Modified: freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj ============================================================================== --- freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj (original) +++ freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj Sat Feb 14 22:10:31 2009 @@ -72,7 +72,7 @@ Name="VCLinkerTool" LinkLibraryDependencies="true" OutputFile="$(SolutionDir)$(ConfigurationName)/FreeSwitch.dll" - LinkIncremental="1" + LinkIncremental="2" AdditionalLibraryDirectories=""$(InputDir)..\..\libs\apr\$(OutDir)";"$(InputDir)..\..\libs\sqlite\$(OutDir) DLL";"$(InputDir)..\..\libs\apr-util\$(OutDir)";"$(InputDir)..\..\libs\apr-iconv\$(OutDir)";"$(InputDir)..\..\libs\libresample\win";"$(InputDir)..\..\libs\srtp\$(OutDir)"" AddModuleNamesToAssembly="" GenerateDebugInformation="true" From gmaruzz at freeswitch.org Sun Feb 15 06:59:03 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 08:59:03 -0600 Subject: [Freeswitch-svn] [commit] r12028 - freeswitch/branches/gmaruzz/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Sun Feb 15 08:59:03 2009 New Revision: 12028 Log: skypiax: cosmetic on skypiax.conf.xml Modified: freeswitch/branches/gmaruzz/mod_skypiax/configs/skypiax.conf.xml Modified: freeswitch/branches/gmaruzz/mod_skypiax/configs/skypiax.conf.xml ============================================================================== --- freeswitch/branches/gmaruzz/mod_skypiax/configs/skypiax.conf.xml (original) +++ freeswitch/branches/gmaruzz/mod_skypiax/configs/skypiax.conf.xml Sun Feb 15 08:59:03 2009 @@ -7,6 +7,7 @@ + From mphill at freeswitch.org Sun Feb 15 10:22:15 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 12:22:15 -0600 Subject: [Freeswitch-svn] [commit] r12029 - in freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl: . configuration dialplans Message-ID: Author: mphill Date: Sun Feb 15 12:22:15 2009 New Revision: 12029 Log: * Changed database library from MDB2 to PDO * Added profiling information: excution time, number of queries Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php Sun Feb 15 12:22:15 2009 @@ -45,10 +45,10 @@ $query = sprintf( 'SELECT * FROM acl_lists al JOIN acl_nodes an ON an.list_id=al.id;' ); - $acl_data = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (MDB2::isError($profiles)) { + $acl_data = $this -> db -> queryAll($query); + if (FS_PDO::isError($profiles)) { $this -> comment($query); - $this -> comment($acl_data -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } return $acl_data; @@ -81,4 +81,4 @@ $this -> xmlw -> endElement(); } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php Sun Feb 15 12:22:15 2009 @@ -47,10 +47,10 @@ */ private function write_advertises() { $query = "SELECT * FROM conference_advertise ORDER BY room"; - $advertises = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (MDB2::isError($advertises)) { + $advertises = $this -> db -> queryAll($query); + if (FS_PDO::isError($advertises)) { $this -> comment($query); - $this -> comment($advertises -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } $advertise_count = count($advertises); @@ -72,7 +72,7 @@ /** * Pull conference profiles from the database * This method will pull the conference profiles - * from the database using the PEAR MDB2 extension + * from the database using the PDO extension * @return array */ private function get_profiles_array() { @@ -81,12 +81,12 @@ , "ORDER BY profile_name" ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } - while ($row = $res -> fetchRow()) { + while ($row = $res -> fetch(PDO::FETCH_ASSOC)) { $pn = $row['profile_name']; $profiles[$pn][] = $row; } @@ -124,9 +124,9 @@ } /** - * Pull caller-controls from database via MDB2 + * Pull caller-controls from database via PDO * This method will pull the conference caller-controls from - * the database using the PEAR MDB2 extension + * the database using the PDO extension * @return array */ private function get_controls_array() { @@ -134,12 +134,12 @@ "SELECT * FROM conference_controls ORDER BY conf_group" ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } - while ($row = $res -> fetchRow()) { + while ($row = $res -> fetch(PDO::FETCH_ASSOC)) { $cg = $row['conf_group']; $profiles[$cg][] = $row; } @@ -155,9 +155,9 @@ private function write_controls() { $controls_array = $this -> get_controls_array(); $controls_count = count($controls_array); - if (MDB2::isError($controls_array)) { + if (FS_PDO::isError($controls_array)) { $this -> comment($query); - $this -> comment($controls_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($controls_count < 1) { @@ -182,4 +182,4 @@ $this -> xmlw -> endElement(); } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php Sun Feb 15 12:22:15 2009 @@ -48,9 +48,9 @@ , "ORDER BY dingaling_id" ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } while ($row = $res -> fetchRow()) { @@ -67,9 +67,9 @@ private function get_profile_array() { $query = sprintf('SELECT * FROM dingaling_profiles'); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } while ($row = $res -> fetchRow()) { @@ -121,9 +121,9 @@ private function write_settings() { $query = sprintf('SELECT * FROM dingaling_settings'); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $setting_count = count($res); @@ -139,4 +139,4 @@ } } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php Sun Feb 15 12:22:15 2009 @@ -25,17 +25,17 @@ private function get_profiles() { $query = "SELECT * FROM iax_conf ORDER BY id LIMIT 1"; - $profiles = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $profiles = $this -> db -> queryAll($query); return $profiles; } private function write_aliases($profile_id) { $query = "SELECT * FROM iax_aliases WHERE iax_id=$profile_id "; - $aliases_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $aliases_array = $this -> db -> queryAll($query); $aliases_count = count($aliases_array); - if (MDB2::isError($aliases_array)) { + if (FS_PDO::isError($aliases_array)) { $this -> comment($query); - $this -> comment($aliases_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($aliases_count < 1) { @@ -55,11 +55,11 @@ private function write_settings($profile_id) { $query = "SELECT * FROM iax_settings WHERE iax_id=$profile_id " . "ORDER BY iax_id, param_name"; - $settings_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $settings_array = $this -> db -> queryAll($query); $settings_count = count($settings_array); - if (MDB2::isError($settings_array)) { + if (FS_PDO::isError($settings_array)) { $this -> comment($query); - $this -> comment($settings_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($settings_count < 1) { @@ -80,12 +80,12 @@ private function write_gateways($profile_id) { $query = "SELECT * FROM iax_gateways WHERE iax_id=$profile_id " . "ORDER BY gateway_name, gateway_param"; - $gateway_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $gateway_array = $this -> db -> queryAll($query); $gateway_count = count($gateway_array); //$this -> comment_array($gateway_array); if (MDB2::isError($gateway_array)) { $this -> comment($query); - $this -> comment($gateway_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($gateway_count < 1) { @@ -113,11 +113,11 @@ private function write_domains($profile_id) { $query = "SELECT * FROM iax_domains WHERE iax_id=$profile_id"; - $domain_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $domain_array = $this -> db -> queryAll($query); $domain_count = count($domain_array); - if (MDB2::isError($domain_array)) { + if (FS_PDO::isError($domain_array)) { $this -> comment($query); - $this -> comment($domain_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($domain_count < 1) { @@ -169,4 +169,4 @@ } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php Sun Feb 15 12:22:15 2009 @@ -34,7 +34,7 @@ */ private function get_ivr_array() { $query = "SELECT * FROM ivr_conf"; - $menus = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $menus = $this -> db -> queryAll($query); return $menus; } @@ -47,10 +47,10 @@ $query = sprintf( "SELECT * FROM ivr_entries WHERE ivr_id=$ivr_id ORDER BY digits" ); - $entries_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (MDB2::isError($entries_array)) { + $entries_array = $this -> db -> queryAll($query); + if (FS_PDO::isError($entries_array)) { $this -> comment($query); - $this -> comment($entries_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } $entries_count = count($entries_array); @@ -114,4 +114,4 @@ $this -> xmlw -> endElement(); } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php Sun Feb 15 12:22:15 2009 @@ -32,9 +32,9 @@ private function get_params_array() { $query = sprintf('SELECT * FROM limit_conf;'); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } $this -> comment($res -> numRows() . 'rows'); Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php Sun Feb 15 12:22:15 2009 @@ -30,11 +30,11 @@ , "WHERE stream_id=$profile_id " , "ORDER BY stream_id, param_name" ); - $settings_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $settings_array = $this -> db -> queryAll($query); $settings_count = count($settings_array); - if (MDB2::isError($settings_array)) { + if (FS_PDO::isError($settings_array)) { $this -> comment($query); - $this -> comment($settings_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($settings_count < 1) { @@ -54,10 +54,10 @@ private function get_directories() { $query = sprintf('SELECT * FROM local_stream_conf;'); - $profiles = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (MDB2::isError($profiles)) { + $profiles = $this -> db -> queryAll($query); + if (FS_PDO::isError($profiles)) { $this -> comment($query); - $this -> comment($profiles -> getMessage()); + $this -> comment($this -> db -> getMessage()); return array(); } return $profiles; @@ -70,4 +70,4 @@ } } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php Sun Feb 15 12:22:15 2009 @@ -35,7 +35,7 @@ 'SELECT * FROM post_load_modules_conf WHERE load_module=1 ORDER BY priority;' ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); $this -> comment($res -> getMessage()); return array(); @@ -44,7 +44,7 @@ if ($res -> numRows() == 0) { return array(); } - while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)) { + while ($row = $res -> fetchRow()) { $feeds_array[] = $row; } return $feeds_array; Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php Sun Feb 15 12:22:15 2009 @@ -35,10 +35,10 @@ 'SELECT * FROM rss_conf ORDER BY priority, local_file;' ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { return false; } - while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)) { + while ($row = $res -> fetchRow()) { $feeds_array[] = $row; } return $feeds_array; @@ -67,4 +67,4 @@ } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php Sun Feb 15 12:22:15 2009 @@ -28,10 +28,10 @@ */ private function get_profiles() { $query = "SELECT * FROM sofia_conf"; - $profiles = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (MDB2::isError($profiles)) { + $profiles = $this -> db -> queryAll($query); + if (FS_PDO::isError($profiles)) { $this -> comment($query); - $this -> comment($profiles -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } return $profiles; @@ -43,11 +43,11 @@ */ private function write_aliases($profile_id) { $query = "SELECT * FROM sofia_aliases WHERE sofia_id=$profile_id "; - $aliases_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $aliases_array = $this -> db -> queryAll($query); $aliases_count = count($aliases_array); - if (MDB2::isError($aliases_array)) { + if (FS_PDO::isError($aliases_array)) { $this -> comment($query); - $this -> comment($aliases_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($aliases_count < 1) { @@ -71,11 +71,11 @@ private function write_settings($profile_id) { $query = "SELECT * FROM sofia_settings WHERE sofia_id=$profile_id " . "ORDER BY sofia_id, param_name"; - $settings_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $settings_array = $this -> db -> queryAll($query); $settings_count = count($settings_array); - if (MDB2::isError($settings_array)) { + if (FS_PDO::isError($settings_array)) { $this -> comment($query); - $this -> comment($settings_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($settings_count < 1) { @@ -100,12 +100,12 @@ private function write_gateways($profile_id) { $query = "SELECT * FROM sofia_gateways WHERE sofia_id=$profile_id " . "ORDER BY gateway_name, gateway_param"; - $gateway_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $gateway_array = $this -> db -> queryAll($query); $gateway_count = count($gateway_array); //$this -> comment_array($gateway_array); - if (MDB2::isError($gateway_array)) { + if (FS_PDO::isError($gateway_array)) { $this -> comment($query); - $this -> comment($gateway_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($gateway_count < 1) { @@ -137,11 +137,11 @@ */ private function write_domains($profile_id) { $query = "SELECT * FROM sofia_domains WHERE sofia_id=$profile_id"; - $domain_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $domain_array = $this -> db -> queryAll($query); $domain_count = count($domain_array); - if (MDB2::isError($domain_array)) { + if (FS_PDO::isError($domain_array)) { $this -> comment($query); - $this -> comment($domain_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($domain_count < 1) { @@ -193,4 +193,4 @@ } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php Sun Feb 15 12:22:15 2009 @@ -30,7 +30,7 @@ */ private function get_profiles() { $query = "SELECT * FROM voicemail_conf ORDER BY id"; - $profiles = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $profiles = $this -> db -> queryAll($query); return $profiles; } @@ -44,11 +44,11 @@ , "WHERE voicemail_id=$profile_id " , "ORDER BY voicemail_id, param_name" ); - $settings_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $settings_array = $this -> db -> queryAll($query); $settings_count = count($settings_array); - if (MDB2::isError($settings_array)) { + if (FS_PDO::isError($settings_array)) { $this -> comment($query); - $this -> comment($settings_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($settings_count < 1) { @@ -77,11 +77,11 @@ , "WHERE voicemail_id=$profile_id " , "ORDER BY voicemail_id, param_name" ); - $settings_array = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC); + $settings_array = $this -> db -> queryAll($query); $settings_count = count($settings_array); - if (MDB2::isError($settings_array)) { + if (FS_PDO::isError($settings_array)) { $this -> comment($query); - $this -> comment($settings_array -> getMessage()); + $this -> comment($this -> db -> getMessage()); return ; } if ($settings_count < 1) { @@ -129,4 +129,4 @@ } } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php Sun Feb 15 12:22:15 2009 @@ -50,9 +50,9 @@ $query = sprintf("SELECT l.digits, c.Carrier_Name, l.rate, cg.id, cg.gateway, cg.id AS gwid, l.lead_strip, l.trail_strip, l.prefix, l.suffix FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id %s ORDER BY length(digits) DESC, rate;", $where_clause); $res = $obj -> db -> query($query); $obj -> comment($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $obj -> comment($query); - $obj -> comment($res -> getMessage()); + $obj -> comment($this -> db -> getMessage()); $obj -> file_not_found(); } $carriers = array(); @@ -70,4 +70,4 @@ } -?> \ No newline at end of file +?> Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php Sun Feb 15 12:22:15 2009 @@ -53,12 +53,12 @@ , "WHERE module_name='$mod_name' AND load_module=1" ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if ($this->db->errorCode() !== FS_SQL_SUCCESS) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this->db->errorCode()); return true; //default allow policy return false; //comment previous line to default deny - } elseif ($res -> numRows() == 1) { + } elseif ($res -> rowCount() == 1) { return true; } else { return false; @@ -77,7 +77,7 @@ "SELECT COUNT(*) cnt FROM modless_conf WHERE conf_name = '$conf';" ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); $this -> comment($res -> getMessage()); return true; //default allow policy Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php Sun Feb 15 12:22:15 2009 @@ -20,9 +20,9 @@ */ class fs_curl { /** - * MDB2 Object - * @link http://pear.php.net/MDB2 - * @var $db MDB2 + * FS_PDO Object + * @link http://www.php.net/pdo + * @var $db FS_PDO */ public $db; /** @@ -45,8 +45,8 @@ private $comments; /** - * Instantiation of XMLWriter and MDB2 - * This method will instantiate the MDB2 and XMLWriter classes for use + * Instantiation of XMLWriter and FS_PDO + * This method will instantiate the FS_PDO and XMLWriter classes for use * in child classes * @return void */ @@ -55,27 +55,27 @@ header('Content-Type: text/xml'); $this -> open_xml(); $this -> generate_request_array(); - $inc = array('required'=>'MDB2.php'); + $inc = array('required'=>'fs_pdo.php'); // include an external file. i.e. 'required'=>'important_file.php' $this -> include_files($inc); - $this -> connect_db(DEFAULT_DSN); + $this -> connect_db(DEFAULT_DSN, DEFAULT_DSN_LOGIN, DEFAULT_DSN_PASSWORD ); set_error_handler(array($this, 'error_handler')); //trigger_error('blah', E_USER_ERROR); } /** - * Connect to a database via MDB2 + * Connect to a database via FS_PDO * @param mixed $dsn data source for database connection (array or string) * @return void */ - public function connect_db($dsn) { - $this -> db = MDB2::connect($dsn); - if (MDB2::isError($this -> db)) { - $this -> comment($this -> db -> getMessage()); - $this -> file_not_found(); - } - $this -> db -> setFetchMode(MDB2_FETCHMODE_ASSOC); + public function connect_db($dsn, $login, $password) { + try { + $this -> db = new FS_PDO($dsn, $login, $password); + } catch(Exception $e) { + $this -> comment($e->getMessage()); + $this -> file_not_found(); //program terminates in function file_not_found() + } } - + /** * Method to add comments to XML * Adds a comment to be displayed in the final XML @@ -181,6 +181,14 @@ * @return void */ public function output_xml() { + $this->comment( + sprintf('Total # of Queries Run: %d', $this->db->counter) + ); + $this -> comment(sprintf("Estimated Execution Time Is: %s" + , (ereg_replace( + '^0\.([0-9]+) ([0-9]+)$', '\2.\1', microtime()) - START_TIME) + )); + $this -> close_xml(); $comment_count = count($this -> comments); for ($i = 0; $i < $comment_count; $i++) { @@ -191,7 +199,7 @@ $this -> debug(explode("\n", $xml_out)); $this -> debug('---- End XML Output ----'); echo $xml_out; - exit(); + exit(); } /** Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php Sun Feb 15 12:22:15 2009 @@ -61,9 +61,9 @@ "SELECT * FROM dialplan_special WHERE context='%s'", $context ); $res = $this -> db -> query($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } if ($res -> numRows() == 1) { @@ -88,8 +88,8 @@ , "global_weight, context, extension, weight" ); $res = $this -> db -> query($dpQuery); - if (MDB2::isError($res)) { - $this -> comment($res -> getMessage()); + if (FS_PDO::isError($res)) { + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $condition_number = 0; Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php Sun Feb 15 12:22:15 2009 @@ -61,9 +61,10 @@ , $where_clause ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } return $res; @@ -80,9 +81,9 @@ "SELECT * FROM directory_params WHERE directory_id='$user_id';" ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); - $this -> comment($res -> getMessage()); + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $param_count = count($res); @@ -109,8 +110,8 @@ "SELECT * FROM directory_vars WHERE directory_id='$user_id';" ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { - $this -> comment($res -> getMessage()); + if (FS_PDO::isError($res)) { + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $var_count = count($res); @@ -139,8 +140,8 @@ "SELECT * FROM directory_gateways WHERE directory_id='$user_id';" ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { - $this -> comment($res -> getMessage()); + if (FS_PDO::isError($res)) { + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $gw_count = count($res); @@ -167,8 +168,8 @@ "SELECT * FROM directory_gateway_params WHERE d_gw_id='%s';", $d_gw_id ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { - $this -> comment($res -> getMessage()); + if (FS_PDO::isError($res)) { + $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $param_count = count($res); @@ -193,10 +194,10 @@ "WHERE dd.domain_name='" . $this -> request['domain'] . "'" ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); $error_msg = sprintf("Error while selecting global params - %s" - , $res -> getMessage() + , $this -> db -> getMessage() ); trigger_error($error_msg); } @@ -222,10 +223,10 @@ "WHERE dd.domain_name='" . $this -> request['domain'] . "'" ); $res = $this -> db -> queryAll($query); - if (MDB2::isError($res)) { + if (FS_PDO::isError($res)) { $this -> comment($query); $error_msg = sprintf("Error while selecting global vars - %s" - , $res -> getMessage() + , $this -> db -> getMessage() ); trigger_error($error_msg); } Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php Sun Feb 15 12:22:15 2009 @@ -11,14 +11,26 @@ } /** - * Defines the default dsn for the MDB2 PEAR class + * Defines the default dsn for the FS_PDO class */ -define('DEFAULT_DSN', 'mysql://freeswitch:Fr33Sw1tch at localhost/freeswitch'); +define('DEFAULT_DSN', 'mysql:dbname=freeswitch;host=127.0.0.1'); +/** + * Defines the default dsn login for the PDO class + */ +define('DEFAULT_DSN_LOGIN', 'freeswitch'); +/** + * Defines the default dsn password for the PDOclass + */ +define('DEFAULT_DSN_PASSWORD', 'fr33sw1tch'); /** * Generic return success */ define('FS_CURL_SUCCESS', 0); /** + * Generic return success + */ +define('FS_SQL_SUCCESS', '00000'); +/** * Generic return warning */ define('FS_CURL_WARNING', 1); Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php Sun Feb 15 12:22:15 2009 @@ -14,6 +14,12 @@ * class is successfully instantiated. * @return void */ + +/** + * define for the time that execution of the script started + */ +define('START_TIME', ereg_replace('^0\.([0-9]+) ([0-9]+)$', '\2.\1', microtime())); + function file_not_found($no=false, $str=false, $file=false, $line=false) { if ($no == E_STRICT) { return; @@ -94,3 +100,4 @@ $conf -> main(); $conf -> output_xml(); +?> From mphill at freeswitch.org Sun Feb 15 10:25:18 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 12:25:18 -0600 Subject: [Freeswitch-svn] [commit] r12030 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl Message-ID: Author: mphill Date: Sun Feb 15 12:25:18 2009 New Revision: 12030 Log: New class uses PDO for all database queries. Provides some MDB2 backwards compatibility. Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_pdo.php Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_pdo.php ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_pdo.php Sun Feb 15 12:25:18 2009 @@ -0,0 +1,109 @@ + + * @license bsd http://www.opensource.org/licenses/bsd-license.php + */ + +class FS_PDO extends PDO { + /** + * Default fetch mode. Associative arrays seem to be used most often + */ + private $fetch_mode = PDO::FETCH_ASSOC; + + /** + * Basic counter for profiling the number of queries executed. + */ + public $counter = 0; + + public function __construct($dsn, $login = NULL, $password = NULL, $options = NULL) { + parent::__construct($dsn, $login, $password, $options); + $this->setAttribute( PDO::ATTR_STATEMENT_CLASS, array( 'FS_PDOStatement', array() ) ); + } + + /** + * Set the fetch mode i.e. PDO::FETCH_ASSOC + * @param string $fetch_mode + */ + public function setFetchMode($fetch_mode) { + $this->fetch_mode = $fetch_mode; + } + + /** + * Return an associative array instead of a PDO statement object + * @param string $query Query to be executed + * @return mixed Associative array result set + */ + public function queryAll($query) { + $this->counter++; + $res = $this->query($query); + if(!$res) { + return false; + } else { + return $res->fetchAll($this->fetch_mode); + } + } + + /** + * Backwards compatibility for error checking with MDB2 + * @static + * @param string $result The return status of a previous query operation + * @return bool + */ + public static function isError($result) { + if($result === false) { + return true; + } else { + return false; + } + } + + /** + * + * @param string $query Query to be executed + * @return PDOStatement + */ + public function query($query) { + $this->counter++; + return PDO::query($query); + } + + /** + * Takes and array and converts to a string + * @return string $full_error A formated message + */ + public function getMessage() { + $full_error = ""; + foreach($this->errorInfo() as $error) { + $full_error .= $error . "\n"; + } + return $full_error; + } +} + +/** + * PDOStatment was extended to provide backwards compatible functions such as + * fetchRow and rowCount. At some point all references to numRow() should be + * replaced with rowCount() + */ + +class FS_PDOStatement extends PDOStatement { + + protected function __construct() { + + } + + public function fetchRow() { + + return $this->fetch(PDO::FETCH_ASSOC); + } + + public function numRows() { + + return $this->rowCount(); + } +} +?> From mphill at freeswitch.org Sun Feb 15 10:29:35 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 12:29:35 -0600 Subject: [Freeswitch-svn] [commit] r12031 - in freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl: . libs Message-ID: Author: mphill Date: Sun Feb 15 12:29:35 2009 New Revision: 12031 Log: Created new libs directory and moved fs_pdo.php there Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/fs_pdo.php (props changed) - copied unchanged from r12030, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_pdo.php Removed: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_pdo.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php Sun Feb 15 12:29:35 2009 @@ -55,7 +55,7 @@ header('Content-Type: text/xml'); $this -> open_xml(); $this -> generate_request_array(); - $inc = array('required'=>'fs_pdo.php'); // include an external file. i.e. 'required'=>'important_file.php' + $inc = array('required'=>'libs/fs_pdo.php'); // include an external file. i.e. 'required'=>'important_file.php' $this -> include_files($inc); $this -> connect_db(DEFAULT_DSN, DEFAULT_DSN_LOGIN, DEFAULT_DSN_PASSWORD ); set_error_handler(array($this, 'error_handler')); From intralanman at freeswitch.org Sun Feb 15 10:57:39 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 12:57:39 -0600 Subject: [Freeswitch-svn] [commit] r12032 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl Message-ID: Author: intralanman Date: Sun Feb 15 12:57:39 2009 New Revision: 12032 Log: only LOG_USER exists on windows... trying to make cross-platform Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php Sun Feb 15 12:57:39 2009 @@ -51,7 +51,7 @@ * @return void */ public function fs_curl() { - openlog('fs_curl', LOG_NDELAY | LOG_PID, LOG_LOCAL0); + openlog('fs_curl', LOG_NDELAY | LOG_PID, LOG_USER); header('Content-Type: text/xml'); $this -> open_xml(); $this -> generate_request_array(); From intralanman at freeswitch.org Sun Feb 15 12:15:06 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 14:15:06 -0600 Subject: [Freeswitch-svn] [commit] r12033 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl Message-ID: Author: intralanman Date: Sun Feb 15 14:15:06 2009 New Revision: 12033 Log: rewrite logic to do about n*4 less queries when pulling the directory for an entire domain resulting in faster load another commit for user directory to come later Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php Sun Feb 15 14:15:06 2009 @@ -18,6 +18,11 @@ * Class for XML directory */ class fs_directory extends fs_curl { + private $users_vars; + private $users_params; + private $users_gateways; + private $users_gateway_params; + public function fs_directory() { $this -> fs_curl(); } @@ -58,7 +63,7 @@ } $query = sprintf( "SELECT * FROM directory %s ORDER BY username" - , $where_clause + , $where_clause ); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { @@ -71,28 +76,40 @@ } /** - * Writes XML for directory user's - * This method will pull all of the user params based on the passed user_id - * @param integer $user_id - * @return void - */ - private function write_params($user_id) { - $query = sprintf( - "SELECT * FROM directory_params WHERE directory_id='$user_id';" - ); + * This method will pull the params for every user in a domain + * @return array of users' params + */ + private function get_users_params() { + $query = sprintf("SELECT * FROM directory_params"); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($query); $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } - $param_count = count($res); - if ($param_count > 0) { + + $record_count = count($res); + for($i=0; $i<$record_count; $i++) { + $di = $res[$i]['directory_id']; + $pn = $res[$i]['param_name']; + $this->users_params[$di][$pn] = $res[$i]['param_value']; + } + } + + /** + * Writes XML for directory user's + * This method will pull all of the user params based on the passed user_id + * @param integer $user_id + * @return void + */ + private function write_params($user_id) { + if (is_array($this->users_params[$user_id]) + && count($this->users_params[$user_id]) > 0) { $this -> xmlw -> startElement('params'); - for ($i=0; $i<$param_count; $i++) { + foreach($this->users_params[$user_id] as $pname => $pvalue) { $this -> xmlw -> startElement('param'); - $this -> xmlw -> writeAttribute('name', $res[$i]['param_name']); - $this -> xmlw -> writeAttribute('value', $res[$i]['param_value']); + $this -> xmlw -> writeAttribute('name', $pname); + $this -> xmlw -> writeAttribute('value', $pvalue); $this -> xmlw -> endElement(); } $this -> xmlw -> endElement(); @@ -100,27 +117,38 @@ } /** - * Write all the for a given user - * - * @param integer $user_id - * @return void + * Get all the users' variables */ - private function write_variables($user_id) { - $query = sprintf( - "SELECT * FROM directory_vars WHERE directory_id='$user_id';" - ); + private function get_users_vars() { + $query = sprintf("SELECT * FROM directory_vars;"); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } - $var_count = count($res); - if ($var_count > 0) { + + $record_count = count($res); + for($i=0; $i<$record_count; $i++) { + $di = $res[$i]['directory_id']; + $vn = $res[$i]['var_name']; + $this->users_vars[$di][$vn] = $res[$i]['var_value']; + } + } + + /** + * Write all the for a given user + * + * @param integer $user_id + * @return void + */ + private function write_variables($user_id) { + if (array_key_exists($user_id, $this->users_vars) + && is_array($this->users_vars[$user_id])) { $this -> xmlw -> startElement('variables'); - for ($i=0; $i<$var_count; $i++) { + foreach($this->users_vars[$user_id] as $vname => $vvalue) { $this -> xmlw -> startElement('variable'); - $this -> xmlw -> writeAttribute('name', $res[$i]['var_name']); - $this -> xmlw -> writeAttribute('value', $res[$i]['var_value']); + $this -> xmlw -> writeAttribute('name', $vname); + $this -> xmlw -> writeAttribute('value', $vvalue); $this -> xmlw -> endElement(); } $this -> xmlw -> endElement(); @@ -128,6 +156,23 @@ } /** + * get the users' gateways + */ + private function get_users_gateways() { + $query = sprintf("SELECT * FROM directory_gateways;"); + $res = $this -> db -> queryAll($query); + if (FS_PDO::isError($res)) { + $this -> comment($this -> db -> getMessage()); + $this -> file_not_found(); + } + $record_count = count($res); + for($i=0; $i<$record_count; $i++) { + $di = $res[$i]['directory_id']; + $this->users_gateways[$di][] = $res[$i]; + } + } + + /** * Write all of the XML for the user's * This method takes the id of the user from the directory table and pulls * all of the user's gateways. It then calls write_single_gateway for @@ -136,21 +181,19 @@ * @return void */ private function write_gateways($user_id) { - $query = sprintf( - "SELECT * FROM directory_gateways WHERE directory_id='$user_id';" - ); - $res = $this -> db -> queryAll($query); - if (FS_PDO::isError($res)) { - $this -> comment($this -> db -> getMessage()); - $this -> file_not_found(); - } - $gw_count = count($res); - if ($gw_count > 0) { + if (array_key_exists($user_id, $this->users_gateways) + && is_array($this -> users_gateways[$user_id])) { $this -> xmlw -> startElement('gateways'); - for ($i=0; $i<$gw_count; $i++) { + $gateway_count = count($this -> users_gateways[$user_id]); + for ($i=0; $i<$gateway_count; $i++) { $this -> xmlw -> startElement('gateway'); - $this -> xmlw -> writeAttribute('name', $res[$i]['gateway_name']); - $this -> write_single_gateway($res[$i]['id']); + $this -> xmlw -> writeAttribute( + 'name', $this -> users_gateways[$user_id][$i]['gateway_name'] + ); + + $this -> write_user_gateway_params( + $this -> users_gateways[$user_id][$i]['id'] + ); $this -> xmlw -> endElement(); } $this -> xmlw -> endElement(); @@ -158,26 +201,37 @@ } /** - * Write out the XML for each user-specific gateway - * - * @param integer $d_gw_id id from directory_gateways - * @return void + * get users' gateway params */ - private function write_single_gateway($d_gw_id) { - $query = sprintf( - "SELECT * FROM directory_gateway_params WHERE d_gw_id='%s';", $d_gw_id - ); + private function get_user_gateway_params() { + $query = sprintf("SELECT * FROM directory_gateway_params;"); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } $param_count = count($res); - if ($param_count > 0) { - for ($i=0; $i<$param_count; $i++) { + for($i=0; $i<$param_count; $i++) { + $dgwid = $res[$i]['id']; + $pname = $res[$i]['param_name']; + $pvalue = $res[$i]['param_value']; + $this->users_gateway_params[$dgwid][$pname] = $pvalue; + } + } + + /** + * Write out the XML for each user-specific gateway + * + * @param integer $d_gw_id id from directory_gateways + * @return void + */ + private function write_user_gateway_params($d_gw_id) { + if (is_array($this->users_gateway_params[$d_gw_id]) + && count($this->users_gateway_params[$d_gw_id]) > 0) { + foreach($this->users_gateway_params[$d_gw_id] as $pname => $pvalue) { $this -> xmlw -> startElement('param'); - $this -> xmlw -> writeAttribute('name', $res[$i]['param_name']); - $this -> xmlw -> writeAttribute('value', $res[$i]['param_value']); + $this -> xmlw -> writeAttribute('name', $pname); + $this -> xmlw -> writeAttribute('value', $pvalue); $this -> xmlw -> endElement(); } } @@ -197,7 +251,7 @@ if (FS_PDO::isError($res)) { $this -> comment($query); $error_msg = sprintf("Error while selecting global params - %s" - , $this -> db -> getMessage() + , $this -> db -> getMessage() ); trigger_error($error_msg); } @@ -226,7 +280,7 @@ if (FS_PDO::isError($res)) { $this -> comment($query); $error_msg = sprintf("Error while selecting global vars - %s" - , $this -> db -> getMessage() + , $this -> db -> getMessage() ); trigger_error($error_msg); } @@ -253,9 +307,15 @@ $this -> file_not_found(); } $directory_count = count($directory); + + $this -> get_users_params(); + $this -> get_users_vars(); + $this -> get_users_gateways(); + $this -> get_user_gateway_params(); + $this -> xmlw -> startElement('section'); $this -> xmlw -> writeAttribute('name', 'directory'); - $this -> xmlw -> writeAttribute('description', 'FreeSWITCH Dialplan'); + $this -> xmlw -> writeAttribute('description', 'FreeSWITCH Directory'); $this -> xmlw -> startElement('domain'); $this -> xmlw -> writeAttribute('name', $this -> request['domain']); $this -> write_global_params(); From intralanman at freeswitch.org Sun Feb 15 13:59:55 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 15:59:55 -0600 Subject: [Freeswitch-svn] [commit] r12034 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl Message-ID: Author: intralanman Date: Sun Feb 15 15:59:55 2009 New Revision: 12034 Log: add where clauses to minimize the time it takes to get a single user's XML Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php Sun Feb 15 15:59:55 2009 @@ -18,6 +18,8 @@ * Class for XML directory */ class fs_directory extends fs_curl { + private $user; + private $userid; private $users_vars; private $users_params; private $users_gateways; @@ -25,6 +27,10 @@ public function fs_directory() { $this -> fs_curl(); + if(array_key_exists('user', $this->request)) { + $this -> user = $this -> request['user']; + } + $this -> comment("User is " . $this->user); } public function main() { @@ -49,7 +55,7 @@ $where_array[] = sprintf("domain='%s'", $this -> request['domain']); } if (array_key_exists('user', $this -> request)) { - $where_array[] = sprintf("username='%s'", $this -> request['user']); + $where_array[] = sprintf("username='%s'", $this -> user); } if (!empty($where_array)) { $this -> comment('where array has contents'); @@ -61,8 +67,7 @@ } else { $where_clause = ''; } - $query = sprintf( - "SELECT * FROM directory %s ORDER BY username" + $query = sprintf("SELECT * FROM directory %s ORDER BY username" , $where_clause ); $res = $this -> db -> queryAll($query); @@ -72,6 +77,10 @@ $this -> comment($this -> db -> getMessage()); $this -> file_not_found(); } + if(!empty($this -> user)) { + $this -> userid = $res[0]['id']; + $this -> comment(sprintf('user id is: %d', $this -> userid)); + } return $res; } @@ -80,7 +89,11 @@ * @return array of users' params */ private function get_users_params() { - $query = sprintf("SELECT * FROM directory_params"); + $where = ''; + if(!empty($this -> userid)) { + $where = sprintf('WHERE directory_id = %d', $this -> userid); + } + $query = sprintf("SELECT * FROM directory_params %s;", $where); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($query); @@ -120,7 +133,11 @@ * Get all the users' variables */ private function get_users_vars() { - $query = sprintf("SELECT * FROM directory_vars;"); + $where = ''; + if(!empty($this -> userid)) { + $where = sprintf('WHERE directory_id = %d', $this -> userid); + } + $query = sprintf("SELECT * FROM directory_vars %s;", $where); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($this -> db -> getMessage()); @@ -159,7 +176,11 @@ * get the users' gateways */ private function get_users_gateways() { - $query = sprintf("SELECT * FROM directory_gateways;"); + $where = ''; + if(!empty($this -> userid)) { + $where = sprintf('WHERE directory_id = %d', $this -> userid); + } + $query = sprintf("SELECT * FROM directory_gateways %s;", $where); $res = $this -> db -> queryAll($query); if (FS_PDO::isError($res)) { $this -> comment($this -> db -> getMessage()); From shaneb at freeswitch.org Sun Feb 15 17:28:03 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 19:28:03 -0600 Subject: [Freeswitch-svn] [commit] r12035 - freeswitch/trunk/src/include Message-ID: Author: shaneb Date: Sun Feb 15 19:28:03 2009 New Revision: 12035 Log: Added new cmake template Added: freeswitch/trunk/src/include/switch_version.h.cmake Added: freeswitch/trunk/src/include/switch_version.h.cmake ============================================================================== --- (empty file) +++ freeswitch/trunk/src/include/switch_version.h.cmake Sun Feb 15 19:28:03 2009 @@ -0,0 +1,50 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Anthony Minessale II + * Michael Jerris + * + * switch_version.h -- Version Number Header + * + */ + +#ifndef SWITCH_VERSION_H +#define SWITCH_VERSION_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define SWITCH_VERSION_MAJOR "@SWITCH_VERSION_MAJOR@" +#define SWITCH_VERSION_MINOR "@SWITCH_VERSION_MINOR@" +#define SWITCH_VERSION_MICRO "@SWITCH_VERSION_MICRO@" +#define SWITCH_VERSION_REVISION "@SWITCH_VERSION_REVISION@" +#define SWITCH_VERSION_FULL SWITCH_VERSION_MAJOR "." SWITCH_VERSION_MINOR "." SWITCH_VERSION_MICRO " (" SWITCH_VERSION_REVISION ")" + +#ifdef __cplusplus +} +#endif + +#endif From shaneb at freeswitch.org Sun Feb 15 17:34:06 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 19:34:06 -0600 Subject: [Freeswitch-svn] [commit] r12036 - freeswitch/trunk/src/include Message-ID: Author: shaneb Date: Sun Feb 15 19:34:06 2009 New Revision: 12036 Log: Name changes Modified: freeswitch/trunk/src/include/switch_version.h.cmake Modified: freeswitch/trunk/src/include/switch_version.h.cmake ============================================================================== --- freeswitch/trunk/src/include/switch_version.h.cmake (original) +++ freeswitch/trunk/src/include/switch_version.h.cmake Sun Feb 15 19:34:06 2009 @@ -37,10 +37,10 @@ extern "C" { #endif -#define SWITCH_VERSION_MAJOR "@SWITCH_VERSION_MAJOR@" -#define SWITCH_VERSION_MINOR "@SWITCH_VERSION_MINOR@" -#define SWITCH_VERSION_MICRO "@SWITCH_VERSION_MICRO@" -#define SWITCH_VERSION_REVISION "@SWITCH_VERSION_REVISION@" +#define SWITCH_VERSION_MAJOR "@freeswitch_MAJOR_VERSION@" +#define SWITCH_VERSION_MINOR "@freeswitch_MINOR_VERSION@" +#define SWITCH_VERSION_MICRO "@freeswitch_PATCH_LEVEL@" +#define SWITCH_VERSION_REVISION "@Project_WC_REVISION@" #define SWITCH_VERSION_FULL SWITCH_VERSION_MAJOR "." SWITCH_VERSION_MINOR "." SWITCH_VERSION_MICRO " (" SWITCH_VERSION_REVISION ")" #ifdef __cplusplus From shaneb at freeswitch.org Sun Feb 15 17:34:50 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 19:34:50 -0600 Subject: [Freeswitch-svn] [commit] r12037 - freeswitch/trunk Message-ID: Author: shaneb Date: Sun Feb 15 19:34:50 2009 New Revision: 12037 Log: Add create of switch_version.h Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Sun Feb 15 19:34:50 2009 @@ -13,13 +13,11 @@ # project version -SET( ${PROJECT_NAME}_MAJOR_VERSION 0 ) -SET( ${PROJECT_NAME}_MINOR_VERSION 1 ) +SET( ${PROJECT_NAME}_MAJOR_VERSION 1 ) +SET( ${PROJECT_NAME}_MINOR_VERSION 0 ) SET( ${PROJECT_NAME}_PATCH_LEVEL 0 ) - -#ADD_DEFINITIONS( "-DSWITCH_VERSION_REVISION=${Project_WC_REVISION}" ) - +configure_file(src/include/switch_version.h.cmake src/include/switch_version.h [@ONLY]) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") INCLUDE (CheckSymbolExists) @@ -33,10 +31,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -# ADD_DEFINITIONS( "-Wall -ansi -pedantic" ) - MESSAGE( STATUS ) -MESSAGE( STATUS "FREESWITCH CMAKE Build - Shane Burrell-----------------------------------------" ) +MESSAGE( STATUS "FREESWITCH CMAKE Build-----------------------------------------" ) MESSAGE( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" ) MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" ) @@ -45,13 +41,9 @@ MESSAGE( STATUS "BUILD_WITH = \"${BUILD_WITH}\"" ) MESSAGE( STATUS "INSTALL_DOC = ${INSTALL_DOC}" ) MESSAGE( STATUS "Change a value with: cmake -D=" ) -MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +MESSAGE( STATUS "---------------------------------------------------------------" ) MESSAGE( STATUS ) - - - - # Configuration checks check_symbol_exists (strncasecmp "string.h" HAVE_STRNCASECMP) check_symbol_exists (strcasecmp "string.h" HAVE_STRCASECMP) @@ -132,32 +124,7 @@ # the complete system name, e.g. "Linux-2.4.22", "FreeBSD-5.4-RELEASE" or "Windows 5.1" MESSAGE( STATUS "CMAKE_SYSTEM: " ${CMAKE_SYSTEM} ) # the short system name, e.g. "Linux", "FreeBSD" or "Windows" -MESSAGE( STATUS "CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME} ) -# only the version part of CMAKE_SYSTEM -MESSAGE( STATUS "CMAKE_SYSTEM_VERSION: " ${CMAKE_SYSTEM_VERSION} ) -# the processor name (e.g. "Intel(R) Pentium(R) M processor 2.00GHz") -MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} ) -# is TRUE on all UNIX-like OS's, including Apple OS X and CygWin -MESSAGE( STATUS "UNIX: " ${UNIX} ) -# is TRUE on Windows, including CygWin -MESSAGE( STATUS "WIN32: " ${WIN32} ) -# is TRUE on Apple OS X -MESSAGE( STATUS "APPLE: " ${APPLE} ) - -# is TRUE when using the MinGW compiler in Windows -MESSAGE( STATUS "MINGW: " ${MINGW} ) -# is TRUE on Windows when using the CygWin version of cmake -MESSAGE( STATUS "CYGWIN: " ${CYGWIN} ) -# is TRUE on Windows when using a Borland compiler -MESSAGE( STATUS "BORLAND: " ${BORLAND} ) -# Microsoft compiler -MESSAGE( STATUS "MSVC: " ${MSVC} ) -MESSAGE( STATUS "MSVC_IDE: " ${MSVC_IDE} ) -MESSAGE( STATUS "MSVC60: " ${MSVC60} ) -MESSAGE( STATUS "MSVC70: " ${MSVC70} ) -MESSAGE( STATUS "MSVC71: " ${MSVC71} ) -MESSAGE( STATUS "MSVC80: " ${MSVC80} ) -MESSAGE( STATUS "CMAKE_COMPILER_2005: " ${CMAKE_COMPILER_2005} ) + MESSAGE( STATUS "-------------------------------------------------------------------------------" ) MESSAGE( STATUS ) @@ -166,7 +133,6 @@ # DO APR - INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/apr/include/ ${CMAKE_SOURCE_DIR}/libs/apr-util/include/) LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr/.libs/libapr-1.a) LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr-util/.libs/libaprutil-1.a) @@ -227,8 +193,6 @@ -configure_file(src/include/switch_version.h.in src/include/switch_version.h [@ONLY]) - From mphill at freeswitch.org Sun Feb 15 19:38:28 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 21:38:28 -0600 Subject: [Freeswitch-svn] [commit] r12038 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql Message-ID: Author: mphill Date: Sun Feb 15 21:38:28 2009 New Revision: 12038 Log: New database schema Added: dialplan_extension dialplan (updated) dialplan_context dialplan_condition dialplan_actions Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle-with-examples.sql freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle.sql Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql Sun Feb 15 21:38:28 2009 @@ -1,530 +1,891 @@ --- MySQL dump 10.11 --- --- Host: localhost Database: freeswitch --- ------------------------------------------------------ --- Server version 5.0.32-Debian_7etch5-log +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:35 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- --- Table structure for table `carrier_gateway` +-- Database: `freeswitch` -- -DROP TABLE IF EXISTS `carrier_gateway`; -CREATE TABLE `carrier_gateway` ( - `id` int(11) NOT NULL auto_increment, - `carrier_id` int(11) default NULL, - `gateway` varchar(32) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `gateway` (`gateway`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +-- -------------------------------------------------------- -- --- Dumping data for table `carrier_gateway` +-- Table structure for table `acl_lists` -- -LOCK TABLES `carrier_gateway` WRITE; -/*!40000 ALTER TABLE `carrier_gateway` DISABLE KEYS */; -INSERT INTO `carrier_gateway` VALUES (1,1,'GX1783b'),(2,2,'L3285032k1'),(3,1,'GX2946h'),(4,2,'L3973865l2'); -/*!40000 ALTER TABLE `carrier_gateway` ENABLE KEYS */; -UNLOCK TABLES; +CREATE TABLE IF NOT EXISTS `acl_lists` ( + `id` int(10) unsigned NOT NULL auto_increment, + `acl_name` varchar(128) NOT NULL, + `default_policy` varchar(45) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- --- Table structure for table `carriers` +-- Dumping data for table `acl_lists` -- -DROP TABLE IF EXISTS `carriers`; -CREATE TABLE `carriers` ( - `id` int(11) NOT NULL auto_increment, - `Carrier_Name` varchar(255) default NULL, +INSERT INTO `acl_lists` (`id`, `acl_name`, `default_policy`) VALUES +(1, 'rfc1918', 'deny'), +(2, 'lan', 'allow'), +(3, 'default', 'allow'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS `acl_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `cidr` varchar(45) NOT NULL, + `type` varchar(16) NOT NULL, + `list_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- --- Dumping data for table `carriers` +-- Dumping data for table `acl_nodes` -- -LOCK TABLES `carriers` WRITE; -/*!40000 ALTER TABLE `carriers` DISABLE KEYS */; -INSERT INTO `carriers` VALUES (1,'Global Crossing'),(2,'Level 3 Communications'); -/*!40000 ALTER TABLE `carriers` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `acl_nodes` (`id`, `cidr`, `type`, `list_id`) VALUES +(1, '192.168.0.0/16', 'allow', 1), +(2, '10.0.0.0/8', 'allow', 1), +(3, '172.16.0.0/12', 'allow', 1); + +-- -------------------------------------------------------- -- -- Table structure for table `conference_advertise` -- -DROP TABLE IF EXISTS `conference_advertise`; -CREATE TABLE `conference_advertise` ( +CREATE TABLE IF NOT EXISTS `conference_advertise` ( `id` int(10) unsigned NOT NULL auto_increment, `room` varchar(64) NOT NULL, `status` varchar(128) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_room` (`room`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- -- Dumping data for table `conference_advertise` -- -LOCK TABLES `conference_advertise` WRITE; -/*!40000 ALTER TABLE `conference_advertise` DISABLE KEYS */; -INSERT INTO `conference_advertise` VALUES (1,'3000@$${domain}','Freeswitch Conference'),(2,'3001@$${domain}','FreeSWITCH Conference 2'),(3,'3002@$${domain}','FreeSWITCH Conference 3'); -/*!40000 ALTER TABLE `conference_advertise` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `conference_advertise` (`id`, `room`, `status`) VALUES +(1, '3000@$${domain}', 'Freeswitch Conference'), +(2, '3001@$${domain}', 'FreeSWITCH Conference 2'), +(3, '3002@$${domain}', 'FreeSWITCH Conference 3'); + +-- -------------------------------------------------------- -- -- Table structure for table `conference_controls` -- -DROP TABLE IF EXISTS `conference_controls`; -CREATE TABLE `conference_controls` ( +CREATE TABLE IF NOT EXISTS `conference_controls` ( `id` int(10) unsigned NOT NULL auto_increment, `conf_group` varchar(64) NOT NULL, `action` varchar(64) NOT NULL, `digits` varchar(16) NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_group_action` (`conf_group`,`action`) +) TYPE=InnoDB AUTO_INCREMENT=13 ; -- -- Dumping data for table `conference_controls` -- -LOCK TABLES `conference_controls` WRITE; -/*!40000 ALTER TABLE `conference_controls` DISABLE KEYS */; -INSERT INTO `conference_controls` VALUES (1,'default','mute','0'),(2,'default','deaf_mute','*'),(3,'default','energy up','9'),(4,'default','energy equ','8'),(5,'default','energy dn','7'),(6,'default','vol talk up','3'),(7,'default','vol talk dn','1'),(8,'default','vol talk zero','2'),(9,'default','vol listen up','6'),(10,'default','vol listen dn','4'),(11,'default','vol listen zero','5'),(12,'default','hangup','#'); -/*!40000 ALTER TABLE `conference_controls` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `conference_controls` (`id`, `conf_group`, `action`, `digits`) VALUES +(1, 'default', 'mute', '0'), +(2, 'default', 'deaf_mute', '*'), +(3, 'default', 'energy up', '9'), +(4, 'default', 'energy equ', '8'), +(5, 'default', 'energy dn', '7'), +(6, 'default', 'vol talk up', '3'), +(7, 'default', 'vol talk dn', '1'), +(8, 'default', 'vol talk zero', '2'), +(9, 'default', 'vol listen up', '6'), +(10, 'default', 'vol listen dn', '4'), +(11, 'default', 'vol listen zero', '5'), +(12, 'default', 'hangup', '#'); + +-- -------------------------------------------------------- -- -- Table structure for table `conference_profiles` -- -DROP TABLE IF EXISTS `conference_profiles`; -CREATE TABLE `conference_profiles` ( +CREATE TABLE IF NOT EXISTS `conference_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, `profile_name` varchar(64) NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), KEY `unique_profile_param` (`profile_name`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=8 ; -- -- Dumping data for table `conference_profiles` -- -LOCK TABLES `conference_profiles` WRITE; -/*!40000 ALTER TABLE `conference_profiles` DISABLE KEYS */; -INSERT INTO `conference_profiles` VALUES (1,'default','domain','$${domain}'),(2,'default','rate','8000'),(3,'default','interval','20'),(4,'default','energy-level','300'),(5,'default','moh-sound','$${moh_uri}'),(6,'default','caller-id-name','$${outbound_caller_name}'),(7,'default','caller-id-number','$${outbound_caller_number}'); -/*!40000 ALTER TABLE `conference_profiles` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `conference_profiles` (`id`, `profile_name`, `param_name`, `param_value`) VALUES +(1, 'default', 'domain', '$${domain}'), +(2, 'default', 'rate', '8000'), +(3, 'default', 'interval', '20'), +(4, 'default', 'energy-level', '300'), +(5, 'default', 'moh-sound', '$${moh_uri}'), +(6, 'default', 'caller-id-name', '$${outbound_caller_name}'), +(7, 'default', 'caller-id-number', '$${outbound_caller_number}'); + +-- -------------------------------------------------------- -- --- Table structure for table `db_data` +-- Table structure for table `dialplan` -- -DROP TABLE IF EXISTS `db_data`; -CREATE TABLE `db_data` ( - `hostname` varchar(255) default NULL, - `realm` varchar(255) default NULL, - `data_key` varchar(255) default NULL, - `data` varchar(255) default NULL -) ENGINE=InnoDB; +CREATE TABLE IF NOT EXISTS `dialplan` ( + `dialplan_id` int(11) NOT NULL auto_increment, + `domain` varchar(128) NOT NULL, + `ip_address` varchar(15) NOT NULL, + PRIMARY KEY (`dialplan_id`) +) TYPE=MyISAM AUTO_INCREMENT=2 ; -- --- Dumping data for table `db_data` +-- Dumping data for table `dialplan` -- -LOCK TABLES `db_data` WRITE; -/*!40000 ALTER TABLE `db_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `db_data` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `dialplan` (`dialplan_id`, `domain`, `ip_address`) VALUES +(1, 'freeswitch', '127.0.0.1'); + +-- -------------------------------------------------------- -- --- Table structure for table `dialplan` +-- Table structure for table `dialplan_actions` -- -DROP TABLE IF EXISTS `dialplan`; -CREATE TABLE `dialplan` ( - `id` int(11) NOT NULL auto_increment, +CREATE TABLE IF NOT EXISTS `dialplan_actions` ( + `action_id` int(11) NOT NULL auto_increment, + `condition_id` int(11) NOT NULL, + `application` varchar(256) NOT NULL, + `data` varchar(256) NOT NULL, + `type` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`action_id`) +) TYPE=MyISAM AUTO_INCREMENT=170 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + +INSERT INTO `dialplan_actions` (`action_id`, `condition_id`, `application`, `data`, `type`, `weight`) VALUES +(1, 2, 'deflect', '${destination_number}', 'action', 10), +(2, 5, 'set', 'domain_name=$${domain}', 'action', 20), +(3, 5, 'set', 'domain_name=${sip_auth_realm}', 'anti-action', 30), +(4, 7, 'set', 'domain_name=$${domain}', 'action', 40), +(5, 9, 'set', 'open=true', 'action', 50), +(6, 10, 'answer', '', 'action', 60), +(7, 10, 'intercept', '${db(select/${domain_name}-last_dial/global)}', 'action', 70), +(8, 10, 'sleep', '2000', 'action', 80), +(9, 11, 'answer', '', 'action', 90), +(10, 11, 'intercept', '${db(select/${domain_name}-last_dial/${callgroup})}', 'action', 100), +(11, 11, 'sleep', '2000', 'action', 110), +(12, 12, 'answer', '', 'action', 120), +(13, 12, 'intercept', '${db(select/${domain_name}-last_dial_ext/$1)}', 'action', 130), +(14, 12, 'sleep', '2000', 'action', 140), +(15, 13, 'transfer', '${db(select/${domain_name}-last_dial/${caller_id_number})}', 'action', 150), +(16, 14, 'set', 'use_profile=${cond(${acl($${local_ip_v4} rfc1918)} == true ? nat : default)}', 'action', 160), +(17, 14, 'set', 'use_profile=${cond(${acl(${network_addr} rfc1918)} == true ? nat : default)}', 'anti-action', 170), +(18, 15, 'set_user', 'default@${domain_name}', 'action', 180), +(19, 16, 'info', '', 'action', 190), +(20, 17, 'set', 'sip_secure_media=true', 'action', 200), +(21, 18, 'db', 'insert/${domain_name}-spymap/${caller_id_number}/${uuid}', 'action', 210), +(22, 18, 'db', 'insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}', 'action', 220), +(23, 18, 'db', 'insert/${domain_name}-last_dial/global/${uuid}', 'action', 230), +(24, 19, 'eval', '${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}', 'action', 240), +(25, 19, 'transfer', '3000', 'action', 250), +(26, 20, 'eval', '${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}', 'action', 260), +(27, 20, 'playback', '$${hold_music}', 'action', 270), +(28, 21, 'answer', '', 'action', 280), +(29, 21, 'eavesdrop', '${db(select/${domain_name}-spymap/$1)}', 'action', 290), +(30, 22, 'answer', '', 'action', 300), +(31, 22, 'set', 'eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)', 'action', 310), +(32, 22, 'set', 'eavesdrop_indicate_new=tone_stream://%(500, 0, 620)', 'action', 320), +(33, 22, 'set', 'eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)', 'action', 330), +(34, 22, 'eavesdrop', 'all', 'action', 340), +(35, 23, 'transfer', '${db(select/${domain_name}-call_return/${caller_id_number})}', 'action', 350), +(36, 24, 'answer', '', 'action', 360), +(37, 24, 'group', 'delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 370), +(38, 24, 'gentones', '%(1000, 0, 320)', 'action', 380), +(39, 25, 'answer', '', 'action', 390), +(40, 25, 'group', 'insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 400), +(41, 25, 'gentones', '%(1000, 0, 640)', 'action', 410), +(42, 26, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name})}', 'action', 420), +(43, 27, 'set', 'call_timeout=10', 'action', 430), +(44, 27, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name}:order)}', 'action', 440), +(45, 28, 'set', 'dialed_extension=$1', 'action', 450), +(46, 28, 'export', 'sip_auto_answer=true', 'action', 460), +(47, 28, 'bridge', 'user/${dialed_extension}@${domain_name}', 'action', 470), +(48, 29, 'set', 'dialed_extension=$1', 'action', 480), +(49, 29, 'export', 'dialed_extension=$1', 'action', 490), +(50, 30, 'set', 'voicemail_authorized=${sip_authorized}', 'action', 500), +(51, 30, 'answer', '', 'action', 510), +(52, 30, 'sleep', '1000', 'action', 520), +(53, 30, 'voicemail', 'check default ${domain_name} ${dialed_extension}', 'action', 530), +(54, 30, 'bind_meta_app', '1 b s execute_extension::dx XML features', 'anti-action', 540), +(55, 30, 'bind_meta_app', '2 b s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav', 'anti-action', 550), +(56, 30, 'bind_meta_app', '3 b s execute_extension::cf XML features', 'anti-action', 560), +(57, 30, 'set', 'ringback=${us-ring}', 'anti-action', 570), +(58, 30, 'set', 'transfer_ringback=$${hold_music}', 'anti-action', 580), +(59, 30, 'set', 'call_timeout=30', 'anti-action', 590), +(60, 30, 'set', 'hangup_after_bridge=true', 'anti-action', 600), +(61, 30, 'set', 'continue_on_fail=true', 'anti-action', 610), +(62, 30, 'db', 'insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}', 'anti-action', 620), +(63, 30, 'db', 'insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}', 'anti-action', 630), +(64, 30, 'set', 'called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}', 'anti-action', 640), +(65, 30, 'db', 'insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}', 'anti-action', 650), +(66, 30, 'bridge', 'user/${dialed_extension}@${domain_name}', 'anti-action', 660), +(67, 30, 'answer', '', 'anti-action', 670), +(68, 30, 'sleep', '1000', 'anti-action', 680), +(69, 30, 'voicemail', 'default ${domain_name} ${dialed_extension}', 'anti-action', 690), +(70, 31, 'bridge', '${group_call(sales@${domain_name})}', 'action', 700), +(71, 32, 'bridge', 'group/support@${domain_name}', 'action', 710), +(72, 33, 'bridge', 'group/billing@${domain_name}', 'action', 720), +(73, 34, 'set', 'transfer_ringback=$${hold_music}', 'action', 730), +(74, 34, 'transfer', '1000 XML features', 'action', 740), +(75, 35, 'answer', '', 'action', 750), +(76, 35, 'sleep', '1000', 'action', 760), +(77, 35, 'voicemail', 'check default ${domain_name}', 'action', 770), +(78, 36, 'bridge', 'sofia/${use_profile}/$1', 'action', 780), +(79, 37, 'answer', '', 'action', 790), +(80, 37, 'conference', '$1-${domain_name}@default', 'action', 800), +(81, 38, 'answer', '', 'action', 810), +(82, 38, 'conference', '$1-${domain_name}@wideband', 'action', 820), +(83, 39, 'answer', '', 'action', 830), +(84, 39, 'conference', '$1-${domain_name}@ultrawideband', 'action', 840), +(85, 40, 'answer', '', 'action', 850), +(86, 40, 'conference', '$1-${domain_name}@cdquality', 'action', 860), +(87, 41, 'bridge', 'sofia/${use_profile}/$1 at conference.freeswitch.org', 'action', 870), +(88, 42, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss1', 'action', 880), +(89, 42, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 890), +(90, 42, 'set', 'conference_auto_outcall_timeout=60', 'action', 900), +(91, 42, 'set', 'conference_auto_outcall_flags=mute', 'action', 910), +(92, 42, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 920), +(93, 42, 'set', 'sip_exclude_contact=${network_addr}', 'action', 930), +(94, 42, 'conference_set_auto_outcall', '${group_call(sales)}', 'action', 940), +(95, 42, 'conference', 'madboss_intercom1 at default+flags{endconf|deaf}', 'action', 950), +(96, 43, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss2', 'action', 960), +(97, 43, 'set', 'conference_auto_outcall_caller_id_number=0912', 'action', 970), +(98, 43, 'set', 'conference_auto_outcall_timeout=60', 'action', 980), +(99, 43, 'set', 'conference_auto_outcall_flags=mute', 'action', 990), +(100, 43, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 1000), +(101, 43, 'set', 'sip_exclude_contact=${network_addr}', 'action', 1010), +(102, 43, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1020), +(103, 43, 'conference', 'madboss_intercom2 at default+flags{endconf|deaf}', 'action', 1030), +(104, 44, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss', 'action', 1040), +(105, 44, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 1050), +(106, 44, 'set', 'conference_auto_outcall_timeout=60', 'action', 1060), +(107, 44, 'set', 'conference_auto_outcall_flags=none', 'action', 1070), +(108, 44, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1080), +(109, 44, 'conference', 'madboss3 at default', 'action', 1090), +(110, 45, 'answer', '', 'action', 1100), +(111, 45, 'sleep', '2000', 'action', 1110), +(112, 45, 'ivr', 'demo_ivr', 'action', 1120), +(113, 46, 'conference', 'bridge:mydynaconf:sofia/${use_profile}/1234 at conference.freeswitch.org', 'action', 1130), +(114, 47, 'answer', '', 'action', 1140), +(115, 47, 'esf_page_group', '', 'action', 1150), +(116, 48, 'set', 'fifo_music=$${hold_music}', 'action', 1160), +(117, 48, 'fifo', '5900@${domain_name} in', 'action', 1170), +(118, 49, 'answer', '', 'action', 1180), +(119, 49, 'fifo', '5900@${domain_name} out nowait', 'action', 1190), +(120, 51, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1200), +(121, 54, 'answer', '', 'action', 1210), +(122, 54, 'fifo', '$1@${domain_name} out nowait', 'action', 1220), +(123, 57, '', '', 'expression', 1230), +(124, 57, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1240), +(125, 60, 'answer', '', 'action', 1250), +(126, 60, 'fifo', '$1@${domain_name} out nowait', 'action', 1260), +(127, 61, 'pre_answer', '', 'action', 1270), +(128, 61, 'sleep', '20000', 'action', 1280), +(129, 61, 'answer', '', 'action', 1290), +(130, 61, 'sleep', '1000', 'action', 1300), +(131, 61, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1310), +(132, 61, 'hangup', '', 'action', 1320), +(133, 62, 'ring_ready', '', 'action', 1330), +(134, 62, 'sleep', '20000', 'action', 1340), +(135, 62, 'answer', '', 'action', 1350), +(136, 62, 'sleep', '1000', 'action', 1360), +(137, 62, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1370), +(138, 62, 'hangup', '', 'action', 1380), +(139, 63, 'set', 'ringback=$${uk-ring}', 'action', 1390), +(140, 63, 'bridge', 'loopback/wait', 'action', 1400), +(141, 64, 'set', 'ringback=$${hold_music}', 'action', 1410), +(142, 64, 'bridge', 'loopback/wait', 'action', 1420), +(143, 65, 'set', 'transfer_ringback=$${uk-ring}', 'action', 1430), +(144, 65, 'answer', '', 'action', 1440), +(145, 65, 'bridge', 'loopback/wait', 'action', 1450), +(146, 66, 'set', 'transfer_ringback=$${hold_music}', 'action', 1460), +(147, 66, 'answer', '', 'action', 1470), +(148, 66, 'bridge', 'loopback/wait', 'action', 1480), +(149, 67, 'answer', '', 'action', 1490), +(150, 67, 'info', '', 'action', 1500), +(151, 67, 'sleep', '250', 'action', 1510), +(152, 67, 'hangup', '', 'action', 1520), +(153, 68, 'answer', '', 'action', 1530), +(154, 68, 'record_fsv', '/tmp/testrecord.fsv', 'action', 1540), +(155, 69, 'answer', '', 'action', 1550), +(156, 69, 'play_fsv', '/tmp/testrecord.fsv', 'action', 1560), +(157, 70, 'answer', '', 'action', 1570), +(158, 70, 'delay_echo', '5000', 'action', 1580), +(159, 71, 'answer', '', 'action', 1590), +(160, 71, 'echo', '', 'action', 1600), +(161, 72, 'answer', '', 'action', 1610), +(162, 72, 'playback', 'tone_stream://%(10000,0,1004);loops=-1', 'action', 1620), +(163, 73, 'answer', '', 'action', 1630), +(164, 73, 'playback', 'tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10', 'action', 1640), +(165, 75, 'answer', '', 'action', 1650), +(166, 75, 'execute_extension', 'is_secure XML features', 'action', 1660), +(167, 75, 'playback', '$${hold_music}', 'action', 1670), +(168, 75, 'answer', '', 'anti-action', 1680), +(169, 75, 'playback', '$${hold_music}', 'anti-action', 1690); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_condition` ( + `condition_id` int(11) NOT NULL auto_increment, + `extension_id` int(11) NOT NULL, + `field` varchar(1238) NOT NULL, + `expression` varchar(128) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`condition_id`) +) TYPE=MyISAM AUTO_INCREMENT=76 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + +INSERT INTO `dialplan_condition` (`condition_id`, `extension_id`, `field`, `expression`, `weight`) VALUES +(1, 1, '$${unroll_loops}', '^true$', 10), +(2, 1, '${sip_looped_call}', '^true$', 20), +(3, 2, '${domain_name}', '^$', 30), +(4, 2, 'source', 'mod_sofia', 40), +(5, 2, '${sip_auth_realm}', '^$', 50), +(6, 3, '${domain_name}', '^$', 60), +(7, 3, 'source', 'mod_openzap', 70), +(8, 4, '${strftime(%w)}', '^([1-5])$', 80), +(9, 4, '${strftime(%H%M)}', '^((09|1[0-7])[0-5][0-9]|1800)$', 90), +(10, 5, 'destination_number', '^886$', 100), +(11, 6, 'destination_number', '^\\*8$', 110), +(12, 7, 'destination_number', '^\\*\\*(\\d+)$', 120), +(13, 8, 'destination_number', '^870$', 130), +(14, 9, '${network_addr}', '^$', 140), +(15, 9, '${numbering_plan}', '^$', 150), +(16, 9, '${call_debug}', '^true$', 160), +(17, 9, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 170), +(18, 9, '', '', 180), +(19, 10, 'destination_number', '^9001$', 190), +(20, 11, 'destination_number', '^9000$', 200), +(21, 12, 'destination_number', '^88(.*)$|^\\*0(.*)$', 210), +(22, 13, 'destination_number', '^779$', 220), +(23, 14, 'destination_number', '^\\*69$|^869$|^lcr$', 230), +(24, 15, 'destination_number', '^80(\\d{2})$', 240), +(25, 16, 'destination_number', '^81(\\d{2})$', 250), +(26, 17, 'destination_number', '^82(\\d{2})$', 260), +(27, 18, 'destination_number', '^83(\\d{2})$', 270), +(28, 19, 'destination_number', '^8(10[01][0-9])$', 280), +(29, 20, 'destination_number', '^(20[01][0-9])$', 290), +(30, 20, 'destination_number', '^${caller_id_number}$', 300), +(31, 21, 'destination_number', '^3000$', 310), +(32, 22, 'destination_number', '^3001$', 320), +(33, 23, 'destination_number', '^3002$', 330), +(34, 24, 'destination_number', '^operator$|^0$', 340), +(35, 25, 'destination_number', '^vmain|4000$', 350), +(36, 26, 'destination_number', '^sip:(.*)$', 360), +(37, 27, 'destination_number', '^(30\\d{2})$', 370), +(38, 28, 'destination_number', '^(31\\d{2})$', 380), +(39, 29, 'destination_number', '^(32\\d{2})$', 390), +(40, 30, 'destination_number', '^(33\\d{2})$', 400), +(41, 31, 'destination_number', '^9(888|1616|3232)$', 410), +(42, 32, 'destination_number', '^0911$', 420), +(43, 33, 'destination_number', '^0912$', 430), +(44, 34, 'destination_number', '^0913$', 440), +(45, 35, 'destination_number', '^5000$', 450), +(46, 36, 'destination_number', '^5001$', 460), +(47, 37, 'destination_number', '^pagegroup$|^7243', 470), +(48, 38, 'destination_number', '^5900$', 480), +(49, 39, 'destination_number', '^5901$', 490), +(50, 40, 'source', 'mod_sofia', 500), +(51, 40, 'destination_number', 'park\\+(\\d+)', 510), +(52, 41, 'source', 'mod_sofia', 520), +(53, 41, 'destination_number', '^parking$', 530), +(54, 41, '${sip_to_params}', 'fifo\\=(\\d+)', 540), +(55, 42, 'source', 'mod_sofia', 550), +(56, 42, 'destination_number', 'callpark', 560), +(57, 42, '${sip_refer_to}', '', 570), +(58, 43, 'source', 'mod_sofia', 580), +(59, 43, 'destination_number', 'pickup', 590), +(60, 43, '${sip_to_params}', 'orbit\\=(\\d+)', 600), +(61, 44, 'destination_number', '^wait$', 610), +(62, 45, 'destination_number', '^9980$', 620), +(63, 46, 'destination_number', '^9981$', 630), +(64, 47, 'destination_number', '^9982$', 640), +(65, 48, 'destination_number', '^9983$', 650), +(66, 49, 'destination_number', '^9984$', 660), +(67, 50, 'destination_number', '^9992$', 670), +(68, 51, 'destination_number', '^9993$', 680), +(69, 52, 'destination_number', '^9994$', 690), +(70, 53, 'destination_number', '^9995$', 700), +(71, 54, 'destination_number', '^9996$', 710), +(72, 55, 'destination_number', '^9997$', 720), +(73, 56, 'destination_number', '^9998$', 730), +(74, 57, 'destination_number', '^9999$', 740), +(75, 57, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 750); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_context` ( + `context_id` int(11) NOT NULL auto_increment, + `dialplan_id` int(11) NOT NULL, `context` varchar(64) NOT NULL, - `extension` varchar(64) NOT NULL, - `condition_field` varchar(64) NOT NULL, - `condition_expression` varchar(64) NOT NULL, - `application_name` varchar(64) NOT NULL, - `application_data` text, `weight` int(11) NOT NULL, - `type` varchar(16) NOT NULL default 'action', - `ext_continue` smallint(1) NOT NULL default '0', - `global_weight` int(11) NOT NULL default '10000', - `cond_break` varchar(8) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; + PRIMARY KEY (`context_id`) +) TYPE=InnoDB AUTO_INCREMENT=3 ; -- --- Dumping data for table `dialplan` +-- Dumping data for table `dialplan_context` +-- + +INSERT INTO `dialplan_context` (`context_id`, `dialplan_id`, `context`, `weight`) VALUES +(1, 1, 'default', 10), +(2, 1, 'public', 20); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` -- -LOCK TABLES `dialplan` WRITE; -/*!40000 ALTER TABLE `dialplan` DISABLE KEYS */; -INSERT INTO `dialplan` VALUES (113,'public','public_extensions','destination_number','^(10[01][0-9])$','transfer','$1 XML default',1,'action',0,200,''),(114,'public','public_did','destination_number','^(5551212)$','transfer','$1 XML default',1,'action',0,300,''),(271,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','continue_on_fail=true',1,'action',0,200,''),(272,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','hangup_after_bridge=true',2,'action',0,200,''),(273,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','enum','1$1',3,'action',0,200,''),(274,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','${enum_auto_route}',4,'action',0,200,''),(275,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','sofia/gateway/${default_gateway}/011$1',5,'action',0,200,''),(276,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','continue_on_fail=true',1,'action',0,300,''),(277,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action',0,300,''),(278,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','enum','1$1',3,'action',0,300,''),(279,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action',0,300,''),(280,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1$1',5,'action',0,300,''),(281,'US-Numbering-Plan','US_Local','${default_area_code}','\\d{3}','say','you must dial the area code to call this destination',1,'anti-action',0,400,'on-true'),(282,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','continue_on_fail=true',1,'action',0,400,''),(283,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action',0,400,''),(284,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','enum','1$1',3,'action',0,400,''),(285,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action',0,400,''),(286,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1${default_area_code}$1',5,'action',0,400,''),(287,'US-Numbering-Plan','FCC_Services','^([4689]11)$','','bridge','sofia/gateway/${default_gateway}/$1',1,'action',0,500,''),(333,'default','intercept','destination_number','^886$','answer','',1,'action',0,200,''),(334,'default','intercept','destination_number','^886$','intercept','${db(select/last_dial/global)}',2,'action',0,200,''),(335,'default','intercept','destination_number','^886$','sleep','2000',3,'action',0,200,''),(336,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','answer','',1,'action',0,300,''),(337,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','intercept','${db(select/last_dial_ext/$1)}',2,'action',0,300,''),(338,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','sleep','2000',3,'action',0,300,''),(339,'default','redial','destination_number','^870$','transfer','${db(select/last_dial/${caller_id_number})}',1,'action',0,400,''),(340,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr($${local_ip_v4})} == yes ? nat : default)}',1,'action',1,500,''),(341,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr(${network_addr})} == yes ? nat : default)}',2,'anti-action',1,500,''),(342,'default','global','${numbering_plan}','','set_user','default@${domain}',1,'action',1,500,''),(343,'default','global','','','info','',1,'action',1,500,''),(344,'default','global','','','db','insert/spymap/${caller_id_number}/${uuid}',2,'action',1,500,''),(345,'default','global','','','db','insert/last_dial/${caller_id_number}/${destination_number}',3,'action',1,500,''),(346,'default','global','','','db','insert/last_dial/global/${uuid}',4,'action',1,500,''),(347,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','answer','',1,'action',0,600,''),(348,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','eavesdrop','${db(select/spymap/$1)}',2,'action',0,600,''),(349,'default','call_return','destination_number','^\\*69$|^869$','transfer','${db(select/call_return/${caller_id_number})}',1,'action',0,700,''),(350,'default','del-group','destination_number','^80(\\d{2})$','answer','',1,'action',0,800,''),(351,'default','del-group','destination_number','^80(\\d{2})$','group','delete:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action',0,800,''),(352,'default','del-group','destination_number','^80(\\d{2})$','gentones','%(1000, 0, 320)',3,'action',0,800,''),(353,'default','add-group','destination_number','^81(\\d{2})$','answer','',1,'action',0,900,''),(354,'default','add-group','destination_number','^81(\\d{2})$','group','insert:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action',0,900,''),(355,'default','add-group','destination_number','^81(\\d{2})$','gentones','%(1000, 0, 640)',3,'action',0,900,''),(356,'default','call-group-simo','destination_number','^82(\\d{2})$','bridge','${group(call:$1)}',1,'action',0,1000,''),(357,'default','call-group-order','destination_number','^83(\\d{2})$','set','call_timeout=10',1,'action',0,1100,''),(358,'default','call-group-order','destination_number','^83(\\d{2})$','bridge','${group(call:$1:order)}',2,'action',0,1100,''),(359,'default','Local_Extension','destination_number','^(10[01][0-9])$','set','dialed_ext=$1',1,'action',0,1200,'on-true'),(360,'default','Local_Extension','destination_number','^${caller_id_number}$','set','voicemail_authorized=${sip_authorized}',1,'action',0,1200,''),(361,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',2,'action',0,1200,''),(362,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',3,'action',0,1200,''),(363,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','check default $${domain} ${dialed_ext}',4,'action',0,1200,''),(364,'default','Local_Extension','destination_number','^${caller_id_number}$','ring_ready','',5,'anti-action',0,1200,''),(365,'default','Local_Extension','destination_number','^${caller_id_number}$','set','call_timeout=130',6,'anti-action',0,1200,''),(366,'default','Local_Extension','destination_number','^${caller_id_number}$','set','hangup_after_bridge=true',7,'anti-action',0,1200,''),(367,'default','Local_Extension','destination_number','^${caller_id_number}$','set','left_hanging_extension=5900',8,'anti-action',0,1200,''),(368,'default','Local_Extension','destination_number','^${caller_id_number}$','set','continue_on_fail=true',9,'anti-action',0,1200,''),(369,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/call_return/${dialed_ext}/${caller_id_number}',10,'anti-action',0,1200,''),(370,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/last_dial_ext/${dialed_ext}/${uuid}',11,'anti-action',0,1200,''),(371,'default','Local_Extension','destination_number','^${caller_id_number}$','bridge','{left_hanging_extension=5900,transfer_fallback_extension=${dialed_ext}}USER/${dialed_ext}@$${domain}',12,'anti-action',0,1200,''),(372,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',13,'anti-action',0,1200,''),(373,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',14,'anti-action',0,1200,''),(374,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','default $${domain} ${dialed_ext}',15,'anti-action',0,1200,''),(375,'default','sip_uri','destination_number','^sip:(.*)$','bridge','sofia/${use_profile}/$1',1,'action',0,1300,''),(376,'default','conferences','destination_number','^(3\\d{3})$','conference','$1 at default',1,'action',0,1400,''),(377,'default','freeswitch_public_conf_via_sip','destination_number','^9(888|1616)$','bridge','sofia/${use_profile}/$1 at conference.freeswitch.org',1,'action',0,1500,''),(378,'default','ivr_demo','destination_number','5000','ivr','demo',1,'action',0,1600,''),(379,'default','park','destination_number','^(590[0-9])$','fifo','$1@$${domain} in undef $${moh_uri}',1,'action',0,1700,''),(380,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','answer','',1,'action',0,1800,''),(381,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','fifo','$1@$${domain} out nowait',2,'action',0,1800,''),(382,'default','hold_music','destination_number','^9999$','answer','',1,'action',0,1900,''),(383,'default','hold_music','destination_number','^9999$','playback','$${moh_uri}',2,'action',0,1900,''),(384,'default','enum','destination_number','^(.*)$','transfer','$1 enum',1,'action',0,2000,''); -/*!40000 ALTER TABLE `dialplan` ENABLE KEYS */; -UNLOCK TABLES; +CREATE TABLE IF NOT EXISTS `dialplan_extension` ( + `extension_id` int(11) NOT NULL auto_increment, + `context_id` int(11) NOT NULL, + `name` varchar(128) NOT NULL, + `continue` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`extension_id`) +) TYPE=InnoDB AUTO_INCREMENT=58 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + +INSERT INTO `dialplan_extension` (`extension_id`, `context_id`, `name`, `continue`, `weight`) VALUES +(1, 1, 'unloop', '', 10), +(2, 1, 'set_domain', 'true', 20), +(3, 1, 'set_domain_openzap', 'true', 30), +(4, 1, 'tod_example', 'true', 40), +(5, 1, 'global-intercept', '', 50), +(6, 1, 'group-intercept', '', 60), +(7, 1, 'intercept-ext', '', 70), +(8, 1, 'redial', '', 80), +(9, 1, 'global', 'true', 90), +(10, 1, 'snom-demo-2', '', 100), +(11, 1, 'snom-demo-1', '', 110), +(12, 1, 'eavesdrop', '', 120), +(13, 1, 'eavesdrop', '', 130), +(14, 1, 'call_return', '', 140), +(15, 1, 'del-group', '', 150), +(16, 1, 'add-group', '', 160), +(17, 1, 'call-group-simo', '', 170), +(18, 1, 'call-group-order', '', 180), +(19, 1, 'extension-intercom', '', 190), +(20, 1, 'Local_Extension', '', 200), +(21, 1, 'group_dial_sales', '', 210), +(22, 1, 'group_dial_support', '', 220), +(23, 1, 'group_dial_billing', '', 230), +(24, 1, 'operator', '', 240), +(25, 1, 'vmain', '', 250), +(26, 1, 'sip_uri', '', 260), +(27, 1, 'nb_conferences', '', 270), +(28, 1, 'wb_conferences', '', 280), +(29, 1, 'uwb_conferences', '', 290), +(30, 1, 'cdquality_conferences', '', 300), +(31, 1, 'freeswitch_public_conf_via_sip', '', 310), +(32, 1, 'mad_boss_intercom', '', 320), +(33, 1, 'mad_boss_intercom', '', 330), +(34, 1, 'mad_boss', '', 340), +(35, 1, 'ivr_demo', '', 350), +(36, 1, 'dyanmic conference', '', 360), +(37, 1, 'rtp_multicast_page', '', 370), +(38, 1, 'park', '', 380), +(39, 1, 'unpark', '', 390), +(40, 1, 'park', '', 400), +(41, 1, 'unpark', '', 410), +(42, 1, 'park', '', 420), +(43, 1, 'unpark', '', 430), +(44, 1, 'wait', '', 440), +(45, 1, 'ringback_180', '', 450), +(46, 1, 'ringback_183_uk_ring', '', 460), +(47, 1, 'ringback_183_music_ring', '', 470), +(48, 1, 'ringback_post_answer_uk_ring', '', 480), +(49, 1, 'ringback_post_answer_music', '', 490), +(50, 1, 'show_info', '', 500), +(51, 1, 'video_record', '', 510), +(52, 1, 'video_playback', '', 520), +(53, 1, 'delay_echo', '', 530), +(54, 1, 'echo', '', 540), +(55, 1, 'milliwatt', '', 550), +(56, 2, 'tone_stream', '', 560), +(57, 2, 'hold_music', '', 570); + +-- -------------------------------------------------------- -- -- Table structure for table `dialplan_special` -- -DROP TABLE IF EXISTS `dialplan_special`; -CREATE TABLE `dialplan_special` ( +CREATE TABLE IF NOT EXISTS `dialplan_special` ( `id` int(11) NOT NULL auto_increment, `context` varchar(255) NOT NULL, `class_file` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_context` (`context`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- -- Dumping data for table `dialplan_special` -- -LOCK TABLES `dialplan_special` WRITE; -/*!40000 ALTER TABLE `dialplan_special` DISABLE KEYS */; -INSERT INTO `dialplan_special` VALUES (1,'lcr','dialplans/lcr.php'),(2,'lcr2','some/php/file.php'); -/*!40000 ALTER TABLE `dialplan_special` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- --- Table structure for table `dingaling_profile_params` +-- Table structure for table `dingaling_profiles` -- -DROP TABLE IF EXISTS `dingaling_profile_params`; -CREATE TABLE `dingaling_profile_params` ( +CREATE TABLE IF NOT EXISTS `dingaling_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, - `dingaling_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, + `profile_name` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`), - CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_name` (`profile_name`) +) TYPE=InnoDB AUTO_INCREMENT=2 ; -- --- Dumping data for table `dingaling_profile_params` +-- Dumping data for table `dingaling_profiles` -- -LOCK TABLES `dingaling_profile_params` WRITE; -/*!40000 ALTER TABLE `dingaling_profile_params` DISABLE KEYS */; -INSERT INTO `dingaling_profile_params` VALUES (1,1,'password','secret'),(2,1,'dialplan','XML,enum'),(3,1,'server','example.org'),(4,1,'name','fs.example.org'); -/*!40000 ALTER TABLE `dingaling_profile_params` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `dingaling_profiles` (`id`, `profile_name`, `type`) VALUES +(1, 'fs.intralanman.servehttp.com', 'component'); + +-- -------------------------------------------------------- -- --- Table structure for table `dingaling_profiles` +-- Table structure for table `dingaling_profile_params` -- -DROP TABLE IF EXISTS `dingaling_profiles`; -CREATE TABLE `dingaling_profiles` ( +CREATE TABLE IF NOT EXISTS `dingaling_profile_params` ( `id` int(10) unsigned NOT NULL auto_increment, - `profile_name` varchar(64) NOT NULL, - `type` varchar(64) NOT NULL, + `dingaling_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_name` (`profile_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`) +) TYPE=InnoDB AUTO_INCREMENT=5 ; -- --- Dumping data for table `dingaling_profiles` +-- Dumping data for table `dingaling_profile_params` -- -LOCK TABLES `dingaling_profiles` WRITE; -/*!40000 ALTER TABLE `dingaling_profiles` DISABLE KEYS */; -INSERT INTO `dingaling_profiles` VALUES (1,'fs.intralanman.servehttp.com','component'); -/*!40000 ALTER TABLE `dingaling_profiles` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `dingaling_profile_params` (`id`, `dingaling_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', 'secret'), +(2, 1, 'dialplan', 'XML,enum'), +(3, 1, 'server', 'example.org'), +(4, 1, 'name', 'fs.example.org'); + +-- -------------------------------------------------------- -- -- Table structure for table `dingaling_settings` -- -DROP TABLE IF EXISTS `dingaling_settings`; -CREATE TABLE `dingaling_settings` ( +CREATE TABLE IF NOT EXISTS `dingaling_settings` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_param` (`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=3 ; -- -- Dumping data for table `dingaling_settings` -- -LOCK TABLES `dingaling_settings` WRITE; -/*!40000 ALTER TABLE `dingaling_settings` DISABLE KEYS */; -INSERT INTO `dingaling_settings` VALUES (1,'debug','0'),(2,'codec-prefs','$${global_codec_prefs}'); -/*!40000 ALTER TABLE `dingaling_settings` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `dingaling_settings` (`id`, `param_name`, `param_value`) VALUES +(1, 'debug', '0'), +(2, 'codec-prefs', '$${global_codec_prefs}'); + +-- -------------------------------------------------------- -- -- Table structure for table `directory` -- -DROP TABLE IF EXISTS `directory`; -CREATE TABLE `directory` ( +CREATE TABLE IF NOT EXISTS `directory` ( `id` int(11) NOT NULL auto_increment, `username` varchar(255) NOT NULL, - `mailbox` varchar(255) NOT NULL, `domain` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=12 ; -- -- Dumping data for table `directory` -- -LOCK TABLES `directory` WRITE; -/*!40000 ALTER TABLE `directory` DISABLE KEYS */; -INSERT INTO `directory` VALUES (1,'1000','','example.com'),(2,'1001','','example.org'),(3,'1002','','example.net'),(5,'1003','','example.info'),(6,'1004','','example.com'),(7,'1005','','example.org'),(8,'1006','','example.net'),(9,'1007','','example.info'),(10,'1008','','$${domain}'),(11,'1009','','$${local_ip_v4}'),(12,'tester','1000','$${domain}'); -/*!40000 ALTER TABLE `directory` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `directory` (`id`, `username`, `domain`) VALUES +(1, '1000', 'example.com'), +(2, '1001', 'example.org'), +(3, '1002', 'example.net'), +(5, '1003', 'example.info'), +(6, '1004', 'example.com'), +(7, '1005', 'example.org'), +(8, '1006', 'example.net'), +(9, '1007', 'example.info'), +(10, '2000', 'default'), +(11, '1009', '$${local_ip_v4}'); + +-- -------------------------------------------------------- -- -- Table structure for table `directory_domains` -- -DROP TABLE IF EXISTS `directory_domains`; -CREATE TABLE `directory_domains` ( +CREATE TABLE IF NOT EXISTS `directory_domains` ( `id` int(10) unsigned NOT NULL auto_increment, `domain_name` varchar(128) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=3 ; -- -- Dumping data for table `directory_domains` -- -LOCK TABLES `directory_domains` WRITE; -/*!40000 ALTER TABLE `directory_domains` DISABLE KEYS */; -INSERT INTO `directory_domains` VALUES (1,'freeswitch.org'),(2,'sofaswitch.org'); -/*!40000 ALTER TABLE `directory_domains` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `directory_domains` (`id`, `domain_name`) VALUES +(1, 'freeswitch.org'), +(2, 'sofaswitch.org'); + +-- -------------------------------------------------------- -- --- Table structure for table `directory_gateway_params` +-- Table structure for table `directory_gateways` -- -DROP TABLE IF EXISTS `directory_gateway_params`; -CREATE TABLE `directory_gateway_params` ( +CREATE TABLE IF NOT EXISTS `directory_gateways` ( `id` int(10) unsigned NOT NULL auto_increment, - `d_gw_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + `directory_id` int(10) unsigned NOT NULL, + `gateway_name` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Dumping data for table `directory_gateway_params` +-- Dumping data for table `directory_gateways` -- -LOCK TABLES `directory_gateway_params` WRITE; -/*!40000 ALTER TABLE `directory_gateway_params` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_gateway_params` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- --- Table structure for table `directory_gateways` +-- Table structure for table `directory_gateway_params` -- -DROP TABLE IF EXISTS `directory_gateways`; -CREATE TABLE `directory_gateways` ( +CREATE TABLE IF NOT EXISTS `directory_gateway_params` ( `id` int(10) unsigned NOT NULL auto_increment, - `directory_id` int(10) unsigned NOT NULL, - `gateway_name` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + `d_gw_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Dumping data for table `directory_gateways` +-- Dumping data for table `directory_gateway_params` -- -LOCK TABLES `directory_gateways` WRITE; -/*!40000 ALTER TABLE `directory_gateways` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_gateways` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_params` -- -DROP TABLE IF EXISTS `directory_global_params`; -CREATE TABLE `directory_global_params` ( +CREATE TABLE IF NOT EXISTS `directory_global_params` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=2 ; -- -- Dumping data for table `directory_global_params` -- -LOCK TABLES `directory_global_params` WRITE; -/*!40000 ALTER TABLE `directory_global_params` DISABLE KEYS */; -INSERT INTO `directory_global_params` VALUES (1,'default_gateway','errors',1); -/*!40000 ALTER TABLE `directory_global_params` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `directory_global_params` (`id`, `param_name`, `param_value`, `domain_id`) VALUES +(1, 'default_gateway', 'errors', 1); + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_vars` -- -DROP TABLE IF EXISTS `directory_global_vars`; -CREATE TABLE `directory_global_vars` ( +CREATE TABLE IF NOT EXISTS `directory_global_vars` ( `id` int(10) unsigned NOT NULL auto_increment, `var_name` varchar(64) NOT NULL, `var_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- -- Dumping data for table `directory_global_vars` -- -LOCK TABLES `directory_global_vars` WRITE; -/*!40000 ALTER TABLE `directory_global_vars` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_global_vars` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `directory_params` -- -DROP TABLE IF EXISTS `directory_params`; -CREATE TABLE `directory_params` ( +CREATE TABLE IF NOT EXISTS `directory_params` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=InnoDB AUTO_INCREMENT=23 ; -- -- Dumping data for table `directory_params` -- -LOCK TABLES `directory_params` WRITE; -/*!40000 ALTER TABLE `directory_params` DISABLE KEYS */; -INSERT INTO `directory_params` VALUES (1,1,'password','1234'),(2,1,'vm-password','861000'),(3,2,'password','1234'),(4,2,'vm-password','861001'),(7,5,'password','1234'),(8,6,'password','1234'),(9,7,'password','1234'),(10,8,'password','1234'),(11,9,'password','1234'),(12,10,'password','1234'),(13,11,'password','1234'),(14,3,'vm-password','861002'),(15,3,'password','1234'),(16,11,'vm-password','861009'),(17,10,'vm-password','861008'),(18,9,'vm-password','861007'),(19,8,'vm-password','861006'),(20,7,'vm-password','861005'),(21,6,'vm-password','861004'),(22,5,'vm-password','861003'); -/*!40000 ALTER TABLE `directory_params` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `directory_params` (`id`, `directory_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', '1234'), +(2, 1, 'vm-password', '861000'), +(3, 2, 'password', '1234'), +(4, 2, 'vm-password', '861001'), +(7, 5, 'password', '1234'), +(8, 6, 'password', '1234'), +(9, 7, 'password', '1234'), +(10, 8, 'password', '123456'), +(11, 9, 'password', '1234'), +(12, 10, 'password', '123456'), +(13, 11, 'password', '1234'), +(14, 3, 'vm-password', '861002'), +(15, 3, 'password', '1234'), +(16, 11, 'vm-password', '861009'), +(17, 10, 'vm-password', '1234'), +(18, 9, 'vm-password', '861007'), +(19, 8, 'vm-password', '861006'), +(20, 7, 'vm-password', '861005'), +(21, 6, 'vm-password', '861004'), +(22, 5, 'vm-password', '861003'); + +-- -------------------------------------------------------- -- -- Table structure for table `directory_vars` -- -DROP TABLE IF EXISTS `directory_vars`; -CREATE TABLE `directory_vars` ( +CREATE TABLE IF NOT EXISTS `directory_vars` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `var_name` varchar(255) default NULL, `var_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=6 ; -- -- Dumping data for table `directory_vars` -- -LOCK TABLES `directory_vars` WRITE; -/*!40000 ALTER TABLE `directory_vars` DISABLE KEYS */; -INSERT INTO `directory_vars` VALUES (1,1,'numbering_plan','US'),(2,2,'numbering_plan','US'),(3,3,'numbering_plan','AU'),(4,5,'numbering_plan','US'),(5,5,'area_code','434'); -/*!40000 ALTER TABLE `directory_vars` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `group_data` --- - -DROP TABLE IF EXISTS `group_data`; -CREATE TABLE `group_data` ( - `hostname` varchar(255) default NULL, - `groupname` varchar(255) default NULL, - `url` varchar(255) default NULL -) ENGINE=InnoDB; - --- --- Dumping data for table `group_data` --- +INSERT INTO `directory_vars` (`id`, `directory_id`, `var_name`, `var_value`) VALUES +(1, 1, 'numbering_plan', 'US'), +(2, 2, 'numbering_plan', 'US'), +(3, 3, 'numbering_plan', 'AU'), +(4, 5, 'numbering_plan', 'US'), +(5, 5, 'area_code', '434'); -LOCK TABLES `group_data` WRITE; -/*!40000 ALTER TABLE `group_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `group_data` ENABLE KEYS */; -UNLOCK TABLES; +-- -------------------------------------------------------- -- -- Table structure for table `iax_conf` -- -DROP TABLE IF EXISTS `iax_conf`; -CREATE TABLE `iax_conf` ( +CREATE TABLE IF NOT EXISTS `iax_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- -- Dumping data for table `iax_conf` -- -LOCK TABLES `iax_conf` WRITE; -/*!40000 ALTER TABLE `iax_conf` DISABLE KEYS */; -INSERT INTO `iax_conf` VALUES (3,'test_profile'); -/*!40000 ALTER TABLE `iax_conf` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `iax_conf` (`id`, `profile_name`) VALUES +(3, 'test_profile'); + +-- -------------------------------------------------------- -- -- Table structure for table `iax_settings` -- -DROP TABLE IF EXISTS `iax_settings`; -CREATE TABLE `iax_settings` ( +CREATE TABLE IF NOT EXISTS `iax_settings` ( `id` int(11) NOT NULL auto_increment, `iax_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=43 ; -- -- Dumping data for table `iax_settings` -- -LOCK TABLES `iax_settings` WRITE; -/*!40000 ALTER TABLE `iax_settings` DISABLE KEYS */; -INSERT INTO `iax_settings` VALUES (35,3,'debug','1'),(36,3,'ip','$${local_ip_v4}'),(37,3,'port','4569'),(38,3,'context','public'),(39,3,'dialplan','enum,XML'),(40,3,'codec-prefs','$${global_codec_prefs}'),(41,3,'codec-master','us'),(42,3,'codec-rate','8'); -/*!40000 ALTER TABLE `iax_settings` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `iax_settings` (`id`, `iax_id`, `param_name`, `param_value`) VALUES +(35, 3, 'debug', '1'), +(36, 3, 'ip', '$${local_ip_v4}'), +(37, 3, 'port', '4569'), +(38, 3, 'context', 'public'), +(39, 3, 'dialplan', 'enum,XML'), +(40, 3, 'codec-prefs', '$${global_codec_prefs}'), +(41, 3, 'codec-master', 'us'), +(42, 3, 'codec-rate', '8'); + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_conf` -- -DROP TABLE IF EXISTS `ivr_conf`; -CREATE TABLE `ivr_conf` ( +CREATE TABLE IF NOT EXISTS `ivr_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL, `greet_long` varchar(255) NOT NULL, @@ -537,186 +898,204 @@ `tts_voice` varchar(64) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- -- Dumping data for table `ivr_conf` -- -LOCK TABLES `ivr_conf` WRITE; -/*!40000 ALTER TABLE `ivr_conf` DISABLE KEYS */; -INSERT INTO `ivr_conf` VALUES (1,'demo','soundfiles/ivr/demo/greet-long.wav','soundfiles/ivr/demo/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,'cepstral','allison'),(2,'demo2','soundfiles/ivr/demo2/greet-long.wav','soundfiles/ivr/demo2/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,NULL,NULL),(3,'menu8','soundfiles/ivr/menu8/greet-long.wav','soundfiles/ivr/menu8/greet-short.wav','soundfiles/ivr/menu8/invalid.wav','soundfiles/ivr/menu8/exit.wav',3,5,NULL,NULL); -/*!40000 ALTER TABLE `ivr_conf` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `ivr_conf` (`id`, `name`, `greet_long`, `greet_short`, `invalid_sound`, `exit_sound`, `max_failures`, `timeout`, `tts_engine`, `tts_voice`) VALUES +(1, 'demo', 'soundfiles/ivr/demo/greet-long.wav', 'soundfiles/ivr/demo/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, 'cepstral', 'allison'), +(2, 'demo2', 'soundfiles/ivr/demo2/greet-long.wav', 'soundfiles/ivr/demo2/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, NULL, NULL), +(3, 'menu8', 'soundfiles/ivr/menu8/greet-long.wav', 'soundfiles/ivr/menu8/greet-short.wav', 'soundfiles/ivr/menu8/invalid.wav', 'soundfiles/ivr/menu8/exit.wav', 3, 5, NULL, NULL); + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_entries` -- -DROP TABLE IF EXISTS `ivr_entries`; -CREATE TABLE `ivr_entries` ( +CREATE TABLE IF NOT EXISTS `ivr_entries` ( `id` int(10) unsigned NOT NULL auto_increment, `ivr_id` int(10) unsigned NOT NULL, `action` varchar(64) NOT NULL, `digits` varchar(16) NOT NULL, `params` varchar(255) default NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_ivr_digits` (`ivr_id`,`digits`) +) TYPE=InnoDB AUTO_INCREMENT=11 ; -- -- Dumping data for table `ivr_entries` -- -LOCK TABLES `ivr_entries` WRITE; -/*!40000 ALTER TABLE `ivr_entries` DISABLE KEYS */; -INSERT INTO `ivr_entries` VALUES (1,1,'menu-play-sound','1','soundfiles/features.wav'),(2,1,'menu-exit','*',NULL),(3,1,'menu-sub','2','demo2'),(4,1,'menu-exec-api','3','bridge sofia/$${domain}/888 at conference.freeswtich.org'),(5,1,'menu-call-transfer','4','888'),(6,2,'menu-back','#',NULL),(7,2,'menu-top','*',NULL),(8,3,'menu-back','#',NULL),(9,3,'menu-top','*',NULL),(10,3,'menu-playsound','4','soundfiles/4.wav'); -/*!40000 ALTER TABLE `ivr_entries` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `jabber_subscriptions` --- - -DROP TABLE IF EXISTS `jabber_subscriptions`; -CREATE TABLE `jabber_subscriptions` ( - `sub_from` varchar(255) default NULL, - `sub_to` varchar(255) default NULL, - `show_pres` varchar(255) default NULL, - `status` varchar(255) default NULL -) ENGINE=InnoDB; - --- --- Dumping data for table `jabber_subscriptions` --- - -LOCK TABLES `jabber_subscriptions` WRITE; -/*!40000 ALTER TABLE `jabber_subscriptions` DISABLE KEYS */; -/*!40000 ALTER TABLE `jabber_subscriptions` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `lcr` --- - -DROP TABLE IF EXISTS `lcr`; -CREATE TABLE `lcr` ( - `id` int(11) NOT NULL auto_increment, - `digits` varchar(15) default NULL, - `rate` int(11) NOT NULL, - `carrier_id` int(11) NOT NULL, - `lead_strip` int(11) NOT NULL, - `trail_strip` int(11) NOT NULL, - `prefix` varchar(16) NOT NULL, - `suffix` varchar(16) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB; - --- --- Dumping data for table `lcr` --- +INSERT INTO `ivr_entries` (`id`, `ivr_id`, `action`, `digits`, `params`) VALUES +(1, 1, 'menu-play-sound', '1', 'soundfiles/features.wav'), +(2, 1, 'menu-exit', '*', NULL), +(3, 1, 'menu-sub', '2', 'demo2'), +(4, 1, 'menu-exec-api', '3', 'bridge sofia/$${domain}/888 at conference.freeswtich.org'), +(5, 1, 'menu-call-transfer', '4', '888'), +(6, 2, 'menu-back', '#', NULL), +(7, 2, 'menu-top', '*', NULL), +(8, 3, 'menu-back', '#', NULL), +(9, 3, 'menu-top', '*', NULL), +(10, 3, 'menu-playsound', '4', 'soundfiles/4.wav'); -LOCK TABLES `lcr` WRITE; -/*!40000 ALTER TABLE `lcr` DISABLE KEYS */; -INSERT INTO `lcr` VALUES (1,'1407',23,2,0,0,'',''),(2,'1407',29,1,0,0,'',''),(3,'1407282',28,2,0,0,'',''),(4,'1434',29,1,0,0,'',''),(5,'1434315',21,1,0,0,'',''); -/*!40000 ALTER TABLE `lcr` ENABLE KEYS */; -UNLOCK TABLES; +-- -------------------------------------------------------- -- -- Table structure for table `limit_conf` -- -DROP TABLE IF EXISTS `limit_conf`; -CREATE TABLE `limit_conf` ( +CREATE TABLE IF NOT EXISTS `limit_conf` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) default NULL, `value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=2 ; -- -- Dumping data for table `limit_conf` -- -LOCK TABLES `limit_conf` WRITE; -/*!40000 ALTER TABLE `limit_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `limit_conf` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `limit_data` -- -DROP TABLE IF EXISTS `limit_data`; -CREATE TABLE `limit_data` ( +CREATE TABLE IF NOT EXISTS `limit_data` ( `hostname` varchar(255) default NULL, `realm` varchar(255) default NULL, `id` varchar(255) default NULL, `uuid` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM; -- -- Dumping data for table `limit_data` -- -LOCK TABLES `limit_data` WRITE; -/*!40000 ALTER TABLE `limit_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `limit_data` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `local_stream_conf` -- -DROP TABLE IF EXISTS `local_stream_conf`; -CREATE TABLE `local_stream_conf` ( +CREATE TABLE IF NOT EXISTS `local_stream_conf` ( `id` int(11) NOT NULL auto_increment, `directory_name` varchar(255) default NULL, `directory_path` text, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Dumping data for table `local_stream_conf` -- -LOCK TABLES `local_stream_conf` WRITE; -/*!40000 ALTER TABLE `local_stream_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `local_stream_conf` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS `modless_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `conf_name` varchar(64) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `modless_conf` +-- + +INSERT INTO `modless_conf` (`id`, `conf_name`) VALUES +(1, 'acl.conf'), +(2, 'postl_load_switch.conf'), +(3, 'post_load_modules.conf'); + +-- -------------------------------------------------------- -- -- Table structure for table `post_load_modules_conf` -- -DROP TABLE IF EXISTS `post_load_modules_conf`; -CREATE TABLE `post_load_modules_conf` ( +CREATE TABLE IF NOT EXISTS `post_load_modules_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `module_name` varchar(64) NOT NULL, `load_module` tinyint(1) NOT NULL default '1', `priority` int(10) unsigned NOT NULL default '1000', PRIMARY KEY (`id`), UNIQUE KEY `unique_mod` (`module_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=54 ; -- -- Dumping data for table `post_load_modules_conf` -- -LOCK TABLES `post_load_modules_conf` WRITE; -/*!40000 ALTER TABLE `post_load_modules_conf` DISABLE KEYS */; -INSERT INTO `post_load_modules_conf` VALUES (1,'mod_sofia',1,2000),(2,'mod_iax',1,2000),(3,'mod_xml_rpc',1,100),(4,'mod_portaudio',1,1000),(5,'mod_enum',1,2000),(6,'mod_xml_cdr',1,1000),(7,'mod_spidermonkey',1,1000),(8,'mod_alsa',0,1000),(9,'mod_log_file',1,0),(10,'mod_commands',1,1000),(11,'mod_voicemail',1,1000),(12,'mod_dialplan_xml',1,150),(13,'mod_dialplan_asterisk',1,150),(14,'mod_openzap',0,1000),(15,'mod_woomera',0,1000),(17,'mod_speex',1,500),(18,'mod_ilbc',0,1000),(20,'mod_g723_1',1,500),(21,'mod_g729',1,500),(22,'mod_g722',1,500),(23,'mod_g726',1,500),(25,'mod_amr',1,500),(26,'mod_fifo',1,1000),(27,'mod_limit',1,1000),(28,'mod_syslog',1,0),(29,'mod_dingaling',1,2000),(30,'mod_cdr_csv',1,1000),(31,'mod_event_socket',1,100),(32,'mod_multicast',0,1000),(33,'mod_zeroconf',0,1000),(34,'mod_xmpp_event',0,1000),(35,'mod_sndfile',1,1000),(36,'mod_native_file',1,1000),(37,'mod_shout',1,1000),(38,'mod_local_stream',1,1000),(39,'mod_perl',0,1000),(40,'mod_python',0,1000),(41,'mod_java',0,1000),(42,'mod_cepstral',0,1000),(43,'mod_openmrcp',0,1000),(44,'mod_lumenvox',0,1000),(45,'mod_rss',0,1000),(46,'mod_say_de',1,1000),(47,'mod_say_fr',0,1000),(48,'mod_say_en',1,1000),(49,'mod_conference',1,1000),(50,'mod_ivr',0,1000),(51,'mod_console',1,0),(52,'mod_dptools',1,1500),(53,'mod_voipcodecs',1,500); -/*!40000 ALTER TABLE `post_load_modules_conf` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `post_load_modules_conf` (`id`, `module_name`, `load_module`, `priority`) VALUES +(1, 'mod_sofia', 1, 2000), +(2, 'mod_iax', 1, 2000), +(3, 'mod_xml_rpc', 1, 100), +(4, 'mod_portaudio', 1, 1000), +(5, 'mod_enum', 1, 2000), +(6, 'mod_xml_cdr', 1, 1000), +(7, 'mod_spidermonkey', 1, 1000), +(8, 'mod_alsa', 0, 1000), +(9, 'mod_log_file', 1, 0), +(10, 'mod_commands', 1, 1000), +(11, 'mod_voicemail', 1, 1000), +(12, 'mod_dialplan_xml', 1, 150), +(13, 'mod_dialplan_asterisk', 1, 150), +(14, 'mod_openzap', 0, 1000), +(15, 'mod_woomera', 0, 1000), +(17, 'mod_speex', 1, 500), +(18, 'mod_ilbc', 0, 1000), +(20, 'mod_g723_1', 1, 500), +(21, 'mod_g729', 1, 500), +(22, 'mod_g722', 1, 500), +(23, 'mod_g726', 1, 500), +(25, 'mod_amr', 1, 500), +(26, 'mod_fifo', 1, 1000), +(27, 'mod_limit', 1, 1000), +(28, 'mod_syslog', 1, 0), +(29, 'mod_dingaling', 1, 2000), +(30, 'mod_cdr_csv', 1, 1000), +(31, 'mod_event_socket', 1, 100), +(32, 'mod_multicast', 0, 1000), +(33, 'mod_zeroconf', 0, 1000), +(34, 'mod_xmpp_event', 0, 1000), +(35, 'mod_sndfile', 1, 1000), +(36, 'mod_native_file', 1, 1000), +(37, 'mod_shout', 1, 1000), +(38, 'mod_local_stream', 1, 1000), +(39, 'mod_perl', 0, 1000), +(40, 'mod_python', 0, 1000), +(41, 'mod_java', 0, 1000), +(42, 'mod_cepstral', 0, 1000), +(43, 'mod_openmrcp', 0, 1000), +(44, 'mod_lumenvox', 0, 1000), +(45, 'mod_rss', 0, 1000), +(46, 'mod_say_de', 1, 1000), +(47, 'mod_say_fr', 0, 1000), +(48, 'mod_say_en', 1, 1000), +(49, 'mod_conference', 1, 1000), +(50, 'mod_ivr', 0, 1000), +(51, 'mod_console', 1, 0), +(52, 'mod_dptools', 1, 1500), +(53, 'mod_voipcodecs', 1, 500); + +-- -------------------------------------------------------- -- -- Table structure for table `rss_conf` -- -DROP TABLE IF EXISTS `rss_conf`; -CREATE TABLE `rss_conf` ( +CREATE TABLE IF NOT EXISTS `rss_conf` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) NOT NULL, `feed` text NOT NULL, @@ -724,42 +1103,36 @@ `description` text, `priority` int(11) NOT NULL default '1000', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=15 ; -- -- Dumping data for table `rss_conf` -- -LOCK TABLES `rss_conf` WRITE; -/*!40000 ALTER TABLE `rss_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `rss_conf` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sip_authentication` -- -DROP TABLE IF EXISTS `sip_authentication`; -CREATE TABLE `sip_authentication` ( +CREATE TABLE IF NOT EXISTS `sip_authentication` ( `nonce` varchar(255) default NULL, - `expires` int(8) default NULL -) ENGINE=InnoDB; + `expires` int(11) default NULL +) TYPE=InnoDB; -- -- Dumping data for table `sip_authentication` -- -LOCK TABLES `sip_authentication` WRITE; -/*!40000 ALTER TABLE `sip_authentication` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_authentication` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sip_dialogs` -- -DROP TABLE IF EXISTS `sip_dialogs`; -CREATE TABLE `sip_dialogs` ( +CREATE TABLE IF NOT EXISTS `sip_dialogs` ( `call_id` varchar(255) default NULL, `uuid` varchar(255) default NULL, `sip_to_user` varchar(255) default NULL, @@ -771,23 +1144,20 @@ `state` varchar(255) default NULL, `direction` varchar(255) default NULL, `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; -- -- Dumping data for table `sip_dialogs` -- -LOCK TABLES `sip_dialogs` WRITE; -/*!40000 ALTER TABLE `sip_dialogs` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_dialogs` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sip_registrations` -- -DROP TABLE IF EXISTS `sip_registrations`; -CREATE TABLE `sip_registrations` ( +CREATE TABLE IF NOT EXISTS `sip_registrations` ( `call_id` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -796,23 +1166,20 @@ `rpid` varchar(255) default NULL, `expires` int(11) default NULL, `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; -- -- Dumping data for table `sip_registrations` -- -LOCK TABLES `sip_registrations` WRITE; -/*!40000 ALTER TABLE `sip_registrations` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_registrations` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sip_subscriptions` -- -DROP TABLE IF EXISTS `sip_subscriptions`; -CREATE TABLE `sip_subscriptions` ( +CREATE TABLE IF NOT EXISTS `sip_subscriptions` ( `proto` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -826,254 +1193,239 @@ `expires` int(11) default NULL, `user_agent` varchar(255) default NULL, `accept` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; -- -- Dumping data for table `sip_subscriptions` -- -LOCK TABLES `sip_subscriptions` WRITE; -/*!40000 ALTER TABLE `sip_subscriptions` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_subscriptions` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_aliases` -- -DROP TABLE IF EXISTS `sofia_aliases`; -CREATE TABLE `sofia_aliases` ( +CREATE TABLE IF NOT EXISTS `sofia_aliases` ( `id` int(10) unsigned NOT NULL auto_increment, `sofia_id` int(10) unsigned NOT NULL, `alias_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- -- Dumping data for table `sofia_aliases` -- -LOCK TABLES `sofia_aliases` WRITE; -/*!40000 ALTER TABLE `sofia_aliases` DISABLE KEYS */; -INSERT INTO `sofia_aliases` VALUES (1,1,'default'),(3,1,'sip.example.com'); -/*!40000 ALTER TABLE `sofia_aliases` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `sofia_aliases` (`id`, `sofia_id`, `alias_name`) VALUES +(1, 1, 'default'), +(3, 1, 'sip.example.com'); + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_conf` -- -DROP TABLE IF EXISTS `sofia_conf`; -CREATE TABLE `sofia_conf` ( +CREATE TABLE IF NOT EXISTS `sofia_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=2 ; -- -- Dumping data for table `sofia_conf` -- -LOCK TABLES `sofia_conf` WRITE; -/*!40000 ALTER TABLE `sofia_conf` DISABLE KEYS */; -INSERT INTO `sofia_conf` VALUES (1,'$${domain}'); -/*!40000 ALTER TABLE `sofia_conf` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `sofia_conf` (`id`, `profile_name`) VALUES +(1, '$${domain}'); + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_domains` -- -DROP TABLE IF EXISTS `sofia_domains`; -CREATE TABLE `sofia_domains` ( +CREATE TABLE IF NOT EXISTS `sofia_domains` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `domain_name` varchar(255) default NULL, `parse` tinyint(1) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- -- Dumping data for table `sofia_domains` -- -LOCK TABLES `sofia_domains` WRITE; -/*!40000 ALTER TABLE `sofia_domains` DISABLE KEYS */; -/*!40000 ALTER TABLE `sofia_domains` ENABLE KEYS */; -UNLOCK TABLES; + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_gateways` -- -DROP TABLE IF EXISTS `sofia_gateways`; -CREATE TABLE `sofia_gateways` ( +CREATE TABLE IF NOT EXISTS `sofia_gateways` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `gateway_name` varchar(255) default NULL, `gateway_param` varchar(255) default NULL, `gateway_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=15 ; -- -- Dumping data for table `sofia_gateways` -- -LOCK TABLES `sofia_gateways` WRITE; -/*!40000 ALTER TABLE `sofia_gateways` DISABLE KEYS */; -INSERT INTO `sofia_gateways` VALUES (8,1,'default','proxy','asterlink.com'),(9,1,'default','realm','asterlink.com'),(10,1,'default','username','USERNAME_HERE'),(11,1,'default','register','false'),(12,1,'default','expire-seconds','60'),(13,1,'default','retry_seconds','2'),(14,1,'default','password','PASSWORD_HERE'); -/*!40000 ALTER TABLE `sofia_gateways` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `sofia_gateways` (`id`, `sofia_id`, `gateway_name`, `gateway_param`, `gateway_value`) VALUES +(8, 1, 'default', 'proxy', 'asterlink.com'), +(9, 1, 'default', 'realm', 'asterlink.com'), +(10, 1, 'default', 'username', 'USERNAME_HERE'), +(11, 1, 'default', 'register', 'false'), +(12, 1, 'default', 'expire-seconds', '60'), +(13, 1, 'default', 'retry_seconds', '2'), +(14, 1, 'default', 'password', 'PASSWORD_HERE'); + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_settings` -- -DROP TABLE IF EXISTS `sofia_settings`; -CREATE TABLE `sofia_settings` ( +CREATE TABLE IF NOT EXISTS `sofia_settings` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=37 ; -- -- Dumping data for table `sofia_settings` -- -LOCK TABLES `sofia_settings` WRITE; -/*!40000 ALTER TABLE `sofia_settings` DISABLE KEYS */; -INSERT INTO `sofia_settings` VALUES (1,1,'user-agent-string','RayUA 2.0pre4'),(2,1,'auth-calls','true'),(5,1,'debug','1'),(6,1,'rfc2833-pt','101'),(7,1,'sip-port','5060'),(8,1,'dialplan','XML'),(9,1,'dtmf-duration','100'),(10,1,'codec-prefs','$${global_codec_prefs}'),(11,1,'rtp-timeout-sec','300'),(12,1,'rtp-ip','$${local_ip_v4}'),(13,1,'sip-ip','$${local_ip_v4}'),(14,1,'context','default'),(15,1,'manage-presence','true'),(16,1,'force-register-domain','intralanman.servehttp.com'),(17,1,'inbound-codec-negotiation','generous'),(18,1,'rtp-rewrite-timestampes','true'),(19,1,'nonce-ttl','60'),(20,1,'vad','out'),(36,1,'odbc-dsn','freeswitch-mysql:freeswitch:Fr33Sw1tch'); -/*!40000 ALTER TABLE `sofia_settings` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `sofia_settings` (`id`, `sofia_id`, `param_name`, `param_value`) VALUES +(1, 1, 'user-agent-string', 'RayUA 2.0pre4'), +(2, 1, 'auth-calls', 'true'), +(5, 1, 'debug', '1'), +(6, 1, 'rfc2833-pt', '101'), +(7, 1, 'sip-port', '5060'), +(8, 1, 'dialplan', 'XML'), +(9, 1, 'dtmf-duration', '100'), +(10, 1, 'codec-prefs', '$${global_codec_prefs}'), +(11, 1, 'rtp-timeout-sec', '300'), +(12, 1, 'rtp-ip', '$${local_ip_v4}'), +(13, 1, 'sip-ip', '$${local_ip_v4}'), +(14, 1, 'context', 'default'), +(15, 1, 'manage-presence', 'true'), +(16, 1, 'force-register-domain', 'intralanman.servehttp.com'), +(17, 1, 'inbound-codec-negotiation', 'generous'), +(18, 1, 'rtp-rewrite-timestampes', 'true'), +(19, 1, 'nonce-ttl', '60'), +(20, 1, 'vad', 'out'), +(36, 1, 'odbc-dsn', 'freeswitch-mysql:freeswitch:Fr33Sw1tch'); + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_conf` -- -DROP TABLE IF EXISTS `voicemail_conf`; -CREATE TABLE `voicemail_conf` ( +CREATE TABLE IF NOT EXISTS `voicemail_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `vm_profile` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile` (`vm_profile`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=2 ; -- -- Dumping data for table `voicemail_conf` -- -LOCK TABLES `voicemail_conf` WRITE; -/*!40000 ALTER TABLE `voicemail_conf` DISABLE KEYS */; -INSERT INTO `voicemail_conf` VALUES (1,'default'); -/*!40000 ALTER TABLE `voicemail_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `voicemail_data` --- - -DROP TABLE IF EXISTS `voicemail_data`; -CREATE TABLE `voicemail_data` ( - `created_epoch` int(8) default NULL, - `read_epoch` int(8) default NULL, - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `uuid` varchar(255) default NULL, - `cid_name` varchar(255) default NULL, - `cid_number` varchar(255) default NULL, - `in_folder` varchar(255) default NULL, - `file_path` varchar(255) default NULL, - `flags` varchar(255) default NULL, - `read_flags` varchar(255) default NULL -) ENGINE=InnoDB; - --- --- Dumping data for table `voicemail_data` --- - -LOCK TABLES `voicemail_data` WRITE; -/*!40000 ALTER TABLE `voicemail_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `voicemail_data` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `voicemail_conf` (`id`, `vm_profile`) VALUES +(1, 'default'); + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_email` -- -DROP TABLE IF EXISTS `voicemail_email`; -CREATE TABLE `voicemail_email` ( +CREATE TABLE IF NOT EXISTS `voicemail_email` ( `id` int(10) unsigned NOT NULL auto_increment, `voicemail_id` int(10) unsigned NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=4 ; -- -- Dumping data for table `voicemail_email` -- -LOCK TABLES `voicemail_email` WRITE; -/*!40000 ALTER TABLE `voicemail_email` DISABLE KEYS */; -INSERT INTO `voicemail_email` VALUES (1,1,'template-file','voicemail.tpl'),(2,1,'date-fmt','%A, %B %d %Y, %I %M %p'),(3,1,'email-from','${voicemail_account}@${voicemail_domain}'); -/*!40000 ALTER TABLE `voicemail_email` ENABLE KEYS */; -UNLOCK TABLES; +INSERT INTO `voicemail_email` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'template-file', 'voicemail.tpl'), +(2, 1, 'date-fmt', '%A, %B %d %Y, %I %M %p'), +(3, 1, 'email-from', '${voicemail_account}@${voicemail_domain}'); --- --- Table structure for table `voicemail_prefs` --- - -DROP TABLE IF EXISTS `voicemail_prefs`; -CREATE TABLE `voicemail_prefs` ( - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `name_path` varchar(255) default NULL, - `greeting_path` varchar(255) default NULL -) ENGINE=InnoDB; - --- --- Dumping data for table `voicemail_prefs` --- - -LOCK TABLES `voicemail_prefs` WRITE; -/*!40000 ALTER TABLE `voicemail_prefs` DISABLE KEYS */; -/*!40000 ALTER TABLE `voicemail_prefs` ENABLE KEYS */; -UNLOCK TABLES; +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_settings` -- -DROP TABLE IF EXISTS `voicemail_settings`; -CREATE TABLE `voicemail_settings` ( +CREATE TABLE IF NOT EXISTS `voicemail_settings` ( `id` int(11) NOT NULL auto_increment, `voicemail_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=31 ; -- -- Dumping data for table `voicemail_settings` -- -LOCK TABLES `voicemail_settings` WRITE; -/*!40000 ALTER TABLE `voicemail_settings` DISABLE KEYS */; -INSERT INTO `voicemail_settings` VALUES (1,1,'file-extension','wav'),(2,1,'terminator-key','#'),(3,1,'max-login-attempts','3'),(4,1,'digit-timeout','10000'),(5,1,'max-record-length','300'),(6,1,'tone-spec','%(1000, 0, 640)'),(7,1,'callback-dialplan','XML'),(8,1,'callback-context','default'),(9,1,'play-new-messages-key','1'),(10,1,'play-saved-messages-key','2'),(11,1,'main-menu-key','*'),(12,1,'config-menu-key','5'),(13,1,'record-greeting-key','1'),(14,1,'choose-greeting-key','2'),(15,1,'record-file-key','3'),(16,1,'listen-file-key','1'),(17,1,'record-name-key','3'),(18,1,'save-file-key','9'),(19,1,'delete-file-key','7'),(20,1,'undelete-file-key','8'),(21,1,'email-key','4'),(22,1,'pause-key','0'),(23,1,'restart-key','1'),(24,1,'ff-key','6'),(25,1,'rew-key','4'),(26,1,'record-silence-threshold','200'),(27,1,'record-silence-hits','2'),(28,1,'web-template-file','web-vm.tpl'),(29,1,'operator-extension','operator XML default'),(30,1,'operator-key','9'); -/*!40000 ALTER TABLE `voicemail_settings` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +INSERT INTO `voicemail_settings` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'file-extension', 'wav'), +(2, 1, 'terminator-key', '#'), +(3, 1, 'max-login-attempts', '3'), +(4, 1, 'digit-timeout', '10000'), +(5, 1, 'max-record-length', '300'), +(6, 1, 'tone-spec', '%(1000, 0, 640)'), +(7, 1, 'callback-dialplan', 'XML'), +(8, 1, 'callback-context', 'default'), +(9, 1, 'play-new-messages-key', '1'), +(10, 1, 'play-saved-messages-key', '2'), +(11, 1, 'main-menu-key', '*'), +(12, 1, 'config-menu-key', '5'), +(13, 1, 'record-greeting-key', '1'), +(14, 1, 'choose-greeting-key', '2'), +(15, 1, 'record-file-key', '3'), +(16, 1, 'listen-file-key', '1'), +(17, 1, 'record-name-key', '3'), +(18, 1, 'save-file-key', '9'), +(19, 1, 'delete-file-key', '7'), +(20, 1, 'undelete-file-key', '8'), +(21, 1, 'email-key', '4'), +(22, 1, 'pause-key', '0'), +(23, 1, 'restart-key', '1'), +(24, 1, 'ff-key', '6'), +(25, 1, 'rew-key', '4'), +(26, 1, 'record-silence-threshold', '200'), +(27, 1, 'record-silence-hits', '2'), +(28, 1, 'web-template-file', 'web-vm.tpl'), +(29, 1, 'operator-extension', 'operator XML default'), +(30, 1, 'operator-key', '9'); --- Dump completed on 2008-04-10 15:11:05 +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql Sun Feb 15 21:38:28 2009 @@ -1,315 +1,485 @@ --- MySQL dump 10.11 --- --- Host: localhost Database: freeswitch --- ------------------------------------------------------ --- Server version 5.0.32-Debian_7etch5-log +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:36 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- --- Table structure for table `carrier_gateway` +-- Database: `freeswitch` -- -DROP TABLE IF EXISTS `carrier_gateway`; -CREATE TABLE `carrier_gateway` ( - `id` int(11) NOT NULL auto_increment, - `carrier_id` int(11) default NULL, - `gateway` varchar(32) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `gateway` (`gateway`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +-- -------------------------------------------------------- -- --- Table structure for table `carriers` +-- Table structure for table `acl_lists` -- -DROP TABLE IF EXISTS `carriers`; -CREATE TABLE `carriers` ( - `id` int(11) NOT NULL auto_increment, - `Carrier_Name` varchar(255) default NULL, +CREATE TABLE IF NOT EXISTS `acl_lists` ( + `id` int(10) unsigned NOT NULL auto_increment, + `acl_name` varchar(128) NOT NULL, + `default_policy` varchar(45) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_lists` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS `acl_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `cidr` varchar(45) NOT NULL, + `type` varchar(16) NOT NULL, + `list_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_nodes` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_advertise` -- -DROP TABLE IF EXISTS `conference_advertise`; -CREATE TABLE `conference_advertise` ( +CREATE TABLE IF NOT EXISTS `conference_advertise` ( `id` int(10) unsigned NOT NULL auto_increment, `room` varchar(64) NOT NULL, `status` varchar(128) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_room` (`room`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_advertise` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_controls` -- -DROP TABLE IF EXISTS `conference_controls`; -CREATE TABLE `conference_controls` ( +CREATE TABLE IF NOT EXISTS `conference_controls` ( `id` int(10) unsigned NOT NULL auto_increment, `conf_group` varchar(64) NOT NULL, `action` varchar(64) NOT NULL, `digits` varchar(16) NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_group_action` (`conf_group`,`action`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_controls` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_profiles` -- -DROP TABLE IF EXISTS `conference_profiles`; -CREATE TABLE `conference_profiles` ( +CREATE TABLE IF NOT EXISTS `conference_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, `profile_name` varchar(64) NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), KEY `unique_profile_param` (`profile_name`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `db_data` +-- Dumping data for table `conference_profiles` -- -DROP TABLE IF EXISTS `db_data`; -CREATE TABLE `db_data` ( - `hostname` varchar(255) default NULL, - `realm` varchar(255) default NULL, - `data_key` varchar(255) default NULL, - `data` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `dialplan` -- -DROP TABLE IF EXISTS `dialplan`; -CREATE TABLE `dialplan` ( - `id` int(11) NOT NULL auto_increment, +CREATE TABLE IF NOT EXISTS `dialplan` ( + `dialplan_id` int(11) NOT NULL auto_increment, + `domain` varchar(128) NOT NULL, + `ip_address` varchar(15) NOT NULL, + PRIMARY KEY (`dialplan_id`) +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_actions` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_actions` ( + `action_id` int(11) NOT NULL auto_increment, + `condition_id` int(11) NOT NULL, + `application` varchar(256) NOT NULL, + `data` varchar(256) NOT NULL, + `type` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`action_id`) +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_condition` ( + `condition_id` int(11) NOT NULL auto_increment, + `extension_id` int(11) NOT NULL, + `field` varchar(1238) NOT NULL, + `expression` varchar(128) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`condition_id`) +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_context` ( + `context_id` int(11) NOT NULL auto_increment, + `dialplan_id` int(11) NOT NULL, `context` varchar(64) NOT NULL, - `extension` varchar(64) NOT NULL, - `condition_field` varchar(64) NOT NULL, - `condition_expression` varchar(64) NOT NULL, - `application_name` varchar(64) NOT NULL, - `application_data` text, `weight` int(11) NOT NULL, - `type` varchar(16) NOT NULL default 'action', - `ext_continue` smallint(1) NOT NULL default '0', - `global_weight` int(11) NOT NULL default '10000', - `cond_break` varchar(8) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; + PRIMARY KEY (`context_id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_context` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_extension` ( + `extension_id` int(11) NOT NULL auto_increment, + `context_id` int(11) NOT NULL, + `name` varchar(128) NOT NULL, + `continue` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`extension_id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `dialplan_special` -- -DROP TABLE IF EXISTS `dialplan_special`; -CREATE TABLE `dialplan_special` ( +CREATE TABLE IF NOT EXISTS `dialplan_special` ( `id` int(11) NOT NULL auto_increment, `context` varchar(255) NOT NULL, `class_file` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_context` (`context`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `dingaling_profile_params` +-- Dumping data for table `dialplan_special` -- -DROP TABLE IF EXISTS `dingaling_profile_params`; -CREATE TABLE `dingaling_profile_params` ( - `id` int(10) unsigned NOT NULL auto_increment, - `dingaling_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`), - CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- -- -- Table structure for table `dingaling_profiles` -- -DROP TABLE IF EXISTS `dingaling_profiles`; -CREATE TABLE `dingaling_profiles` ( +CREATE TABLE IF NOT EXISTS `dingaling_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, `profile_name` varchar(64) NOT NULL, `type` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_name` (`profile_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profiles` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profile_params` +-- + +CREATE TABLE IF NOT EXISTS `dingaling_profile_params` ( + `id` int(10) unsigned NOT NULL auto_increment, + `dingaling_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profile_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `dingaling_settings` -- -DROP TABLE IF EXISTS `dingaling_settings`; -CREATE TABLE `dingaling_settings` ( +CREATE TABLE IF NOT EXISTS `dingaling_settings` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_param` (`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory` -- -DROP TABLE IF EXISTS `directory`; -CREATE TABLE `directory` ( +CREATE TABLE IF NOT EXISTS `directory` ( `id` int(11) NOT NULL auto_increment, `username` varchar(255) NOT NULL, - `mailbox` varchar(255) NOT NULL, `domain` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_domains` -- -DROP TABLE IF EXISTS `directory_domains`; -CREATE TABLE `directory_domains` ( +CREATE TABLE IF NOT EXISTS `directory_domains` ( `id` int(10) unsigned NOT NULL auto_increment, `domain_name` varchar(128) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateways` +-- + +CREATE TABLE IF NOT EXISTS `directory_gateways` ( + `id` int(10) unsigned NOT NULL auto_increment, + `directory_id` int(10) unsigned NOT NULL, + `gateway_name` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateways` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_gateway_params` -- -DROP TABLE IF EXISTS `directory_gateway_params`; -CREATE TABLE `directory_gateway_params` ( +CREATE TABLE IF NOT EXISTS `directory_gateway_params` ( `id` int(10) unsigned NOT NULL auto_increment, `d_gw_id` int(10) unsigned NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `directory_gateways` +-- Dumping data for table `directory_gateway_params` -- -DROP TABLE IF EXISTS `directory_gateways`; -CREATE TABLE `directory_gateways` ( - `id` int(10) unsigned NOT NULL auto_increment, - `directory_id` int(10) unsigned NOT NULL, - `gateway_name` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_params` -- -DROP TABLE IF EXISTS `directory_global_params`; -CREATE TABLE `directory_global_params` ( +CREATE TABLE IF NOT EXISTS `directory_global_params` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_vars` -- -DROP TABLE IF EXISTS `directory_global_vars`; -CREATE TABLE `directory_global_vars` ( +CREATE TABLE IF NOT EXISTS `directory_global_vars` ( `id` int(10) unsigned NOT NULL auto_increment, `var_name` varchar(64) NOT NULL, `var_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_vars` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_params` -- -DROP TABLE IF EXISTS `directory_params`; -CREATE TABLE `directory_params` ( +CREATE TABLE IF NOT EXISTS `directory_params` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_vars` -- -DROP TABLE IF EXISTS `directory_vars`; -CREATE TABLE `directory_vars` ( +CREATE TABLE IF NOT EXISTS `directory_vars` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `var_name` varchar(255) default NULL, `var_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; -- --- Table structure for table `group_data` +-- Dumping data for table `directory_vars` -- -DROP TABLE IF EXISTS `group_data`; -CREATE TABLE `group_data` ( - `hostname` varchar(255) default NULL, - `groupname` varchar(255) default NULL, - `url` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `iax_conf` -- -DROP TABLE IF EXISTS `iax_conf`; -CREATE TABLE `iax_conf` ( +CREATE TABLE IF NOT EXISTS `iax_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `iax_settings` -- -DROP TABLE IF EXISTS `iax_settings`; -CREATE TABLE `iax_settings` ( +CREATE TABLE IF NOT EXISTS `iax_settings` ( `id` int(11) NOT NULL auto_increment, `iax_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_conf` -- -DROP TABLE IF EXISTS `ivr_conf`; -CREATE TABLE `ivr_conf` ( +CREATE TABLE IF NOT EXISTS `ivr_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL, `greet_long` varchar(255) NOT NULL, @@ -322,110 +492,134 @@ `tts_voice` varchar(64) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `ivr_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_entries` -- -DROP TABLE IF EXISTS `ivr_entries`; -CREATE TABLE `ivr_entries` ( +CREATE TABLE IF NOT EXISTS `ivr_entries` ( `id` int(10) unsigned NOT NULL auto_increment, `ivr_id` int(10) unsigned NOT NULL, `action` varchar(64) NOT NULL, `digits` varchar(16) NOT NULL, `params` varchar(255) default NULL, PRIMARY KEY (`id`), - UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + UNIQUE KEY `unique_ivr_digits` (`ivr_id`,`digits`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `jabber_subscriptions` +-- Dumping data for table `ivr_entries` -- -DROP TABLE IF EXISTS `jabber_subscriptions`; -CREATE TABLE `jabber_subscriptions` ( - `sub_from` varchar(255) default NULL, - `sub_to` varchar(255) default NULL, - `show_pres` varchar(255) default NULL, - `status` varchar(255) default NULL -) ENGINE=InnoDB; --- --- Table structure for table `lcr` --- - -DROP TABLE IF EXISTS `lcr`; -CREATE TABLE `lcr` ( - `id` int(11) NOT NULL auto_increment, - `digits` varchar(15) default NULL, - `rate` int(11) NOT NULL, - `carrier_id` int(11) NOT NULL, - `lead_strip` int(11) NOT NULL, - `trail_strip` int(11) NOT NULL, - `prefix` varchar(16) NOT NULL, - `suffix` varchar(16) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB; +-- -------------------------------------------------------- -- -- Table structure for table `limit_conf` -- -DROP TABLE IF EXISTS `limit_conf`; -CREATE TABLE `limit_conf` ( +CREATE TABLE IF NOT EXISTS `limit_conf` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) default NULL, `value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `limit_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `limit_data` -- -DROP TABLE IF EXISTS `limit_data`; -CREATE TABLE `limit_data` ( +CREATE TABLE IF NOT EXISTS `limit_data` ( `hostname` varchar(255) default NULL, `realm` varchar(255) default NULL, `id` varchar(255) default NULL, `uuid` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM; + +-- +-- Dumping data for table `limit_data` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `local_stream_conf` -- -DROP TABLE IF EXISTS `local_stream_conf`; -CREATE TABLE `local_stream_conf` ( +CREATE TABLE IF NOT EXISTS `local_stream_conf` ( `id` int(11) NOT NULL auto_increment, `directory_name` varchar(255) default NULL, `directory_path` text, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `local_stream_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS `modless_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `conf_name` varchar(64) NOT NULL, + PRIMARY KEY (`id`) +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `modless_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `post_load_modules_conf` -- -DROP TABLE IF EXISTS `post_load_modules_conf`; -CREATE TABLE `post_load_modules_conf` ( +CREATE TABLE IF NOT EXISTS `post_load_modules_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `module_name` varchar(64) NOT NULL, `load_module` tinyint(1) NOT NULL default '1', `priority` int(10) unsigned NOT NULL default '1000', PRIMARY KEY (`id`), UNIQUE KEY `unique_mod` (`module_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `post_load_modules_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `rss_conf` -- -DROP TABLE IF EXISTS `rss_conf`; -CREATE TABLE `rss_conf` ( +CREATE TABLE IF NOT EXISTS `rss_conf` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) NOT NULL, `feed` text NOT NULL, @@ -433,24 +627,36 @@ `description` text, `priority` int(11) NOT NULL default '1000', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `rss_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_authentication` -- -DROP TABLE IF EXISTS `sip_authentication`; -CREATE TABLE `sip_authentication` ( +CREATE TABLE IF NOT EXISTS `sip_authentication` ( `nonce` varchar(255) default NULL, - `expires` int(8) default NULL -) ENGINE=InnoDB; + `expires` int(11) default NULL +) TYPE=InnoDB; + +-- +-- Dumping data for table `sip_authentication` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_dialogs` -- -DROP TABLE IF EXISTS `sip_dialogs`; -CREATE TABLE `sip_dialogs` ( +CREATE TABLE IF NOT EXISTS `sip_dialogs` ( `call_id` varchar(255) default NULL, `uuid` varchar(255) default NULL, `sip_to_user` varchar(255) default NULL, @@ -462,14 +668,20 @@ `state` varchar(255) default NULL, `direction` varchar(255) default NULL, `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; + +-- +-- Dumping data for table `sip_dialogs` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_registrations` -- -DROP TABLE IF EXISTS `sip_registrations`; -CREATE TABLE `sip_registrations` ( +CREATE TABLE IF NOT EXISTS `sip_registrations` ( `call_id` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -478,14 +690,20 @@ `rpid` varchar(255) default NULL, `expires` int(11) default NULL, `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; + +-- +-- Dumping data for table `sip_registrations` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_subscriptions` -- -DROP TABLE IF EXISTS `sip_subscriptions`; -CREATE TABLE `sip_subscriptions` ( +CREATE TABLE IF NOT EXISTS `sip_subscriptions` ( `proto` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -499,148 +717,169 @@ `expires` int(11) default NULL, `user_agent` varchar(255) default NULL, `accept` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB; + +-- +-- Dumping data for table `sip_subscriptions` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_aliases` -- -DROP TABLE IF EXISTS `sofia_aliases`; -CREATE TABLE `sofia_aliases` ( +CREATE TABLE IF NOT EXISTS `sofia_aliases` ( `id` int(10) unsigned NOT NULL auto_increment, `sofia_id` int(10) unsigned NOT NULL, `alias_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_aliases` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_conf` -- -DROP TABLE IF EXISTS `sofia_conf`; -CREATE TABLE `sofia_conf` ( +CREATE TABLE IF NOT EXISTS `sofia_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_domains` -- -DROP TABLE IF EXISTS `sofia_domains`; -CREATE TABLE `sofia_domains` ( +CREATE TABLE IF NOT EXISTS `sofia_domains` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `domain_name` varchar(255) default NULL, `parse` tinyint(1) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_domains` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_gateways` -- -DROP TABLE IF EXISTS `sofia_gateways`; -CREATE TABLE `sofia_gateways` ( +CREATE TABLE IF NOT EXISTS `sofia_gateways` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `gateway_name` varchar(255) default NULL, `gateway_param` varchar(255) default NULL, `gateway_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_gateways` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_settings` -- -DROP TABLE IF EXISTS `sofia_settings`; -CREATE TABLE `sofia_settings` ( +CREATE TABLE IF NOT EXISTS `sofia_settings` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_conf` -- -DROP TABLE IF EXISTS `voicemail_conf`; -CREATE TABLE `voicemail_conf` ( +CREATE TABLE IF NOT EXISTS `voicemail_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `vm_profile` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile` (`vm_profile`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `voicemail_data` +-- Dumping data for table `voicemail_conf` -- -DROP TABLE IF EXISTS `voicemail_data`; -CREATE TABLE `voicemail_data` ( - `created_epoch` int(8) default NULL, - `read_epoch` int(8) default NULL, - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `uuid` varchar(255) default NULL, - `cid_name` varchar(255) default NULL, - `cid_number` varchar(255) default NULL, - `in_folder` varchar(255) default NULL, - `file_path` varchar(255) default NULL, - `flags` varchar(255) default NULL, - `read_flags` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_email` -- -DROP TABLE IF EXISTS `voicemail_email`; -CREATE TABLE `voicemail_email` ( +CREATE TABLE IF NOT EXISTS `voicemail_email` ( `id` int(10) unsigned NOT NULL auto_increment, `voicemail_id` int(10) unsigned NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -- --- Table structure for table `voicemail_prefs` +-- Dumping data for table `voicemail_email` -- -DROP TABLE IF EXISTS `voicemail_prefs`; -CREATE TABLE `voicemail_prefs` ( - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `name_path` varchar(255) default NULL, - `greeting_path` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_settings` -- -DROP TABLE IF EXISTS `voicemail_settings`; -CREATE TABLE `voicemail_settings` ( +CREATE TABLE IF NOT EXISTS `voicemail_settings` ( `id` int(11) NOT NULL auto_increment, `voicemail_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +) TYPE=InnoDB AUTO_INCREMENT=1 ; -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- +-- Dumping data for table `voicemail_settings` +-- + + +-- +-- Constraints for dumped tables +-- --- Dump completed on 2008-04-10 15:11:05 +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql Sun Feb 15 21:38:28 2009 @@ -1,961 +1,1433 @@ --- MySQL dump 10.11 --- --- Host: localhost Database: freeswitch --- ------------------------------------------------------ --- Server version 5.0.45-community-nt - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `acl_lists` --- - -DROP TABLE IF EXISTS `acl_lists`; -CREATE TABLE `acl_lists` ( - `id` int(10) unsigned NOT NULL auto_increment, - `acl_name` varchar(128) NOT NULL, - `default_policy` varchar(45) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `acl_lists` --- - -LOCK TABLES `acl_lists` WRITE; -/*!40000 ALTER TABLE `acl_lists` DISABLE KEYS */; -INSERT INTO `acl_lists` VALUES (1,'rfc1918','deny'),(2,'lan','allow'); -/*!40000 ALTER TABLE `acl_lists` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `acl_nodes` --- - -DROP TABLE IF EXISTS `acl_nodes`; -CREATE TABLE `acl_nodes` ( - `id` int(10) unsigned NOT NULL auto_increment, - `cidr` varchar(45) NOT NULL, - `type` varchar(16) NOT NULL, - `list_id` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `acl_nodes` --- - -LOCK TABLES `acl_nodes` WRITE; -/*!40000 ALTER TABLE `acl_nodes` DISABLE KEYS */; -INSERT INTO `acl_nodes` VALUES (1,'192.168.0.0/16','allow',1),(2,'10.0.0.0/8','allow',1),(3,'172.16.0.0/12','allow',1); -/*!40000 ALTER TABLE `acl_nodes` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `conference_advertise` --- - -DROP TABLE IF EXISTS `conference_advertise`; -CREATE TABLE `conference_advertise` ( - `id` int(10) unsigned NOT NULL auto_increment, - `room` varchar(64) NOT NULL, - `status` varchar(128) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_room` (`room`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `conference_advertise` --- - -LOCK TABLES `conference_advertise` WRITE; -/*!40000 ALTER TABLE `conference_advertise` DISABLE KEYS */; -INSERT INTO `conference_advertise` VALUES (1,'3000@$${domain}','Freeswitch Conference'),(2,'3001@$${domain}','FreeSWITCH Conference 2'),(3,'3002@$${domain}','FreeSWITCH Conference 3'); -/*!40000 ALTER TABLE `conference_advertise` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `conference_controls` --- - -DROP TABLE IF EXISTS `conference_controls`; -CREATE TABLE `conference_controls` ( - `id` int(10) unsigned NOT NULL auto_increment, - `conf_group` varchar(64) NOT NULL, - `action` varchar(64) NOT NULL, - `digits` varchar(16) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `conference_controls` --- - -LOCK TABLES `conference_controls` WRITE; -/*!40000 ALTER TABLE `conference_controls` DISABLE KEYS */; -INSERT INTO `conference_controls` VALUES (1,'default','mute','0'),(2,'default','deaf_mute','*'),(3,'default','energy up','9'),(4,'default','energy equ','8'),(5,'default','energy dn','7'),(6,'default','vol talk up','3'),(7,'default','vol talk dn','1'),(8,'default','vol talk zero','2'),(9,'default','vol listen up','6'),(10,'default','vol listen dn','4'),(11,'default','vol listen zero','5'),(12,'default','hangup','#'); -/*!40000 ALTER TABLE `conference_controls` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `conference_profiles` --- - -DROP TABLE IF EXISTS `conference_profiles`; -CREATE TABLE `conference_profiles` ( - `id` int(10) unsigned NOT NULL auto_increment, - `profile_name` varchar(64) NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - KEY `unique_profile_param` (`profile_name`,`param_name`) -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `conference_profiles` --- - -LOCK TABLES `conference_profiles` WRITE; -/*!40000 ALTER TABLE `conference_profiles` DISABLE KEYS */; -INSERT INTO `conference_profiles` VALUES (1,'default','domain','$${domain}'),(2,'default','rate','8000'),(3,'default','interval','20'),(4,'default','energy-level','300'),(5,'default','moh-sound','$${moh_uri}'),(6,'default','caller-id-name','$${outbound_caller_name}'),(7,'default','caller-id-number','$${outbound_caller_number}'); -/*!40000 ALTER TABLE `conference_profiles` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `dialplan` --- - -DROP TABLE IF EXISTS `dialplan`; -CREATE TABLE `dialplan` ( - `id` int(11) NOT NULL auto_increment, - `context` varchar(64) NOT NULL, - `extension` varchar(64) NOT NULL, - `condition_field` varchar(64) NOT NULL, - `condition_expression` varchar(64) NOT NULL, - `application_name` varchar(64) NOT NULL, - `application_data` text, - `weight` int(11) NOT NULL, - `type` varchar(16) NOT NULL default 'action', - `ext_continue` text NOT NULL, - `global_weight` int(11) NOT NULL default '10000', - `cond_break` varchar(8) default NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=388 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `dialplan` --- - -LOCK TABLES `dialplan` WRITE; -/*!40000 ALTER TABLE `dialplan` DISABLE KEYS */; -INSERT INTO `dialplan` VALUES (273,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','enum','1$1',3,'action','0',200,''),(272,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','hangup_after_bridge=true',2,'action','0',200,''),(271,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','continue_on_fail=true',1,'action','0',200,''),(383,'default','hold_music','destination_number','^9999$','playback','$${moh_uri}',2,'action','0',1900,''),(384,'default','enum','destination_number','^(.*)$','transfer','$1 enum',1,'action','0',2000,''),(382,'default','hold_music','destination_number','^9999$','answer','',1,'action','0',1900,''),(378,'default','ivr_demo','destination_number','5000','ivr','demo',1,'action','0',1600,''),(379,'default','park','destination_number','^(590[0-9])$','fifo','$1@$${domain} in undef $${moh_uri}',1,'action','0',1700,''),(380,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','answer','',1,'action','0',1800,''),(381,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','fifo','$1@$${domain} out nowait',2,'action','0',1800,''),(375,'default','sip_uri','destination_number','^sip:(.*)$','bridge','sofia/${use_profile}/$1',1,'action','0',1300,''),(376,'default','conferences','destination_number','^(3\\d{3})$','conference','$1 at default',1,'action','0',1400,''),(377,'default','freeswitch_public_conf_via_sip','destination_number','^9(888|1616)$','bridge','sofia/${use_profile}/$1 at conference.freeswitch.org',1,'action','0',1500,''),(372,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',13,'anti-action','0',1200,''),(373,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',14,'anti-action','0',1200,''),(374,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','default $${domain} ${dialed_ext}',15,'anti-action','0',1200,''),(371,'default','Local_Extension','destination_number','^${caller_id_number}$','bridge','{left_hanging_extension=5900,transfer_fallback_extension=${dialed_ext}}USER/${dialed_ext}@$${domain}',12,'anti-action','0',1200,''),(367,'default','Local_Extension','destination_number','^${caller_id_number}$','set','left_hanging_extension=5900',8,'anti-action','0',1200,''),(368,'default','Local_Extension','destination_number','^${caller_id_number}$','set','continue_on_fail=true',9,'anti-action','0',1200,''),(369,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/call_return/${dialed_ext}/${caller_id_number}',10,'anti-action','0',1200,''),(370,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/last_dial_ext/${dialed_ext}/${uuid}',11,'anti-action','0',1200,''),(364,'default','Local_Extension','destination_number','^${caller_id_number}$','ring_ready','',5,'anti-action','0',1200,''),(365,'default','Local_Extension','destination_number','^${caller_id_number}$','set','call_timeout=130',6,'anti-action','0',1200,''),(366,'default','Local_Extension','destination_number','^${caller_id_number}$','set','hangup_after_bridge=true',7,'anti-action','0',1200,''),(361,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',2,'action','0',1200,''),(362,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',3,'action','0',1200,''),(363,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','check default $${domain} ${dialed_ext}',4,'action','0',1200,''),(359,'default','Local_Extension','destination_number','^(10[01][0-9])$','set','dialed_ext=$1',1,'action','0',1200,'on-true'),(360,'default','Local_Extension','destination_number','^${caller_id_number}$','set','voicemail_authorized=${sip_authorized}',1,'action','0',1200,''),(357,'default','call-group-order','destination_number','^83(\\d{2})$','set','call_timeout=10',1,'action','0',1100,''),(358,'default','call-group-order','destination_number','^83(\\d{2})$','bridge','${group(call:$1:order)}',2,'action','0',1100,''),(356,'default','call-group-simo','destination_number','^82(\\d{2})$','bridge','${group(call:$1)}',1,'action','0',1000,''),(355,'default','add-group','destination_number','^81(\\d{2})$','gentones','%(1000, 0, 640)',3,'action','0',900,''),(354,'default','add-group','destination_number','^81(\\d{2})$','group','insert:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action','0',900,''),(350,'default','del-group','destination_number','^80(\\d{2})$','answer','',1,'action','0',800,''),(351,'default','del-group','destination_number','^80(\\d{2})$','group','delete:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action','0',800,''),(352,'default','del-group','destination_number','^80(\\d{2})$','gentones','%(1000, 0, 320)',3,'action','0',800,''),(353,'default','add-group','destination_number','^81(\\d{2})$','answer','',1,'action','0',900,''),(349,'default','call_return','destination_number','^\\*69$|^869$','transfer','${db(select/call_return/${caller_id_number})}',1,'action','0',700,''),(348,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','eavesdrop','${db(select/spymap/$1)}',2,'action','0',600,''),(347,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','answer','',1,'action','0',600,''),(344,'default','global','','','db','insert/spymap/${caller_id_number}/${uuid}',2,'action','1',500,''),(345,'default','global','','','db','insert/last_dial/${caller_id_number}/${destination_number}',3,'action','1',500,''),(346,'default','global','','','db','insert/last_dial/global/${uuid}',4,'action','1',500,''),(340,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr($${local_ip_v4})} == yes ? nat : default)}',1,'action','1',500,''),(342,'default','global','${numbering_plan}','','set_user','default@${domain}',1,'action','1',500,''),(343,'default','global','','','info','',1,'action','1',500,''),(341,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr(${network_addr})} == yes ? nat : default)}',2,'anti-action','1',500,''),(338,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','sleep','2000',3,'action','0',300,''),(339,'default','redial','destination_number','^870$','transfer','${db(select/last_dial/${caller_id_number})}',1,'action','0',400,''),(337,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','intercept','${db(select/last_dial_ext/$1)}',2,'action','0',300,''),(335,'default','intercept','destination_number','^886$','sleep','2000',3,'action','0',200,''),(336,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','answer','',1,'action','0',300,''),(333,'default','intercept','destination_number','^886$','answer','',1,'action','0',200,''),(334,'default','intercept','destination_number','^886$','intercept','${db(select/last_dial/global)}',2,'action','0',200,''),(113,'public','public_extensions','destination_number','^(10[01][0-9])$','transfer','$1 XML default',1,'action','0',200,''),(114,'public','public_did','destination_number','^(5551212)$','transfer','$1 XML default',1,'action','0',300,''),(274,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','${enum_auto_route}',4,'action','0',200,''),(275,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','sofia/gateway/${default_gateway}/011$1',5,'action','0',200,''),(276,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','continue_on_fail=true',1,'action','0',300,''),(277,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action','0',300,''),(278,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','enum','1$1',3,'action','0',300,''),(279,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action','0',300,''),(280,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1$1',5,'action','0',300,''),(281,'US-Numbering-Plan','US_Local','${default_area_code}','\\d{3}','say','you must dial the area code to call this destination',1,'anti-action','0',400,'on-true'),(282,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','continue_on_fail=true',1,'action','0',400,''),(283,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action','0',400,''),(284,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','enum','1$1',3,'action','0',400,''),(285,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action','0',400,''),(286,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1${default_area_code}$1',5,'action','0',400,''),(287,'US-Numbering-Plan','FCC_Services','^([4689]11)$','','bridge','sofia/gateway/${default_gateway}/$1',1,'action','0',500,''),(385,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw1/number',0,'action','true',10000,'never'),(386,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw1/number',0,'action','true',10000,'never'),(387,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw2/number',0,'anti-action','true',10000,'never'); -/*!40000 ALTER TABLE `dialplan` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `dialplan_special` --- - -DROP TABLE IF EXISTS `dialplan_special`; -CREATE TABLE `dialplan_special` ( - `id` int(11) NOT NULL auto_increment, - `context` varchar(255) NOT NULL, - `class_file` varchar(255) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_context` (`context`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `dialplan_special` --- - -LOCK TABLES `dialplan_special` WRITE; -/*!40000 ALTER TABLE `dialplan_special` DISABLE KEYS */; -/*!40000 ALTER TABLE `dialplan_special` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `dingaling_profile_params` --- - -DROP TABLE IF EXISTS `dingaling_profile_params`; -CREATE TABLE `dingaling_profile_params` ( - `id` int(10) unsigned NOT NULL auto_increment, - `dingaling_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`), - CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `dingaling_profile_params` --- - -LOCK TABLES `dingaling_profile_params` WRITE; -/*!40000 ALTER TABLE `dingaling_profile_params` DISABLE KEYS */; -INSERT INTO `dingaling_profile_params` VALUES (1,1,'password','secret'),(2,1,'dialplan','XML,enum'),(3,1,'server','example.org'),(4,1,'name','fs.example.org'); -/*!40000 ALTER TABLE `dingaling_profile_params` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `dingaling_profiles` --- - -DROP TABLE IF EXISTS `dingaling_profiles`; -CREATE TABLE `dingaling_profiles` ( - `id` int(10) unsigned NOT NULL auto_increment, - `profile_name` varchar(64) NOT NULL, - `type` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_name` (`profile_name`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `dingaling_profiles` --- - -LOCK TABLES `dingaling_profiles` WRITE; -/*!40000 ALTER TABLE `dingaling_profiles` DISABLE KEYS */; -INSERT INTO `dingaling_profiles` VALUES (1,'fs.intralanman.servehttp.com','component'); -/*!40000 ALTER TABLE `dingaling_profiles` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `dingaling_settings` --- - -DROP TABLE IF EXISTS `dingaling_settings`; -CREATE TABLE `dingaling_settings` ( - `id` int(10) unsigned NOT NULL auto_increment, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_param` (`param_name`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `dingaling_settings` --- - -LOCK TABLES `dingaling_settings` WRITE; -/*!40000 ALTER TABLE `dingaling_settings` DISABLE KEYS */; -INSERT INTO `dingaling_settings` VALUES (1,'debug','0'),(2,'codec-prefs','$${global_codec_prefs}'); -/*!40000 ALTER TABLE `dingaling_settings` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory` --- - -DROP TABLE IF EXISTS `directory`; -CREATE TABLE `directory` ( - `id` int(11) NOT NULL auto_increment, - `username` varchar(255) NOT NULL, - `domain` varchar(255) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `directory` --- - -LOCK TABLES `directory` WRITE; -/*!40000 ALTER TABLE `directory` DISABLE KEYS */; -INSERT INTO `directory` VALUES (1,'1000','example.com'),(2,'1001','example.org'),(3,'1002','example.net'),(5,'1003','example.info'),(6,'1004','example.com'),(7,'1005','example.org'),(8,'1006','example.net'),(9,'1007','example.info'),(10,'1008','$${domain}'),(11,'1009','$${local_ip_v4}'); -/*!40000 ALTER TABLE `directory` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_domains` --- - -DROP TABLE IF EXISTS `directory_domains`; -CREATE TABLE `directory_domains` ( - `id` int(10) unsigned NOT NULL auto_increment, - `domain_name` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `directory_domains` --- - -LOCK TABLES `directory_domains` WRITE; -/*!40000 ALTER TABLE `directory_domains` DISABLE KEYS */; -INSERT INTO `directory_domains` VALUES (1,'freeswitch.org'),(2,'sofaswitch.org'); -/*!40000 ALTER TABLE `directory_domains` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_gateway_params` --- - -DROP TABLE IF EXISTS `directory_gateway_params`; -CREATE TABLE `directory_gateway_params` ( - `id` int(10) unsigned NOT NULL auto_increment, - `d_gw_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `directory_gateway_params` --- - -LOCK TABLES `directory_gateway_params` WRITE; -/*!40000 ALTER TABLE `directory_gateway_params` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_gateway_params` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_gateways` --- - -DROP TABLE IF EXISTS `directory_gateways`; -CREATE TABLE `directory_gateways` ( - `id` int(10) unsigned NOT NULL auto_increment, - `directory_id` int(10) unsigned NOT NULL, - `gateway_name` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `directory_gateways` --- - -LOCK TABLES `directory_gateways` WRITE; -/*!40000 ALTER TABLE `directory_gateways` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_gateways` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_global_params` --- - -DROP TABLE IF EXISTS `directory_global_params`; -CREATE TABLE `directory_global_params` ( - `id` int(10) unsigned NOT NULL auto_increment, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(128) NOT NULL, - `domain_id` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `directory_global_params` --- - -LOCK TABLES `directory_global_params` WRITE; -/*!40000 ALTER TABLE `directory_global_params` DISABLE KEYS */; -INSERT INTO `directory_global_params` VALUES (1,'default_gateway','errors',1); -/*!40000 ALTER TABLE `directory_global_params` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_global_vars` --- - -DROP TABLE IF EXISTS `directory_global_vars`; -CREATE TABLE `directory_global_vars` ( - `id` int(10) unsigned NOT NULL auto_increment, - `var_name` varchar(64) NOT NULL, - `var_value` varchar(128) NOT NULL, - `domain_id` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `directory_global_vars` --- - -LOCK TABLES `directory_global_vars` WRITE; -/*!40000 ALTER TABLE `directory_global_vars` DISABLE KEYS */; -/*!40000 ALTER TABLE `directory_global_vars` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_params` --- - -DROP TABLE IF EXISTS `directory_params`; -CREATE TABLE `directory_params` ( - `id` int(11) NOT NULL auto_increment, - `directory_id` int(11) default NULL, - `param_name` varchar(255) default NULL, - `param_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `directory_params` --- - -LOCK TABLES `directory_params` WRITE; -/*!40000 ALTER TABLE `directory_params` DISABLE KEYS */; -INSERT INTO `directory_params` VALUES (1,1,'password','1234'),(2,1,'vm-password','861000'),(3,2,'password','1234'),(4,2,'vm-password','861001'),(7,5,'password','1234'),(8,6,'password','1234'),(9,7,'password','1234'),(10,8,'password','1234'),(11,9,'password','1234'),(12,10,'password','1234'),(13,11,'password','1234'),(14,3,'vm-password','861002'),(15,3,'password','1234'),(16,11,'vm-password','861009'),(17,10,'vm-password','861008'),(18,9,'vm-password','861007'),(19,8,'vm-password','861006'),(20,7,'vm-password','861005'),(21,6,'vm-password','861004'),(22,5,'vm-password','861003'); -/*!40000 ALTER TABLE `directory_params` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `directory_vars` --- - -DROP TABLE IF EXISTS `directory_vars`; -CREATE TABLE `directory_vars` ( - `id` int(11) NOT NULL auto_increment, - `directory_id` int(11) default NULL, - `var_name` varchar(255) default NULL, - `var_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `directory_vars` --- - -LOCK TABLES `directory_vars` WRITE; -/*!40000 ALTER TABLE `directory_vars` DISABLE KEYS */; -INSERT INTO `directory_vars` VALUES (1,1,'numbering_plan','US'),(2,2,'numbering_plan','US'),(3,3,'numbering_plan','AU'),(4,5,'numbering_plan','US'),(5,5,'area_code','434'); -/*!40000 ALTER TABLE `directory_vars` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `iax_conf` --- - -DROP TABLE IF EXISTS `iax_conf`; -CREATE TABLE `iax_conf` ( - `id` int(11) NOT NULL auto_increment, - `profile_name` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `iax_conf` --- - -LOCK TABLES `iax_conf` WRITE; -/*!40000 ALTER TABLE `iax_conf` DISABLE KEYS */; -INSERT INTO `iax_conf` VALUES (3,'test_profile'); -/*!40000 ALTER TABLE `iax_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `iax_settings` --- - -DROP TABLE IF EXISTS `iax_settings`; -CREATE TABLE `iax_settings` ( - `id` int(11) NOT NULL auto_increment, - `iax_id` int(11) default NULL, - `param_name` varchar(255) default NULL, - `param_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `iax_settings` --- - -LOCK TABLES `iax_settings` WRITE; -/*!40000 ALTER TABLE `iax_settings` DISABLE KEYS */; -INSERT INTO `iax_settings` VALUES (35,3,'debug','1'),(36,3,'ip','$${local_ip_v4}'),(37,3,'port','4569'),(38,3,'context','public'),(39,3,'dialplan','enum,XML'),(40,3,'codec-prefs','$${global_codec_prefs}'),(41,3,'codec-master','us'),(42,3,'codec-rate','8'); -/*!40000 ALTER TABLE `iax_settings` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `ivr_conf` --- - -DROP TABLE IF EXISTS `ivr_conf`; -CREATE TABLE `ivr_conf` ( - `id` int(10) unsigned NOT NULL auto_increment, - `name` varchar(64) NOT NULL, - `greet_long` varchar(255) NOT NULL, - `greet_short` varchar(255) NOT NULL, - `invalid_sound` varchar(255) NOT NULL, - `exit_sound` varchar(255) NOT NULL, - `max_failures` int(10) unsigned NOT NULL default '3', - `timeout` int(11) NOT NULL default '5', - `tts_engine` varchar(64) default NULL, - `tts_voice` varchar(64) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `ivr_conf` --- - -LOCK TABLES `ivr_conf` WRITE; -/*!40000 ALTER TABLE `ivr_conf` DISABLE KEYS */; -INSERT INTO `ivr_conf` VALUES (1,'demo','soundfiles/ivr/demo/greet-long.wav','soundfiles/ivr/demo/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,'cepstral','allison'),(2,'demo2','soundfiles/ivr/demo2/greet-long.wav','soundfiles/ivr/demo2/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,NULL,NULL),(3,'menu8','soundfiles/ivr/menu8/greet-long.wav','soundfiles/ivr/menu8/greet-short.wav','soundfiles/ivr/menu8/invalid.wav','soundfiles/ivr/menu8/exit.wav',3,5,NULL,NULL); -/*!40000 ALTER TABLE `ivr_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `ivr_entries` --- - -DROP TABLE IF EXISTS `ivr_entries`; -CREATE TABLE `ivr_entries` ( - `id` int(10) unsigned NOT NULL auto_increment, - `ivr_id` int(10) unsigned NOT NULL, - `action` varchar(64) NOT NULL, - `digits` varchar(16) NOT NULL, - `params` varchar(255) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`) -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `ivr_entries` --- - -LOCK TABLES `ivr_entries` WRITE; -/*!40000 ALTER TABLE `ivr_entries` DISABLE KEYS */; -INSERT INTO `ivr_entries` VALUES (1,1,'menu-play-sound','1','soundfiles/features.wav'),(2,1,'menu-exit','*',NULL),(3,1,'menu-sub','2','demo2'),(4,1,'menu-exec-api','3','bridge sofia/$${domain}/888 at conference.freeswtich.org'),(5,1,'menu-call-transfer','4','888'),(6,2,'menu-back','#',NULL),(7,2,'menu-top','*',NULL),(8,3,'menu-back','#',NULL),(9,3,'menu-top','*',NULL),(10,3,'menu-playsound','4','soundfiles/4.wav'); -/*!40000 ALTER TABLE `ivr_entries` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `limit_conf` --- - -DROP TABLE IF EXISTS `limit_conf`; -CREATE TABLE `limit_conf` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(255) default NULL, - `value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `limit_conf` --- - -LOCK TABLES `limit_conf` WRITE; -/*!40000 ALTER TABLE `limit_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `limit_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `limit_data` --- - -DROP TABLE IF EXISTS `limit_data`; -CREATE TABLE `limit_data` ( - `hostname` varchar(255) default NULL, - `realm` varchar(255) default NULL, - `id` varchar(255) default NULL, - `uuid` varchar(255) default NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `limit_data` --- - -LOCK TABLES `limit_data` WRITE; -/*!40000 ALTER TABLE `limit_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `limit_data` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `local_stream_conf` --- - -DROP TABLE IF EXISTS `local_stream_conf`; -CREATE TABLE `local_stream_conf` ( - `id` int(11) NOT NULL auto_increment, - `directory_name` varchar(255) default NULL, - `directory_path` text, - `param_name` varchar(255) default NULL, - `param_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `local_stream_conf` --- - -LOCK TABLES `local_stream_conf` WRITE; -/*!40000 ALTER TABLE `local_stream_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `local_stream_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `modless_conf` --- - -DROP TABLE IF EXISTS `modless_conf`; -CREATE TABLE `modless_conf` ( - `id` int(10) unsigned NOT NULL auto_increment, - `conf_name` varchar(64) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `modless_conf` --- - -LOCK TABLES `modless_conf` WRITE; -/*!40000 ALTER TABLE `modless_conf` DISABLE KEYS */; -INSERT INTO `modless_conf` VALUES (1,'acl.conf'),(2,'postload_switch.conf'),(3,'mod_post_load_modules.conf'); -/*!40000 ALTER TABLE `modless_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `post_load_modules_conf` --- - -DROP TABLE IF EXISTS `post_load_modules_conf`; -CREATE TABLE `post_load_modules_conf` ( - `id` int(10) unsigned NOT NULL auto_increment, - `module_name` varchar(64) NOT NULL, - `load_module` tinyint(1) NOT NULL default '1', - `priority` int(10) unsigned NOT NULL default '1000', - PRIMARY KEY (`id`), - UNIQUE KEY `unique_mod` (`module_name`) -) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `post_load_modules_conf` --- - -LOCK TABLES `post_load_modules_conf` WRITE; -/*!40000 ALTER TABLE `post_load_modules_conf` DISABLE KEYS */; -INSERT INTO `post_load_modules_conf` VALUES (1,'mod_sofia',1,2000),(2,'mod_iax',1,2000),(3,'mod_xml_rpc',1,100),(4,'mod_portaudio',1,1000),(5,'mod_enum',1,2000),(6,'mod_xml_cdr',1,1000),(7,'mod_spidermonkey',1,1000),(8,'mod_alsa',0,1000),(9,'mod_log_file',1,0),(10,'mod_commands',1,1000),(11,'mod_voicemail',1,1000),(12,'mod_dialplan_xml',1,150),(13,'mod_dialplan_asterisk',1,150),(14,'mod_openzap',0,1000),(15,'mod_woomera',0,1000),(17,'mod_speex',1,500),(18,'mod_ilbc',0,1000),(20,'mod_g723_1',1,500),(21,'mod_g729',1,500),(22,'mod_g722',1,500),(23,'mod_g726',1,500),(25,'mod_amr',1,500),(26,'mod_fifo',1,1000),(27,'mod_limit',1,1000),(28,'mod_syslog',1,0),(29,'mod_dingaling',1,2000),(30,'mod_cdr_csv',1,1000),(31,'mod_event_socket',1,100),(32,'mod_multicast',0,1000),(33,'mod_zeroconf',0,1000),(34,'mod_xmpp_event',0,1000),(35,'mod_sndfile',1,1000),(36,'mod_native_file',1,1000),(37,'mod_shout',1,1000),(38,'mod_local_stream',1,1000),(39,'mod_perl',0,1000),(40,'mod_python',0,1000),(41,'mod_java',0,1000),(42,'mod_cepstral',0,1000),(43,'mod_openmrcp',0,1000),(44,'mod_lumenvox',0,1000),(45,'mod_rss',0,1000),(46,'mod_say_de',1,1000),(47,'mod_say_fr',0,1000),(48,'mod_say_en',1,1000),(49,'mod_conference',1,1000),(50,'mod_ivr',0,1000),(51,'mod_console',1,0),(52,'mod_dptools',1,1500),(53,'mod_voipcodecs',1,500); -/*!40000 ALTER TABLE `post_load_modules_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `rss_conf` --- - -DROP TABLE IF EXISTS `rss_conf`; -CREATE TABLE `rss_conf` ( - `id` int(11) NOT NULL auto_increment, - `directory_id` int(11) NOT NULL, - `feed` text NOT NULL, - `local_file` text NOT NULL, - `description` text, - `priority` int(11) NOT NULL default '1000', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; - --- --- Dumping data for table `rss_conf` --- - -LOCK TABLES `rss_conf` WRITE; -/*!40000 ALTER TABLE `rss_conf` DISABLE KEYS */; -/*!40000 ALTER TABLE `rss_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sip_authentication` --- - -DROP TABLE IF EXISTS `sip_authentication`; -CREATE TABLE `sip_authentication` ( - `nonce` varchar(255) default NULL, - `expires` int(11) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sip_authentication` --- - -LOCK TABLES `sip_authentication` WRITE; -/*!40000 ALTER TABLE `sip_authentication` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_authentication` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sip_dialogs` --- - -DROP TABLE IF EXISTS `sip_dialogs`; -CREATE TABLE `sip_dialogs` ( - `call_id` varchar(255) default NULL, - `uuid` varchar(255) default NULL, - `sip_to_user` varchar(255) default NULL, - `sip_to_host` varchar(255) default NULL, - `sip_from_user` varchar(255) default NULL, - `sip_from_host` varchar(255) default NULL, - `contact_user` varchar(255) default NULL, - `contact_host` varchar(255) default NULL, - `state` varchar(255) default NULL, - `direction` varchar(255) default NULL, - `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sip_dialogs` --- - -LOCK TABLES `sip_dialogs` WRITE; -/*!40000 ALTER TABLE `sip_dialogs` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_dialogs` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sip_registrations` --- - -DROP TABLE IF EXISTS `sip_registrations`; -CREATE TABLE `sip_registrations` ( - `call_id` varchar(255) default NULL, - `sip_user` varchar(255) default NULL, - `sip_host` varchar(255) default NULL, - `contact` varchar(1024) default NULL, - `status` varchar(255) default NULL, - `rpid` varchar(255) default NULL, - `expires` int(11) default NULL, - `user_agent` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sip_registrations` --- - -LOCK TABLES `sip_registrations` WRITE; -/*!40000 ALTER TABLE `sip_registrations` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_registrations` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sip_subscriptions` --- - -DROP TABLE IF EXISTS `sip_subscriptions`; -CREATE TABLE `sip_subscriptions` ( - `proto` varchar(255) default NULL, - `sip_user` varchar(255) default NULL, - `sip_host` varchar(255) default NULL, - `sub_to_user` varchar(255) default NULL, - `sub_to_host` varchar(255) default NULL, - `event` varchar(255) default NULL, - `contact` varchar(1024) default NULL, - `call_id` varchar(255) default NULL, - `full_from` varchar(255) default NULL, - `full_via` varchar(255) default NULL, - `expires` int(11) default NULL, - `user_agent` varchar(255) default NULL, - `accept` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sip_subscriptions` --- - -LOCK TABLES `sip_subscriptions` WRITE; -/*!40000 ALTER TABLE `sip_subscriptions` DISABLE KEYS */; -/*!40000 ALTER TABLE `sip_subscriptions` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sofia_aliases` --- - -DROP TABLE IF EXISTS `sofia_aliases`; -CREATE TABLE `sofia_aliases` ( - `id` int(10) unsigned NOT NULL auto_increment, - `sofia_id` int(10) unsigned NOT NULL, - `alias_name` varchar(255) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sofia_aliases` --- - -LOCK TABLES `sofia_aliases` WRITE; -/*!40000 ALTER TABLE `sofia_aliases` DISABLE KEYS */; -INSERT INTO `sofia_aliases` VALUES (1,1,'default'),(3,1,'sip.example.com'); -/*!40000 ALTER TABLE `sofia_aliases` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sofia_conf` --- - -DROP TABLE IF EXISTS `sofia_conf`; -CREATE TABLE `sofia_conf` ( - `id` int(11) NOT NULL auto_increment, - `profile_name` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sofia_conf` --- - -LOCK TABLES `sofia_conf` WRITE; -/*!40000 ALTER TABLE `sofia_conf` DISABLE KEYS */; -INSERT INTO `sofia_conf` VALUES (1,'$${domain}'); -/*!40000 ALTER TABLE `sofia_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sofia_domains` --- - -DROP TABLE IF EXISTS `sofia_domains`; -CREATE TABLE `sofia_domains` ( - `id` int(11) NOT NULL auto_increment, - `sofia_id` int(11) default NULL, - `domain_name` varchar(255) default NULL, - `parse` tinyint(1) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sofia_domains` --- - -LOCK TABLES `sofia_domains` WRITE; -/*!40000 ALTER TABLE `sofia_domains` DISABLE KEYS */; -/*!40000 ALTER TABLE `sofia_domains` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sofia_gateways` --- - -DROP TABLE IF EXISTS `sofia_gateways`; -CREATE TABLE `sofia_gateways` ( - `id` int(11) NOT NULL auto_increment, - `sofia_id` int(11) default NULL, - `gateway_name` varchar(255) default NULL, - `gateway_param` varchar(255) default NULL, - `gateway_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sofia_gateways` --- - -LOCK TABLES `sofia_gateways` WRITE; -/*!40000 ALTER TABLE `sofia_gateways` DISABLE KEYS */; -INSERT INTO `sofia_gateways` VALUES (8,1,'default','proxy','asterlink.com'),(9,1,'default','realm','asterlink.com'),(10,1,'default','username','USERNAME_HERE'),(11,1,'default','register','false'),(12,1,'default','expire-seconds','60'),(13,1,'default','retry_seconds','2'),(14,1,'default','password','PASSWORD_HERE'); -/*!40000 ALTER TABLE `sofia_gateways` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `sofia_settings` --- - -DROP TABLE IF EXISTS `sofia_settings`; -CREATE TABLE `sofia_settings` ( - `id` int(11) NOT NULL auto_increment, - `sofia_id` int(11) default NULL, - `param_name` varchar(255) default NULL, - `param_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `sofia_settings` --- - -LOCK TABLES `sofia_settings` WRITE; -/*!40000 ALTER TABLE `sofia_settings` DISABLE KEYS */; -INSERT INTO `sofia_settings` VALUES (1,1,'user-agent-string','RayUA 2.0pre4'),(2,1,'auth-calls','true'),(5,1,'debug','1'),(6,1,'rfc2833-pt','101'),(7,1,'sip-port','5060'),(8,1,'dialplan','XML'),(9,1,'dtmf-duration','100'),(10,1,'codec-prefs','$${global_codec_prefs}'),(11,1,'rtp-timeout-sec','300'),(12,1,'rtp-ip','$${local_ip_v4}'),(13,1,'sip-ip','$${local_ip_v4}'),(14,1,'context','default'),(15,1,'manage-presence','true'),(16,1,'force-register-domain','intralanman.servehttp.com'),(17,1,'inbound-codec-negotiation','generous'),(18,1,'rtp-rewrite-timestampes','true'),(19,1,'nonce-ttl','60'),(20,1,'vad','out'),(36,1,'odbc-dsn','freeswitch-mysql:freeswitch:Fr33Sw1tch'); -/*!40000 ALTER TABLE `sofia_settings` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `voicemail_conf` --- - -DROP TABLE IF EXISTS `voicemail_conf`; -CREATE TABLE `voicemail_conf` ( - `id` int(10) unsigned NOT NULL auto_increment, - `vm_profile` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_profile` (`vm_profile`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `voicemail_conf` --- - -LOCK TABLES `voicemail_conf` WRITE; -/*!40000 ALTER TABLE `voicemail_conf` DISABLE KEYS */; -INSERT INTO `voicemail_conf` VALUES (1,'default'); -/*!40000 ALTER TABLE `voicemail_conf` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `voicemail_email` --- - -DROP TABLE IF EXISTS `voicemail_email`; -CREATE TABLE `voicemail_email` ( - `id` int(10) unsigned NOT NULL auto_increment, - `voicemail_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `voicemail_email` --- - -LOCK TABLES `voicemail_email` WRITE; -/*!40000 ALTER TABLE `voicemail_email` DISABLE KEYS */; -INSERT INTO `voicemail_email` VALUES (1,1,'template-file','voicemail.tpl'),(2,1,'date-fmt','%A, %B %d %Y, %I %M %p'),(3,1,'email-from','${voicemail_account}@${voicemail_domain}'); -/*!40000 ALTER TABLE `voicemail_email` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `voicemail_settings` --- - -DROP TABLE IF EXISTS `voicemail_settings`; -CREATE TABLE `voicemail_settings` ( - `id` int(11) NOT NULL auto_increment, - `voicemail_id` int(11) default NULL, - `param_name` varchar(255) default NULL, - `param_value` varchar(255) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=latin1; - --- --- Dumping data for table `voicemail_settings` --- - -LOCK TABLES `voicemail_settings` WRITE; -/*!40000 ALTER TABLE `voicemail_settings` DISABLE KEYS */; -INSERT INTO `voicemail_settings` VALUES (1,1,'file-extension','wav'),(2,1,'terminator-key','#'),(3,1,'max-login-attempts','3'),(4,1,'digit-timeout','10000'),(5,1,'max-record-length','300'),(6,1,'tone-spec','%(1000, 0, 640)'),(7,1,'callback-dialplan','XML'),(8,1,'callback-context','default'),(9,1,'play-new-messages-key','1'),(10,1,'play-saved-messages-key','2'),(11,1,'main-menu-key','*'),(12,1,'config-menu-key','5'),(13,1,'record-greeting-key','1'),(14,1,'choose-greeting-key','2'),(15,1,'record-file-key','3'),(16,1,'listen-file-key','1'),(17,1,'record-name-key','3'),(18,1,'save-file-key','9'),(19,1,'delete-file-key','7'),(20,1,'undelete-file-key','8'),(21,1,'email-key','4'),(22,1,'pause-key','0'),(23,1,'restart-key','1'),(24,1,'ff-key','6'),(25,1,'rew-key','4'),(26,1,'record-silence-threshold','200'),(27,1,'record-silence-hits','2'),(28,1,'web-template-file','web-vm.tpl'),(29,1,'operator-extension','operator XML default'),(30,1,'operator-key','9'); -/*!40000 ALTER TABLE `voicemail_settings` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2008-07-25 0:11:32 +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:35 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `freeswitch` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_lists` +-- + +CREATE TABLE IF NOT EXISTS `acl_lists` ( + `id` int(10) unsigned NOT NULL auto_increment, + `acl_name` varchar(128) NOT NULL, + `default_policy` varchar(45) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `acl_lists` +-- + +INSERT INTO `acl_lists` (`id`, `acl_name`, `default_policy`) VALUES +(1, 'rfc1918', 'deny'), +(2, 'lan', 'allow'), +(3, 'default', 'allow'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS `acl_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `cidr` varchar(45) NOT NULL, + `type` varchar(16) NOT NULL, + `list_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `acl_nodes` +-- + +INSERT INTO `acl_nodes` (`id`, `cidr`, `type`, `list_id`) VALUES +(1, '192.168.0.0/16', 'allow', 1), +(2, '10.0.0.0/8', 'allow', 1), +(3, '172.16.0.0/12', 'allow', 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_advertise` +-- + +CREATE TABLE IF NOT EXISTS `conference_advertise` ( + `id` int(10) unsigned NOT NULL auto_increment, + `room` varchar(64) NOT NULL, + `status` varchar(128) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_room` (`room`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `conference_advertise` +-- + +INSERT INTO `conference_advertise` (`id`, `room`, `status`) VALUES +(1, '3000@$${domain}', 'Freeswitch Conference'), +(2, '3001@$${domain}', 'FreeSWITCH Conference 2'), +(3, '3002@$${domain}', 'FreeSWITCH Conference 3'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_controls` +-- + +CREATE TABLE IF NOT EXISTS `conference_controls` ( + `id` int(10) unsigned NOT NULL auto_increment, + `conf_group` varchar(64) NOT NULL, + `action` varchar(64) NOT NULL, + `digits` varchar(16) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ; + +-- +-- Dumping data for table `conference_controls` +-- + +INSERT INTO `conference_controls` (`id`, `conf_group`, `action`, `digits`) VALUES +(1, 'default', 'mute', '0'), +(2, 'default', 'deaf_mute', '*'), +(3, 'default', 'energy up', '9'), +(4, 'default', 'energy equ', '8'), +(5, 'default', 'energy dn', '7'), +(6, 'default', 'vol talk up', '3'), +(7, 'default', 'vol talk dn', '1'), +(8, 'default', 'vol talk zero', '2'), +(9, 'default', 'vol listen up', '6'), +(10, 'default', 'vol listen dn', '4'), +(11, 'default', 'vol listen zero', '5'), +(12, 'default', 'hangup', '#'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_profiles` +-- + +CREATE TABLE IF NOT EXISTS `conference_profiles` ( + `id` int(10) unsigned NOT NULL auto_increment, + `profile_name` varchar(64) NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + KEY `unique_profile_param` (`profile_name`,`param_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; + +-- +-- Dumping data for table `conference_profiles` +-- + +INSERT INTO `conference_profiles` (`id`, `profile_name`, `param_name`, `param_value`) VALUES +(1, 'default', 'domain', '$${domain}'), +(2, 'default', 'rate', '8000'), +(3, 'default', 'interval', '20'), +(4, 'default', 'energy-level', '300'), +(5, 'default', 'moh-sound', '$${moh_uri}'), +(6, 'default', 'caller-id-name', '$${outbound_caller_name}'), +(7, 'default', 'caller-id-number', '$${outbound_caller_number}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan` +-- + +CREATE TABLE IF NOT EXISTS `dialplan` ( + `dialplan_id` int(11) NOT NULL auto_increment, + `domain` varchar(128) NOT NULL, + `ip_address` varchar(15) NOT NULL, + PRIMARY KEY (`dialplan_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `dialplan` +-- + +INSERT INTO `dialplan` (`dialplan_id`, `domain`, `ip_address`) VALUES +(1, 'freeswitch', '127.0.0.1'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_actions` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_actions` ( + `action_id` int(11) NOT NULL auto_increment, + `condition_id` int(11) NOT NULL, + `application` varchar(256) NOT NULL, + `data` varchar(256) NOT NULL, + `type` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`action_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=170 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + +INSERT INTO `dialplan_actions` (`action_id`, `condition_id`, `application`, `data`, `type`, `weight`) VALUES +(1, 2, 'deflect', '${destination_number}', 'action', 10), +(2, 5, 'set', 'domain_name=$${domain}', 'action', 20), +(3, 5, 'set', 'domain_name=${sip_auth_realm}', 'anti-action', 30), +(4, 7, 'set', 'domain_name=$${domain}', 'action', 40), +(5, 9, 'set', 'open=true', 'action', 50), +(6, 10, 'answer', '', 'action', 60), +(7, 10, 'intercept', '${db(select/${domain_name}-last_dial/global)}', 'action', 70), +(8, 10, 'sleep', '2000', 'action', 80), +(9, 11, 'answer', '', 'action', 90), +(10, 11, 'intercept', '${db(select/${domain_name}-last_dial/${callgroup})}', 'action', 100), +(11, 11, 'sleep', '2000', 'action', 110), +(12, 12, 'answer', '', 'action', 120), +(13, 12, 'intercept', '${db(select/${domain_name}-last_dial_ext/$1)}', 'action', 130), +(14, 12, 'sleep', '2000', 'action', 140), +(15, 13, 'transfer', '${db(select/${domain_name}-last_dial/${caller_id_number})}', 'action', 150), +(16, 14, 'set', 'use_profile=${cond(${acl($${local_ip_v4} rfc1918)} == true ? nat : default)}', 'action', 160), +(17, 14, 'set', 'use_profile=${cond(${acl(${network_addr} rfc1918)} == true ? nat : default)}', 'anti-action', 170), +(18, 15, 'set_user', 'default@${domain_name}', 'action', 180), +(19, 16, 'info', '', 'action', 190), +(20, 17, 'set', 'sip_secure_media=true', 'action', 200), +(21, 18, 'db', 'insert/${domain_name}-spymap/${caller_id_number}/${uuid}', 'action', 210), +(22, 18, 'db', 'insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}', 'action', 220), +(23, 18, 'db', 'insert/${domain_name}-last_dial/global/${uuid}', 'action', 230), +(24, 19, 'eval', '${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}', 'action', 240), +(25, 19, 'transfer', '3000', 'action', 250), +(26, 20, 'eval', '${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}', 'action', 260), +(27, 20, 'playback', '$${hold_music}', 'action', 270), +(28, 21, 'answer', '', 'action', 280), +(29, 21, 'eavesdrop', '${db(select/${domain_name}-spymap/$1)}', 'action', 290), +(30, 22, 'answer', '', 'action', 300), +(31, 22, 'set', 'eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)', 'action', 310), +(32, 22, 'set', 'eavesdrop_indicate_new=tone_stream://%(500, 0, 620)', 'action', 320), +(33, 22, 'set', 'eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)', 'action', 330), +(34, 22, 'eavesdrop', 'all', 'action', 340), +(35, 23, 'transfer', '${db(select/${domain_name}-call_return/${caller_id_number})}', 'action', 350), +(36, 24, 'answer', '', 'action', 360), +(37, 24, 'group', 'delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 370), +(38, 24, 'gentones', '%(1000, 0, 320)', 'action', 380), +(39, 25, 'answer', '', 'action', 390), +(40, 25, 'group', 'insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 400), +(41, 25, 'gentones', '%(1000, 0, 640)', 'action', 410), +(42, 26, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name})}', 'action', 420), +(43, 27, 'set', 'call_timeout=10', 'action', 430), +(44, 27, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name}:order)}', 'action', 440), +(45, 28, 'set', 'dialed_extension=$1', 'action', 450), +(46, 28, 'export', 'sip_auto_answer=true', 'action', 460), +(47, 28, 'bridge', 'user/${dialed_extension}@${domain_name}', 'action', 470), +(48, 29, 'set', 'dialed_extension=$1', 'action', 480), +(49, 29, 'export', 'dialed_extension=$1', 'action', 490), +(50, 30, 'set', 'voicemail_authorized=${sip_authorized}', 'action', 500), +(51, 30, 'answer', '', 'action', 510), +(52, 30, 'sleep', '1000', 'action', 520), +(53, 30, 'voicemail', 'check default ${domain_name} ${dialed_extension}', 'action', 530), +(54, 30, 'bind_meta_app', '1 b s execute_extension::dx XML features', 'anti-action', 540), +(55, 30, 'bind_meta_app', '2 b s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav', 'anti-action', 550), +(56, 30, 'bind_meta_app', '3 b s execute_extension::cf XML features', 'anti-action', 560), +(57, 30, 'set', 'ringback=${us-ring}', 'anti-action', 570), +(58, 30, 'set', 'transfer_ringback=$${hold_music}', 'anti-action', 580), +(59, 30, 'set', 'call_timeout=30', 'anti-action', 590), +(60, 30, 'set', 'hangup_after_bridge=true', 'anti-action', 600), +(61, 30, 'set', 'continue_on_fail=true', 'anti-action', 610), +(62, 30, 'db', 'insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}', 'anti-action', 620), +(63, 30, 'db', 'insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}', 'anti-action', 630), +(64, 30, 'set', 'called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}', 'anti-action', 640), +(65, 30, 'db', 'insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}', 'anti-action', 650), +(66, 30, 'bridge', 'user/${dialed_extension}@${domain_name}', 'anti-action', 660), +(67, 30, 'answer', '', 'anti-action', 670), +(68, 30, 'sleep', '1000', 'anti-action', 680), +(69, 30, 'voicemail', 'default ${domain_name} ${dialed_extension}', 'anti-action', 690), +(70, 31, 'bridge', '${group_call(sales@${domain_name})}', 'action', 700), +(71, 32, 'bridge', 'group/support@${domain_name}', 'action', 710), +(72, 33, 'bridge', 'group/billing@${domain_name}', 'action', 720), +(73, 34, 'set', 'transfer_ringback=$${hold_music}', 'action', 730), +(74, 34, 'transfer', '1000 XML features', 'action', 740), +(75, 35, 'answer', '', 'action', 750), +(76, 35, 'sleep', '1000', 'action', 760), +(77, 35, 'voicemail', 'check default ${domain_name}', 'action', 770), +(78, 36, 'bridge', 'sofia/${use_profile}/$1', 'action', 780), +(79, 37, 'answer', '', 'action', 790), +(80, 37, 'conference', '$1-${domain_name}@default', 'action', 800), +(81, 38, 'answer', '', 'action', 810), +(82, 38, 'conference', '$1-${domain_name}@wideband', 'action', 820), +(83, 39, 'answer', '', 'action', 830), +(84, 39, 'conference', '$1-${domain_name}@ultrawideband', 'action', 840), +(85, 40, 'answer', '', 'action', 850), +(86, 40, 'conference', '$1-${domain_name}@cdquality', 'action', 860), +(87, 41, 'bridge', 'sofia/${use_profile}/$1 at conference.freeswitch.org', 'action', 870), +(88, 42, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss1', 'action', 880), +(89, 42, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 890), +(90, 42, 'set', 'conference_auto_outcall_timeout=60', 'action', 900), +(91, 42, 'set', 'conference_auto_outcall_flags=mute', 'action', 910), +(92, 42, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 920), +(93, 42, 'set', 'sip_exclude_contact=${network_addr}', 'action', 930), +(94, 42, 'conference_set_auto_outcall', '${group_call(sales)}', 'action', 940), +(95, 42, 'conference', 'madboss_intercom1 at default+flags{endconf|deaf}', 'action', 950), +(96, 43, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss2', 'action', 960), +(97, 43, 'set', 'conference_auto_outcall_caller_id_number=0912', 'action', 970), +(98, 43, 'set', 'conference_auto_outcall_timeout=60', 'action', 980), +(99, 43, 'set', 'conference_auto_outcall_flags=mute', 'action', 990), +(100, 43, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 1000), +(101, 43, 'set', 'sip_exclude_contact=${network_addr}', 'action', 1010), +(102, 43, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1020), +(103, 43, 'conference', 'madboss_intercom2 at default+flags{endconf|deaf}', 'action', 1030), +(104, 44, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss', 'action', 1040), +(105, 44, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 1050), +(106, 44, 'set', 'conference_auto_outcall_timeout=60', 'action', 1060), +(107, 44, 'set', 'conference_auto_outcall_flags=none', 'action', 1070), +(108, 44, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1080), +(109, 44, 'conference', 'madboss3 at default', 'action', 1090), +(110, 45, 'answer', '', 'action', 1100), +(111, 45, 'sleep', '2000', 'action', 1110), +(112, 45, 'ivr', 'demo_ivr', 'action', 1120), +(113, 46, 'conference', 'bridge:mydynaconf:sofia/${use_profile}/1234 at conference.freeswitch.org', 'action', 1130), +(114, 47, 'answer', '', 'action', 1140), +(115, 47, 'esf_page_group', '', 'action', 1150), +(116, 48, 'set', 'fifo_music=$${hold_music}', 'action', 1160), +(117, 48, 'fifo', '5900@${domain_name} in', 'action', 1170), +(118, 49, 'answer', '', 'action', 1180), +(119, 49, 'fifo', '5900@${domain_name} out nowait', 'action', 1190), +(120, 51, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1200), +(121, 54, 'answer', '', 'action', 1210), +(122, 54, 'fifo', '$1@${domain_name} out nowait', 'action', 1220), +(123, 57, '', '', 'expression', 1230), +(124, 57, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1240), +(125, 60, 'answer', '', 'action', 1250), +(126, 60, 'fifo', '$1@${domain_name} out nowait', 'action', 1260), +(127, 61, 'pre_answer', '', 'action', 1270), +(128, 61, 'sleep', '20000', 'action', 1280), +(129, 61, 'answer', '', 'action', 1290), +(130, 61, 'sleep', '1000', 'action', 1300), +(131, 61, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1310), +(132, 61, 'hangup', '', 'action', 1320), +(133, 62, 'ring_ready', '', 'action', 1330), +(134, 62, 'sleep', '20000', 'action', 1340), +(135, 62, 'answer', '', 'action', 1350), +(136, 62, 'sleep', '1000', 'action', 1360), +(137, 62, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1370), +(138, 62, 'hangup', '', 'action', 1380), +(139, 63, 'set', 'ringback=$${uk-ring}', 'action', 1390), +(140, 63, 'bridge', 'loopback/wait', 'action', 1400), +(141, 64, 'set', 'ringback=$${hold_music}', 'action', 1410), +(142, 64, 'bridge', 'loopback/wait', 'action', 1420), +(143, 65, 'set', 'transfer_ringback=$${uk-ring}', 'action', 1430), +(144, 65, 'answer', '', 'action', 1440), +(145, 65, 'bridge', 'loopback/wait', 'action', 1450), +(146, 66, 'set', 'transfer_ringback=$${hold_music}', 'action', 1460), +(147, 66, 'answer', '', 'action', 1470), +(148, 66, 'bridge', 'loopback/wait', 'action', 1480), +(149, 67, 'answer', '', 'action', 1490), +(150, 67, 'info', '', 'action', 1500), +(151, 67, 'sleep', '250', 'action', 1510), +(152, 67, 'hangup', '', 'action', 1520), +(153, 68, 'answer', '', 'action', 1530), +(154, 68, 'record_fsv', '/tmp/testrecord.fsv', 'action', 1540), +(155, 69, 'answer', '', 'action', 1550), +(156, 69, 'play_fsv', '/tmp/testrecord.fsv', 'action', 1560), +(157, 70, 'answer', '', 'action', 1570), +(158, 70, 'delay_echo', '5000', 'action', 1580), +(159, 71, 'answer', '', 'action', 1590), +(160, 71, 'echo', '', 'action', 1600), +(161, 72, 'answer', '', 'action', 1610), +(162, 72, 'playback', 'tone_stream://%(10000,0,1004);loops=-1', 'action', 1620), +(163, 73, 'answer', '', 'action', 1630), +(164, 73, 'playback', 'tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10', 'action', 1640), +(165, 75, 'answer', '', 'action', 1650), +(166, 75, 'execute_extension', 'is_secure XML features', 'action', 1660), +(167, 75, 'playback', '$${hold_music}', 'action', 1670), +(168, 75, 'answer', '', 'anti-action', 1680), +(169, 75, 'playback', '$${hold_music}', 'anti-action', 1690); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_condition` ( + `condition_id` int(11) NOT NULL auto_increment, + `extension_id` int(11) NOT NULL, + `field` varchar(1238) NOT NULL, + `expression` varchar(128) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`condition_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=76 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + +INSERT INTO `dialplan_condition` (`condition_id`, `extension_id`, `field`, `expression`, `weight`) VALUES +(1, 1, '$${unroll_loops}', '^true$', 10), +(2, 1, '${sip_looped_call}', '^true$', 20), +(3, 2, '${domain_name}', '^$', 30), +(4, 2, 'source', 'mod_sofia', 40), +(5, 2, '${sip_auth_realm}', '^$', 50), +(6, 3, '${domain_name}', '^$', 60), +(7, 3, 'source', 'mod_openzap', 70), +(8, 4, '${strftime(%w)}', '^([1-5])$', 80), +(9, 4, '${strftime(%H%M)}', '^((09|1[0-7])[0-5][0-9]|1800)$', 90), +(10, 5, 'destination_number', '^886$', 100), +(11, 6, 'destination_number', '^\\*8$', 110), +(12, 7, 'destination_number', '^\\*\\*(\\d+)$', 120), +(13, 8, 'destination_number', '^870$', 130), +(14, 9, '${network_addr}', '^$', 140), +(15, 9, '${numbering_plan}', '^$', 150), +(16, 9, '${call_debug}', '^true$', 160), +(17, 9, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 170), +(18, 9, '', '', 180), +(19, 10, 'destination_number', '^9001$', 190), +(20, 11, 'destination_number', '^9000$', 200), +(21, 12, 'destination_number', '^88(.*)$|^\\*0(.*)$', 210), +(22, 13, 'destination_number', '^779$', 220), +(23, 14, 'destination_number', '^\\*69$|^869$|^lcr$', 230), +(24, 15, 'destination_number', '^80(\\d{2})$', 240), +(25, 16, 'destination_number', '^81(\\d{2})$', 250), +(26, 17, 'destination_number', '^82(\\d{2})$', 260), +(27, 18, 'destination_number', '^83(\\d{2})$', 270), +(28, 19, 'destination_number', '^8(10[01][0-9])$', 280), +(29, 20, 'destination_number', '^(20[01][0-9])$', 290), +(30, 20, 'destination_number', '^${caller_id_number}$', 300), +(31, 21, 'destination_number', '^3000$', 310), +(32, 22, 'destination_number', '^3001$', 320), +(33, 23, 'destination_number', '^3002$', 330), +(34, 24, 'destination_number', '^operator$|^0$', 340), +(35, 25, 'destination_number', '^vmain|4000$', 350), +(36, 26, 'destination_number', '^sip:(.*)$', 360), +(37, 27, 'destination_number', '^(30\\d{2})$', 370), +(38, 28, 'destination_number', '^(31\\d{2})$', 380), +(39, 29, 'destination_number', '^(32\\d{2})$', 390), +(40, 30, 'destination_number', '^(33\\d{2})$', 400), +(41, 31, 'destination_number', '^9(888|1616|3232)$', 410), +(42, 32, 'destination_number', '^0911$', 420), +(43, 33, 'destination_number', '^0912$', 430), +(44, 34, 'destination_number', '^0913$', 440), +(45, 35, 'destination_number', '^5000$', 450), +(46, 36, 'destination_number', '^5001$', 460), +(47, 37, 'destination_number', '^pagegroup$|^7243', 470), +(48, 38, 'destination_number', '^5900$', 480), +(49, 39, 'destination_number', '^5901$', 490), +(50, 40, 'source', 'mod_sofia', 500), +(51, 40, 'destination_number', 'park\\+(\\d+)', 510), +(52, 41, 'source', 'mod_sofia', 520), +(53, 41, 'destination_number', '^parking$', 530), +(54, 41, '${sip_to_params}', 'fifo\\=(\\d+)', 540), +(55, 42, 'source', 'mod_sofia', 550), +(56, 42, 'destination_number', 'callpark', 560), +(57, 42, '${sip_refer_to}', '', 570), +(58, 43, 'source', 'mod_sofia', 580), +(59, 43, 'destination_number', 'pickup', 590), +(60, 43, '${sip_to_params}', 'orbit\\=(\\d+)', 600), +(61, 44, 'destination_number', '^wait$', 610), +(62, 45, 'destination_number', '^9980$', 620), +(63, 46, 'destination_number', '^9981$', 630), +(64, 47, 'destination_number', '^9982$', 640), +(65, 48, 'destination_number', '^9983$', 650), +(66, 49, 'destination_number', '^9984$', 660), +(67, 50, 'destination_number', '^9992$', 670), +(68, 51, 'destination_number', '^9993$', 680), +(69, 52, 'destination_number', '^9994$', 690), +(70, 53, 'destination_number', '^9995$', 700), +(71, 54, 'destination_number', '^9996$', 710), +(72, 55, 'destination_number', '^9997$', 720), +(73, 56, 'destination_number', '^9998$', 730), +(74, 57, 'destination_number', '^9999$', 740), +(75, 57, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 750); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_context` ( + `context_id` int(11) NOT NULL auto_increment, + `dialplan_id` int(11) NOT NULL, + `context` varchar(64) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`context_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `dialplan_context` +-- + +INSERT INTO `dialplan_context` (`context_id`, `dialplan_id`, `context`, `weight`) VALUES +(1, 1, 'default', 10), +(2, 1, 'public', 20); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_extension` ( + `extension_id` int(11) NOT NULL auto_increment, + `context_id` int(11) NOT NULL, + `name` varchar(128) NOT NULL, + `continue` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`extension_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=58 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + +INSERT INTO `dialplan_extension` (`extension_id`, `context_id`, `name`, `continue`, `weight`) VALUES +(1, 1, 'unloop', '', 10), +(2, 1, 'set_domain', 'true', 20), +(3, 1, 'set_domain_openzap', 'true', 30), +(4, 1, 'tod_example', 'true', 40), +(5, 1, 'global-intercept', '', 50), +(6, 1, 'group-intercept', '', 60), +(7, 1, 'intercept-ext', '', 70), +(8, 1, 'redial', '', 80), +(9, 1, 'global', 'true', 90), +(10, 1, 'snom-demo-2', '', 100), +(11, 1, 'snom-demo-1', '', 110), +(12, 1, 'eavesdrop', '', 120), +(13, 1, 'eavesdrop', '', 130), +(14, 1, 'call_return', '', 140), +(15, 1, 'del-group', '', 150), +(16, 1, 'add-group', '', 160), +(17, 1, 'call-group-simo', '', 170), +(18, 1, 'call-group-order', '', 180), +(19, 1, 'extension-intercom', '', 190), +(20, 1, 'Local_Extension', '', 200), +(21, 1, 'group_dial_sales', '', 210), +(22, 1, 'group_dial_support', '', 220), +(23, 1, 'group_dial_billing', '', 230), +(24, 1, 'operator', '', 240), +(25, 1, 'vmain', '', 250), +(26, 1, 'sip_uri', '', 260), +(27, 1, 'nb_conferences', '', 270), +(28, 1, 'wb_conferences', '', 280), +(29, 1, 'uwb_conferences', '', 290), +(30, 1, 'cdquality_conferences', '', 300), +(31, 1, 'freeswitch_public_conf_via_sip', '', 310), +(32, 1, 'mad_boss_intercom', '', 320), +(33, 1, 'mad_boss_intercom', '', 330), +(34, 1, 'mad_boss', '', 340), +(35, 1, 'ivr_demo', '', 350), +(36, 1, 'dyanmic conference', '', 360), +(37, 1, 'rtp_multicast_page', '', 370), +(38, 1, 'park', '', 380), +(39, 1, 'unpark', '', 390), +(40, 1, 'park', '', 400), +(41, 1, 'unpark', '', 410), +(42, 1, 'park', '', 420), +(43, 1, 'unpark', '', 430), +(44, 1, 'wait', '', 440), +(45, 1, 'ringback_180', '', 450), +(46, 1, 'ringback_183_uk_ring', '', 460), +(47, 1, 'ringback_183_music_ring', '', 470), +(48, 1, 'ringback_post_answer_uk_ring', '', 480), +(49, 1, 'ringback_post_answer_music', '', 490), +(50, 1, 'show_info', '', 500), +(51, 1, 'video_record', '', 510), +(52, 1, 'video_playback', '', 520), +(53, 1, 'delay_echo', '', 530), +(54, 1, 'echo', '', 540), +(55, 1, 'milliwatt', '', 550), +(56, 2, 'tone_stream', '', 560), +(57, 2, 'hold_music', '', 570); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_special` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_special` ( + `id` int(11) NOT NULL auto_increment, + `context` varchar(255) NOT NULL, + `class_file` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_context` (`context`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_special` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profiles` +-- + +CREATE TABLE IF NOT EXISTS `dingaling_profiles` ( + `id` int(10) unsigned NOT NULL auto_increment, + `profile_name` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_name` (`profile_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `dingaling_profiles` +-- + +INSERT INTO `dingaling_profiles` (`id`, `profile_name`, `type`) VALUES +(1, 'fs.intralanman.servehttp.com', 'component'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profile_params` +-- + +CREATE TABLE IF NOT EXISTS `dingaling_profile_params` ( + `id` int(10) unsigned NOT NULL auto_increment, + `dingaling_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; + +-- +-- Dumping data for table `dingaling_profile_params` +-- + +INSERT INTO `dingaling_profile_params` (`id`, `dingaling_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', 'secret'), +(2, 1, 'dialplan', 'XML,enum'), +(3, 1, 'server', 'example.org'), +(4, 1, 'name', 'fs.example.org'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_settings` +-- + +CREATE TABLE IF NOT EXISTS `dingaling_settings` ( + `id` int(10) unsigned NOT NULL auto_increment, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_param` (`param_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `dingaling_settings` +-- + +INSERT INTO `dingaling_settings` (`id`, `param_name`, `param_value`) VALUES +(1, 'debug', '0'), +(2, 'codec-prefs', '$${global_codec_prefs}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory` +-- + +CREATE TABLE IF NOT EXISTS `directory` ( + `id` int(11) NOT NULL auto_increment, + `username` varchar(255) NOT NULL, + `domain` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ; + +-- +-- Dumping data for table `directory` +-- + +INSERT INTO `directory` (`id`, `username`, `domain`) VALUES +(1, '1000', 'example.com'), +(2, '1001', 'example.org'), +(3, '1002', 'example.net'), +(5, '1003', 'example.info'), +(6, '1004', 'example.com'), +(7, '1005', 'example.org'), +(8, '1006', 'example.net'), +(9, '1007', 'example.info'), +(10, '2000', 'default'), +(11, '1009', '$${local_ip_v4}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_domains` +-- + +CREATE TABLE IF NOT EXISTS `directory_domains` ( + `id` int(10) unsigned NOT NULL auto_increment, + `domain_name` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `directory_domains` +-- + +INSERT INTO `directory_domains` (`id`, `domain_name`) VALUES +(1, 'freeswitch.org'), +(2, 'sofaswitch.org'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateways` +-- + +CREATE TABLE IF NOT EXISTS `directory_gateways` ( + `id` int(10) unsigned NOT NULL auto_increment, + `directory_id` int(10) unsigned NOT NULL, + `gateway_name` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateways` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateway_params` +-- + +CREATE TABLE IF NOT EXISTS `directory_gateway_params` ( + `id` int(10) unsigned NOT NULL auto_increment, + `d_gw_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateway_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_params` +-- + +CREATE TABLE IF NOT EXISTS `directory_global_params` ( + `id` int(10) unsigned NOT NULL auto_increment, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(128) NOT NULL, + `domain_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `directory_global_params` +-- + +INSERT INTO `directory_global_params` (`id`, `param_name`, `param_value`, `domain_id`) VALUES +(1, 'default_gateway', 'errors', 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_vars` +-- + +CREATE TABLE IF NOT EXISTS `directory_global_vars` ( + `id` int(10) unsigned NOT NULL auto_increment, + `var_name` varchar(64) NOT NULL, + `var_value` varchar(128) NOT NULL, + `domain_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_vars` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_params` +-- + +CREATE TABLE IF NOT EXISTS `directory_params` ( + `id` int(11) NOT NULL auto_increment, + `directory_id` int(11) default NULL, + `param_name` varchar(255) default NULL, + `param_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ; + +-- +-- Dumping data for table `directory_params` +-- + +INSERT INTO `directory_params` (`id`, `directory_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', '1234'), +(2, 1, 'vm-password', '861000'), +(3, 2, 'password', '1234'), +(4, 2, 'vm-password', '861001'), +(7, 5, 'password', '1234'), +(8, 6, 'password', '1234'), +(9, 7, 'password', '1234'), +(10, 8, 'password', '123456'), +(11, 9, 'password', '1234'), +(12, 10, 'password', '123456'), +(13, 11, 'password', '1234'), +(14, 3, 'vm-password', '861002'), +(15, 3, 'password', '1234'), +(16, 11, 'vm-password', '861009'), +(17, 10, 'vm-password', '1234'), +(18, 9, 'vm-password', '861007'), +(19, 8, 'vm-password', '861006'), +(20, 7, 'vm-password', '861005'), +(21, 6, 'vm-password', '861004'), +(22, 5, 'vm-password', '861003'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_vars` +-- + +CREATE TABLE IF NOT EXISTS `directory_vars` ( + `id` int(11) NOT NULL auto_increment, + `directory_id` int(11) default NULL, + `var_name` varchar(255) default NULL, + `var_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; + +-- +-- Dumping data for table `directory_vars` +-- + +INSERT INTO `directory_vars` (`id`, `directory_id`, `var_name`, `var_value`) VALUES +(1, 1, 'numbering_plan', 'US'), +(2, 2, 'numbering_plan', 'US'), +(3, 3, 'numbering_plan', 'AU'), +(4, 5, 'numbering_plan', 'US'), +(5, 5, 'area_code', '434'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_conf` +-- + +CREATE TABLE IF NOT EXISTS `iax_conf` ( + `id` int(11) NOT NULL auto_increment, + `profile_name` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `iax_conf` +-- + +INSERT INTO `iax_conf` (`id`, `profile_name`) VALUES +(3, 'test_profile'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_settings` +-- + +CREATE TABLE IF NOT EXISTS `iax_settings` ( + `id` int(11) NOT NULL auto_increment, + `iax_id` int(11) default NULL, + `param_name` varchar(255) default NULL, + `param_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ; + +-- +-- Dumping data for table `iax_settings` +-- + +INSERT INTO `iax_settings` (`id`, `iax_id`, `param_name`, `param_value`) VALUES +(35, 3, 'debug', '1'), +(36, 3, 'ip', '$${local_ip_v4}'), +(37, 3, 'port', '4569'), +(38, 3, 'context', 'public'), +(39, 3, 'dialplan', 'enum,XML'), +(40, 3, 'codec-prefs', '$${global_codec_prefs}'), +(41, 3, 'codec-master', 'us'), +(42, 3, 'codec-rate', '8'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_conf` +-- + +CREATE TABLE IF NOT EXISTS `ivr_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `greet_long` varchar(255) NOT NULL, + `greet_short` varchar(255) NOT NULL, + `invalid_sound` varchar(255) NOT NULL, + `exit_sound` varchar(255) NOT NULL, + `max_failures` int(10) unsigned NOT NULL default '3', + `timeout` int(11) NOT NULL default '5', + `tts_engine` varchar(64) default NULL, + `tts_voice` varchar(64) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `ivr_conf` +-- + +INSERT INTO `ivr_conf` (`id`, `name`, `greet_long`, `greet_short`, `invalid_sound`, `exit_sound`, `max_failures`, `timeout`, `tts_engine`, `tts_voice`) VALUES +(1, 'demo', 'soundfiles/ivr/demo/greet-long.wav', 'soundfiles/ivr/demo/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, 'cepstral', 'allison'), +(2, 'demo2', 'soundfiles/ivr/demo2/greet-long.wav', 'soundfiles/ivr/demo2/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, NULL, NULL), +(3, 'menu8', 'soundfiles/ivr/menu8/greet-long.wav', 'soundfiles/ivr/menu8/greet-short.wav', 'soundfiles/ivr/menu8/invalid.wav', 'soundfiles/ivr/menu8/exit.wav', 3, 5, NULL, NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_entries` +-- + +CREATE TABLE IF NOT EXISTS `ivr_entries` ( + `id` int(10) unsigned NOT NULL auto_increment, + `ivr_id` int(10) unsigned NOT NULL, + `action` varchar(64) NOT NULL, + `digits` varchar(16) NOT NULL, + `params` varchar(255) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; + +-- +-- Dumping data for table `ivr_entries` +-- + +INSERT INTO `ivr_entries` (`id`, `ivr_id`, `action`, `digits`, `params`) VALUES +(1, 1, 'menu-play-sound', '1', 'soundfiles/features.wav'), +(2, 1, 'menu-exit', '*', NULL), +(3, 1, 'menu-sub', '2', 'demo2'), +(4, 1, 'menu-exec-api', '3', 'bridge sofia/$${domain}/888 at conference.freeswtich.org'), +(5, 1, 'menu-call-transfer', '4', '888'), +(6, 2, 'menu-back', '#', NULL), +(7, 2, 'menu-top', '*', NULL), +(8, 3, 'menu-back', '#', NULL), +(9, 3, 'menu-top', '*', NULL), +(10, 3, 'menu-playsound', '4', 'soundfiles/4.wav'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_conf` +-- + +CREATE TABLE IF NOT EXISTS `limit_conf` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(255) default NULL, + `value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `limit_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_data` +-- + +CREATE TABLE IF NOT EXISTS `limit_data` ( + `hostname` varchar(255) default NULL, + `realm` varchar(255) default NULL, + `id` varchar(255) default NULL, + `uuid` varchar(255) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `limit_data` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `local_stream_conf` +-- + +CREATE TABLE IF NOT EXISTS `local_stream_conf` ( + `id` int(11) NOT NULL auto_increment, + `directory_name` varchar(255) default NULL, + `directory_path` text, + `param_name` varchar(255) default NULL, + `param_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `local_stream_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS `modless_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `conf_name` varchar(64) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `modless_conf` +-- + +INSERT INTO `modless_conf` (`id`, `conf_name`) VALUES +(1, 'acl.conf'), +(2, 'postl_load_switch.conf'), +(3, 'post_load_modules.conf'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `post_load_modules_conf` +-- + +CREATE TABLE IF NOT EXISTS `post_load_modules_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `module_name` varchar(64) NOT NULL, + `load_module` tinyint(1) NOT NULL default '1', + `priority` int(10) unsigned NOT NULL default '1000', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_mod` (`module_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=54 ; + +-- +-- Dumping data for table `post_load_modules_conf` +-- + +INSERT INTO `post_load_modules_conf` (`id`, `module_name`, `load_module`, `priority`) VALUES +(1, 'mod_sofia', 1, 2000), +(2, 'mod_iax', 1, 2000), +(3, 'mod_xml_rpc', 1, 100), +(4, 'mod_portaudio', 1, 1000), +(5, 'mod_enum', 1, 2000), +(6, 'mod_xml_cdr', 1, 1000), +(7, 'mod_spidermonkey', 1, 1000), +(8, 'mod_alsa', 0, 1000), +(9, 'mod_log_file', 1, 0), +(10, 'mod_commands', 1, 1000), +(11, 'mod_voicemail', 1, 1000), +(12, 'mod_dialplan_xml', 1, 150), +(13, 'mod_dialplan_asterisk', 1, 150), +(14, 'mod_openzap', 0, 1000), +(15, 'mod_woomera', 0, 1000), +(17, 'mod_speex', 1, 500), +(18, 'mod_ilbc', 0, 1000), +(20, 'mod_g723_1', 1, 500), +(21, 'mod_g729', 1, 500), +(22, 'mod_g722', 1, 500), +(23, 'mod_g726', 1, 500), +(25, 'mod_amr', 1, 500), +(26, 'mod_fifo', 1, 1000), +(27, 'mod_limit', 1, 1000), +(28, 'mod_syslog', 1, 0), +(29, 'mod_dingaling', 1, 2000), +(30, 'mod_cdr_csv', 1, 1000), +(31, 'mod_event_socket', 1, 100), +(32, 'mod_multicast', 0, 1000), +(33, 'mod_zeroconf', 0, 1000), +(34, 'mod_xmpp_event', 0, 1000), +(35, 'mod_sndfile', 1, 1000), +(36, 'mod_native_file', 1, 1000), +(37, 'mod_shout', 1, 1000), +(38, 'mod_local_stream', 1, 1000), +(39, 'mod_perl', 0, 1000), +(40, 'mod_python', 0, 1000), +(41, 'mod_java', 0, 1000), +(42, 'mod_cepstral', 0, 1000), +(43, 'mod_openmrcp', 0, 1000), +(44, 'mod_lumenvox', 0, 1000), +(45, 'mod_rss', 0, 1000), +(46, 'mod_say_de', 1, 1000), +(47, 'mod_say_fr', 0, 1000), +(48, 'mod_say_en', 1, 1000), +(49, 'mod_conference', 1, 1000), +(50, 'mod_ivr', 0, 1000), +(51, 'mod_console', 1, 0), +(52, 'mod_dptools', 1, 1500), +(53, 'mod_voipcodecs', 1, 500); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `rss_conf` +-- + +CREATE TABLE IF NOT EXISTS `rss_conf` ( + `id` int(11) NOT NULL auto_increment, + `directory_id` int(11) NOT NULL, + `feed` text NOT NULL, + `local_file` text NOT NULL, + `description` text, + `priority` int(11) NOT NULL default '1000', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ; + +-- +-- Dumping data for table `rss_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_authentication` +-- + +CREATE TABLE IF NOT EXISTS `sip_authentication` ( + `nonce` varchar(255) default NULL, + `expires` int(11) default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `sip_authentication` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_dialogs` +-- + +CREATE TABLE IF NOT EXISTS `sip_dialogs` ( + `call_id` varchar(255) default NULL, + `uuid` varchar(255) default NULL, + `sip_to_user` varchar(255) default NULL, + `sip_to_host` varchar(255) default NULL, + `sip_from_user` varchar(255) default NULL, + `sip_from_host` varchar(255) default NULL, + `contact_user` varchar(255) default NULL, + `contact_host` varchar(255) default NULL, + `state` varchar(255) default NULL, + `direction` varchar(255) default NULL, + `user_agent` varchar(255) default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `sip_dialogs` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_registrations` +-- + +CREATE TABLE IF NOT EXISTS `sip_registrations` ( + `call_id` varchar(255) default NULL, + `sip_user` varchar(255) default NULL, + `sip_host` varchar(255) default NULL, + `contact` varchar(1024) default NULL, + `status` varchar(255) default NULL, + `rpid` varchar(255) default NULL, + `expires` int(11) default NULL, + `user_agent` varchar(255) default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `sip_registrations` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_subscriptions` +-- + +CREATE TABLE IF NOT EXISTS `sip_subscriptions` ( + `proto` varchar(255) default NULL, + `sip_user` varchar(255) default NULL, + `sip_host` varchar(255) default NULL, + `sub_to_user` varchar(255) default NULL, + `sub_to_host` varchar(255) default NULL, + `event` varchar(255) default NULL, + `contact` varchar(1024) default NULL, + `call_id` varchar(255) default NULL, + `full_from` varchar(255) default NULL, + `full_via` varchar(255) default NULL, + `expires` int(11) default NULL, + `user_agent` varchar(255) default NULL, + `accept` varchar(255) default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `sip_subscriptions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_aliases` +-- + +CREATE TABLE IF NOT EXISTS `sofia_aliases` ( + `id` int(10) unsigned NOT NULL auto_increment, + `sofia_id` int(10) unsigned NOT NULL, + `alias_name` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `sofia_aliases` +-- + +INSERT INTO `sofia_aliases` (`id`, `sofia_id`, `alias_name`) VALUES +(1, 1, 'default'), +(3, 1, 'sip.example.com'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_conf` +-- + +CREATE TABLE IF NOT EXISTS `sofia_conf` ( + `id` int(11) NOT NULL auto_increment, + `profile_name` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `sofia_conf` +-- + +INSERT INTO `sofia_conf` (`id`, `profile_name`) VALUES +(1, '$${domain}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_domains` +-- + +CREATE TABLE IF NOT EXISTS `sofia_domains` ( + `id` int(11) NOT NULL auto_increment, + `sofia_id` int(11) default NULL, + `domain_name` varchar(255) default NULL, + `parse` tinyint(1) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_gateways` +-- + +CREATE TABLE IF NOT EXISTS `sofia_gateways` ( + `id` int(11) NOT NULL auto_increment, + `sofia_id` int(11) default NULL, + `gateway_name` varchar(255) default NULL, + `gateway_param` varchar(255) default NULL, + `gateway_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ; + +-- +-- Dumping data for table `sofia_gateways` +-- + +INSERT INTO `sofia_gateways` (`id`, `sofia_id`, `gateway_name`, `gateway_param`, `gateway_value`) VALUES +(8, 1, 'default', 'proxy', 'asterlink.com'), +(9, 1, 'default', 'realm', 'asterlink.com'), +(10, 1, 'default', 'username', 'USERNAME_HERE'), +(11, 1, 'default', 'register', 'false'), +(12, 1, 'default', 'expire-seconds', '60'), +(13, 1, 'default', 'retry_seconds', '2'), +(14, 1, 'default', 'password', 'PASSWORD_HERE'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_settings` +-- + +CREATE TABLE IF NOT EXISTS `sofia_settings` ( + `id` int(11) NOT NULL auto_increment, + `sofia_id` int(11) default NULL, + `param_name` varchar(255) default NULL, + `param_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ; + +-- +-- Dumping data for table `sofia_settings` +-- + +INSERT INTO `sofia_settings` (`id`, `sofia_id`, `param_name`, `param_value`) VALUES +(1, 1, 'user-agent-string', 'RayUA 2.0pre4'), +(2, 1, 'auth-calls', 'true'), +(5, 1, 'debug', '1'), +(6, 1, 'rfc2833-pt', '101'), +(7, 1, 'sip-port', '5060'), +(8, 1, 'dialplan', 'XML'), +(9, 1, 'dtmf-duration', '100'), +(10, 1, 'codec-prefs', '$${global_codec_prefs}'), +(11, 1, 'rtp-timeout-sec', '300'), +(12, 1, 'rtp-ip', '$${local_ip_v4}'), +(13, 1, 'sip-ip', '$${local_ip_v4}'), +(14, 1, 'context', 'default'), +(15, 1, 'manage-presence', 'true'), +(16, 1, 'force-register-domain', 'intralanman.servehttp.com'), +(17, 1, 'inbound-codec-negotiation', 'generous'), +(18, 1, 'rtp-rewrite-timestampes', 'true'), +(19, 1, 'nonce-ttl', '60'), +(20, 1, 'vad', 'out'), +(36, 1, 'odbc-dsn', 'freeswitch-mysql:freeswitch:Fr33Sw1tch'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_conf` +-- + +CREATE TABLE IF NOT EXISTS `voicemail_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `vm_profile` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_profile` (`vm_profile`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `voicemail_conf` +-- + +INSERT INTO `voicemail_conf` (`id`, `vm_profile`) VALUES +(1, 'default'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_email` +-- + +CREATE TABLE IF NOT EXISTS `voicemail_email` ( + `id` int(10) unsigned NOT NULL auto_increment, + `voicemail_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `voicemail_email` +-- + +INSERT INTO `voicemail_email` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'template-file', 'voicemail.tpl'), +(2, 1, 'date-fmt', '%A, %B %d %Y, %I %M %p'), +(3, 1, 'email-from', '${voicemail_account}@${voicemail_domain}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_settings` +-- + +CREATE TABLE IF NOT EXISTS `voicemail_settings` ( + `id` int(11) NOT NULL auto_increment, + `voicemail_id` int(11) default NULL, + `param_name` varchar(255) default NULL, + `param_value` varchar(255) default NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ; + +-- +-- Dumping data for table `voicemail_settings` +-- + +INSERT INTO `voicemail_settings` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'file-extension', 'wav'), +(2, 1, 'terminator-key', '#'), +(3, 1, 'max-login-attempts', '3'), +(4, 1, 'digit-timeout', '10000'), +(5, 1, 'max-record-length', '300'), +(6, 1, 'tone-spec', '%(1000, 0, 640)'), +(7, 1, 'callback-dialplan', 'XML'), +(8, 1, 'callback-context', 'default'), +(9, 1, 'play-new-messages-key', '1'), +(10, 1, 'play-saved-messages-key', '2'), +(11, 1, 'main-menu-key', '*'), +(12, 1, 'config-menu-key', '5'), +(13, 1, 'record-greeting-key', '1'), +(14, 1, 'choose-greeting-key', '2'), +(15, 1, 'record-file-key', '3'), +(16, 1, 'listen-file-key', '1'), +(17, 1, 'record-name-key', '3'), +(18, 1, 'save-file-key', '9'), +(19, 1, 'delete-file-key', '7'), +(20, 1, 'undelete-file-key', '8'), +(21, 1, 'email-key', '4'), +(22, 1, 'pause-key', '0'), +(23, 1, 'restart-key', '1'), +(24, 1, 'ff-key', '6'), +(25, 1, 'rew-key', '4'), +(26, 1, 'record-silence-threshold', '200'), +(27, 1, 'record-silence-hits', '2'), +(28, 1, 'web-template-file', 'web-vm.tpl'), +(29, 1, 'operator-extension', 'operator XML default'), +(30, 1, 'operator-key', '9'); + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql Sun Feb 15 21:38:28 2009 @@ -1,315 +1,487 @@ --- MySQL dump 10.11 --- --- Host: localhost Database: freeswitch --- ------------------------------------------------------ --- Server version 5.0.32-Debian_7etch5-log +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:36 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- --- Table structure for table `carrier_gateway` +-- Database: `freeswitch` -- -DROP TABLE IF EXISTS `carrier_gateway`; -CREATE TABLE `carrier_gateway` ( - `id` int(11) NOT NULL auto_increment, - `carrier_id` int(11) default NULL, - `gateway` varchar(32) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `gateway` (`gateway`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +-- -------------------------------------------------------- -- --- Table structure for table `carriers` +-- Table structure for table `acl_lists` -- -DROP TABLE IF EXISTS `carriers`; -CREATE TABLE `carriers` ( - `id` int(11) NOT NULL auto_increment, - `Carrier_Name` varchar(255) default NULL, +CREATE TABLE IF NOT EXISTS `acl_lists` ( + `id` int(10) unsigned NOT NULL auto_increment, + `acl_name` varchar(128) NOT NULL, + `default_policy` varchar(45) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_lists` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS `acl_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `cidr` varchar(45) NOT NULL, + `type` varchar(16) NOT NULL, + `list_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_nodes` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_advertise` -- -DROP TABLE IF EXISTS `conference_advertise`; -CREATE TABLE `conference_advertise` ( +CREATE TABLE IF NOT EXISTS `conference_advertise` ( `id` int(10) unsigned NOT NULL auto_increment, `room` varchar(64) NOT NULL, `status` varchar(128) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_room` (`room`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_advertise` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_controls` -- -DROP TABLE IF EXISTS `conference_controls`; -CREATE TABLE `conference_controls` ( +CREATE TABLE IF NOT EXISTS `conference_controls` ( `id` int(10) unsigned NOT NULL auto_increment, `conf_group` varchar(64) NOT NULL, `action` varchar(64) NOT NULL, `digits` varchar(16) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_controls` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `conference_profiles` -- -DROP TABLE IF EXISTS `conference_profiles`; -CREATE TABLE `conference_profiles` ( +CREATE TABLE IF NOT EXISTS `conference_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, `profile_name` varchar(64) NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), KEY `unique_profile_param` (`profile_name`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `db_data` +-- Dumping data for table `conference_profiles` -- -DROP TABLE IF EXISTS `db_data`; -CREATE TABLE `db_data` ( - `hostname` varchar(255) default NULL, - `realm` varchar(255) default NULL, - `data_key` varchar(255) default NULL, - `data` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `dialplan` -- -DROP TABLE IF EXISTS `dialplan`; -CREATE TABLE `dialplan` ( - `id` int(11) NOT NULL auto_increment, +CREATE TABLE IF NOT EXISTS `dialplan` ( + `dialplan_id` int(11) NOT NULL auto_increment, + `domain` varchar(128) NOT NULL, + `ip_address` varchar(15) NOT NULL, + PRIMARY KEY (`dialplan_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_actions` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_actions` ( + `action_id` int(11) NOT NULL auto_increment, + `condition_id` int(11) NOT NULL, + `application` varchar(256) NOT NULL, + `data` varchar(256) NOT NULL, + `type` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`action_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_condition` ( + `condition_id` int(11) NOT NULL auto_increment, + `extension_id` int(11) NOT NULL, + `field` varchar(1238) NOT NULL, + `expression` varchar(128) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`condition_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_context` ( + `context_id` int(11) NOT NULL auto_increment, + `dialplan_id` int(11) NOT NULL, `context` varchar(64) NOT NULL, - `extension` varchar(64) NOT NULL, - `condition_field` varchar(64) NOT NULL, - `condition_expression` varchar(64) NOT NULL, - `application_name` varchar(64) NOT NULL, - `application_data` text, `weight` int(11) NOT NULL, - `type` varchar(16) NOT NULL default 'action', - `ext_continue` smallint(1) NOT NULL default '0', - `global_weight` int(11) NOT NULL default '10000', - `cond_break` varchar(8) default NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; + PRIMARY KEY (`context_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_context` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` +-- + +CREATE TABLE IF NOT EXISTS `dialplan_extension` ( + `extension_id` int(11) NOT NULL auto_increment, + `context_id` int(11) NOT NULL, + `name` varchar(128) NOT NULL, + `continue` varchar(32) NOT NULL, + `weight` int(11) NOT NULL, + PRIMARY KEY (`extension_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `dialplan_special` -- -DROP TABLE IF EXISTS `dialplan_special`; -CREATE TABLE `dialplan_special` ( +CREATE TABLE IF NOT EXISTS `dialplan_special` ( `id` int(11) NOT NULL auto_increment, `context` varchar(255) NOT NULL, `class_file` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_context` (`context`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `dingaling_profile_params` +-- Dumping data for table `dialplan_special` -- -DROP TABLE IF EXISTS `dingaling_profile_params`; -CREATE TABLE `dingaling_profile_params` ( - `id` int(10) unsigned NOT NULL auto_increment, - `dingaling_id` int(10) unsigned NOT NULL, - `param_name` varchar(64) NOT NULL, - `param_value` varchar(64) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`), - CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- -- -- Table structure for table `dingaling_profiles` -- -DROP TABLE IF EXISTS `dingaling_profiles`; -CREATE TABLE `dingaling_profiles` ( +CREATE TABLE IF NOT EXISTS `dingaling_profiles` ( `id` int(10) unsigned NOT NULL auto_increment, `profile_name` varchar(64) NOT NULL, `type` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_name` (`profile_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profiles` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profile_params` +-- + +CREATE TABLE IF NOT EXISTS `dingaling_profile_params` ( + `id` int(10) unsigned NOT NULL auto_increment, + `dingaling_id` int(10) unsigned NOT NULL, + `param_name` varchar(64) NOT NULL, + `param_value` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profile_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `dingaling_settings` -- -DROP TABLE IF EXISTS `dingaling_settings`; -CREATE TABLE `dingaling_settings` ( +CREATE TABLE IF NOT EXISTS `dingaling_settings` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_param` (`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory` -- -DROP TABLE IF EXISTS `directory`; -CREATE TABLE `directory` ( +CREATE TABLE IF NOT EXISTS `directory` ( `id` int(11) NOT NULL auto_increment, `username` varchar(255) NOT NULL, - `mailbox` varchar(255) NOT NULL, `domain` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_domains` -- -DROP TABLE IF EXISTS `directory_domains`; -CREATE TABLE `directory_domains` ( +CREATE TABLE IF NOT EXISTS `directory_domains` ( `id` int(10) unsigned NOT NULL auto_increment, `domain_name` varchar(128) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateways` +-- + +CREATE TABLE IF NOT EXISTS `directory_gateways` ( + `id` int(10) unsigned NOT NULL auto_increment, + `directory_id` int(10) unsigned NOT NULL, + `gateway_name` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateways` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_gateway_params` -- -DROP TABLE IF EXISTS `directory_gateway_params`; -CREATE TABLE `directory_gateway_params` ( +CREATE TABLE IF NOT EXISTS `directory_gateway_params` ( `id` int(10) unsigned NOT NULL auto_increment, `d_gw_id` int(10) unsigned NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `directory_gateways` +-- Dumping data for table `directory_gateway_params` -- -DROP TABLE IF EXISTS `directory_gateways`; -CREATE TABLE `directory_gateways` ( - `id` int(10) unsigned NOT NULL auto_increment, - `directory_id` int(10) unsigned NOT NULL, - `gateway_name` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_params` -- -DROP TABLE IF EXISTS `directory_global_params`; -CREATE TABLE `directory_global_params` ( +CREATE TABLE IF NOT EXISTS `directory_global_params` ( `id` int(10) unsigned NOT NULL auto_increment, `param_name` varchar(64) NOT NULL, `param_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_global_vars` -- -DROP TABLE IF EXISTS `directory_global_vars`; -CREATE TABLE `directory_global_vars` ( +CREATE TABLE IF NOT EXISTS `directory_global_vars` ( `id` int(10) unsigned NOT NULL auto_increment, `var_name` varchar(64) NOT NULL, `var_value` varchar(128) NOT NULL, `domain_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_vars` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_params` -- -DROP TABLE IF EXISTS `directory_params`; -CREATE TABLE `directory_params` ( +CREATE TABLE IF NOT EXISTS `directory_params` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_params` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `directory_vars` -- -DROP TABLE IF EXISTS `directory_vars`; -CREATE TABLE `directory_vars` ( +CREATE TABLE IF NOT EXISTS `directory_vars` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) default NULL, `var_name` varchar(255) default NULL, `var_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- --- Table structure for table `group_data` +-- Dumping data for table `directory_vars` -- -DROP TABLE IF EXISTS `group_data`; -CREATE TABLE `group_data` ( - `hostname` varchar(255) default NULL, - `groupname` varchar(255) default NULL, - `url` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `iax_conf` -- -DROP TABLE IF EXISTS `iax_conf`; -CREATE TABLE `iax_conf` ( +CREATE TABLE IF NOT EXISTS `iax_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `iax_settings` -- -DROP TABLE IF EXISTS `iax_settings`; -CREATE TABLE `iax_settings` ( +CREATE TABLE IF NOT EXISTS `iax_settings` ( `id` int(11) NOT NULL auto_increment, `iax_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_conf` -- -DROP TABLE IF EXISTS `ivr_conf`; -CREATE TABLE `ivr_conf` ( +CREATE TABLE IF NOT EXISTS `ivr_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL, `greet_long` varchar(255) NOT NULL, @@ -322,14 +494,20 @@ `tts_voice` varchar(64) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `ivr_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `ivr_entries` -- -DROP TABLE IF EXISTS `ivr_entries`; -CREATE TABLE `ivr_entries` ( +CREATE TABLE IF NOT EXISTS `ivr_entries` ( `id` int(10) unsigned NOT NULL auto_increment, `ivr_id` int(10) unsigned NOT NULL, `action` varchar(64) NOT NULL, @@ -337,95 +515,113 @@ `params` varchar(255) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `jabber_subscriptions` +-- Dumping data for table `ivr_entries` -- -DROP TABLE IF EXISTS `jabber_subscriptions`; -CREATE TABLE `jabber_subscriptions` ( - `sub_from` varchar(255) default NULL, - `sub_to` varchar(255) default NULL, - `show_pres` varchar(255) default NULL, - `status` varchar(255) default NULL -) ENGINE=InnoDB; --- --- Table structure for table `lcr` --- - -DROP TABLE IF EXISTS `lcr`; -CREATE TABLE `lcr` ( - `id` int(11) NOT NULL auto_increment, - `digits` varchar(15) default NULL, - `rate` int(11) NOT NULL, - `carrier_id` int(11) NOT NULL, - `lead_strip` int(11) NOT NULL, - `trail_strip` int(11) NOT NULL, - `prefix` varchar(16) NOT NULL, - `suffix` varchar(16) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB; +-- -------------------------------------------------------- -- -- Table structure for table `limit_conf` -- -DROP TABLE IF EXISTS `limit_conf`; -CREATE TABLE `limit_conf` ( +CREATE TABLE IF NOT EXISTS `limit_conf` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) default NULL, `value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `limit_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `limit_data` -- -DROP TABLE IF EXISTS `limit_data`; -CREATE TABLE `limit_data` ( +CREATE TABLE IF NOT EXISTS `limit_data` ( `hostname` varchar(255) default NULL, `realm` varchar(255) default NULL, `id` varchar(255) default NULL, `uuid` varchar(255) default NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `limit_data` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `local_stream_conf` -- -DROP TABLE IF EXISTS `local_stream_conf`; -CREATE TABLE `local_stream_conf` ( +CREATE TABLE IF NOT EXISTS `local_stream_conf` ( `id` int(11) NOT NULL auto_increment, `directory_name` varchar(255) default NULL, `directory_path` text, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `local_stream_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS `modless_conf` ( + `id` int(10) unsigned NOT NULL auto_increment, + `conf_name` varchar(64) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `modless_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `post_load_modules_conf` -- -DROP TABLE IF EXISTS `post_load_modules_conf`; -CREATE TABLE `post_load_modules_conf` ( +CREATE TABLE IF NOT EXISTS `post_load_modules_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `module_name` varchar(64) NOT NULL, `load_module` tinyint(1) NOT NULL default '1', `priority` int(10) unsigned NOT NULL default '1000', PRIMARY KEY (`id`), UNIQUE KEY `unique_mod` (`module_name`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `post_load_modules_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `rss_conf` -- -DROP TABLE IF EXISTS `rss_conf`; -CREATE TABLE `rss_conf` ( +CREATE TABLE IF NOT EXISTS `rss_conf` ( `id` int(11) NOT NULL auto_increment, `directory_id` int(11) NOT NULL, `feed` text NOT NULL, @@ -433,24 +629,36 @@ `description` text, `priority` int(11) NOT NULL default '1000', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `rss_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_authentication` -- -DROP TABLE IF EXISTS `sip_authentication`; -CREATE TABLE `sip_authentication` ( +CREATE TABLE IF NOT EXISTS `sip_authentication` ( `nonce` varchar(255) default NULL, - `expires` int(8) default NULL -) ENGINE=InnoDB; + `expires` int(11) default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `sip_authentication` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sip_dialogs` -- -DROP TABLE IF EXISTS `sip_dialogs`; -CREATE TABLE `sip_dialogs` ( +CREATE TABLE IF NOT EXISTS `sip_dialogs` ( `call_id` varchar(255) default NULL, `uuid` varchar(255) default NULL, `sip_to_user` varchar(255) default NULL, @@ -465,11 +673,17 @@ ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- +-- Dumping data for table `sip_dialogs` +-- + + +-- -------------------------------------------------------- + +-- -- Table structure for table `sip_registrations` -- -DROP TABLE IF EXISTS `sip_registrations`; -CREATE TABLE `sip_registrations` ( +CREATE TABLE IF NOT EXISTS `sip_registrations` ( `call_id` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -481,11 +695,17 @@ ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- +-- Dumping data for table `sip_registrations` +-- + + +-- -------------------------------------------------------- + +-- -- Table structure for table `sip_subscriptions` -- -DROP TABLE IF EXISTS `sip_subscriptions`; -CREATE TABLE `sip_subscriptions` ( +CREATE TABLE IF NOT EXISTS `sip_subscriptions` ( `proto` varchar(255) default NULL, `sip_user` varchar(255) default NULL, `sip_host` varchar(255) default NULL, @@ -502,145 +722,166 @@ ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- +-- Dumping data for table `sip_subscriptions` +-- + + +-- -------------------------------------------------------- + +-- -- Table structure for table `sofia_aliases` -- -DROP TABLE IF EXISTS `sofia_aliases`; -CREATE TABLE `sofia_aliases` ( +CREATE TABLE IF NOT EXISTS `sofia_aliases` ( `id` int(10) unsigned NOT NULL auto_increment, `sofia_id` int(10) unsigned NOT NULL, `alias_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_aliases` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_conf` -- -DROP TABLE IF EXISTS `sofia_conf`; -CREATE TABLE `sofia_conf` ( +CREATE TABLE IF NOT EXISTS `sofia_conf` ( `id` int(11) NOT NULL auto_increment, `profile_name` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_conf` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_domains` -- -DROP TABLE IF EXISTS `sofia_domains`; -CREATE TABLE `sofia_domains` ( +CREATE TABLE IF NOT EXISTS `sofia_domains` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `domain_name` varchar(255) default NULL, `parse` tinyint(1) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_domains` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_gateways` -- -DROP TABLE IF EXISTS `sofia_gateways`; -CREATE TABLE `sofia_gateways` ( +CREATE TABLE IF NOT EXISTS `sofia_gateways` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `gateway_name` varchar(255) default NULL, `gateway_param` varchar(255) default NULL, `gateway_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_gateways` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `sofia_settings` -- -DROP TABLE IF EXISTS `sofia_settings`; -CREATE TABLE `sofia_settings` ( +CREATE TABLE IF NOT EXISTS `sofia_settings` ( `id` int(11) NOT NULL auto_increment, `sofia_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_settings` +-- + + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_conf` -- -DROP TABLE IF EXISTS `voicemail_conf`; -CREATE TABLE `voicemail_conf` ( +CREATE TABLE IF NOT EXISTS `voicemail_conf` ( `id` int(10) unsigned NOT NULL auto_increment, `vm_profile` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile` (`vm_profile`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `voicemail_data` +-- Dumping data for table `voicemail_conf` -- -DROP TABLE IF EXISTS `voicemail_data`; -CREATE TABLE `voicemail_data` ( - `created_epoch` int(8) default NULL, - `read_epoch` int(8) default NULL, - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `uuid` varchar(255) default NULL, - `cid_name` varchar(255) default NULL, - `cid_number` varchar(255) default NULL, - `in_folder` varchar(255) default NULL, - `file_path` varchar(255) default NULL, - `flags` varchar(255) default NULL, - `read_flags` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_email` -- -DROP TABLE IF EXISTS `voicemail_email`; -CREATE TABLE `voicemail_email` ( +CREATE TABLE IF NOT EXISTS `voicemail_email` ( `id` int(10) unsigned NOT NULL auto_increment, `voicemail_id` int(10) unsigned NOT NULL, `param_name` varchar(64) NOT NULL, `param_value` varchar(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- --- Table structure for table `voicemail_prefs` +-- Dumping data for table `voicemail_email` -- -DROP TABLE IF EXISTS `voicemail_prefs`; -CREATE TABLE `voicemail_prefs` ( - `user` varchar(255) default NULL, - `domain` varchar(255) default NULL, - `name_path` varchar(255) default NULL, - `greeting_path` varchar(255) default NULL -) ENGINE=InnoDB; + +-- -------------------------------------------------------- -- -- Table structure for table `voicemail_settings` -- -DROP TABLE IF EXISTS `voicemail_settings`; -CREATE TABLE `voicemail_settings` ( +CREATE TABLE IF NOT EXISTS `voicemail_settings` ( `id` int(11) NOT NULL auto_increment, `voicemail_id` int(11) default NULL, `param_name` varchar(255) default NULL, `param_value` varchar(255) default NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- +-- Dumping data for table `voicemail_settings` +-- --- Dump completed on 2008-04-10 15:11:05 + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle-with-examples.sql ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle-with-examples.sql Sun Feb 15 21:38:28 2009 @@ -0,0 +1,1431 @@ +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:35 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `freeswitch` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_lists` +-- + +CREATE TABLE IF NOT EXISTS "acl_lists" ( + "id" int(10) unsigned NOT NULL, + "acl_name" varchar(128) NOT NULL, + "default_policy" varchar(45) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `acl_lists` +-- + +INSERT INTO `acl_lists` (`id`, `acl_name`, `default_policy`) VALUES +(1, 'rfc1918', 'deny'), +(2, 'lan', 'allow'), +(3, 'default', 'allow'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS "acl_nodes" ( + "id" int(10) unsigned NOT NULL, + "cidr" varchar(45) NOT NULL, + "type" varchar(16) NOT NULL, + "list_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `acl_nodes` +-- + +INSERT INTO `acl_nodes` (`id`, `cidr`, `type`, `list_id`) VALUES +(1, '192.168.0.0/16', 'allow', 1), +(2, '10.0.0.0/8', 'allow', 1), +(3, '172.16.0.0/12', 'allow', 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_advertise` +-- + +CREATE TABLE IF NOT EXISTS "conference_advertise" ( + "id" int(10) unsigned NOT NULL, + "room" varchar(64) NOT NULL, + "status" varchar(128) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_room" ("room") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `conference_advertise` +-- + +INSERT INTO `conference_advertise` (`id`, `room`, `status`) VALUES +(1, '3000@$${domain}', 'Freeswitch Conference'), +(2, '3001@$${domain}', 'FreeSWITCH Conference 2'), +(3, '3002@$${domain}', 'FreeSWITCH Conference 3'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_controls` +-- + +CREATE TABLE IF NOT EXISTS "conference_controls" ( + "id" int(10) unsigned NOT NULL, + "conf_group" varchar(64) NOT NULL, + "action" varchar(64) NOT NULL, + "digits" varchar(16) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_group_action" ("conf_group","action") +) AUTO_INCREMENT=13 ; + +-- +-- Dumping data for table `conference_controls` +-- + +INSERT INTO `conference_controls` (`id`, `conf_group`, `action`, `digits`) VALUES +(1, 'default', 'mute', '0'), +(2, 'default', 'deaf_mute', '*'), +(3, 'default', 'energy up', '9'), +(4, 'default', 'energy equ', '8'), +(5, 'default', 'energy dn', '7'), +(6, 'default', 'vol talk up', '3'), +(7, 'default', 'vol talk dn', '1'), +(8, 'default', 'vol talk zero', '2'), +(9, 'default', 'vol listen up', '6'), +(10, 'default', 'vol listen dn', '4'), +(11, 'default', 'vol listen zero', '5'), +(12, 'default', 'hangup', '#'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_profiles` +-- + +CREATE TABLE IF NOT EXISTS "conference_profiles" ( + "id" int(10) unsigned NOT NULL, + "profile_name" varchar(64) NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + KEY "unique_profile_param" ("profile_name","param_name") +) AUTO_INCREMENT=8 ; + +-- +-- Dumping data for table `conference_profiles` +-- + +INSERT INTO `conference_profiles` (`id`, `profile_name`, `param_name`, `param_value`) VALUES +(1, 'default', 'domain', '$${domain}'), +(2, 'default', 'rate', '8000'), +(3, 'default', 'interval', '20'), +(4, 'default', 'energy-level', '300'), +(5, 'default', 'moh-sound', '$${moh_uri}'), +(6, 'default', 'caller-id-name', '$${outbound_caller_name}'), +(7, 'default', 'caller-id-number', '$${outbound_caller_number}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan` +-- + +CREATE TABLE IF NOT EXISTS "dialplan" ( + "dialplan_id" int(11) NOT NULL, + "domain" varchar(128) NOT NULL, + "ip_address" varchar(15) NOT NULL, + PRIMARY KEY ("dialplan_id") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `dialplan` +-- + +INSERT INTO `dialplan` (`dialplan_id`, `domain`, `ip_address`) VALUES +(1, 'freeswitch', '127.0.0.1'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_actions` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_actions" ( + "action_id" int(11) NOT NULL, + "condition_id" int(11) NOT NULL, + "application" varchar(256) NOT NULL, + "data" varchar(256) NOT NULL, + "type" varchar(32) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("action_id") +) AUTO_INCREMENT=170 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + +INSERT INTO `dialplan_actions` (`action_id`, `condition_id`, `application`, `data`, `type`, `weight`) VALUES +(1, 2, 'deflect', '${destination_number}', 'action', 10), +(2, 5, 'set', 'domain_name=$${domain}', 'action', 20), +(3, 5, 'set', 'domain_name=${sip_auth_realm}', 'anti-action', 30), +(4, 7, 'set', 'domain_name=$${domain}', 'action', 40), +(5, 9, 'set', 'open=true', 'action', 50), +(6, 10, 'answer', '', 'action', 60), +(7, 10, 'intercept', '${db(select/${domain_name}-last_dial/global)}', 'action', 70), +(8, 10, 'sleep', '2000', 'action', 80), +(9, 11, 'answer', '', 'action', 90), +(10, 11, 'intercept', '${db(select/${domain_name}-last_dial/${callgroup})}', 'action', 100), +(11, 11, 'sleep', '2000', 'action', 110), +(12, 12, 'answer', '', 'action', 120), +(13, 12, 'intercept', '${db(select/${domain_name}-last_dial_ext/$1)}', 'action', 130), +(14, 12, 'sleep', '2000', 'action', 140), +(15, 13, 'transfer', '${db(select/${domain_name}-last_dial/${caller_id_number})}', 'action', 150), +(16, 14, 'set', 'use_profile=${cond(${acl($${local_ip_v4} rfc1918)} == true ? nat : default)}', 'action', 160), +(17, 14, 'set', 'use_profile=${cond(${acl(${network_addr} rfc1918)} == true ? nat : default)}', 'anti-action', 170), +(18, 15, 'set_user', 'default@${domain_name}', 'action', 180), +(19, 16, 'info', '', 'action', 190), +(20, 17, 'set', 'sip_secure_media=true', 'action', 200), +(21, 18, 'db', 'insert/${domain_name}-spymap/${caller_id_number}/${uuid}', 'action', 210), +(22, 18, 'db', 'insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}', 'action', 220), +(23, 18, 'db', 'insert/${domain_name}-last_dial/global/${uuid}', 'action', 230), +(24, 19, 'eval', '${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}', 'action', 240), +(25, 19, 'transfer', '3000', 'action', 250), +(26, 20, 'eval', '${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}', 'action', 260), +(27, 20, 'playback', '$${hold_music}', 'action', 270), +(28, 21, 'answer', '', 'action', 280), +(29, 21, 'eavesdrop', '${db(select/${domain_name}-spymap/$1)}', 'action', 290), +(30, 22, 'answer', '', 'action', 300), +(31, 22, 'set', 'eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)', 'action', 310), +(32, 22, 'set', 'eavesdrop_indicate_new=tone_stream://%(500, 0, 620)', 'action', 320), +(33, 22, 'set', 'eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)', 'action', 330), +(34, 22, 'eavesdrop', 'all', 'action', 340), +(35, 23, 'transfer', '${db(select/${domain_name}-call_return/${caller_id_number})}', 'action', 350), +(36, 24, 'answer', '', 'action', 360), +(37, 24, 'group', 'delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 370), +(38, 24, 'gentones', '%(1000, 0, 320)', 'action', 380), +(39, 25, 'answer', '', 'action', 390), +(40, 25, 'group', 'insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}', 'action', 400), +(41, 25, 'gentones', '%(1000, 0, 640)', 'action', 410), +(42, 26, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name})}', 'action', 420), +(43, 27, 'set', 'call_timeout=10', 'action', 430), +(44, 27, 'bridge', '{ignore_early_media=true}${group(call:$1@${domain_name}:order)}', 'action', 440), +(45, 28, 'set', 'dialed_extension=$1', 'action', 450), +(46, 28, 'export', 'sip_auto_answer=true', 'action', 460), +(47, 28, 'bridge', 'user/${dialed_extension}@${domain_name}', 'action', 470), +(48, 29, 'set', 'dialed_extension=$1', 'action', 480), +(49, 29, 'export', 'dialed_extension=$1', 'action', 490), +(50, 30, 'set', 'voicemail_authorized=${sip_authorized}', 'action', 500), +(51, 30, 'answer', '', 'action', 510), +(52, 30, 'sleep', '1000', 'action', 520), +(53, 30, 'voicemail', 'check default ${domain_name} ${dialed_extension}', 'action', 530), +(54, 30, 'bind_meta_app', '1 b s execute_extension::dx XML features', 'anti-action', 540), +(55, 30, 'bind_meta_app', '2 b s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav', 'anti-action', 550), +(56, 30, 'bind_meta_app', '3 b s execute_extension::cf XML features', 'anti-action', 560), +(57, 30, 'set', 'ringback=${us-ring}', 'anti-action', 570), +(58, 30, 'set', 'transfer_ringback=$${hold_music}', 'anti-action', 580), +(59, 30, 'set', 'call_timeout=30', 'anti-action', 590), +(60, 30, 'set', 'hangup_after_bridge=true', 'anti-action', 600), +(61, 30, 'set', 'continue_on_fail=true', 'anti-action', 610), +(62, 30, 'db', 'insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}', 'anti-action', 620), +(63, 30, 'db', 'insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}', 'anti-action', 630), +(64, 30, 'set', 'called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}', 'anti-action', 640), +(65, 30, 'db', 'insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}', 'anti-action', 650), +(66, 30, 'bridge', 'user/${dialed_extension}@${domain_name}', 'anti-action', 660), +(67, 30, 'answer', '', 'anti-action', 670), +(68, 30, 'sleep', '1000', 'anti-action', 680), +(69, 30, 'voicemail', 'default ${domain_name} ${dialed_extension}', 'anti-action', 690), +(70, 31, 'bridge', '${group_call(sales@${domain_name})}', 'action', 700), +(71, 32, 'bridge', 'group/support@${domain_name}', 'action', 710), +(72, 33, 'bridge', 'group/billing@${domain_name}', 'action', 720), +(73, 34, 'set', 'transfer_ringback=$${hold_music}', 'action', 730), +(74, 34, 'transfer', '1000 XML features', 'action', 740), +(75, 35, 'answer', '', 'action', 750), +(76, 35, 'sleep', '1000', 'action', 760), +(77, 35, 'voicemail', 'check default ${domain_name}', 'action', 770), +(78, 36, 'bridge', 'sofia/${use_profile}/$1', 'action', 780), +(79, 37, 'answer', '', 'action', 790), +(80, 37, 'conference', '$1-${domain_name}@default', 'action', 800), +(81, 38, 'answer', '', 'action', 810), +(82, 38, 'conference', '$1-${domain_name}@wideband', 'action', 820), +(83, 39, 'answer', '', 'action', 830), +(84, 39, 'conference', '$1-${domain_name}@ultrawideband', 'action', 840), +(85, 40, 'answer', '', 'action', 850), +(86, 40, 'conference', '$1-${domain_name}@cdquality', 'action', 860), +(87, 41, 'bridge', 'sofia/${use_profile}/$1 at conference.freeswitch.org', 'action', 870), +(88, 42, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss1', 'action', 880), +(89, 42, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 890), +(90, 42, 'set', 'conference_auto_outcall_timeout=60', 'action', 900), +(91, 42, 'set', 'conference_auto_outcall_flags=mute', 'action', 910), +(92, 42, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 920), +(93, 42, 'set', 'sip_exclude_contact=${network_addr}', 'action', 930), +(94, 42, 'conference_set_auto_outcall', '${group_call(sales)}', 'action', 940), +(95, 42, 'conference', 'madboss_intercom1 at default+flags{endconf|deaf}', 'action', 950), +(96, 43, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss2', 'action', 960), +(97, 43, 'set', 'conference_auto_outcall_caller_id_number=0912', 'action', 970), +(98, 43, 'set', 'conference_auto_outcall_timeout=60', 'action', 980), +(99, 43, 'set', 'conference_auto_outcall_flags=mute', 'action', 990), +(100, 43, 'set', 'conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer=''bind_meta_app 2 a s1 intercept::${uuid}''}', 'action', 1000), +(101, 43, 'set', 'sip_exclude_contact=${network_addr}', 'action', 1010), +(102, 43, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1020), +(103, 43, 'conference', 'madboss_intercom2 at default+flags{endconf|deaf}', 'action', 1030), +(104, 44, 'set', 'conference_auto_outcall_caller_id_name=Mad Boss', 'action', 1040), +(105, 44, 'set', 'conference_auto_outcall_caller_id_number=0911', 'action', 1050), +(106, 44, 'set', 'conference_auto_outcall_timeout=60', 'action', 1060), +(107, 44, 'set', 'conference_auto_outcall_flags=none', 'action', 1070), +(108, 44, 'conference_set_auto_outcall', 'loopback/9999', 'action', 1080), +(109, 44, 'conference', 'madboss3 at default', 'action', 1090), +(110, 45, 'answer', '', 'action', 1100), +(111, 45, 'sleep', '2000', 'action', 1110), +(112, 45, 'ivr', 'demo_ivr', 'action', 1120), +(113, 46, 'conference', 'bridge:mydynaconf:sofia/${use_profile}/1234 at conference.freeswitch.org', 'action', 1130), +(114, 47, 'answer', '', 'action', 1140), +(115, 47, 'esf_page_group', '', 'action', 1150), +(116, 48, 'set', 'fifo_music=$${hold_music}', 'action', 1160), +(117, 48, 'fifo', '5900@${domain_name} in', 'action', 1170), +(118, 49, 'answer', '', 'action', 1180), +(119, 49, 'fifo', '5900@${domain_name} out nowait', 'action', 1190), +(120, 51, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1200), +(121, 54, 'answer', '', 'action', 1210), +(122, 54, 'fifo', '$1@${domain_name} out nowait', 'action', 1220), +(123, 57, '', '', 'expression', 1230), +(124, 57, 'fifo', '$1@${domain_name} in undef $${hold_music}', 'action', 1240), +(125, 60, 'answer', '', 'action', 1250), +(126, 60, 'fifo', '$1@${domain_name} out nowait', 'action', 1260), +(127, 61, 'pre_answer', '', 'action', 1270), +(128, 61, 'sleep', '20000', 'action', 1280), +(129, 61, 'answer', '', 'action', 1290), +(130, 61, 'sleep', '1000', 'action', 1300), +(131, 61, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1310), +(132, 61, 'hangup', '', 'action', 1320), +(133, 62, 'ring_ready', '', 'action', 1330), +(134, 62, 'sleep', '20000', 'action', 1340), +(135, 62, 'answer', '', 'action', 1350), +(136, 62, 'sleep', '1000', 'action', 1360), +(137, 62, 'playback', 'voicemail/vm-goodbye.wav', 'action', 1370), +(138, 62, 'hangup', '', 'action', 1380), +(139, 63, 'set', 'ringback=$${uk-ring}', 'action', 1390), +(140, 63, 'bridge', 'loopback/wait', 'action', 1400), +(141, 64, 'set', 'ringback=$${hold_music}', 'action', 1410), +(142, 64, 'bridge', 'loopback/wait', 'action', 1420), +(143, 65, 'set', 'transfer_ringback=$${uk-ring}', 'action', 1430), +(144, 65, 'answer', '', 'action', 1440), +(145, 65, 'bridge', 'loopback/wait', 'action', 1450), +(146, 66, 'set', 'transfer_ringback=$${hold_music}', 'action', 1460), +(147, 66, 'answer', '', 'action', 1470), +(148, 66, 'bridge', 'loopback/wait', 'action', 1480), +(149, 67, 'answer', '', 'action', 1490), +(150, 67, 'info', '', 'action', 1500), +(151, 67, 'sleep', '250', 'action', 1510), +(152, 67, 'hangup', '', 'action', 1520), +(153, 68, 'answer', '', 'action', 1530), +(154, 68, 'record_fsv', '/tmp/testrecord.fsv', 'action', 1540), +(155, 69, 'answer', '', 'action', 1550), +(156, 69, 'play_fsv', '/tmp/testrecord.fsv', 'action', 1560), +(157, 70, 'answer', '', 'action', 1570), +(158, 70, 'delay_echo', '5000', 'action', 1580), +(159, 71, 'answer', '', 'action', 1590), +(160, 71, 'echo', '', 'action', 1600), +(161, 72, 'answer', '', 'action', 1610), +(162, 72, 'playback', 'tone_stream://%(10000,0,1004);loops=-1', 'action', 1620), +(163, 73, 'answer', '', 'action', 1630), +(164, 73, 'playback', 'tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10', 'action', 1640), +(165, 75, 'answer', '', 'action', 1650), +(166, 75, 'execute_extension', 'is_secure XML features', 'action', 1660), +(167, 75, 'playback', '$${hold_music}', 'action', 1670), +(168, 75, 'answer', '', 'anti-action', 1680), +(169, 75, 'playback', '$${hold_music}', 'anti-action', 1690); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_condition" ( + "condition_id" int(11) NOT NULL, + "extension_id" int(11) NOT NULL, + "field" varchar(1238) NOT NULL, + "expression" varchar(128) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("condition_id") +) AUTO_INCREMENT=76 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + +INSERT INTO `dialplan_condition` (`condition_id`, `extension_id`, `field`, `expression`, `weight`) VALUES +(1, 1, '$${unroll_loops}', '^true$', 10), +(2, 1, '${sip_looped_call}', '^true$', 20), +(3, 2, '${domain_name}', '^$', 30), +(4, 2, 'source', 'mod_sofia', 40), +(5, 2, '${sip_auth_realm}', '^$', 50), +(6, 3, '${domain_name}', '^$', 60), +(7, 3, 'source', 'mod_openzap', 70), +(8, 4, '${strftime(%w)}', '^([1-5])$', 80), +(9, 4, '${strftime(%H%M)}', '^((09|1[0-7])[0-5][0-9]|1800)$', 90), +(10, 5, 'destination_number', '^886$', 100), +(11, 6, 'destination_number', '^\\*8$', 110), +(12, 7, 'destination_number', '^\\*\\*(\\d+)$', 120), +(13, 8, 'destination_number', '^870$', 130), +(14, 9, '${network_addr}', '^$', 140), +(15, 9, '${numbering_plan}', '^$', 150), +(16, 9, '${call_debug}', '^true$', 160), +(17, 9, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 170), +(18, 9, '', '', 180), +(19, 10, 'destination_number', '^9001$', 190), +(20, 11, 'destination_number', '^9000$', 200), +(21, 12, 'destination_number', '^88(.*)$|^\\*0(.*)$', 210), +(22, 13, 'destination_number', '^779$', 220), +(23, 14, 'destination_number', '^\\*69$|^869$|^lcr$', 230), +(24, 15, 'destination_number', '^80(\\d{2})$', 240), +(25, 16, 'destination_number', '^81(\\d{2})$', 250), +(26, 17, 'destination_number', '^82(\\d{2})$', 260), +(27, 18, 'destination_number', '^83(\\d{2})$', 270), +(28, 19, 'destination_number', '^8(10[01][0-9])$', 280), +(29, 20, 'destination_number', '^(20[01][0-9])$', 290), +(30, 20, 'destination_number', '^${caller_id_number}$', 300), +(31, 21, 'destination_number', '^3000$', 310), +(32, 22, 'destination_number', '^3001$', 320), +(33, 23, 'destination_number', '^3002$', 330), +(34, 24, 'destination_number', '^operator$|^0$', 340), +(35, 25, 'destination_number', '^vmain|4000$', 350), +(36, 26, 'destination_number', '^sip:(.*)$', 360), +(37, 27, 'destination_number', '^(30\\d{2})$', 370), +(38, 28, 'destination_number', '^(31\\d{2})$', 380), +(39, 29, 'destination_number', '^(32\\d{2})$', 390), +(40, 30, 'destination_number', '^(33\\d{2})$', 400), +(41, 31, 'destination_number', '^9(888|1616|3232)$', 410), +(42, 32, 'destination_number', '^0911$', 420), +(43, 33, 'destination_number', '^0912$', 430), +(44, 34, 'destination_number', '^0913$', 440), +(45, 35, 'destination_number', '^5000$', 450), +(46, 36, 'destination_number', '^5001$', 460), +(47, 37, 'destination_number', '^pagegroup$|^7243', 470), +(48, 38, 'destination_number', '^5900$', 480), +(49, 39, 'destination_number', '^5901$', 490), +(50, 40, 'source', 'mod_sofia', 500), +(51, 40, 'destination_number', 'park\\+(\\d+)', 510), +(52, 41, 'source', 'mod_sofia', 520), +(53, 41, 'destination_number', '^parking$', 530), +(54, 41, '${sip_to_params}', 'fifo\\=(\\d+)', 540), +(55, 42, 'source', 'mod_sofia', 550), +(56, 42, 'destination_number', 'callpark', 560), +(57, 42, '${sip_refer_to}', '', 570), +(58, 43, 'source', 'mod_sofia', 580), +(59, 43, 'destination_number', 'pickup', 590), +(60, 43, '${sip_to_params}', 'orbit\\=(\\d+)', 600), +(61, 44, 'destination_number', '^wait$', 610), +(62, 45, 'destination_number', '^9980$', 620), +(63, 46, 'destination_number', '^9981$', 630), +(64, 47, 'destination_number', '^9982$', 640), +(65, 48, 'destination_number', '^9983$', 650), +(66, 49, 'destination_number', '^9984$', 660), +(67, 50, 'destination_number', '^9992$', 670), +(68, 51, 'destination_number', '^9993$', 680), +(69, 52, 'destination_number', '^9994$', 690), +(70, 53, 'destination_number', '^9995$', 700), +(71, 54, 'destination_number', '^9996$', 710), +(72, 55, 'destination_number', '^9997$', 720), +(73, 56, 'destination_number', '^9998$', 730), +(74, 57, 'destination_number', '^9999$', 740), +(75, 57, '${sip_has_crypto}', '^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$', 750); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_context" ( + "context_id" int(11) NOT NULL, + "dialplan_id" int(11) NOT NULL, + "context" varchar(64) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("context_id") +) AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `dialplan_context` +-- + +INSERT INTO `dialplan_context` (`context_id`, `dialplan_id`, `context`, `weight`) VALUES +(1, 1, 'default', 10), +(2, 1, 'public', 20); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_extension" ( + "extension_id" int(11) NOT NULL, + "context_id" int(11) NOT NULL, + "name" varchar(128) NOT NULL, + "continue" varchar(32) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("extension_id") +) AUTO_INCREMENT=58 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + +INSERT INTO `dialplan_extension` (`extension_id`, `context_id`, `name`, `continue`, `weight`) VALUES +(1, 1, 'unloop', '', 10), +(2, 1, 'set_domain', 'true', 20), +(3, 1, 'set_domain_openzap', 'true', 30), +(4, 1, 'tod_example', 'true', 40), +(5, 1, 'global-intercept', '', 50), +(6, 1, 'group-intercept', '', 60), +(7, 1, 'intercept-ext', '', 70), +(8, 1, 'redial', '', 80), +(9, 1, 'global', 'true', 90), +(10, 1, 'snom-demo-2', '', 100), +(11, 1, 'snom-demo-1', '', 110), +(12, 1, 'eavesdrop', '', 120), +(13, 1, 'eavesdrop', '', 130), +(14, 1, 'call_return', '', 140), +(15, 1, 'del-group', '', 150), +(16, 1, 'add-group', '', 160), +(17, 1, 'call-group-simo', '', 170), +(18, 1, 'call-group-order', '', 180), +(19, 1, 'extension-intercom', '', 190), +(20, 1, 'Local_Extension', '', 200), +(21, 1, 'group_dial_sales', '', 210), +(22, 1, 'group_dial_support', '', 220), +(23, 1, 'group_dial_billing', '', 230), +(24, 1, 'operator', '', 240), +(25, 1, 'vmain', '', 250), +(26, 1, 'sip_uri', '', 260), +(27, 1, 'nb_conferences', '', 270), +(28, 1, 'wb_conferences', '', 280), +(29, 1, 'uwb_conferences', '', 290), +(30, 1, 'cdquality_conferences', '', 300), +(31, 1, 'freeswitch_public_conf_via_sip', '', 310), +(32, 1, 'mad_boss_intercom', '', 320), +(33, 1, 'mad_boss_intercom', '', 330), +(34, 1, 'mad_boss', '', 340), +(35, 1, 'ivr_demo', '', 350), +(36, 1, 'dyanmic conference', '', 360), +(37, 1, 'rtp_multicast_page', '', 370), +(38, 1, 'park', '', 380), +(39, 1, 'unpark', '', 390), +(40, 1, 'park', '', 400), +(41, 1, 'unpark', '', 410), +(42, 1, 'park', '', 420), +(43, 1, 'unpark', '', 430), +(44, 1, 'wait', '', 440), +(45, 1, 'ringback_180', '', 450), +(46, 1, 'ringback_183_uk_ring', '', 460), +(47, 1, 'ringback_183_music_ring', '', 470), +(48, 1, 'ringback_post_answer_uk_ring', '', 480), +(49, 1, 'ringback_post_answer_music', '', 490), +(50, 1, 'show_info', '', 500), +(51, 1, 'video_record', '', 510), +(52, 1, 'video_playback', '', 520), +(53, 1, 'delay_echo', '', 530), +(54, 1, 'echo', '', 540), +(55, 1, 'milliwatt', '', 550), +(56, 2, 'tone_stream', '', 560), +(57, 2, 'hold_music', '', 570); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_special` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_special" ( + "id" int(11) NOT NULL, + "context" varchar(255) NOT NULL, + "class_file" varchar(255) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_context" ("context") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_special` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profiles` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_profiles" ( + "id" int(10) unsigned NOT NULL, + "profile_name" varchar(64) NOT NULL, + "type" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_name" ("profile_name") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `dingaling_profiles` +-- + +INSERT INTO `dingaling_profiles` (`id`, `profile_name`, `type`) VALUES +(1, 'fs.intralanman.servehttp.com', 'component'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profile_params` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_profile_params" ( + "id" int(10) unsigned NOT NULL, + "dingaling_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_type_name" ("dingaling_id","param_name") +) AUTO_INCREMENT=5 ; + +-- +-- Dumping data for table `dingaling_profile_params` +-- + +INSERT INTO `dingaling_profile_params` (`id`, `dingaling_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', 'secret'), +(2, 1, 'dialplan', 'XML,enum'), +(3, 1, 'server', 'example.org'), +(4, 1, 'name', 'fs.example.org'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_settings` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_settings" ( + "id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_param" ("param_name") +) AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `dingaling_settings` +-- + +INSERT INTO `dingaling_settings` (`id`, `param_name`, `param_value`) VALUES +(1, 'debug', '0'), +(2, 'codec-prefs', '$${global_codec_prefs}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory` +-- + +CREATE TABLE IF NOT EXISTS "directory" ( + "id" int(11) NOT NULL, + "username" varchar(255) NOT NULL, + "domain" varchar(255) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=12 ; + +-- +-- Dumping data for table `directory` +-- + +INSERT INTO `directory` (`id`, `username`, `domain`) VALUES +(1, '1000', 'example.com'), +(2, '1001', 'example.org'), +(3, '1002', 'example.net'), +(5, '1003', 'example.info'), +(6, '1004', 'example.com'), +(7, '1005', 'example.org'), +(8, '1006', 'example.net'), +(9, '1007', 'example.info'), +(10, '2000', 'default'), +(11, '1009', '$${local_ip_v4}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_domains` +-- + +CREATE TABLE IF NOT EXISTS "directory_domains" ( + "id" int(10) unsigned NOT NULL, + "domain_name" varchar(128) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `directory_domains` +-- + +INSERT INTO `directory_domains` (`id`, `domain_name`) VALUES +(1, 'freeswitch.org'), +(2, 'sofaswitch.org'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateways` +-- + +CREATE TABLE IF NOT EXISTS "directory_gateways" ( + "id" int(10) unsigned NOT NULL, + "directory_id" int(10) unsigned NOT NULL, + "gateway_name" varchar(128) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateways` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateway_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_gateway_params" ( + "id" int(10) unsigned NOT NULL, + "d_gw_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_gw_param" ("d_gw_id","param_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateway_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_global_params" ( + "id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(128) NOT NULL, + "domain_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `directory_global_params` +-- + +INSERT INTO `directory_global_params` (`id`, `param_name`, `param_value`, `domain_id`) VALUES +(1, 'default_gateway', 'errors', 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_vars` +-- + +CREATE TABLE IF NOT EXISTS "directory_global_vars" ( + "id" int(10) unsigned NOT NULL, + "var_name" varchar(64) NOT NULL, + "var_value" varchar(128) NOT NULL, + "domain_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_vars` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_params" ( + "id" int(11) NOT NULL, + "directory_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=23 ; + +-- +-- Dumping data for table `directory_params` +-- + +INSERT INTO `directory_params` (`id`, `directory_id`, `param_name`, `param_value`) VALUES +(1, 1, 'password', '1234'), +(2, 1, 'vm-password', '861000'), +(3, 2, 'password', '1234'), +(4, 2, 'vm-password', '861001'), +(7, 5, 'password', '1234'), +(8, 6, 'password', '1234'), +(9, 7, 'password', '1234'), +(10, 8, 'password', '123456'), +(11, 9, 'password', '1234'), +(12, 10, 'password', '123456'), +(13, 11, 'password', '1234'), +(14, 3, 'vm-password', '861002'), +(15, 3, 'password', '1234'), +(16, 11, 'vm-password', '861009'), +(17, 10, 'vm-password', '1234'), +(18, 9, 'vm-password', '861007'), +(19, 8, 'vm-password', '861006'), +(20, 7, 'vm-password', '861005'), +(21, 6, 'vm-password', '861004'), +(22, 5, 'vm-password', '861003'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_vars` +-- + +CREATE TABLE IF NOT EXISTS "directory_vars" ( + "id" int(11) NOT NULL, + "directory_id" int(11) default NULL, + "var_name" varchar(255) default NULL, + "var_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=6 ; + +-- +-- Dumping data for table `directory_vars` +-- + +INSERT INTO `directory_vars` (`id`, `directory_id`, `var_name`, `var_value`) VALUES +(1, 1, 'numbering_plan', 'US'), +(2, 2, 'numbering_plan', 'US'), +(3, 3, 'numbering_plan', 'AU'), +(4, 5, 'numbering_plan', 'US'), +(5, 5, 'area_code', '434'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_conf` +-- + +CREATE TABLE IF NOT EXISTS "iax_conf" ( + "id" int(11) NOT NULL, + "profile_name" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `iax_conf` +-- + +INSERT INTO `iax_conf` (`id`, `profile_name`) VALUES +(3, 'test_profile'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_settings` +-- + +CREATE TABLE IF NOT EXISTS "iax_settings" ( + "id" int(11) NOT NULL, + "iax_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=43 ; + +-- +-- Dumping data for table `iax_settings` +-- + +INSERT INTO `iax_settings` (`id`, `iax_id`, `param_name`, `param_value`) VALUES +(35, 3, 'debug', '1'), +(36, 3, 'ip', '$${local_ip_v4}'), +(37, 3, 'port', '4569'), +(38, 3, 'context', 'public'), +(39, 3, 'dialplan', 'enum,XML'), +(40, 3, 'codec-prefs', '$${global_codec_prefs}'), +(41, 3, 'codec-master', 'us'), +(42, 3, 'codec-rate', '8'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_conf` +-- + +CREATE TABLE IF NOT EXISTS "ivr_conf" ( + "id" int(10) unsigned NOT NULL, + "name" varchar(64) NOT NULL, + "greet_long" varchar(255) NOT NULL, + "greet_short" varchar(255) NOT NULL, + "invalid_sound" varchar(255) NOT NULL, + "exit_sound" varchar(255) NOT NULL, + "max_failures" int(10) unsigned NOT NULL default '3', + "timeout" int(11) NOT NULL default '5', + "tts_engine" varchar(64) default NULL, + "tts_voice" varchar(64) default NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_name" ("name") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `ivr_conf` +-- + +INSERT INTO `ivr_conf` (`id`, `name`, `greet_long`, `greet_short`, `invalid_sound`, `exit_sound`, `max_failures`, `timeout`, `tts_engine`, `tts_voice`) VALUES +(1, 'demo', 'soundfiles/ivr/demo/greet-long.wav', 'soundfiles/ivr/demo/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, 'cepstral', 'allison'), +(2, 'demo2', 'soundfiles/ivr/demo2/greet-long.wav', 'soundfiles/ivr/demo2/greet-short.wav', 'soundfiles/ivr/invalid.wav', 'soundfiles/ivr/exit.wav', 3, 5, NULL, NULL), +(3, 'menu8', 'soundfiles/ivr/menu8/greet-long.wav', 'soundfiles/ivr/menu8/greet-short.wav', 'soundfiles/ivr/menu8/invalid.wav', 'soundfiles/ivr/menu8/exit.wav', 3, 5, NULL, NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_entries` +-- + +CREATE TABLE IF NOT EXISTS "ivr_entries" ( + "id" int(10) unsigned NOT NULL, + "ivr_id" int(10) unsigned NOT NULL, + "action" varchar(64) NOT NULL, + "digits" varchar(16) NOT NULL, + "params" varchar(255) default NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_ivr_digits" ("ivr_id","digits") +) AUTO_INCREMENT=11 ; + +-- +-- Dumping data for table `ivr_entries` +-- + +INSERT INTO `ivr_entries` (`id`, `ivr_id`, `action`, `digits`, `params`) VALUES +(1, 1, 'menu-play-sound', '1', 'soundfiles/features.wav'), +(2, 1, 'menu-exit', '*', NULL), +(3, 1, 'menu-sub', '2', 'demo2'), +(4, 1, 'menu-exec-api', '3', 'bridge sofia/$${domain}/888 at conference.freeswtich.org'), +(5, 1, 'menu-call-transfer', '4', '888'), +(6, 2, 'menu-back', '#', NULL), +(7, 2, 'menu-top', '*', NULL), +(8, 3, 'menu-back', '#', NULL), +(9, 3, 'menu-top', '*', NULL), +(10, 3, 'menu-playsound', '4', 'soundfiles/4.wav'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_conf` +-- + +CREATE TABLE IF NOT EXISTS "limit_conf" ( + "id" int(11) NOT NULL, + "name" varchar(255) default NULL, + "value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `limit_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_data` +-- + +CREATE TABLE IF NOT EXISTS "limit_data" ( + "hostname" varchar(255) default NULL, + "realm" varchar(255) default NULL, + "id" varchar(255) default NULL, + "uuid" varchar(255) default NULL +); + +-- +-- Dumping data for table `limit_data` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `local_stream_conf` +-- + +CREATE TABLE IF NOT EXISTS "local_stream_conf" ( + "id" int(11) NOT NULL, + "directory_name" varchar(255) default NULL, + "directory_path" text, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `local_stream_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS "modless_conf" ( + "id" int(10) unsigned NOT NULL, + "conf_name" varchar(64) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `modless_conf` +-- + +INSERT INTO `modless_conf` (`id`, `conf_name`) VALUES +(1, 'acl.conf'), +(2, 'postl_load_switch.conf'), +(3, 'post_load_modules.conf'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `post_load_modules_conf` +-- + +CREATE TABLE IF NOT EXISTS "post_load_modules_conf" ( + "id" int(10) unsigned NOT NULL, + "module_name" varchar(64) NOT NULL, + "load_module" tinyint(1) NOT NULL default '1', + "priority" int(10) unsigned NOT NULL default '1000', + PRIMARY KEY ("id"), + UNIQUE KEY "unique_mod" ("module_name") +) AUTO_INCREMENT=54 ; + +-- +-- Dumping data for table `post_load_modules_conf` +-- + +INSERT INTO `post_load_modules_conf` (`id`, `module_name`, `load_module`, `priority`) VALUES +(1, 'mod_sofia', 1, 2000), +(2, 'mod_iax', 1, 2000), +(3, 'mod_xml_rpc', 1, 100), +(4, 'mod_portaudio', 1, 1000), +(5, 'mod_enum', 1, 2000), +(6, 'mod_xml_cdr', 1, 1000), +(7, 'mod_spidermonkey', 1, 1000), +(8, 'mod_alsa', 0, 1000), +(9, 'mod_log_file', 1, 0), +(10, 'mod_commands', 1, 1000), +(11, 'mod_voicemail', 1, 1000), +(12, 'mod_dialplan_xml', 1, 150), +(13, 'mod_dialplan_asterisk', 1, 150), +(14, 'mod_openzap', 0, 1000), +(15, 'mod_woomera', 0, 1000), +(17, 'mod_speex', 1, 500), +(18, 'mod_ilbc', 0, 1000), +(20, 'mod_g723_1', 1, 500), +(21, 'mod_g729', 1, 500), +(22, 'mod_g722', 1, 500), +(23, 'mod_g726', 1, 500), +(25, 'mod_amr', 1, 500), +(26, 'mod_fifo', 1, 1000), +(27, 'mod_limit', 1, 1000), +(28, 'mod_syslog', 1, 0), +(29, 'mod_dingaling', 1, 2000), +(30, 'mod_cdr_csv', 1, 1000), +(31, 'mod_event_socket', 1, 100), +(32, 'mod_multicast', 0, 1000), +(33, 'mod_zeroconf', 0, 1000), +(34, 'mod_xmpp_event', 0, 1000), +(35, 'mod_sndfile', 1, 1000), +(36, 'mod_native_file', 1, 1000), +(37, 'mod_shout', 1, 1000), +(38, 'mod_local_stream', 1, 1000), +(39, 'mod_perl', 0, 1000), +(40, 'mod_python', 0, 1000), +(41, 'mod_java', 0, 1000), +(42, 'mod_cepstral', 0, 1000), +(43, 'mod_openmrcp', 0, 1000), +(44, 'mod_lumenvox', 0, 1000), +(45, 'mod_rss', 0, 1000), +(46, 'mod_say_de', 1, 1000), +(47, 'mod_say_fr', 0, 1000), +(48, 'mod_say_en', 1, 1000), +(49, 'mod_conference', 1, 1000), +(50, 'mod_ivr', 0, 1000), +(51, 'mod_console', 1, 0), +(52, 'mod_dptools', 1, 1500), +(53, 'mod_voipcodecs', 1, 500); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `rss_conf` +-- + +CREATE TABLE IF NOT EXISTS "rss_conf" ( + "id" int(11) NOT NULL, + "directory_id" int(11) NOT NULL, + "feed" text NOT NULL, + "local_file" text NOT NULL, + "description" text, + "priority" int(11) NOT NULL default '1000', + PRIMARY KEY ("id") +) AUTO_INCREMENT=15 ; + +-- +-- Dumping data for table `rss_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_authentication` +-- + +CREATE TABLE IF NOT EXISTS "sip_authentication" ( + "nonce" varchar(255) default NULL, + "expires" int(11) default NULL +); + +-- +-- Dumping data for table `sip_authentication` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_dialogs` +-- + +CREATE TABLE IF NOT EXISTS "sip_dialogs" ( + "call_id" varchar(255) default NULL, + "uuid" varchar(255) default NULL, + "sip_to_user" varchar(255) default NULL, + "sip_to_host" varchar(255) default NULL, + "sip_from_user" varchar(255) default NULL, + "sip_from_host" varchar(255) default NULL, + "contact_user" varchar(255) default NULL, + "contact_host" varchar(255) default NULL, + "state" varchar(255) default NULL, + "direction" varchar(255) default NULL, + "user_agent" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_dialogs` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_registrations` +-- + +CREATE TABLE IF NOT EXISTS "sip_registrations" ( + "call_id" varchar(255) default NULL, + "sip_user" varchar(255) default NULL, + "sip_host" varchar(255) default NULL, + "contact" varchar(1024) default NULL, + "status" varchar(255) default NULL, + "rpid" varchar(255) default NULL, + "expires" int(11) default NULL, + "user_agent" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_registrations` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_subscriptions` +-- + +CREATE TABLE IF NOT EXISTS "sip_subscriptions" ( + "proto" varchar(255) default NULL, + "sip_user" varchar(255) default NULL, + "sip_host" varchar(255) default NULL, + "sub_to_user" varchar(255) default NULL, + "sub_to_host" varchar(255) default NULL, + "event" varchar(255) default NULL, + "contact" varchar(1024) default NULL, + "call_id" varchar(255) default NULL, + "full_from" varchar(255) default NULL, + "full_via" varchar(255) default NULL, + "expires" int(11) default NULL, + "user_agent" varchar(255) default NULL, + "accept" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_subscriptions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_aliases` +-- + +CREATE TABLE IF NOT EXISTS "sofia_aliases" ( + "id" int(10) unsigned NOT NULL, + "sofia_id" int(10) unsigned NOT NULL, + "alias_name" varchar(255) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `sofia_aliases` +-- + +INSERT INTO `sofia_aliases` (`id`, `sofia_id`, `alias_name`) VALUES +(1, 1, 'default'), +(3, 1, 'sip.example.com'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_conf` +-- + +CREATE TABLE IF NOT EXISTS "sofia_conf" ( + "id" int(11) NOT NULL, + "profile_name" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `sofia_conf` +-- + +INSERT INTO `sofia_conf` (`id`, `profile_name`) VALUES +(1, '$${domain}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_domains` +-- + +CREATE TABLE IF NOT EXISTS "sofia_domains" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "domain_name" varchar(255) default NULL, + "parse" tinyint(1) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_gateways` +-- + +CREATE TABLE IF NOT EXISTS "sofia_gateways" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "gateway_name" varchar(255) default NULL, + "gateway_param" varchar(255) default NULL, + "gateway_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=15 ; + +-- +-- Dumping data for table `sofia_gateways` +-- + +INSERT INTO `sofia_gateways` (`id`, `sofia_id`, `gateway_name`, `gateway_param`, `gateway_value`) VALUES +(8, 1, 'default', 'proxy', 'asterlink.com'), +(9, 1, 'default', 'realm', 'asterlink.com'), +(10, 1, 'default', 'username', 'USERNAME_HERE'), +(11, 1, 'default', 'register', 'false'), +(12, 1, 'default', 'expire-seconds', '60'), +(13, 1, 'default', 'retry_seconds', '2'), +(14, 1, 'default', 'password', 'PASSWORD_HERE'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_settings` +-- + +CREATE TABLE IF NOT EXISTS "sofia_settings" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=37 ; + +-- +-- Dumping data for table `sofia_settings` +-- + +INSERT INTO `sofia_settings` (`id`, `sofia_id`, `param_name`, `param_value`) VALUES +(1, 1, 'user-agent-string', 'RayUA 2.0pre4'), +(2, 1, 'auth-calls', 'true'), +(5, 1, 'debug', '1'), +(6, 1, 'rfc2833-pt', '101'), +(7, 1, 'sip-port', '5060'), +(8, 1, 'dialplan', 'XML'), +(9, 1, 'dtmf-duration', '100'), +(10, 1, 'codec-prefs', '$${global_codec_prefs}'), +(11, 1, 'rtp-timeout-sec', '300'), +(12, 1, 'rtp-ip', '$${local_ip_v4}'), +(13, 1, 'sip-ip', '$${local_ip_v4}'), +(14, 1, 'context', 'default'), +(15, 1, 'manage-presence', 'true'), +(16, 1, 'force-register-domain', 'intralanman.servehttp.com'), +(17, 1, 'inbound-codec-negotiation', 'generous'), +(18, 1, 'rtp-rewrite-timestampes', 'true'), +(19, 1, 'nonce-ttl', '60'), +(20, 1, 'vad', 'out'), +(36, 1, 'odbc-dsn', 'freeswitch-mysql:freeswitch:Fr33Sw1tch'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_conf` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_conf" ( + "id" int(10) unsigned NOT NULL, + "vm_profile" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_profile" ("vm_profile") +) AUTO_INCREMENT=2 ; + +-- +-- Dumping data for table `voicemail_conf` +-- + +INSERT INTO `voicemail_conf` (`id`, `vm_profile`) VALUES +(1, 'default'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_email` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_email" ( + "id" int(10) unsigned NOT NULL, + "voicemail_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_profile_param" ("param_name","voicemail_id") +) AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `voicemail_email` +-- + +INSERT INTO `voicemail_email` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'template-file', 'voicemail.tpl'), +(2, 1, 'date-fmt', '%A, %B %d %Y, %I %M %p'), +(3, 1, 'email-from', '${voicemail_account}@${voicemail_domain}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_settings` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_settings" ( + "id" int(11) NOT NULL, + "voicemail_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=31 ; + +-- +-- Dumping data for table `voicemail_settings` +-- + +INSERT INTO `voicemail_settings` (`id`, `voicemail_id`, `param_name`, `param_value`) VALUES +(1, 1, 'file-extension', 'wav'), +(2, 1, 'terminator-key', '#'), +(3, 1, 'max-login-attempts', '3'), +(4, 1, 'digit-timeout', '10000'), +(5, 1, 'max-record-length', '300'), +(6, 1, 'tone-spec', '%(1000, 0, 640)'), +(7, 1, 'callback-dialplan', 'XML'), +(8, 1, 'callback-context', 'default'), +(9, 1, 'play-new-messages-key', '1'), +(10, 1, 'play-saved-messages-key', '2'), +(11, 1, 'main-menu-key', '*'), +(12, 1, 'config-menu-key', '5'), +(13, 1, 'record-greeting-key', '1'), +(14, 1, 'choose-greeting-key', '2'), +(15, 1, 'record-file-key', '3'), +(16, 1, 'listen-file-key', '1'), +(17, 1, 'record-name-key', '3'), +(18, 1, 'save-file-key', '9'), +(19, 1, 'delete-file-key', '7'), +(20, 1, 'undelete-file-key', '8'), +(21, 1, 'email-key', '4'), +(22, 1, 'pause-key', '0'), +(23, 1, 'restart-key', '1'), +(24, 1, 'ff-key', '6'), +(25, 1, 'rew-key', '4'), +(26, 1, 'record-silence-threshold', '200'), +(27, 1, 'record-silence-hits', '2'), +(28, 1, 'web-template-file', 'web-vm.tpl'), +(29, 1, 'operator-extension', 'operator XML default'), +(30, 1, 'operator-key', '9'); + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT "dingaling_profile" FOREIGN KEY ("dingaling_id") REFERENCES "dingaling_profiles" ("id") ON DELETE CASCADE ON UPDATE CASCADE; Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle.sql ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/oracle.sql Sun Feb 15 21:38:28 2009 @@ -0,0 +1,885 @@ +-- phpMyAdmin SQL Dump +-- version 3.1.2deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Feb 15, 2009 at 09:37 PM +-- Server version: 5.0.75 +-- PHP Version: 5.2.6-3ubuntu2 + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `freeswitch` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_lists` +-- + +CREATE TABLE IF NOT EXISTS "acl_lists" ( + "id" int(10) unsigned NOT NULL, + "acl_name" varchar(128) NOT NULL, + "default_policy" varchar(45) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_lists` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `acl_nodes` +-- + +CREATE TABLE IF NOT EXISTS "acl_nodes" ( + "id" int(10) unsigned NOT NULL, + "cidr" varchar(45) NOT NULL, + "type" varchar(16) NOT NULL, + "list_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `acl_nodes` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_advertise` +-- + +CREATE TABLE IF NOT EXISTS "conference_advertise" ( + "id" int(10) unsigned NOT NULL, + "room" varchar(64) NOT NULL, + "status" varchar(128) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_room" ("room") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_advertise` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_controls` +-- + +CREATE TABLE IF NOT EXISTS "conference_controls" ( + "id" int(10) unsigned NOT NULL, + "conf_group" varchar(64) NOT NULL, + "action" varchar(64) NOT NULL, + "digits" varchar(16) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_group_action" ("conf_group","action") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_controls` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `conference_profiles` +-- + +CREATE TABLE IF NOT EXISTS "conference_profiles" ( + "id" int(10) unsigned NOT NULL, + "profile_name" varchar(64) NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + KEY "unique_profile_param" ("profile_name","param_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `conference_profiles` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan` +-- + +CREATE TABLE IF NOT EXISTS "dialplan" ( + "dialplan_id" int(11) NOT NULL, + "domain" varchar(128) NOT NULL, + "ip_address" varchar(15) NOT NULL, + PRIMARY KEY ("dialplan_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_actions` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_actions" ( + "action_id" int(11) NOT NULL, + "condition_id" int(11) NOT NULL, + "application" varchar(256) NOT NULL, + "data" varchar(256) NOT NULL, + "type" varchar(32) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("action_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_actions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_condition` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_condition" ( + "condition_id" int(11) NOT NULL, + "extension_id" int(11) NOT NULL, + "field" varchar(1238) NOT NULL, + "expression" varchar(128) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("condition_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_condition` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_context` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_context" ( + "context_id" int(11) NOT NULL, + "dialplan_id" int(11) NOT NULL, + "context" varchar(64) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("context_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_context` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_extension` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_extension" ( + "extension_id" int(11) NOT NULL, + "context_id" int(11) NOT NULL, + "name" varchar(128) NOT NULL, + "continue" varchar(32) NOT NULL, + "weight" int(11) NOT NULL, + PRIMARY KEY ("extension_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_extension` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dialplan_special` +-- + +CREATE TABLE IF NOT EXISTS "dialplan_special" ( + "id" int(11) NOT NULL, + "context" varchar(255) NOT NULL, + "class_file" varchar(255) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_context" ("context") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dialplan_special` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profiles` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_profiles" ( + "id" int(10) unsigned NOT NULL, + "profile_name" varchar(64) NOT NULL, + "type" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_name" ("profile_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profiles` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_profile_params` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_profile_params" ( + "id" int(10) unsigned NOT NULL, + "dingaling_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_type_name" ("dingaling_id","param_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_profile_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `dingaling_settings` +-- + +CREATE TABLE IF NOT EXISTS "dingaling_settings" ( + "id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_param" ("param_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `dingaling_settings` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory` +-- + +CREATE TABLE IF NOT EXISTS "directory" ( + "id" int(11) NOT NULL, + "username" varchar(255) NOT NULL, + "domain" varchar(255) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_domains` +-- + +CREATE TABLE IF NOT EXISTS "directory_domains" ( + "id" int(10) unsigned NOT NULL, + "domain_name" varchar(128) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateways` +-- + +CREATE TABLE IF NOT EXISTS "directory_gateways" ( + "id" int(10) unsigned NOT NULL, + "directory_id" int(10) unsigned NOT NULL, + "gateway_name" varchar(128) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateways` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_gateway_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_gateway_params" ( + "id" int(10) unsigned NOT NULL, + "d_gw_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_gw_param" ("d_gw_id","param_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_gateway_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_global_params" ( + "id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(128) NOT NULL, + "domain_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_global_vars` +-- + +CREATE TABLE IF NOT EXISTS "directory_global_vars" ( + "id" int(10) unsigned NOT NULL, + "var_name" varchar(64) NOT NULL, + "var_value" varchar(128) NOT NULL, + "domain_id" int(10) unsigned NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_global_vars` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_params` +-- + +CREATE TABLE IF NOT EXISTS "directory_params" ( + "id" int(11) NOT NULL, + "directory_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_params` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `directory_vars` +-- + +CREATE TABLE IF NOT EXISTS "directory_vars" ( + "id" int(11) NOT NULL, + "directory_id" int(11) default NULL, + "var_name" varchar(255) default NULL, + "var_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `directory_vars` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_conf` +-- + +CREATE TABLE IF NOT EXISTS "iax_conf" ( + "id" int(11) NOT NULL, + "profile_name" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `iax_settings` +-- + +CREATE TABLE IF NOT EXISTS "iax_settings" ( + "id" int(11) NOT NULL, + "iax_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `iax_settings` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_conf` +-- + +CREATE TABLE IF NOT EXISTS "ivr_conf" ( + "id" int(10) unsigned NOT NULL, + "name" varchar(64) NOT NULL, + "greet_long" varchar(255) NOT NULL, + "greet_short" varchar(255) NOT NULL, + "invalid_sound" varchar(255) NOT NULL, + "exit_sound" varchar(255) NOT NULL, + "max_failures" int(10) unsigned NOT NULL default '3', + "timeout" int(11) NOT NULL default '5', + "tts_engine" varchar(64) default NULL, + "tts_voice" varchar(64) default NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_name" ("name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `ivr_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `ivr_entries` +-- + +CREATE TABLE IF NOT EXISTS "ivr_entries" ( + "id" int(10) unsigned NOT NULL, + "ivr_id" int(10) unsigned NOT NULL, + "action" varchar(64) NOT NULL, + "digits" varchar(16) NOT NULL, + "params" varchar(255) default NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_ivr_digits" ("ivr_id","digits") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `ivr_entries` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_conf` +-- + +CREATE TABLE IF NOT EXISTS "limit_conf" ( + "id" int(11) NOT NULL, + "name" varchar(255) default NULL, + "value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `limit_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `limit_data` +-- + +CREATE TABLE IF NOT EXISTS "limit_data" ( + "hostname" varchar(255) default NULL, + "realm" varchar(255) default NULL, + "id" varchar(255) default NULL, + "uuid" varchar(255) default NULL +); + +-- +-- Dumping data for table `limit_data` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `local_stream_conf` +-- + +CREATE TABLE IF NOT EXISTS "local_stream_conf" ( + "id" int(11) NOT NULL, + "directory_name" varchar(255) default NULL, + "directory_path" text, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `local_stream_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `modless_conf` +-- + +CREATE TABLE IF NOT EXISTS "modless_conf" ( + "id" int(10) unsigned NOT NULL, + "conf_name" varchar(64) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `modless_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `post_load_modules_conf` +-- + +CREATE TABLE IF NOT EXISTS "post_load_modules_conf" ( + "id" int(10) unsigned NOT NULL, + "module_name" varchar(64) NOT NULL, + "load_module" tinyint(1) NOT NULL default '1', + "priority" int(10) unsigned NOT NULL default '1000', + PRIMARY KEY ("id"), + UNIQUE KEY "unique_mod" ("module_name") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `post_load_modules_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `rss_conf` +-- + +CREATE TABLE IF NOT EXISTS "rss_conf" ( + "id" int(11) NOT NULL, + "directory_id" int(11) NOT NULL, + "feed" text NOT NULL, + "local_file" text NOT NULL, + "description" text, + "priority" int(11) NOT NULL default '1000', + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `rss_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_authentication` +-- + +CREATE TABLE IF NOT EXISTS "sip_authentication" ( + "nonce" varchar(255) default NULL, + "expires" int(11) default NULL +); + +-- +-- Dumping data for table `sip_authentication` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_dialogs` +-- + +CREATE TABLE IF NOT EXISTS "sip_dialogs" ( + "call_id" varchar(255) default NULL, + "uuid" varchar(255) default NULL, + "sip_to_user" varchar(255) default NULL, + "sip_to_host" varchar(255) default NULL, + "sip_from_user" varchar(255) default NULL, + "sip_from_host" varchar(255) default NULL, + "contact_user" varchar(255) default NULL, + "contact_host" varchar(255) default NULL, + "state" varchar(255) default NULL, + "direction" varchar(255) default NULL, + "user_agent" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_dialogs` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_registrations` +-- + +CREATE TABLE IF NOT EXISTS "sip_registrations" ( + "call_id" varchar(255) default NULL, + "sip_user" varchar(255) default NULL, + "sip_host" varchar(255) default NULL, + "contact" varchar(1024) default NULL, + "status" varchar(255) default NULL, + "rpid" varchar(255) default NULL, + "expires" int(11) default NULL, + "user_agent" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_registrations` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sip_subscriptions` +-- + +CREATE TABLE IF NOT EXISTS "sip_subscriptions" ( + "proto" varchar(255) default NULL, + "sip_user" varchar(255) default NULL, + "sip_host" varchar(255) default NULL, + "sub_to_user" varchar(255) default NULL, + "sub_to_host" varchar(255) default NULL, + "event" varchar(255) default NULL, + "contact" varchar(1024) default NULL, + "call_id" varchar(255) default NULL, + "full_from" varchar(255) default NULL, + "full_via" varchar(255) default NULL, + "expires" int(11) default NULL, + "user_agent" varchar(255) default NULL, + "accept" varchar(255) default NULL +); + +-- +-- Dumping data for table `sip_subscriptions` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_aliases` +-- + +CREATE TABLE IF NOT EXISTS "sofia_aliases" ( + "id" int(10) unsigned NOT NULL, + "sofia_id" int(10) unsigned NOT NULL, + "alias_name" varchar(255) NOT NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_aliases` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_conf` +-- + +CREATE TABLE IF NOT EXISTS "sofia_conf" ( + "id" int(11) NOT NULL, + "profile_name" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_domains` +-- + +CREATE TABLE IF NOT EXISTS "sofia_domains" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "domain_name" varchar(255) default NULL, + "parse" tinyint(1) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_domains` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_gateways` +-- + +CREATE TABLE IF NOT EXISTS "sofia_gateways" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "gateway_name" varchar(255) default NULL, + "gateway_param" varchar(255) default NULL, + "gateway_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_gateways` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sofia_settings` +-- + +CREATE TABLE IF NOT EXISTS "sofia_settings" ( + "id" int(11) NOT NULL, + "sofia_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `sofia_settings` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_conf` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_conf" ( + "id" int(10) unsigned NOT NULL, + "vm_profile" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_profile" ("vm_profile") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `voicemail_conf` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_email` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_email" ( + "id" int(10) unsigned NOT NULL, + "voicemail_id" int(10) unsigned NOT NULL, + "param_name" varchar(64) NOT NULL, + "param_value" varchar(64) NOT NULL, + PRIMARY KEY ("id"), + UNIQUE KEY "unique_profile_param" ("param_name","voicemail_id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `voicemail_email` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `voicemail_settings` +-- + +CREATE TABLE IF NOT EXISTS "voicemail_settings" ( + "id" int(11) NOT NULL, + "voicemail_id" int(11) default NULL, + "param_name" varchar(255) default NULL, + "param_value" varchar(255) default NULL, + PRIMARY KEY ("id") +) AUTO_INCREMENT=1 ; + +-- +-- Dumping data for table `voicemail_settings` +-- + + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `dingaling_profile_params` +-- +ALTER TABLE `dingaling_profile_params` + ADD CONSTRAINT "dingaling_profile" FOREIGN KEY ("dingaling_id") REFERENCES "dingaling_profiles" ("id") ON DELETE CASCADE ON UPDATE CASCADE; From mphill at freeswitch.org Sun Feb 15 19:40:38 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 21:40:38 -0600 Subject: [Freeswitch-svn] [commit] r12039 - in freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl: . libs Message-ID: Author: mphill Date: Sun Feb 15 21:40:38 2009 New Revision: 12039 Log: New dialplan importer uses new schema. Now uses PDO instead of MDB2. fs_dialpan.php now uses the new schema. Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/fs_pdo.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php Sun Feb 15 21:40:38 2009 @@ -8,9 +8,12 @@ */ /** - * include MDB2 PEAR Extension + * Switched to simple xml, pdo and new schemea. Added several new supporint functions + * @author Michael Phillips */ -require_once('MDB2.php'); + +require_once('libs/fs_pdo.php'); + /** * require global definitions for FS_CURL */ @@ -23,10 +26,11 @@ */ function upload_form() { echo ''; - echo '

Select A File To Import

'; + echo '

Select A File To Import

'; echo '
'; echo ''; echo ''; + echo '

Clear all dialplan data before insert?

'; echo '
'; echo ''; } @@ -41,7 +45,7 @@ function run_query($db, $query) { syslog(LOG_INFO, $query); $affected = $db -> exec($query); - if (MDB2::isError($affected)) { + if (FS_PDO::isError($affected)) { if (!defined('UNSUCCESSFUL_QUERY')) { define('UNSUCCESSFUL_QUERY', true); } @@ -95,52 +99,109 @@ // no need to do anything till we check that the file's ok if (check_uploaded_file($_FILES['file'])) { $xml_file = $_FILES['file']['tmp_name']; - move_uploaded_file($tmp_file, $xml_file); + //move_uploaded_file($tmp_file, $xml_file); + //is_uploaded_file + //echo filesize($xml_file); //echo $xml_file . "\n
"; - $xml_str = sprintf('%s', file_get_contents($xml_file)); - //echo $xml_str; + $xml_str = file_get_contents($xml_file); } -$db = MDB2::connect(DEFAULT_DSN); -if (MDB2::isError($db)) { - echo $db -> getMessage() . "\n"; -} - -$xml_obj = new SimpleXMLElement($xml_str); -foreach ($xml_obj -> context as $context) { - $cn = $context['name']; - $global_weight = 100; - foreach ($context -> extension as $extension) { - $en = $extension['name']; - //printf("
%s
", print_r($extension, true)); - $ec = $extension['continue']; - $global_weight+=100; - foreach ($extension -> condition as $condition) { - //print_r($condition); - $cf = $condition['field']; - $ce = addslashes($condition['expression']); - //echo "
Condidtion Expression for $en:\n    before: " . $condition['expression'] . "\n    after: $ce
"; - $cb = $condition['break']; - $weight = 0; - foreach ($condition as $type => $action) { - //echo "-------------------$type-----------------------------\n"; - $app_name = $action['application']; - $app_data = addslashes($action['data']); - $weight++; - //echo "$cn\t$en\t$cf\t$ce\t$cc\t$app_name\t$app_data\t$ec\t$global_weight\t$weight\n"; - $query = sprintf('%s %s %s %s %s %s;', - "INSERT INTO dialplan SET", - "context='$cn', extension='$en', condition_field='$cf',", - "condition_expression='$ce', application_name='$app_name',", - "application_data='$app_data', weight='$weight', type='$type',", - "ext_continue='$ec', global_weight='$global_weight',", - "cond_break='$cb'" - ); - run_query($db, $query); - } - } - } + +try { + $db = new FS_PDO(DEFAULT_DSN,DEFAULT_DSN_LOGIN, DEFAULT_DSN_PASSWORD); +} catch(Exception $e) { + die($e->getMessage()); +} + +if($_POST['clear_dialplan']) { + truncate_dialplan(); +} + +echo "
";
+$xml = simplexml_load_string($xml_str);
+$num_of_conext = sizeof($xml->context);
+
+
+$dialplan_id = insert_dialplan();
+foreach($xml->children() as $context => $context_children) {
+	//echo $context . " => " . $context_children->attributes()->name . "\n";
+	$context_id = insert_dialplan_context($dialplan_id, $context_children->attributes()->name);
+
+	foreach($context_children as $extension => $extension_children) {
+		//echo "\t" . $extension . " => name: " . $extension_children->attributes()->name . "  continue: " . $extension_children->attributes()->continue . "\n" ;
+		if($extension == 'extension') { //verify again bad input
+			$extension_id = insert_dialplan_extension($context_id, $extension_children->attributes()->name, $extension_children->attributes()->continue);
+		}
+		foreach($extension_children as $condition => $condition_children) {
+			//echo "\t\t" . $condition . " => " . $condition_children->attributes()->field . ", expression; " .$condition_children->attributes()->expression . "\n";
+			$condition_id = insert_dialplan_condition($extension_id, $condition_children->attributes()->field, $condition_children->attributes()->expression);
+			foreach($condition_children as $action => $action_childress) {
+				//echo "\t\t\t" . $action . " => " . $action_childress->attributes()->application . ", expression; " .$action_childress->attributes()->data . "\n";
+				if($action == ('action' || 'anti-action')) { //verify again bad input
+					insert_dialplan_actions($condition_id, $action_childress->attributes()->application , $action_childress->attributes()->data, $action);
+				} else {
+					echo "bad xml $action";
+				}// end if
+			} //end foreach
+		} //end foreach
+	}// end foreach
+} // end foreach
+
+echo "
"; + +function insert_dialplan($domain = 'freeswitch' , $ip_address = '127.0.0.1') { + global $db; + $sql = sprintf("INSERT INTO dialplan (`domain`, `ip_address`) VALUES ('%s', '%s')", $domain, $ip_address); + $db->query($sql); + return $db->lastInsertId() ; +} + +function insert_dialplan_context($dialplan_id, $context) { + global $db; + $sql = sprintf("INSERT INTO dialplan_context (`dialplan_id`, `context`, `weight`) VALUES (%d, '%s', %d)", $dialplan_id, $context, get_next_weight('context')); + $db->query($sql); + return $db->lastInsertId() ; +} + +function insert_dialplan_extension($context_id, $name, $continue) { + global $db; + $sql = sprintf("INSERT INTO dialplan_extension (`context_id`, `name`, `continue`, `weight`) VALUES (%d, '%s', '%s', %d)", $context_id, $name, $continue, get_next_weight('extension')); + get_next_weight('extension'); + $db->query($sql); + return $db->lastInsertId() ; +} + +function insert_dialplan_condition($extension_id, $field, $expression) { + global $db; + $sql = sprintf("INSERT INTO dialplan_condition (`extension_id`, `field`, `expression`, `weight`) VALUES (%d, '%s', '%s', %d)", $extension_id, addslashes($field), addslashes($expression),get_next_weight('condition') ); + //echo $sql . "\n"; + $db->query($sql); + return $db->lastInsertId() ; +} + +function insert_dialplan_actions($condition_id, $application , $data, $type) { + global $db; + $sql = sprintf("INSERT INTO dialplan_actions(`condition_id`, `application`, `data`, `type`, `weight`) VALUES (%d, '%s', '%s', '%s', %d)", $condition_id, addslashes($application), addslashes($data), $type, get_next_weight('actions')); + $db->query($sql); + return $db->lastInsertId() ; +} + +function get_next_weight($table) { //used for weighting system + global $db; + $sql = sprintf("SELECT MAX(weight) as max FROM dialplan_%s", $table); + $res = $db->queryAll($sql); + return ($res[0]['max'] + 10); +} + +function truncate_dialplan() { + global $db; + $db->query('TRUNCATE dialplan_extension'); + $db->query('TRUNCATE dialplan'); + $db->query('TRUNCATE dialplan_context'); + $db->query('TRUNCATE dialplan_condition'); + $db->query('TRUNCATE dialplan_actions'); } + if (defined(UNSUCCESSFUL_QUERY) && UNSUCCESSFUL_QUERY == true) { echo "

Some Queries Were Not Successful

"; } else { @@ -149,4 +210,4 @@ upload_form(); //printf("
%s
", print_r($xml_obj, true); - +?> \ No newline at end of file Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php Sun Feb 15 21:40:38 2009 @@ -83,10 +83,23 @@ */ private function get_dialplan($context) { $dp_array = array(); - $dpQuery = sprintf("%s %s;" - , "SELECT * FROM dialplan WHERE context='$context' ORDER BY" - , "global_weight, context, extension, weight" - ); + $dpQuery = sprintf("SELECT + `context`, + `name` as extension, + `application` as application_name, + `data` as application_data, + `field` as condition_field, + `expression` as condition_expression, + `continue` as ext_continue, + `type` + FROM dialplan + INNER JOIN dialplan_context USING(dialplan_id) + INNER JOIN dialplan_extension USING(context_id) + INNER JOIN dialplan_condition USING(extension_id) + INNER JOIN dialplan_actions USING(condition_id) + WHERE context = '%s' + ORDER BY dialplan_context.weight, dialplan_extension.weight, dialplan_condition.weight, dialplan_actions.weight", $context); + $res = $this -> db -> query($dpQuery); if (FS_PDO::isError($res)) { $this -> comment($this -> db -> getMessage()); @@ -99,11 +112,11 @@ $ec = $row['ext_continue']; $app = $row['application_name']; $data = $row['application_data']; - $app_cdata = $row['app_cdata']; + //$app_cdata = $row['app_cdata']; $type = $row['type']; $cf = $row['condition_field']; $ce = $row['condition_expression']; - $rcd = $row['re_cdata']; + //$rcd = $row['re_cdata']; $cc = empty($row['cond_break']) ? '0' : $row['cond_break']; $dp_array[$ct]["$et;$ec"]["$cf;$ce;$cc;$rcd"][] = array( 'type'=>$type, Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php Sun Feb 15 21:40:38 2009 @@ -17,11 +17,11 @@ /** * Defines the default dsn login for the PDO class */ -define('DEFAULT_DSN_LOGIN', 'freeswitch'); +define('DEFAULT_DSN_LOGIN', 'root'); /** * Defines the default dsn password for the PDOclass */ -define('DEFAULT_DSN_PASSWORD', 'fr33sw1tch'); +define('DEFAULT_DSN_PASSWORD', 'aasml2009'); /** * Generic return success */ @@ -74,4 +74,4 @@ //define('', ''); - +?> \ No newline at end of file Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/fs_pdo.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/fs_pdo.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/libs/fs_pdo.php Sun Feb 15 21:40:38 2009 @@ -105,5 +105,5 @@ return $this->rowCount(); } -} -?> +} +?> \ No newline at end of file From mphill at freeswitch.org Sun Feb 15 20:56:14 2009 From: mphill at freeswitch.org (FreeSWITCH SVN) Date: Sun, 15 Feb 2009 22:56:14 -0600 Subject: [Freeswitch-svn] [commit] r12040 - freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl Message-ID: Author: mphill Date: Sun Feb 15 22:56:14 2009 New Revision: 12040 Log: Some more sane defaults Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php ============================================================================== --- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php (original) +++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php Sun Feb 15 22:56:14 2009 @@ -17,11 +17,11 @@ /** * Defines the default dsn login for the PDO class */ -define('DEFAULT_DSN_LOGIN', 'root'); +define('DEFAULT_DSN_LOGIN', 'freeswitch'); /** * Defines the default dsn password for the PDOclass */ -define('DEFAULT_DSN_PASSWORD', 'aasml2009'); +define('DEFAULT_DSN_PASSWORD', 'fr33sw1tch'); /** * Generic return success */ From shaneb at freeswitch.org Sun Feb 15 23:11:09 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 01:11:09 -0600 Subject: [Freeswitch-svn] [commit] r12041 - freeswitch/trunk/libs/apr-util Message-ID: Author: shaneb Date: Mon Feb 16 01:11:09 2009 New Revision: 12041 Log: apr cmake files Added: freeswitch/trunk/libs/apr-util/CMakeLists.txt Added: freeswitch/trunk/libs/apr-util/CMakeLists.txt ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/apr-util/CMakeLists.txt Mon Feb 16 01:11:09 2009 @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 2.6) + +INCLUDE_DIRECTORIES(include/) + +add_definitions(-DHAVE_CONFIG_H -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/libs/apr-util/include ${CMAKE_SOURCE_DIR}/libs/apr-util/include/private ${CMAKE_SOURCE_DIR}/libs/apr/include) + + +SET (apr-util_SRCS +crypto/apr_md5.c +crypto/uuid.c +crypto/apr_sha1.c +crypto/getuuid.c +crypto/apr_md4.c +encoding/apr_base64.c +hooks/apr_hooks.c +misc/apr_reslist.c +misc/apr_rmm.c +misc/apr_date.c +misc/apu_version.c +misc/apr_queue.c +uri/apr_uri.c +strmatch/apr_strmatch.c +xlate/xlate.c +) + +ADD_LIBRARY(apr-util STATIC ${apr-util_SRCS}) + + + + + + + From shaneb at freeswitch.org Sun Feb 15 23:11:19 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 01:11:19 -0600 Subject: [Freeswitch-svn] [commit] r12042 - freeswitch/trunk/libs/apr Message-ID: Author: shaneb Date: Mon Feb 16 01:11:19 2009 New Revision: 12042 Log: apr cmake files Added: freeswitch/trunk/libs/apr/CMakeLists.txt Added: freeswitch/trunk/libs/apr/CMakeLists.txt ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/apr/CMakeLists.txt Mon Feb 16 01:11:19 2009 @@ -0,0 +1,110 @@ +cmake_minimum_required(VERSION 2.6) + +INCLUDE_DIRECTORIES(include/) + +add_definitions(-DHAVE_CONFIG_H -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/libs/apr/include/arch/unix/ ./include) + +SET (apr_SRCS + passwd/apr_getpass.c + strings/apr_cpystrn.c + strings/apr_strnatcmp.c + strings/apr_strings.c + strings/apr_strtok.c + strings/apr_fnmatch.c + strings/apr_snprintf.c + tables/apr_tables.c + tables/apr_hash.c + atomic/unix/apr_atomic.c + dso/unix/dso.c + file_io/unix/flock.c + file_io/unix/readwrite.c + file_io/unix/filepath_util.c + file_io/unix/seek.c + file_io/unix/dir.c + file_io/unix/mktemp.c + file_io/unix/filedup.c + file_io/unix/tempdir.c + file_io/unix/filepath.c + file_io/unix/pipe.c + file_io/unix/open.c + file_io/unix/filestat.c + file_io/unix/copy.c + file_io/unix/fileacc.c + file_io/unix/fullrw.c + locks/unix/thread_rwlock.c + locks/unix/thread_mutex.c + locks/unix/thread_cond.c + locks/unix/proc_mutex.c + locks/unix/global_mutex.c + memory/unix/apr_pools.c + misc/unix/charset.c + misc/unix/env.c + misc/unix/version.c + misc/unix/rand.c + misc/unix/start.c + misc/unix/errorcodes.c + misc/unix/getopt.c + misc/unix/otherchild.c + mmap/unix/mmap.c + mmap/unix/common.c + network_io/unix/sockaddr.c + network_io/unix/sockopt.c + network_io/unix/sendrecv.c + network_io/unix/multicast.c + network_io/unix/sockets.c + network_io/unix/inet_ntop.c + network_io/unix/inet_pton.c + poll/unix/epoll.c + poll/unix/select.c + poll/unix/poll.c + poll/unix/port.c + poll/unix/kqueue.c + random/unix/sha2.c + random/unix/apr_random.c + random/unix/sha2_glue.c + shmem/unix/shm.c + support/unix/waitio.c + threadproc/unix/procsup.c + threadproc/unix/thread.c + threadproc/unix/signals.c + threadproc/unix/proc.c + threadproc/unix/threadpriv.c + time/unix/time.c + time/unix/timestr.c + user/unix/userinfo.c + user/unix/groupinfo.c) + + +ADD_LIBRARY(apr STATIC ${apr_SRCS}) + + +#/bin/sh /Users/shaneburrell/freeswitch-svn-real/libs/apr/libtool --silent --mode=link gcc -g -O2 -DHAVE_CONFIG_H -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -I./include -I/Users/shaneburrell/freeswitch-svn-real/arch/unix -I./include/arch/unix -I/Users/shaneburrell/freeswitch-svn-real -version-info 2:8:2 -o libapr-1.la -rpath /usr/local/freeswitch/lib passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_strnatcmp.lo strings/apr_strings.lo strings/apr_strtok.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo tables/apr_tables.lo tables/apr_hash.lo atomic/unix/apr_atomic.lo dso/unix/dso.lo file_io/unix/flock.lo file_io/unix/readwrite.lo file_io/unix/filepath_util.lo file_io/unix/seek.lo file_io/unix/dir.lo file_io/unix/mktemp.lo file_io/unix/filedup.lo file_io/unix/tempdir.lo file_io/unix/filepath.lo file_io/unix/pipe.lo file_io/unix/open.lo file_io/unix/filestat.lo file_io/unix/copy.lo file_io/unix/fileacc.lo file_io/unix/fullrw.lo locks/unix/thread_rwlock.lo locks/unix/thread_mutex.lo locks/unix/thread_cond.lo locks/unix/proc_mutex.lo locks/unix/global_mutex.lo memory/unix/apr_pools.lo misc/unix/charset.lo misc/unix/env.lo misc/unix/version.lo misc/unix/rand.lo misc/unix/start.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo mmap/unix/mmap.lo mmap/unix/common.lo network_io/unix/sockaddr.lo network_io/unix/sockopt.lo network_io/unix/sendrecv.lo network_io/unix/multicast.lo network_io/unix/sockets.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo poll/unix/epoll.lo poll/unix/select.lo poll/unix/poll.lo poll/unix/port.lo poll/unix/kqueue.lo random/unix/sha2.lo random/unix/apr_random.lo random/unix/sha2_glue.lo shmem/unix/shm.lo support/unix/waitio.lo threadproc/unix/procsup.lo threadproc/unix/thread.lo threadproc/unix/signals.lo threadproc/unix/proc.lo threadproc/unix/threadpriv.lo time/unix/time.lo time/unix/timestr.lo user/unix/userinfo.lo user/unix/groupinfo.lo -ldl -lpthread + +#awk -f /Users/shaneburrell/freeswitch-svn-real/libs/apr/build/make_var_export.awk /Users/shaneburrell/freeswitch-svn-real/apr_thread_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_env.h /Users/shaneburrell/freeswitch-svn-real/apr_poll.h /Users/shaneburrell/freeswitch-svn-real/apr_fnmatch.h /Users/shaneburrell/freeswitch-svn-real/apr_global_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_pools.h /Users/shaneburrell/freeswitch-svn-real/apr_want.h /Users/shaneburrell/freeswitch-svn-real/apr_file_io.h /Users/shaneburrell/freeswitch-svn-real/apr_version.h /Users/shaneburrell/freeswitch-svn-real/apr_mmap.h /Users/shaneburrell/freeswitch-svn-real/apr_dso.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_proc.h /Users/shaneburrell/freeswitch-svn-real/apr_errno.h /Users/shaneburrell/freeswitch-svn-real/apr_shm.h /Users/shaneburrell/freeswitch-svn-real/apr_network_io.h /Users/shaneburrell/freeswitch-svn-real/apr_signal.h /Users/shaneburrell/freeswitch-svn-real/apr_user.h /Users/shaneburrell/freeswitch-svn-real/apr_support.h /Users/shaneburrell/freeswitch-svn-real/apr_atomic.h /Users/shaneburrell/freeswitch-svn-real/apr_random.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_cond.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_rwlock.h /Users/shaneburrell/freeswitch-svn-real/apr_getopt.h /Users/shaneburrell/freeswitch-svn-real/apr_inherit.h /Users/shaneburrell/freeswitch-svn-real/apr_strings.h /Users/shaneburrell/freeswitch-svn-real/apr_general.h /Users/shaneburrell/freeswitch-svn-real/apr_proc_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_tables.h /Users/shaneburrell/freeswitch-svn-real/apr_ring.h /Users/shaneburrell/freeswitch-svn-real/apr_file_info.h /Users/shaneburrell/freeswitch-svn-real/apr_allocator.h /Users/shaneburrell/freeswitch-svn-real/apr_portable.h /Users/shaneburrell/freeswitch-svn-real/apr_hash.h /Users/shaneburrell/freeswitch-svn-real/apr_time.h /Users/shaneburrell/freeswitch-svn-real/apr_lib.h > export_vars.c + +#awk -f /Users/shaneburrell/freeswitch-svn-real/libs/apr/build/make_exports.awk /Users/shaneburrell/freeswitch-svn-real/apr_thread_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_env.h /Users/shaneburrell/freeswitch-svn-real/apr_poll.h /Users/shaneburrell/freeswitch-svn-real/apr_fnmatch.h /Users/shaneburrell/freeswitch-svn-real/apr_global_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_pools.h /Users/shaneburrell/freeswitch-svn-real/apr_want.h /Users/shaneburrell/freeswitch-svn-real/apr_file_io.h /Users/shaneburrell/freeswitch-svn-real/apr_version.h /Users/shaneburrell/freeswitch-svn-real/apr_mmap.h /Users/shaneburrell/freeswitch-svn-real/apr_dso.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_proc.h /Users/shaneburrell/freeswitch-svn-real/apr_errno.h /Users/shaneburrell/freeswitch-svn-real/apr_shm.h /Users/shaneburrell/freeswitch-svn-real/apr_network_io.h /Users/shaneburrell/freeswitch-svn-real/apr_signal.h /Users/shaneburrell/freeswitch-svn-real/apr_user.h /Users/shaneburrell/freeswitch-svn-real/apr_support.h /Users/shaneburrell/freeswitch-svn-real/apr_atomic.h /Users/shaneburrell/freeswitch-svn-real/apr_random.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_cond.h /Users/shaneburrell/freeswitch-svn-real/apr_thread_rwlock.h /Users/shaneburrell/freeswitch-svn-real/apr_getopt.h /Users/shaneburrell/freeswitch-svn-real/apr_inherit.h /Users/shaneburrell/freeswitch-svn-real/apr_strings.h /Users/shaneburrell/freeswitch-svn-real/apr_general.h /Users/shaneburrell/freeswitch-svn-real/apr_proc_mutex.h /Users/shaneburrell/freeswitch-svn-real/apr_tables.h /Users/shaneburrell/freeswitch-svn-real/apr_ring.h /Users/shaneburrell/freeswitch-svn-real/apr_file_info.h /Users/shaneburrell/freeswitch-svn-real/apr_allocator.h /Users/shaneburrell/freeswitch-svn-real/apr_portable.h /Users/shaneburrell/freeswitch-svn-real/apr_hash.h /Users/shaneburrell/freeswitch-svn-real/apr_time.h /Users/shaneburrell/freeswitch-svn-real/apr_lib.h > exports.c +#gcc -E -DHAVE_CONFIG_H -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -I./include -I/Users/shaneburrell/freeswitch-svn-real/arch/unix -I./include/arch/unix -I/Users/shaneburrell/freeswitch-svn-real exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$/\1/' >> apr.exp +#gcc -E -DHAVE_CONFIG_H -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -I./include -I/Users/shaneburrell/freeswitch-svn-real/arch/unix -I./include/arch/unix -I/Users/shaneburrell/freeswitch-svn-real export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$/d' >> apr.exp + + + + + + + + + + + + + + + + + + + + + + From shaneb at freeswitch.org Sun Feb 15 23:11:29 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 01:11:29 -0600 Subject: [Freeswitch-svn] [commit] r12043 - freeswitch/trunk Message-ID: Author: shaneb Date: Mon Feb 16 01:11:29 2009 New Revision: 12043 Log: apr cmake files Modified: freeswitch/trunk/CMakeLists.txt Modified: freeswitch/trunk/CMakeLists.txt ============================================================================== --- freeswitch/trunk/CMakeLists.txt (original) +++ freeswitch/trunk/CMakeLists.txt Mon Feb 16 01:11:29 2009 @@ -45,10 +45,54 @@ MESSAGE( STATUS ) # Configuration checks + + + +## Check type sizes -------------------------------------- + + check_type_size ("int" SIZEOF_INT ) + check_type_size ("uint32_t" HAVE_UINT32_T ) + check_type_size ("int64_t" HAVE_INT64_T ) + check_type_size ("float" SIZEOF_FLOAT ) + check_type_size ("double" SIZEOF_DOUBLE ) + check_type_size ("long" SIZEOF_LONG ) + check_type_size ("long long" SIZEOF_LONG_LONG ) + check_type_size ("short" SIZEOF_SHORT ) + check_type_size ("off_t" SIZEOF_OFF_T ) + check_type_size ("pid_t" SIZEOF_PID_T ) + check_type_size ("size_t" SIZEOF_SIZE_T ) + check_type_size ("socklen_t" SIZEOF_SOCKLEN_T ) + check_type_size ("sig_atomic_t" SIZEOF_SIG_ATOMIC_T ) + check_type_size ("void *" SIZEOF_VOID_P ) + check_type_size ("uintptr_t" SIZEOF_UINTPTR_T ) + check_type_size ("_Bool" HAVE__BOOL ) + check_type_size ("intptr_t" SIZEOF_INTPTR_T ) + + check_type_size ("struct sockaddr_in6" SIZEOF_STRUCT_SOCKADDR_IN6 ) + check_type_size ("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE ) + check_type_size ("struct utimbuf" SIZEOF_STRUCT_UTIMBUF ) + + + + + + check_symbol_exists (strncasecmp "string.h" HAVE_STRNCASECMP) check_symbol_exists (strcasecmp "string.h" HAVE_STRCASECMP) check_symbol_exists (iswspace "wctype.h" HAVE_ISWSPACE) check_symbol_exists (towlower "wctype.h" HAVE_TOWLOWER) +check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE) +check_symbol_exists(isinf cmath HAVE_ISINF_IN_CMATH) +check_symbol_exists(isinf math.h HAVE_ISINF_IN_MATH_H) +check_symbol_exists(isnan cmath HAVE_ISNAN_IN_CMATH) +check_symbol_exists(isnan math.h HAVE_ISNAN_IN_MATH_H) +check_symbol_exists(ceilf math.h HAVE_CEILF) +check_symbol_exists(floorf math.h HAVE_FLOORF) +check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO) +check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK) +check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL) +check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE) +check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT) check_include_file (dirent.h HAVE_DIRENT_H) check_include_file (dlfcn.h HAVE_DLFCN_H) @@ -61,7 +105,7 @@ check_include_file (sys/ndir.h HAVE_SYS_NDIR_H) CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H) - +check_include_file(malloc.h HAVE_MALLOC_H) check_include_file (sys/ioctl.h HAVE_SYS_IOCTL_H) check_include_file (sys/utsname.h HAVE_SYS_UTSNAME_H) check_include_file (wchar.h HAVE_WCHAR_H) @@ -93,8 +137,9 @@ check_function_exists (setenv HAVE_SETENV) check_function_exists (setgroups HAVE_SETGROUPS) - +check_function_exists (clock_gettime HAVE_CLOCK_GETTIME) check_function_exists (pselect HAVE_PSELECT) +check_function_exists (malloc HAVE_MALLOC) check_function_exists (mlock HAVE_MLOCK) check_function_exists (mlockall HAVE_MLOCKALL) check_function_exists (asprintf HAVE_ASPRINTF) @@ -102,6 +147,24 @@ check_function_exists (gettimeofday HAVE_GETTIMEOFDAY) check_function_exists (gmtime_r HAVE_GMTIME_R) check_function_exists (initgroups HAVE_INITGROUPS) +check_function_exists (usleep HAVE_USLEEP) +check_function_exists (vasprintf HAVE_VASPRINTF) + + +MESSAGE( STATUS "BUILD APR--------------------------------------------------------------------------" ) + +#execute_process (WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/apr/ COMMAND ./configure --prefix=/usr/local/freeswitch --enable-core-odbc-support --cache-file=/dev/null --srcdir=. --disable-shared --with-pic TIMEOUT 300 ERROR_VARIABLE error_configure ERROR_FILE error.log) + +#execute_process (WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/apr/ COMMAND ./make TIMEOUT 300 ERROR_VARIABLE error_configure ERROR_FILE error.log) +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) + +MESSAGE( STATUS "BUILD APR-UTIL--------------------------------------------------------------------------" ) + +#execute_process (WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/apr-util/ COMMAND ./configure --prefix=/usr/local/freeswitch --enable-core-odbc-support --cache-file=/dev/null --srcdir=. --with-apr=../apr --disable-shared --with-pic --without-sqlite2 --without-sqlite3 TIMEOUT 300 ERROR_VARIABLE error_configure ERROR_FILE error.log) + +#execute_process (WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/apr-util/ COMMAND ./make TIMEOUT 300 ERROR_VARIABLE error_configure ERROR_FILE error.log) + +MESSAGE( STATUS "-------------------------------------------------------------------------------" ) # OPTION( VARIABLE "Description" Initial state) @@ -132,10 +195,18 @@ FIND_PACKAGE(Threads) +#TESTING SECTION +add_definitions(-DMACOSX) +#add_definitions("-DSWITCH_PREFIX_DIR=/usr/local/freeswitch") + + + +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/libs/apr/include/ ${CMAKE_SOURCE_DIR}/libs/apr-util/include/ src/include/ libs/libteletone/src/ libs/stfu/) + # DO APR -INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/apr/include/ ${CMAKE_SOURCE_DIR}/libs/apr-util/include/) -LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr/.libs/libapr-1.a) -LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr-util/.libs/libaprutil-1.a) +#INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/apr/include/ ${CMAKE_SOURCE_DIR}/libs/apr-util/include/) +#LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr/.libs/libapr-1.a) +#LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/apr-util/.libs/libaprutil-1.a) # DO SNDFILE @@ -159,10 +230,6 @@ #endif( PATH_LIB_EDIT) -#TESTING SECTION -add_definitions(-DMACOSX) -#add_definitions("-DSWITCH_PREFIX_DIR=/usr/local/freeswitch") - # DO SRTP @@ -180,6 +247,7 @@ # libspeexdsp LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/speex/libspeex/.libs/libspeexdsp.a) +LINK_LIBRARIES (${CMAKE_SOURCE_DIR}/libs/speex/libspeex/.libs/libspeex.a) INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/libs/speex/include/) @@ -201,7 +269,7 @@ -INCLUDE_DIRECTORIES(src/include/ libs/libteletone/src/ libs/stfu/ libs/apr/include/ libs/apr-util/include/) + ADD_SUBDIRECTORY(src) #ADD_SUBDIRECTORY(libs/libresample/) @@ -209,6 +277,8 @@ #ADD_SUBDIRECTORY(libs/sqlite/) ADD_SUBDIRECTORY(libs/pcre/) ADD_SUBDIRECTORY(libs/stfu/) +ADD_SUBDIRECTORY(libs/apr-util/) +ADD_SUBDIRECTORY(libs/apr/) #ADD_SUBDIRECTORY(libs/libedit/src/) ADD_SUBDIRECTORY(libs/srtp/) @@ -216,6 +286,6 @@ ADD_EXECUTABLE(freeswitch ${freeswitch_SRCS}) -TARGET_LINK_LIBRARIES(freeswitch teletone pcre freeswitch_la stfu ${optionalLibs}) +TARGET_LINK_LIBRARIES(freeswitch apr apr-util teletone pcre freeswitch_la stfu ${optionalLibs}) From shaneb at freeswitch.org Sun Feb 15 23:12:17 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 01:12:17 -0600 Subject: [Freeswitch-svn] [commit] r12044 - freeswitch/trunk/src Message-ID: Author: shaneb Date: Mon Feb 16 01:12:17 2009 New Revision: 12044 Log: apr cmake files Modified: freeswitch/trunk/src/CMakeLists.txt Modified: freeswitch/trunk/src/CMakeLists.txt ============================================================================== --- freeswitch/trunk/src/CMakeLists.txt (original) +++ freeswitch/trunk/src/CMakeLists.txt Mon Feb 16 01:12:17 2009 @@ -6,9 +6,7 @@ INCLUDE_DIRECTORIES(include/ ../libs/libresample/include/ ../libs/srtp/crypto/include/ ../libs/srtp/include/ ../libs/speex/include/) -if( HAVE_NETDB_H) - add_definitions( -DHAVE_NETDB_H) -endif( HAVE_NETDB_H) + SET ( freeswitch_la_SRCS From anthm at freeswitch.org Mon Feb 16 05:57:25 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 07:57:25 -0600 Subject: [Freeswitch-svn] [commit] r12045 - freeswitch/trunk/build Message-ID: Author: anthm Date: Mon Feb 16 07:57:25 2009 New Revision: 12045 Log: tweak Modified: freeswitch/trunk/build/turbo_build.sh Modified: freeswitch/trunk/build/turbo_build.sh ============================================================================== --- freeswitch/trunk/build/turbo_build.sh (original) +++ freeswitch/trunk/build/turbo_build.sh Mon Feb 16 07:57:25 2009 @@ -31,11 +31,8 @@ done if [ $x = 0 ] ; then echo Build finished. Making install - $MAKE install_core 2>&1 > /dev/null - mods=`find src/mod -name \*.so | grep .libs` - /bin/cp -fp $mods $prefix/mod - mods=`find $prefix/mod -name \*.so` - echo installed core and $mods + $MAKE -j install 2>&1 > /dev/null + echo done exit; fi sleep 1 From anthm at freeswitch.org Mon Feb 16 05:59:13 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 07:59:13 -0600 Subject: [Freeswitch-svn] [commit] r12046 - in freeswitch/trunk/src: . include Message-ID: Author: anthm Date: Mon Feb 16 07:59:13 2009 New Revision: 12046 Log: FSCORE-298 Modified: freeswitch/trunk/src/include/switch_core.h freeswitch/trunk/src/switch_loadable_module.c Modified: freeswitch/trunk/src/include/switch_core.h ============================================================================== --- freeswitch/trunk/src/include/switch_core.h (original) +++ freeswitch/trunk/src/include/switch_core.h Mon Feb 16 07:59:13 2009 @@ -1669,7 +1669,7 @@ /*! \brief Launch a thread */ -SWITCH_DECLARE(void) switch_core_launch_thread(void *(*func) (switch_thread_t *, void *), void *obj, switch_memory_pool_t *pool); +SWITCH_DECLARE(void) switch_core_launch_thread(void *(SWITCH_THREAD_FUNC *func) (switch_thread_t *, void *), void *obj, switch_memory_pool_t *pool); /*! \brief Initiate Globals Modified: freeswitch/trunk/src/switch_loadable_module.c ============================================================================== --- freeswitch/trunk/src/switch_loadable_module.c (original) +++ freeswitch/trunk/src/switch_loadable_module.c Mon Feb 16 07:59:13 2009 @@ -77,7 +77,7 @@ static switch_status_t do_shutdown(switch_loadable_module_t *module, switch_bool_t shutdown, switch_bool_t unload, switch_bool_t fail_if_busy, const char **err); static switch_status_t switch_loadable_module_load_module_ex(char *dir, char *fname, switch_bool_t runtime, switch_bool_t global, const char **err); -static void *switch_loadable_module_exec(switch_thread_t *thread, void *obj) +static void *SWITCH_THREAD_FUNC switch_loadable_module_exec(switch_thread_t *thread, void *obj) { @@ -99,7 +99,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Destroying Pool for %s\n", module->module_interface->module_name); switch_core_destroy_memory_pool(&pool); } - switch_yield(1000000); + switch_thread_exit(thread, 0); return NULL; } From anthm at freeswitch.org Mon Feb 16 06:15:38 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 08:15:38 -0600 Subject: [Freeswitch-svn] [commit] r12047 - freeswitch/trunk/src Message-ID: Author: anthm Date: Mon Feb 16 08:15:38 2009 New Revision: 12047 Log: FSCORE-299 Modified: freeswitch/trunk/src/switch_core_media_bug.c Modified: freeswitch/trunk/src/switch_core_media_bug.c ============================================================================== --- freeswitch/trunk/src/switch_core_media_bug.c (original) +++ freeswitch/trunk/src/switch_core_media_bug.c Mon Feb 16 08:15:38 2009 @@ -212,6 +212,18 @@ { switch_media_bug_t *bug; //, *bp; switch_size_t bytes; + switch_codec_implementation_t read_impl = {0}; + switch_codec_implementation_t write_impl = {0}; + + + if (!switch_channel_media_ready(session->channel)) { + if (switch_channel_pre_answer(session->channel) != SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_FALSE; + } + } + + switch_core_session_get_read_impl(session, &read_impl); + switch_core_session_get_write_impl(session, &write_impl); *new_bug = NULL; @@ -251,7 +263,7 @@ bug->flags = flags; bug->stop_time = stop_time; - bytes = session->read_codec->implementation->decoded_bytes_per_packet; + bytes = read_impl.decoded_bytes_per_packet; if (!bug->flags) { bug->flags = (SMBF_READ_STREAM | SMBF_WRITE_STREAM); @@ -262,7 +274,7 @@ switch_mutex_init(&bug->read_mutex, SWITCH_MUTEX_NESTED, session->pool); } - bytes = session->write_codec->implementation->decoded_bytes_per_packet; + bytes = write_impl.decoded_bytes_per_packet; if (switch_test_flag(bug, SMBF_WRITE_STREAM)) { switch_buffer_create_dynamic(&bug->raw_write_buffer, bytes * SWITCH_BUFFER_BLOCK_FRAMES, bytes * SWITCH_BUFFER_START_FRAMES, MAX_BUG_BUFFER); From shaneb at freeswitch.org Mon Feb 16 07:11:01 2009 From: shaneb at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 09:11:01 -0600 Subject: [Freeswitch-svn] [commit] r12048 - freeswitch/trunk/libs/apr-util Message-ID: Author: shaneb Date: Mon Feb 16 09:11:01 2009 New Revision: 12048 Log: Fixed missing iconv Modified: freeswitch/trunk/libs/apr-util/CMakeLists.txt Modified: freeswitch/trunk/libs/apr-util/CMakeLists.txt ============================================================================== --- freeswitch/trunk/libs/apr-util/CMakeLists.txt (original) +++ freeswitch/trunk/libs/apr-util/CMakeLists.txt Mon Feb 16 09:11:01 2009 @@ -24,6 +24,8 @@ xlate/xlate.c ) +LINK_LIBRARIES ("-liconv -ldl -lpthread") + ADD_LIBRARY(apr-util STATIC ${apr-util_SRCS}) From brian at freeswitch.org Mon Feb 16 07:14:05 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Mon, 16 Feb 2009 09:14:05 -0600 Subject: [Freeswitch-svn] [commit] r12049 - freeswitch/trunk/conf Message-ID: Author: brian Date: Mon Feb 16 09:14:05 2009 New Revision: 12049 Log: just to be sure that people know you can't comment them out. You have to remove them. Modified: freeswitch/trunk/conf/vars.xml Modified: freeswitch/trunk/conf/vars.xml ============================================================================== --- freeswitch/trunk/conf/vars.xml (original) +++ freeswitch/trunk/conf/vars.xml Mon Feb 16 09:14:05 2009 @@ -1,5 +1,6 @@ - - - - - - - - - - - - - - - - Modified: freeswitch/trunk/conf/dialplan/public.xml ============================================================================== --- freeswitch/trunk/conf/dialplan/public.xml (original) +++ freeswitch/trunk/conf/dialplan/public.xml Mon Feb 16 13:01:50 2009 @@ -36,17 +36,6 @@ - - - - - - - - - - - Modified: freeswitch/trunk/conf/vars.xml ============================================================================== --- freeswitch/trunk/conf/vars.xml (original) +++ freeswitch/trunk/conf/vars.xml Mon Feb 16 13:01:50 2009 @@ -11,6 +11,7 @@ information on this topic. --> + + + + + + + + +to the standard default.xml dialplan, just under "set_domain_openzap" (thx BBHoss) +[edit] +Dialplan, how to use Skypiax + +Like other endpoints it's easy to build up useful dialplans using Skypiax. There are a few simple examples given in the "default.xml" dialplan located in mod_skypiax/configs/ + +You can use the standard format with the interface name: + +skypiax/skypiax1/echo123 + +to call "echo123" using the skypiax interface named "skypiax1" + +If you modify your dialplan, you'll be able to call "skype uri"s for terminating calls via the Skype network. + +A "Skype URI" is composed by the word 'skype' followed by a slash and a destination: "skype/remote_skypename" or "skype/skypeout_phonenumber" + +E.g. "skype/echo123" or "skype/+18007844444". + +You can use the "skype uri" of the provided dialplan directly from a SIP softphone, e.g. X-Lite. + +And you can call the "2909" extension in the provided dialplan from any kind of phone to be bridged to the Skype Test Call. + +Dialplan snippet: + + + + + + + + + + + + + + With the provided skypiax.conf.xml all incoming Skype calls will be routed to the "5000" extension, the IVR in default FreeSWITCH installation. +[edit] +The "ANY" interface, poor man interface grouping + +You can also use the "ANY" interface + +skypiax/ANY/echo123 + +to call "echo123" using the first available (idle, not in a call) skypiax interface, automatically selected (thx Seven Du). + +It's the same for the "Skype URI". If you use it with the "ANY" interface, the first idle interface will be used to make the call. + +Note: Currently it uses a sequential search, perhaps use round robin is more desired. Not sure if their are race conditions on concurrent calls. Anyone want to use that on high traffic? + +Dialplan snippets: + + + + + + + -On Linux the Skype client uses a lot of CPU. To lower its CPU consumption, you can use the Xvfb "fake" X server and (more important) the snd-dummy ALSA "fake" sound driver. Scripts are provided for this. But for a low number of channels it would works with regular X servers and ALSA drivers. + + + + + + -On a Linux machine with 3GB ram and a quad core intel6600, we got no problem with 20 concurrent calls, and plenty of room for adding more Skypiax channels (100? not tested). +[edit] +Multiple concurrent incoming calls on the same Skype username -On Windows, no need to do anything special, the Skype client is lighter on CPU. +Let's say you want to be able to serve multiple concurrent incoming calls to the Skype username "skypiax1" (as in: Alice uses Skype to call the Skype user "skypiax1", concurrently Bob uses Skype to call the Skype user "skypiax1", both Alice and Bob are concurrently served by FS). +You setup multiple skypiax interfaces on FS, as many interfaces as the max number of concurrent incoming calls you want to serve. -''Skypiax is now pre-beta, but usable for testing and finding bugs :-).'' +Each skypiax interface will have its own Skype client running, each one with its own Skype user login. +Let's say you want to serve a max of 3 concurrent incoming calls, you'll setup three skypiax interface (100 concurrent calls, 100 skypiax interfaces). One of those three interfaces will be logged into the Skype network using the Skype username you want to use to answer all the incoming calls. -'''You can download Skypiax source code with subversion with the command:''' +So, one interface will be logged into Skype network as "skypiax1". Let's say that the other two interfaces will be logged into the Skype network as "skypiax2" and "skypiax3", but they could be logged as any other Skype username, as long as they are all different and different from "skypiax1" (it's not possible to have more than one Skype client instance using the same Skype username on the same machine, at least on Linux). -svn co http://svn.freeswitch.org/svn/freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax mod_skypiax -then, follow the README file in the mod_skypiax directory. +When the first incoming call to the Skype username "skypiax1" is received, is served as you would expect by the interface logged as "skypiax1". -More info on skypiax: -http://wiki.freeswitch.org/wiki/Skypiax -http://www.celliax.org +If another call for "skypiax1" is incoming while that interface is busy into a call (incoming or outbound), the "skypiax1" interface will *transfer* the incoming call to the first other idle skypiax interface it finds (eg: skypiax2 or skypiax3). The calling user will not have to do nothing for this, and this is completely transparent for Windows and Linux users, while MacOSX users will see into their client that the called party is changed from "skypiax1" to, say, "skypiax3", but they too do not have to do nothing. -Skypiax has been contributed to the community by: -Giovanni Maruzzelli (gmaruzz at gmail dot com) +And so on until all the skypiax interfaces available are busy. At that point, further incoming calls will be rejected until one skypiax interface exit from the call it is into, and will be available to answer. -######################################################### -######################################################### -######################################################### +Basically, you don't have to do anything to be able to answer multiple incoming calls to the +same Skype username. Just set up enough interfaces for the maximum concurrent calls you want. - An example of Skypiax installation on FreeSWITCH Linux +[edit] +Libraries needed to build Skypiax on Linux -######################################################### -######################################################### -######################################################### +If you are on Ubuntu, Debian, or derivative: + +apt-get install libX11-dev + +if you are on CentOS, RedHat, or derivative: + +yum -y install libX11-devel + +for other distros, please add here +[edit] +An example of Skypiax and FreeSWITCH installation on CentOS 5.2, from scratch + +begin with CentOS-5.2-i386-netinstall.iso (or with the first installation disk) + +choose language +choose keyboard +choose installation method = HTTP + +default Tcp-Ip configuration + +HTTP setup: +insert the name of the mirror = mi.mirror.garr.it +insert the directory name = mirrors/CentOS/5.2/os/i386 + +At the package selection: + +select nothing from the "additional tasks", nothing for "additional repositories" +select "customize now" on the bottom +select "base system" then de-select dialup Networking support, and leave only "base" checked + +After the machine installed, + +from setup agent: +FIREWALL +firewall disabled +SElinux disabled + + +Login to the local console, and reboot it: + +shutdown -r now + +Login to the local console, and update the entire OS installation: + +yum update -y +shutdown -r now + +now login from ssh, the following is cut and paste ready + +yum install -y subversion autoconf automake libtool gcc-c++ ncurses-devel make +yum install -y libX11-devel +cd /usr/src +svn co http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch +cd freeswitch +./bootstrap.sh +./configure +vi modules.conf + +uncomment mod_skypiax in modules.conf, then: + +make && make install && make hd-sounds-install && make hd-moh-install && make samples +wget -c http://gd.tuwien.ac.at/infosys/phone/skype/rpm-public-key.asc +rpm --import rpm-public-key.asc +yum install -y Xvfb +yum install -y alsa-utils +yum install -y xorg-x11-fonts* +wget http://www.skype.com/go/getskype-linux-centos +yum localinstall skype-2.0.0.72-centos.i586.rpm + +Copy and install the Skype clients configuration directory you previously prepared (see below for how to prepare it): + +cd /root +mount /dev/hda5 /mnt +cp /mnt/root/skypeconfig2.tgz ./ +tar xzf skypeconfig2.tgz +chown -R root.root .Skype + +Install the skypiax configuration files, edit and execute the script that starts the Skype client instances: + +cd /usr/src +cd freeswitch/src/mod/endpoints/mod_skypiax/ +cd configs/ +cp skypiax.conf.xml /usr/local/freeswitch/conf/autoload_configs/ +vi /usr/local/freeswitch/conf/autoload_configs/skypiax.conf.xml +cp skypiax.X.conf /usr/local/freeswitch/conf/autoload_configs/ +cp startskype.sh 2startskype.sh +vi 2startskype.sh +sh ./2startskype.sh + +start FS and load skypiax! + +/usr/local/freeswitch/bin/freeswitch +load mod_skypiax + +thx to Kulwinder Singh (IRC: Daejeo) for how to install Skype client on CentOS! +[edit] +An example of Skypiax and FreeSWITCH installation on Ubuntu 8.04, from scratch Install ubuntu 8.04 LTS server (Released April 2008 and maintained until April 2013) with *only* OpenSSH Server. (we used the 64bit edition) @@ -63,98 +317,268 @@ Logout -=============================== -Login via ssh as the user you choose during install +Login via ssh as the user you choose during install, become root with "sudo su", and choose a root password. Then, update the OS installation. -maruzz at 8-04-srv:~$ -maruzz at 8-04-srv:~$ sudo su -[sudo] password for maruzz: -root at 8-04-srv:/home/maruzz# passwd -Enter new UNIX password: -Retype new UNIX password: -passwd: password updated successfully -root at 8-04-srv:/home/maruzz# -root at 8-04-srv:/home/maruzz# apt-get update && apt-get -y upgrade -root at 8-04-srv:/home/maruzz# apt-get update && apt-get -y dist-upgrade -root at 8-04-srv:/home/maruzz# reboot - -=============================== -Login as root via ssh - -root at 8-04-srv:~# apt-get update && apt-get -y dist-upgrade -root at 8-04-srv:/home/maruzz# reboot - -=============================== - -Now, let's begin the real installation - -root at 8-04-srv:~# apt-get -y install build-essential subversion automake autoconf wget libtool libncurses5-dev xvfb libx11-dev libasound2-dev -root at 8-04-srv:~# svn co http://svn.freeswitch.org/svn/freeswitch/branches/gmaruzz freeswitch_gmaruzz -root at 8-04-srv:~# cd freeswitch_gmaruzz/ -root at 8-04-srv:~/freeswitch_gmaruzz# ./bootstrap.sh -root at 8-04-srv:~/freeswitch_gmaruzz# ./configure -root at 8-04-srv:~/freeswitch_gmaruzz# make && make install && make hd-sounds-install && make hd-moh-install && make samples - -*** go to have something to drink-eat-read-whatever -*** test that FS can be started - -root at 8-04-srv:~/freeswitch_gmaruzz# /usr/local/freeswitch/bin/freeswitch -freeswitch at 8-04-srv> ... +sudo su +passwd -*** copy the skypiax configuration file -root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml /usr/local/freeswitch/conf/autoload_configs/ +apt-get update && apt-get -y upgrade +apt-get update && apt-get -y dist-upgrade +reboot -*** optionally, copy the dialplan configuration file that contains the "skypiax" modifications (eg: you can call "sip:skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network from a SIP softphone to remote_skypename or to a phone number via SkypeOut, or you can call the "2908" extension from any phone to be bridged to the Skype Test Call) -root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/default.xml /usr/local/freeswitch/conf/dialplan/ -*** now, let's get and install the Skype client -root at 8-04-srv:~/freeswitch_gmaruzz# cd .. -root at 8-04-srv:~# -root at 8-04-srv:~# apt-get -y install ia32-libs lib32asound2 libc6-i386 lib32gcc1 lib32stdc++6 lib32ncurses5 lib32z1 libasound2-plugins -root at 8-04-srv:~# wget -c http://www.skype.com/go/getskype-linux-ubuntu-amd64 -root at 8-04-srv:~# dpkg -i skype_ubuntu-2.0.0.72-1_amd64.deb - -*** now, let's get the skype configuration directory we prepared on another (desktop) machine -*** on "How to prepare the configuration directory of Skype clients on Linux", see configs/README.skypiax_auth -root at 8-04-srv:~# cp /mnt/root/configskypenew.tgz ./ -root at 8-04-srv:~# tar xzf configskypenew.tgz -root at 8-04-srv:~# chown root.root .Skype -root at 8-04-srv:~# +Login again as root via ssh + +apt-get update && apt-get -y dist-upgrade +reboot + + +Now, let's begin the real installation. Starting here, following is cut and paste ready: + +apt-get -y install build-essential subversion automake autoconf wget \ +libtool libncurses5-dev xvfb libx11-dev libasound2-dev +svn co http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch +cd freeswitch +./bootstrap.sh +./configure + +Uncomment the line "endpoints/mod_skypiax" in modules.conf. + +vi modules.conf +make && make install && make hd-sounds-install && make hd-moh-install && make samples + +go to have something to drink-eat-read-whatever, takes time + +then, test that FS can be started + +/usr/local/freeswitch/bin/freeswitch +... -**** almost ready! +copy the skypiax configuration file -**** let's edit the skypiax config -root at 8-04-srv:~/freeswitch_gmaruzz# vi /usr/local/freeswitch/conf/autoload_configs/skypiax.conf.xml +cp src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml /usr/local/freeswitch/conf/autoload_configs/ -**** let's edit the startskype script -**** remember to add the removing of all the installed snd-* modules -root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/startskype.sh ./ -root at 8-04-srv:~/freeswitch_gmaruzz# vi startskype.sh +optionally, copy the dialplan configuration file that contains the "skypiax" modifications (eg: you can call "sip:skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network from a SIP softphone to remote_skypename or to a phone number via SkypeOut, or you can call the "2908" extension from any phone to be bridged to the Skype Test Call) -**** let's copy the X servers' auth config file -root at 8-04-srv:~/freeswitch_gmaruzz#cp src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf +cp src/mod/endpoints/mod_skypiax/configs/default.xml /usr/local/freeswitch/conf/dialplan/ -**** start the X servers and the Skype clients -root at 8-04-srv:~/freeswitch_gmaruzz# sh ./startskype.sh +now, let's get and install the Skype client +NOTE: Visit this page to find the Linux client for your distro: http://www.skype.com/download/skype/linux/choose/ -**** this is the situation you want after startskype.sh -root at 8-04-srv:~/freeswitch_gmaruzz# lsmod | grep snd +cd .. +apt-get -y install ia32-libs lib32asound2 libc6-i386 lib32gcc1 \ +lib32stdc++6 lib32ncurses5 lib32z1 libasound2-plugins +wget -c http://www.skype.com/go/getskype-linux-ubuntu-amd64 +dpkg -i skype_ubuntu-2.0.0.72-1_amd64.deb + +now, let's get the skype configuration directory we prepared on another (desktop) machine + +on "How to prepare the configuration directory of Skype clients on Linux", see below + +cp /mnt/root/configskypenew.tgz ./ +tar xzf configskypenew.tgz +chown root.root .Skype + +almost ready! + +let's edit the skypiax config + +vi /usr/local/freeswitch/conf/autoload_configs/skypiax.conf.xml + +let's edit the startskype script + +remember to add the removing of all the installed snd-* modules + +cp freeswitch/src/mod/endpoints/mod_skypiax/configs/startskype.sh ./ +vi startskype.sh + +let's copy the Xservers auth config file + +cp freeswitch/src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf \ +/usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf + +start the X servers and the Skype clients + +sh ./startskype.sh + +this is the situation you want after startskype.sh + +root at 8-04-srv:~# lsmod | grep snd snd_dummy 22016 0 snd_pcm 99336 1 snd_dummy snd_timer 35080 1 snd_pcm snd 78024 3 snd_dummy,snd_pcm,snd_timer snd_page_alloc 20368 1 snd_pcm soundcore 17568 1 snd -root at 8-04-srv:~/freeswitch_gmaruzz# +root at 8-04-srv:~# + + +start FS and load skypiax! + +/usr/local/freeswitch/bin/freeswitch +load mod_skypiax + +[edit] +How to prepare the configuration directory of Skype clients on Linux + +You will use configs/skypiax_auth to force the Skype client to ask you to authorize "skypiax" to connect to it. + +Then you copy the .Skype configuration directory of the user that has launched Skype (eg: /home/maruzz/.Skype if you are maruzz) on the home directory of the user that will start Skype on the server (eg: root). + +Compile skypiax_auth: + +$ gcc -Wall -ggdb skypiax_auth.c -o skypiax_auth -lX11 + +Then: + +1) on a Linux desktop machine, rmmod all the snd* modules + +2) on the desktop machine, modprobe snd-dummy + +3) on the desktop machine, logout from your autologin username if any, launch the Skype client and login as the username you'll use on server + +4) on the desktop machine, set the desktop client to use the "hw:dummy" audio device, to not update, to not make "events", etc etc... Make and receive a couple of test calls. Please note that you (and the remote party) will hear nothing (you're using the snd-dummy "fake" audio driver), that's ok. + +3) on the desktop machine, when satisfied of the Skype client setup, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. + +4) Give the authorization and check the "not ask me again" option. + +5) Close (Quit) the Skype client from the tray icon, so it saves its config. + +6) Then, relaunch the Skype client and use skypiax_auth again, just to be sure it now succeed. + +7) Close (Quit) the Skype client from the tray icon, so it saves its config. + +Do the steps 1-7 for all Skype usernames you will want to use on the server (eg: one Skype username per channel). NB: if you use the same password for all Skype usernames, you can setup just one client and then "clone" it. See below for "Cloning configuration directory on Linux". + +When finished with all the Skype usernames: Copy or targzip the .Skype directory and all its content on the home directory of the server user that will launch the Skype client(s). + + +first time you use skypiax_auth + +$ ./skypiax_auth +Skype instance found with id #27263062 +RECEIVED==> ERROR 68 +RECEIVED==> OK +Give the auth to the Skype client, and tell him not to ask again Then Ctrl-C to exit from skypiax_auth -**** start FS and the load skypiax! -root at 8-04-srv:~/freeswitch_gmaruzz# /usr/local/freeswitch/bin/freeswitch -freeswitch at 8-04-srv> load mod_skypiax +Close (Quit) the Skype client from the tray icon, so it saves its config. Then, relaunch the Skype client +you use skypiax_auth again + +$ ./skypiax_auth +Skype instance found with id #27263062 +RECEIVED==> OK +RECEIVED==> PROTOCOL 6 +RECEIVED==> CONNSTATUS ONLINE +RECEIVED==> CURRENTUSERHANDLE gmaruzz3 +RECEIVED==> USERSTATUS INVISIBLE + +[edit] +Cloning configuration directory on Linux + +After you have launched the Skype client and logged yourself into the Skype network as "skypiax1", and you have given the auth to be connected by Skypiax, and you setup all the otions in the client, exit from the client, right click on the icon and choose "Quit". The Skype client has saved its configuration. + +You'll find the subdir "skypiax1" underneath the ~/.Skypiax directory in your home. + +If you have registered multiple accounts with Skype ***with the same password*** as the "skypiax1" account, you can just clone the skypiax1 directory and give it the names of the other accounts, and end up as (if you just cloned them, the dates will be closer): + +ls -l .Skype/ + +drwxr-xr-x 5 root root 4096 2009-02-12 22:33 skypiax1 +drwxr-xr-x 5 root root 4096 2009-02-08 09:53 skypiax10 +drwxr-xr-x 5 root root 4096 2009-02-08 08:30 skypiax11 +drwxr-xr-x 5 root root 4096 2009-02-08 08:42 skypiax12 +drwxr-xr-x 5 root root 4096 2009-02-08 08:50 skypiax13 +drwxr-xr-x 5 root root 4096 2009-02-08 08:48 skypiax14 +drwxr-xr-x 5 root root 4096 2009-02-08 09:31 skypiax15 +drwxr-xr-x 5 root root 4096 2009-02-08 09:31 skypiax16 +drwxr-xr-x 5 root root 4096 2009-02-08 08:53 skypiax17 +drwxr-xr-x 5 root root 4096 2009-02-08 08:46 skypiax18 +drwxr-xr-x 5 root root 4096 2009-02-08 08:31 skypiax19 +drwxr-xr-x 5 root root 4096 2009-02-12 22:33 skypiax2 +drwxr-xr-x 5 root root 4096 2009-02-08 09:23 skypiax20 +drwxr-xr-x 5 root root 4096 2009-02-12 22:03 skypiax3 +drwxr-xr-x 5 root root 4096 2009-02-12 21:10 skypiax4 +drwxr-xr-x 5 root root 4096 2009-02-12 21:10 skypiax5 +drwxr-xr-x 5 root root 4096 2009-02-12 22:07 skypiax6 +drwxr-xr-x 5 root root 4096 2009-02-08 09:53 skypiax7 +drwxr-xr-x 5 root root 4096 2009-02-08 09:53 skypiax8 +drwxr-xr-x 5 root root 4096 2009-02-08 09:53 skypiax9 + +Inside each one of the subdirs, you'll find the file "config.xml". + +After a while you'll get a grip on the format. Anyway, the most important item are: + + +... +... +... + +... +... +... + 4 + 4 + 4 + + + +Those values determine the audio devices used by the Skype client. You want to use the hw:snd-dummy ALSA device, because it will be really light on your CPU. + +So, if you edited the startskype.sh script to rmmod all the snd-* modules from kernel, and then modprobe snd-dummy with the params in the same script, you will edit the config.xml inside the directory of the first 8 interfaces, and put the values at "2". + +Next 8 interfaces, values at "4". + +Next 8 interfaces, values at "6". + +That's it. It works. +[edit] +Skypiax on Windows + +Skypiax has been designed to work well on windows since the beginning, like FS itself. + +After having downloaded the FS sources from svn or the packaged FS source release, follow the instruction on how to build FS on Windows. Using Visual C (Express or not): + + * Open Freeswitch.sln + * Right click the main solution node at the top of the Solution Explorer + * Right click and select Build + +Then, download and install the 16khz sounds, needed by Skypiax: + + * Right click on "Download 16khzsound" and select Build + * Right click on "16khz" (just under the top) and select Build + +Test if FS works at all: http://wiki.freeswitch.org/wiki/Installation_Guide#Windows_quick_start + +Then, from Visual C (Express or not Express): + + * Open again Freeswitch.sln + * Right click the main solution node at the top of the Solution Explorer + * Right click and select "Add" => "Existing Project" => "src\mod\endpoints\mod_skypiax" => select the mod_skypiax project + * Right click on "mod_skypiax" that you have just added to the "Solution Explorer", eg: scroll down from where you added the project + * and select "Build" + +You'll probably build the "Debug" version. So, go and copy src\mod\endpoints\mod_skypiax\configs/skypiax.conf.xml to Debug\conf\autoload_configs. Edit it to reflect your configuration. + +Then, go into src\mod\endpoints\mod_skypiax\configs/ and edit startskype.bat to suit your configuration. Remember that startskype.bat needs wait.bat to be in its same directory (wait.bat is in the "configs" dir too). + +Eventually, launch the Skype client instances using startskype.bat, then launch FS, and from the FS command line: + +load mod_skypiax + +The Skype instances will ask you for permission to be connected by Skypiax. Give the auth. + +You're all set. +[edit] +Running Skypiax on Windows as a Service + +Not yet written +[edit] +Performance and Resource Usage -============================================= 20 idle skypiax channels: top - 18:14:26 up 2:02, 2 users, load average: 0.03, 0.08, 0.04 @@ -202,9 +626,9 @@ 7992 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb 8008 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb 8056 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.30 Xvfb -...some more Xvfb + ...some more Xvfb -============================================= +Since this server has 3GB of RAM you can see that each skype process is useing about 30MB, and the Xvfbs are useing about 10MB each. 20 incoming concurrent skype calls listening to moh at 16khz: @@ -255,4 +679,87 @@ 8676 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.55 Xvfb ...some more Xvfb +Here we see that the Ram usage hasn't changed but now each skype process is useing about 6% CPU. Which amounts to about 1.5% of this quad core system. + + +The one below is another ascii screenshot, but using the current svn revision at Feb 10, 2009 (one month later than the screenshot before), taken after one hour run of 19 channels on music on hold, and 1 channel intermittent usage (for testing). 20 concurrent channels on moh. + +top - 11:37:20 up 14:59, 3 users, load average: 0.04, 0.06, 0.08 +Tasks: 114 total, 1 running, 113 sleeping, 0 stopped, 0 zombie +Cpu(s): 12.8%us, 3.1%sy, 0.0%ni, 83.5%id, 0.0%wa, 0.0%hi, 0.6%si, 0.0%st +Mem: 3096688k total, 1568860k used, 1527828k free, 135244k buffers +Swap: 248968k total, 0k used, 248968k free, 752224k cached + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND +10473 root 20 0 338m 37m 5264 S 6 1.3 2:43.37 freeswitch +10460 root 20 0 83364 28m 10m S 6 0.9 0:39.05 skype +10316 root 20 0 82844 28m 10m S 6 0.9 2:33.71 skype +10444 root 20 0 83276 27m 10m S 7 0.9 2:26.89 skype +10187 root 20 0 83064 27m 10m S 6 0.9 2:39.78 skype +10364 root 20 0 83308 27m 10m S 6 0.9 2:33.55 skype +10284 root 20 0 83620 27m 10m S 6 0.9 2:39.07 skype +10412 root 20 0 82920 27m 10m S 6 0.9 2:32.86 skype +10300 root 20 0 82792 27m 10m S 6 0.9 2:35.97 skype +10268 root 20 0 83308 27m 10m S 6 0.9 2:37.24 skype +10332 root 20 0 83364 27m 10m S 5 0.9 2:35.97 skype +10171 root 20 0 83164 27m 10m S 5 0.9 2:40.55 skype +10236 root 20 0 83104 27m 10m S 6 0.9 2:38.06 skype +10252 root 20 0 83240 27m 10m S 6 0.9 2:37.91 skype +10428 root 20 0 83124 27m 10m S 6 0.9 2:27.67 skype +10155 root 20 0 83260 27m 10m S 6 0.9 2:43.62 skype +10203 root 20 0 83780 27m 10m S 6 0.9 2:38.93 skype +10396 root 20 0 83300 27m 10m S 6 0.9 2:30.62 skype +10220 root 20 0 83176 27m 10m S 7 0.9 2:45.98 skype +10380 root 20 0 82852 27m 10m S 5 0.9 2:32.23 skype +10348 root 20 0 83356 27m 10m S 6 0.9 2:31.23 skype +10182 root 20 0 41536 9404 2212 S 0 0.3 0:03.33 Xvfb +10166 root 20 0 41536 9392 2200 S 0 0.3 0:03.35 Xvfb +10455 root 20 0 41500 9392 2200 S 0 0.3 0:02.11 Xvfb +10311 root 20 0 41524 9388 2212 S 0 0.3 0:03.24 Xvfb +10231 root 20 0 41512 9376 2212 S 0 0.3 0:03.30 Xvfb +10279 root 20 0 41524 9376 2200 S 0 0.3 0:03.30 Xvfb +10373 root 20 0 41512 9376 2212 S 0 0.3 0:03.20 Xvfb +10343 root 20 0 41512 9372 2200 S 0 0.3 0:03.22 Xvfb +10215 root 20 0 41512 9368 2200 S 0 0.3 0:03.30 Xvfb +10439 root 20 0 41512 9368 2200 S 0 0.3 0:03.20 Xvfb +10295 root 20 0 41512 9364 2200 S 0 0.3 0:03.31 Xvfb +10150 root 20 0 41500 9360 2200 S 0 0.3 0:03.33 Xvfb +10247 root 20 0 41500 9356 2200 S 0 0.3 0:03.27 Xvfb +10263 root 20 0 41500 9356 2200 S 0 0.3 0:03.30 Xvfb +10327 root 20 0 41500 9356 2200 S 0 0.3 0:03.25 Xvfb +10359 root 20 0 41500 9356 2200 S 0 0.3 0:03.22 Xvfb +10407 root 20 0 41500 9356 2200 S 0 0.3 0:03.19 Xvfb +10391 root 20 0 41500 9352 2200 S 0 0.3 0:03.24 Xvfb +10423 root 20 0 41500 9352 2200 S 0 0.3 0:03.20 Xvfb +10198 root 20 0 41464 9320 2200 S 0 0.3 0:03.30 Xvfb + 9948 maruzz 20 0 19384 3380 1348 S 0 0.1 0:00.06 bash + 4991 klog 20 0 6288 2976 432 S 0 0.1 0:00.09 klogd +10675 root 20 0 68112 2928 2296 S 0 0.1 0:00.11 sshd + +[edit] +TO DO + +Requests, suggestions, ideas (feel free to add here, but best is to add on Jira - see below 'BUGS and Feature Requests'): + + * Interact with the presence system, known Skype users as subscriptions, eg: SIP + * Interact with messaging and chat, eg: SIMPLE + * Revamp and standardize configuration file structure, names, values, etc + * Audio volumes (In and Out) adjustments + * Revamp and standardize the debugging output + * Add CLI commands to list interfaces, adjust audio volumes, send commands to the Skype client, etc (coming soon on FS, works on *) + * Check for sending "early media", so to hear ringing when making outbound calls + * Check for changing the Skype Caller ID when doing SkypeOut calls + * originate skypiax/wrong_skype_name won't cause core dump + * What will happen if a skype client crash? can it automatically disable the channel and reset the channel after the skype client recovered? + * Is it possible using Skypiax and add users on the fly? Say we have a box that could support 20 channels, and we have ten active, can we configure and add the 11th channel without having to take down the other active channels? + +[edit] +BUGS and Feature Requests + +You can file bug reports, hints, suggestions, feature requests, improvements, patches, etc to http://jira.freeswitch.org/browse/MODSKYPIAX open an account there if you don't have it (it's free ;-) ). + +You can also write to the FS users' and developers' mailing lists: http://lists.freeswitch.org/mailman/listinfo + +And you can drop in the IRC channels #freeswitch and #freeswitch-dev on irc.freenode.org to ask questions and discuss issues. The original developer of Skypiax is called "gmaruzz" in the IRC channel. +As a last resort, not the preferred way, you can write email to Giovanni Maruzzelli - gmaruzz @ gmail dot com From gmaruzz at freeswitch.org Thu Feb 19 13:41:17 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 19 Feb 2009 15:41:17 -0600 Subject: [Freeswitch-svn] [commit] r12170 - freeswitch/branches/gmaruzz/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Feb 19 15:41:17 2009 New Revision: 12170 Log: skypiax: Yay, on trunk! modified README Added: freeswitch/branches/gmaruzz/mod_skypiax/ freeswitch/branches/gmaruzz/mod_skypiax/README Added: freeswitch/branches/gmaruzz/mod_skypiax/README ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/mod_skypiax/README Thu Feb 19 15:41:17 2009 @@ -0,0 +1,6 @@ +You can find skypiax in the mainline FreeSWITCH svn: + +svn co http://svn.freeswitch.org/svn/freeswitch/trunk/src/mod/endpoints/mod_skypiax \ + mod_skypiax + + From brian at freeswitch.org Thu Feb 19 13:43:51 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Thu, 19 Feb 2009 15:43:51 -0600 Subject: [Freeswitch-svn] [commit] r12171 - freeswitch/trunk/src/mod/asr_tts/mod_flite Message-ID: Author: brian Date: Thu Feb 19 15:43:51 2009 New Revision: 12171 Log: use -latest for this so it doesn't conflict with 1.0.3 release Modified: freeswitch/trunk/src/mod/asr_tts/mod_flite/Makefile Modified: freeswitch/trunk/src/mod/asr_tts/mod_flite/Makefile ============================================================================== --- freeswitch/trunk/src/mod/asr_tts/mod_flite/Makefile (original) +++ freeswitch/trunk/src/mod/asr_tts/mod_flite/Makefile Thu Feb 19 15:43:51 2009 @@ -14,7 +14,7 @@ include $(BASE)/build/modmake.rules $(FLITE_DIR): - $(GETLIB) $(FLITE).tar.gz + $(GETLIB) $(FLITE)-latest.tar.gz $(FLITE_DIR)/Makefile: $(FLITE_DIR) cd $(FLITE_DIR) && CFLAGS="-fPIC" ./configure From gmaruzz at freeswitch.org Thu Feb 19 15:48:13 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 19 Feb 2009 17:48:13 -0600 Subject: [Freeswitch-svn] [commit] r12172 - freeswitch/trunk/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Thu Feb 19 17:48:13 2009 New Revision: 12172 Log: skypiax: updated default.xml dialplan with skypiax inside Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/configs/default.xml Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/configs/default.xml ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/configs/default.xml (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/configs/default.xml Thu Feb 19 17:48:13 2009 @@ -15,33 +15,11 @@ - + - - - - - - - - - - - - - - - - - - @@ -94,6 +72,15 @@ + + @@ -188,13 +175,8 @@ - - - - ;answer-after=0]]> - @@ -211,32 +193,44 @@ - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -250,7 +244,7 @@ - + @@ -285,7 +279,6 @@ - @@ -309,30 +302,70 @@ + + + + + + + - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + @@ -458,6 +491,22 @@ + + + + + + + + + + + + + + + + @@ -586,9 +635,6 @@ --> - + + - - - + + + @@ -125,7 +125,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -204,11 +204,11 @@ - - + + - + From mrene at freeswitch.org Thu Feb 26 12:46:08 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Thu, 26 Feb 2009 14:46:08 -0600 Subject: [Freeswitch-svn] [commit] r12315 - freeswitch/trunk/src/mod/applications/mod_voicemail Message-ID: Author: mrene Date: Thu Feb 26 14:46:08 2009 New Revision: 12315 Log: MODAPP-223 so jeev doesnt have to hangup when he calls voicemail muted Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Thu Feb 26 14:46:08 2009 @@ -120,6 +120,7 @@ uint32_t max_login_attempts; uint32_t min_record_len; uint32_t max_record_len; + uint32_t max_retries; switch_mutex_t *mutex; uint32_t record_threshold; uint32_t record_silence_hits; @@ -321,7 +322,7 @@ switch_bool_t auto_playback_recordings = SWITCH_TRUE; switch_core_db_t *db; - uint32_t timeout = 10000, max_login_attempts = 3, max_record_len = 300, min_record_len = 3; + uint32_t timeout = 10000, max_login_attempts = 3, max_record_len = 300, min_record_len = 3, max_retries = 3; db = NULL; @@ -590,6 +591,16 @@ } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid record length [%s] must be between 1 and 10000s\n", val); } + } else if (!strcasecmp(var, "max-retries")) { + int tmp = 0; + if (!switch_strlen_zero(val)) { + tmp = atoi(val); + } + if (tmp > 0) { + max_retries = tmp; + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid max-retires value [%s] must be higher than 0\n", val); + } } else if (!strcasecmp(var, "odbc-dsn") && !switch_strlen_zero(val)) { #ifdef SWITCH_HAVE_ODBC odbc_dsn = switch_core_strdup(globals.pool, val); @@ -721,6 +732,7 @@ profile->max_login_attempts = max_login_attempts; profile->min_record_len = min_record_len; profile->max_record_len = max_record_len; + profile->max_retries = max_retries; *profile->terminator_key = *terminator_key; *profile->play_new_messages_key = *play_new_messages_key; *profile->play_saved_messages_key = *play_saved_messages_key; @@ -1051,7 +1063,7 @@ } while (switch_channel_ready(channel)) { - + uint32_t counter = 0; switch_snprintf(key_buf, sizeof(key_buf), "%s:%s:%s", profile->listen_file_key, profile->save_file_key, profile->record_file_key); record_file: @@ -1082,8 +1094,9 @@ } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Message is less than minimum record length: %d, discarding it.\n", profile->min_record_len); - if (switch_channel_ready(channel)) { + if (switch_channel_ready(channel) && counter < profile->max_retries) { TRY_CODE(switch_ivr_phrase_macro(session, VM_ACK_MACRO, "too-small", NULL, NULL)); + counter++; goto record_file; } else { status = SWITCH_STATUS_NOTFOUND; From mrene at freeswitch.org Thu Feb 26 12:48:41 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Thu, 26 Feb 2009 14:48:41 -0600 Subject: [Freeswitch-svn] [commit] r12316 - freeswitch/trunk/conf/autoload_configs Message-ID: Author: mrene Date: Thu Feb 26 14:48:41 2009 New Revision: 12316 Log: MODAPP-223 Add new param to voicemail.conf.xml Modified: freeswitch/trunk/conf/autoload_configs/voicemail.conf.xml Modified: freeswitch/trunk/conf/autoload_configs/voicemail.conf.xml ============================================================================== --- freeswitch/trunk/conf/autoload_configs/voicemail.conf.xml (original) +++ freeswitch/trunk/conf/autoload_configs/voicemail.conf.xml Thu Feb 26 14:48:41 2009 @@ -9,6 +9,7 @@ + From anthm at freeswitch.org Thu Feb 26 14:30:00 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Thu, 26 Feb 2009 16:30:00 -0600 Subject: [Freeswitch-svn] [commit] r12317 - in freeswitch/trunk/src: . mod/applications/mod_conference Message-ID: Author: anthm Date: Thu Feb 26 16:30:00 2009 New Revision: 12317 Log: reduce memory usage Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/trunk/src/switch_core_memory.c freeswitch/trunk/src/switch_event.c freeswitch/trunk/src/switch_log.c Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Thu Feb 26 16:30:00 2009 @@ -1846,7 +1846,7 @@ int to = 60; if (ann) { - member->conference->special_announce = switch_core_strdup(member->conference->pool, ann); + member->conference->special_announce = switch_core_strdup(member->pool, ann); } switch_channel_set_private(channel, "_conference_autocall_list_", NULL); @@ -2676,7 +2676,7 @@ if (!conference->sh) { memset(&conference->lsh, 0, sizeof(conference->lsh)); if (switch_core_speech_open(&conference->lsh, conference->tts_engine, conference->tts_voice, - conference->rate, conference->interval, &flags, conference->pool) != SWITCH_STATUS_SUCCESS) { + conference->rate, conference->interval, &flags, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid TTS module [%s]!\n", conference->tts_engine); return SWITCH_STATUS_FALSE; } Modified: freeswitch/trunk/src/switch_core_memory.c ============================================================================== --- freeswitch/trunk/src/switch_core_memory.c (original) +++ freeswitch/trunk/src/switch_core_memory.c Thu Feb 26 16:30:00 2009 @@ -34,7 +34,7 @@ //#define DEBUG_ALLOC //#define DEBUG_ALLOC2 //#define DESTROY_POOLS -//#define PER_POOL_LOCK +#define PER_POOL_LOCK //#define INSTANTLY_DESTROY_POOLS #include Modified: freeswitch/trunk/src/switch_event.c ============================================================================== --- freeswitch/trunk/src/switch_event.c (original) +++ freeswitch/trunk/src/switch_event.c Thu Feb 26 16:30:00 2009 @@ -83,8 +83,10 @@ static switch_hash_t *CUSTOM_HASH = NULL; static int THREAD_COUNT = 0; static int SYSTEM_RUNNING = 0; +#ifdef SWITCH_EVENT_RECYCLE static switch_queue_t *EVENT_RECYCLE_QUEUE = NULL; static switch_queue_t *EVENT_HEADER_RECYCLE_QUEUE = NULL; +#endif static void launch_dispatch_threads(uint32_t max, int len, switch_memory_pool_t *pool); static char *my_dup(const char *s) @@ -422,6 +424,8 @@ SWITCH_DECLARE(void) switch_core_memory_reclaim_events(void) { +#ifdef SWITCH_EVENT_RECYCLE + void *pop; int size; size = switch_queue_size(EVENT_RECYCLE_QUEUE); @@ -437,6 +441,10 @@ while (switch_queue_trypop(EVENT_RECYCLE_QUEUE, &pop) == SWITCH_STATUS_SUCCESS && pop) { free(pop); } +#else + return; +#endif + } SWITCH_DECLARE(switch_status_t) switch_event_shutdown(void) @@ -569,8 +577,10 @@ switch_queue_create(&EVENT_QUEUE[0], POOL_COUNT_MAX + 10, THRUNTIME_POOL); switch_queue_create(&EVENT_QUEUE[1], POOL_COUNT_MAX + 10, THRUNTIME_POOL); switch_queue_create(&EVENT_QUEUE[2], POOL_COUNT_MAX + 10, THRUNTIME_POOL); +#ifdef SWITCH_EVENT_RECYCLE switch_queue_create(&EVENT_RECYCLE_QUEUE, 250000, THRUNTIME_POOL); switch_queue_create(&EVENT_HEADER_RECYCLE_QUEUE, 250000, THRUNTIME_POOL); +#endif switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_threadattr_priority_increase(thd_attr); @@ -595,7 +605,9 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char *file, const char *func, int line, switch_event_t **event, switch_event_types_t event_id, const char *subclass_name) { +#ifdef SWITCH_EVENT_RECYCLE void *pop; +#endif *event = NULL; @@ -603,12 +615,16 @@ return SWITCH_STATUS_GENERR; } +#ifdef SWITCH_EVENT_RECYCLE if (switch_queue_trypop(EVENT_RECYCLE_QUEUE, &pop) == SWITCH_STATUS_SUCCESS && pop) { *event = (switch_event_t *) pop; } else { +#endif *event = ALLOC(sizeof(switch_event_t)); switch_assert(*event); +#ifdef SWITCH_EVENT_RECYCLE } +#endif memset(*event, 0, sizeof(switch_event_t)); @@ -686,9 +702,13 @@ FREE(hp->name); FREE(hp->value); memset(hp, 0, sizeof(*hp)); +#ifdef SWITCH_EVENT_RECYCLE if (switch_queue_trypush(EVENT_HEADER_RECYCLE_QUEUE, hp) != SWITCH_STATUS_SUCCESS) { FREE(hp); } +#else + FREE(hp); +#endif status = SWITCH_STATUS_SUCCESS; } else { lp = hp; @@ -702,14 +722,18 @@ { switch_event_header_t *header; switch_ssize_t hlen = -1; - void *pop; +#ifdef SWITCH_EVENT_RECYCLE + void *pop; if (switch_queue_trypop(EVENT_HEADER_RECYCLE_QUEUE, &pop) == SWITCH_STATUS_SUCCESS) { header = (switch_event_header_t *) pop; } else { +#endif header = ALLOC(sizeof(*header)); switch_assert(header); +#ifdef SWITCH_EVENT_RECYCLE } +#endif memset(header, 0, sizeof(*header)); @@ -795,17 +819,26 @@ hp = hp->next; FREE(this->name); FREE(this->value); - memset(this, 0, sizeof(*this)); +#ifdef SWITCH_EVENT_RECYCLE if (switch_queue_trypush(EVENT_HEADER_RECYCLE_QUEUE, this) != SWITCH_STATUS_SUCCESS) { FREE(this); } +#else + FREE(this); +#endif + + } FREE(ep->body); FREE(ep->subclass_name); - memset(ep, 0, sizeof(*ep)); +#ifdef SWITCH_EVENT_RECYCLE if (switch_queue_trypush(EVENT_RECYCLE_QUEUE, ep) != SWITCH_STATUS_SUCCESS) { FREE(ep); } +#else + FREE(ep); +#endif + } *event = NULL; } Modified: freeswitch/trunk/src/switch_log.c ============================================================================== --- freeswitch/trunk/src/switch_log.c (original) +++ freeswitch/trunk/src/switch_log.c Thu Feb 26 16:30:00 2009 @@ -58,7 +58,9 @@ static switch_log_binding_t *BINDINGS = NULL; static switch_mutex_t *BINDLOCK = NULL; static switch_queue_t *LOG_QUEUE = NULL; +#ifdef SWITCH_LOG_RECYCLE static switch_queue_t *LOG_RECYCLE_QUEUE = NULL; +#endif static int8_t THREAD_RUNNING = 0; static uint8_t MAX_LEVEL = 0; static int mods_loaded = 0; @@ -226,9 +228,14 @@ switch_mutex_unlock(BINDLOCK); switch_safe_free(node->data); +#ifdef SWITCH_LOG_RECYCLE if (switch_queue_trypush(LOG_RECYCLE_QUEUE, node) != SWITCH_STATUS_SUCCESS) { free(node); } +#else + free(node); +#endif + } THREAD_RUNNING = 0; @@ -347,14 +354,18 @@ if (do_mods && level <= MAX_LEVEL) { switch_log_node_t *node; +#ifdef SWITCH_LOG_RECYCLE void *pop = NULL; if (switch_queue_trypop(LOG_RECYCLE_QUEUE, &pop) == SWITCH_STATUS_SUCCESS) { node = (switch_log_node_t *) pop; } else { +#endif node = malloc(sizeof(*node)); switch_assert(node); +#ifdef SWITCH_LOG_RECYCLE } +#endif node->data = data; data = NULL; @@ -368,9 +379,13 @@ if (switch_queue_trypush(LOG_QUEUE, node) != SWITCH_STATUS_SUCCESS) { free(node->data); +#ifdef SWITCH_LOG_RECYCLE if (switch_queue_trypush(LOG_RECYCLE_QUEUE, node) != SWITCH_STATUS_SUCCESS) { free(node); } +#else + free(node); +#endif node = NULL; } } @@ -395,7 +410,9 @@ switch_queue_create(&LOG_QUEUE, SWITCH_CORE_QUEUE_LEN, LOG_POOL); +#ifdef SWITCH_LOG_RECYCLE switch_queue_create(&LOG_RECYCLE_QUEUE, SWITCH_CORE_QUEUE_LEN, LOG_POOL); +#endif switch_mutex_init(&BINDLOCK, SWITCH_MUTEX_NESTED, LOG_POOL); switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&thread, thd_attr, log_thread, NULL, LOG_POOL); @@ -422,6 +439,7 @@ SWITCH_DECLARE(void) switch_core_memory_reclaim_logger(void) { +#ifdef SWITCH_LOG_RECYCLE void *pop; int size = switch_queue_size(LOG_RECYCLE_QUEUE); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "Returning %d recycled log node(s) %d bytes\n", size, @@ -429,6 +447,10 @@ while (switch_queue_trypop(LOG_RECYCLE_QUEUE, &pop) == SWITCH_STATUS_SUCCESS) { free(pop); } +#else + return; +#endif + } SWITCH_DECLARE(switch_status_t) switch_log_shutdown(void) From mikej at freeswitch.org Thu Feb 26 15:00:37 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 26 Feb 2009 17:00:37 -0600 Subject: [Freeswitch-svn] [commit] r12318 - freeswitch/trunk/src/mod/applications/mod_conference Message-ID: Author: mikej Date: Thu Feb 26 17:00:36 2009 New Revision: 12318 Log: revert a bad bit in r12317 Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Thu Feb 26 17:00:36 2009 @@ -1846,7 +1846,7 @@ int to = 60; if (ann) { - member->conference->special_announce = switch_core_strdup(member->pool, ann); + member->conference->special_announce = switch_core_strdup(member->conference->pool, ann); } switch_channel_set_private(channel, "_conference_autocall_list_", NULL); From robertj at freeswitch.org Thu Feb 26 23:34:58 2009 From: robertj at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 01:34:58 -0600 Subject: [Freeswitch-svn] [commit] r12319 - freeswitch/trunk/src Message-ID: Author: robertj Date: Fri Feb 27 01:34:58 2009 New Revision: 12319 Log: Moved defines to after the include of switch.h so when precompiled headers are used they actually work. Modified: freeswitch/trunk/src/switch_core_memory.c Modified: freeswitch/trunk/src/switch_core_memory.c ============================================================================== --- freeswitch/trunk/src/switch_core_memory.c (original) +++ freeswitch/trunk/src/switch_core_memory.c Fri Feb 27 01:34:58 2009 @@ -31,16 +31,16 @@ * switch_core_memory.c -- Main Core Library (memory management) * */ + +#include +#include "private/switch_core_pvt.h" + //#define DEBUG_ALLOC //#define DEBUG_ALLOC2 //#define DESTROY_POOLS -#define PER_POOL_LOCK //#define INSTANTLY_DESTROY_POOLS - -#include -#include "private/switch_core_pvt.h" /*#define LOCK_MORE*/ -/*#define PER_POOL_LOCK 1*/ +#define PER_POOL_LOCK 1 static struct { switch_mutex_t *mem_lock; From gmaruzz at freeswitch.org Fri Feb 27 03:08:23 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 05:08:23 -0600 Subject: [Freeswitch-svn] [commit] r12320 - freeswitch/trunk/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Fri Feb 27 05:08:23 2009 New Revision: 12320 Log: skypiax: fixed http://jira.freeswitch.org/browse/MODSKYPIAX-21 on windows, let's check if it works on linux Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c Fri Feb 27 05:08:23 2009 @@ -940,15 +940,32 @@ skypiax_audio_init(&globals.SKYPIAX_INTERFACES[interface_id]); + NOTICA("WAITING max 6 seconds to connect to SKYPE API for interface_id=%d\n", SKYPIAX_P_LOG, interface_id); i = 0; - while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 60000) { // 60sec FIXME + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 400) { // 6sec on windows (why ????) FIXME + //DEBUGA_SKYPE("interface_id=%d, times=%d\n", SKYPIAX_P_LOG, interface_id, i); switch_sleep(1000); i++; } if (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected) { - NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + NOTICA("SKYPE API connected for interface_id=%d, waiting max 60 seconds for CURRENTUSERHANDLE==%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); } else { - ERRORA("FAILED to start interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + ERRORA("SKYPE API FAILED to connect for interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + running = 0; + return SWITCH_STATUS_FALSE; + } + + i = 0; + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.currentuserhandle == 0 && running && i < 4000) { // 60sec on windows (why ????) FIXME + //DEBUGA_SKYPE("interface_id=%d, times=%d\n", SKYPIAX_P_LOG, interface_id, i); + switch_sleep(1000); + i++; + } + if (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.currentuserhandle) { + NOTICA("CURRENTUSERHANDLE ok (%s), interface_id=%d STARTED\n", SKYPIAX_P_LOG, globals.SKYPIAX_INTERFACES[interface_id].skype_user, interface_id); + } else { + ERRORA("FAILED to find CURRENTUSERHANDLE=%s, FAILED to start interface_id=%d\n", SKYPIAX_P_LOG, globals.SKYPIAX_INTERFACES[interface_id].skype_user, interface_id); + running = 0; return SWITCH_STATUS_FALSE; } @@ -995,8 +1012,10 @@ running = 1; - if (load_config() != SWITCH_STATUS_SUCCESS) + if (load_config() != SWITCH_STATUS_SUCCESS) { + running = 0; return SWITCH_STATUS_FALSE; + } *module_interface = switch_loadable_module_create_module_interface(pool, modname); skypiax_endpoint_interface = @@ -1039,6 +1058,7 @@ DEBUGA_SKYPE ("got FALSE here, thread probably was already dead. GetLastError returned: %d\n", SKYPIAX_P_LOG, GetLastError()); + globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread=NULL; } #else XEvent e; @@ -1057,9 +1077,9 @@ XSync(tech_pvt->SkypiaxHandles.disp, False); #endif } - while (x) { + while (x) {//FIXME 2 seconds? x--; - switch_yield(20000); + switch_yield(20000); } if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) { switch_thread_join(&status, Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h Fri Feb 27 05:08:23 2009 @@ -136,6 +136,7 @@ Window skype_win; Display *disp; Window win; + int currentuserhandle; int api_connected; int fdesc[2]; }; @@ -148,6 +149,7 @@ char win32_acInit_WindowClassName[128]; UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach; UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover; + int currentuserhandle; int api_connected; switch_file_t *fdesc[2]; }; Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Fri Feb 27 05:08:23 2009 @@ -100,7 +100,7 @@ where = strsep(stringp, " "); strncpy(id, where, sizeof(id) - 1); if (!strcasecmp(id, tech_pvt->skype_user)) { - tech_pvt->SkypiaxHandles.api_connected = 1; + tech_pvt->SkypiaxHandles.currentuserhandle = 1; DEBUGA_SKYPE ("Skype MSG: message: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, message, obj, id, tech_pvt->skype_user); @@ -909,6 +909,8 @@ lReturnCode = 0; fIssueDefProc = 0; tech_pvt = (private_t *) GetWindowLong(hWindow, GWL_USERDATA); + if(!running) + return lReturnCode; switch (uiMessage) { case WM_CREATE: tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; @@ -945,8 +947,9 @@ tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: - if (!tech_pvt->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.currentuserhandle) { DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); + tech_pvt->SkypiaxHandles.api_connected = 1; tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; @@ -957,7 +960,7 @@ ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); skypiax_sleep(5000); - if (!tech_pvt->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.currentuserhandle) { SendMessage(HWND_BROADCAST, tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, @@ -974,7 +977,7 @@ case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); skypiax_sleep(5000); - if (!tech_pvt->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.currentuserhandle) { SendMessage(HWND_BROADCAST, tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, @@ -1234,12 +1237,14 @@ if (status != Success || format_ret != 32 || nitems_ret != 1) { SkypiaxHandles->skype_win = (Window) - 1; DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG); + tech_pvt->SkypiaxHandles.api_connected = 0; return 0; } SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, (unsigned int) SkypiaxHandles->skype_win); + tech_pvt->SkypiaxHandles.api_connected = 1; return 1; } From gmaruzz at freeswitch.org Fri Feb 27 03:38:52 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 05:38:52 -0600 Subject: [Freeswitch-svn] [commit] r12321 - freeswitch/trunk/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Fri Feb 27 05:38:52 2009 New Revision: 12321 Log: skypiax: fixed stupid mistake, works on linux too :-) Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Fri Feb 27 05:38:52 2009 @@ -1131,6 +1131,7 @@ xerror = err->error_code; ERRORA("Received error code %d from X Server\n\n", SKYPIAX_P_LOG, xerror); + running=0; return 0; /* ignore the error */ } @@ -1237,14 +1238,15 @@ if (status != Success || format_ret != 32 || nitems_ret != 1) { SkypiaxHandles->skype_win = (Window) - 1; DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG); - tech_pvt->SkypiaxHandles.api_connected = 0; + running =0; + SkypiaxHandles->api_connected = 0; return 0; } SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, (unsigned int) SkypiaxHandles->skype_win); - tech_pvt->SkypiaxHandles.api_connected = 1; + SkypiaxHandles->api_connected = 1; return 1; } From gmaruzz at freeswitch.org Fri Feb 27 05:54:07 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 07:54:07 -0600 Subject: [Freeswitch-svn] [commit] r12322 - freeswitch/trunk/src/mod/endpoints/mod_skypiax/asterisk Message-ID: Author: gmaruzz Date: Fri Feb 27 07:54:07 2009 New Revision: 12322 Log: skypiax: works on * too :-) Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/asterisk/chan_skypiax.c Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/asterisk/chan_skypiax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/asterisk/chan_skypiax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/asterisk/chan_skypiax.c Fri Feb 27 07:54:07 2009 @@ -313,12 +313,21 @@ return NULL; } +char interface[256]; +int i; +memset(interface, '\0', sizeof(interface)); + +for (i=0; iname); + //size_t length = strlen(p->name); /* is this the requested interface? */ - if (strncmp(name, p->name, length) == 0) { + if (strcmp(interface, p->name) == 0) { /* is the requested format supported by this interface? */ if ((format & AST_FORMAT_SLINEAR) != 0) { /* is this interface unowned? */ From mrene at freeswitch.org Fri Feb 27 07:38:33 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 09:38:33 -0600 Subject: [Freeswitch-svn] [commit] r12323 - freeswitch/trunk/libs/esl/src Message-ID: Author: mrene Date: Fri Feb 27 09:38:33 2009 New Revision: 12323 Log: Avoiding segfault Modified: freeswitch/trunk/libs/esl/src/esl.c Modified: freeswitch/trunk/libs/esl/src/esl.c ============================================================================== --- freeswitch/trunk/libs/esl/src/esl.c (original) +++ freeswitch/trunk/libs/esl/src/esl.c Fri Feb 27 09:38:33 2009 @@ -381,8 +381,8 @@ static void sock_setup(esl_handle_t *handle) { #ifdef WIN32 - BOOL bOptVal = TRUE; - int bOptLen = sizeof(BOOL); + BOOL bOptVal = TRUE; + int bOptLen = sizeof(BOOL); setsockopt(handle->sock, IPPROTO_TCP, TCP_NODELAY, (const char *)&bOptVal, bOptLen); #else int x = 1; @@ -712,7 +712,7 @@ int max, activity; esl_status_t status = ESL_SUCCESS; - if (!handle->connected) { + if (!handle->connected || !handle || handle->sock == -1) { return ESL_FAIL; } From brian at freeswitch.org Fri Feb 27 08:03:22 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 10:03:22 -0600 Subject: [Freeswitch-svn] [commit] r12324 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: brian Date: Fri Feb 27 10:03:22 2009 New Revision: 12324 Log: remove dirty hack to get around a bug in sofia which has now been fixed. And fix registering to pointers isn't allowed Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Fri Feb 27 10:03:22 2009 @@ -2500,11 +2500,6 @@ } } - /* dirty hack to avoid race condition in the library */ - if (status == 200 || status == 183) { - switch_yield(100);// printf("Avoiding Segfault!!!\n"); - } - if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { if (!sofia_test_flag(tech_pvt, TFLAG_SENT_UPDATE)) { Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Fri Feb 27 10:03:22 2009 @@ -1552,6 +1552,13 @@ ret = AUTH_FORBIDDEN; goto end; + } else { + const char *type = switch_xml_attr(user, "type"); + if (type && !strcasecmp(type, "pointer")) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cant register a pointer.\n"); + ret = AUTH_FORBIDDEN; + goto end; + } } if (!(mailbox = (char *) switch_xml_attr(user, "mailbox"))) { From mrene at freeswitch.org Fri Feb 27 08:18:28 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 10:18:28 -0600 Subject: [Freeswitch-svn] [commit] r12325 - freeswitch/trunk/libs/esl/src Message-ID: Author: mrene Date: Fri Feb 27 10:18:28 2009 New Revision: 12325 Log: doh Modified: freeswitch/trunk/libs/esl/src/esl.c Modified: freeswitch/trunk/libs/esl/src/esl.c ============================================================================== --- freeswitch/trunk/libs/esl/src/esl.c (original) +++ freeswitch/trunk/libs/esl/src/esl.c Fri Feb 27 10:18:28 2009 @@ -712,7 +712,7 @@ int max, activity; esl_status_t status = ESL_SUCCESS; - if (!handle->connected || !handle || handle->sock == -1) { + if (!handle || !handle->connected || handle->sock == -1) { return ESL_FAIL; } From anthm at freeswitch.org Fri Feb 27 08:35:42 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 10:35:42 -0600 Subject: [Freeswitch-svn] [commit] r12326 - in freeswitch/trunk/src/mod: event_handlers/mod_event_socket xml_int/mod_xml_rpc Message-ID: Author: anthm Date: Fri Feb 27 10:35:42 2009 New Revision: 12326 Log: avoiding initial paradox of doom Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Fri Feb 27 10:35:42 2009 @@ -906,7 +906,7 @@ char *api_command = switch_event_get_header(stream->param_event, "fsapi-command"); char *api_args = switch_event_get_header(stream->param_event, "fsapi-args"); switch_event_t *event, *oevent; - + if (!(api_command)) { stream->write_function(stream, "INVALID API COMMAND!\n"); goto end; @@ -916,6 +916,12 @@ switch_event_create(&event, SWITCH_EVENT_REQUEST_PARAMS); oevent = stream->param_event; stream->param_event = event; + + if (!strcasecmp(api_command, "unload") && !strcasecmp(api_args, "mod_event_socket")) { + api_command = "bgapi"; + api_args = "unload mod_event_socket"; + } + switch_api_execute(api_command, api_args, NULL, stream); stream->param_event = oevent; stream->write_function(stream, " \n"); @@ -1341,9 +1347,14 @@ { switch_status_t status = SWITCH_STATUS_SUCCESS; char *cmd = switch_event_get_header(*event, "command"); - + char cheat[] = "api bgapi unload mod_event_socket"; + *reply = '\0'; + if (switch_stristr("unload mod_event_socket", cmd)) { + cmd = cheat; + } + if (!strncasecmp(cmd, "exit", 4)) { switch_clear_flag_locked(listener, LFLAG_RUNNING); switch_snprintf(reply, reply_len, "+OK bye"); Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Fri Feb 27 10:35:42 2009 @@ -453,6 +453,7 @@ char *path_info = NULL; abyss_bool ret = TRUE; int html = 0, text = 0, xml = 0; + const char *api_str; stream.data = r; stream.write_function = http_stream_write; @@ -681,8 +682,14 @@ ConnWrite(r->conn, "\r\n", 2); } + if (switch_stristr("unload", command) && switch_stristr("mod_xml_rpc", r->requestInfo.query)) { + command = "bgapi"; + api_str = "unload mod_xml_rpc"; + } else { + api_str = r->requestInfo.query; + } - if (switch_api_execute(command, r->requestInfo.query, NULL, &stream) == SWITCH_STATUS_SUCCESS) { + if (switch_api_execute(command, api_str, NULL, &stream) == SWITCH_STATUS_SUCCESS) { ResponseStatus(r, 200); r->responseStarted = TRUE; //r->done = TRUE; @@ -711,6 +718,8 @@ char *command = NULL, *arg = NULL; switch_stream_handle_t stream = { 0 }; xmlrpc_value *val = NULL; + const char *x_command = "bgapi", x_arg= "unload mod_xml_rpc"; + /* Parse our argument array. */ xmlrpc_decompose_value(envP, paramArrayP, "(ss)", &command, &arg); @@ -720,6 +729,13 @@ return NULL; } + if (switch_stristr("unload", command) && switch_stristr("mod_xml_rpc", arg)) { + switch_safe_free(command); + command = x_command; + switch_safe_free(arg); + arg = x_arg; + } + SWITCH_STANDARD_STREAM(stream); if (switch_api_execute(command, arg, NULL, &stream) == SWITCH_STATUS_SUCCESS) { /* Return our result. */ @@ -730,8 +746,14 @@ } /* xmlrpc-c requires us to free memory it malloced from xmlrpc_decompose_value */ - switch_safe_free(command); - switch_safe_free(arg); + if (command != x_command) { + switch_safe_free(command); + } + + if (arg != x_arg) { + switch_safe_free(arg); + } + return val; } From mrene at freeswitch.org Fri Feb 27 08:38:19 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 10:38:19 -0600 Subject: [Freeswitch-svn] [commit] r12327 - freeswitch/trunk/src/mod/event_handlers/mod_event_socket Message-ID: Author: mrene Date: Fri Feb 27 10:38:19 2009 New Revision: 12327 Log: Whitespace can be a bitch Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Fri Feb 27 10:38:19 2009 @@ -1271,6 +1271,10 @@ acs->ack = 1; SWITCH_STANDARD_STREAM(stream); + + if (!strcasecmp(acs->api_cmd, "unload") || !strcasecmp(acs->arg, "mod_event_socket")) { + + } if ((status = switch_api_execute(acs->api_cmd, acs->arg, NULL, &stream)) == SWITCH_STATUS_SUCCESS) { reply = stream.data; @@ -1351,7 +1355,7 @@ *reply = '\0'; - if (switch_stristr("unload mod_event_socket", cmd)) { + if (switch_stristr("unload", cmd) && switch_stristr("mod_event_socket", cmd)) { cmd = cheat; } From brian at freeswitch.org Fri Feb 27 10:15:51 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 12:15:51 -0600 Subject: [Freeswitch-svn] [commit] r12328 - freeswitch/trunk/src/mod/endpoints/mod_sofia Message-ID: Author: brian Date: Fri Feb 27 12:15:50 2009 New Revision: 12328 Log: move this debug line into profile debug Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Fri Feb 27 12:15:50 2009 @@ -866,7 +866,9 @@ } if (auth_res != AUTH_OK && !stale) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Send %s for [%s@%s]\n", forbidden ? "forbidden" : "challenge", to_user, to_host); + if (profile->debug) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Send %s for [%s@%s]\n", forbidden ? "forbidden" : "challenge", to_user, to_host); + } if (auth_res == AUTH_FORBIDDEN) { nua_respond(nh, SIP_403_FORBIDDEN, NUTAG_WITH_THIS(nua), TAG_END()); } else { From anthm at freeswitch.org Fri Feb 27 10:52:15 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 12:52:15 -0600 Subject: [Freeswitch-svn] [commit] r12329 - freeswitch/trunk/src Message-ID: Author: anthm Date: Fri Feb 27 12:52:15 2009 New Revision: 12329 Log: gimmie back my 136 bytes Modified: freeswitch/trunk/src/switch_rtp.c Modified: freeswitch/trunk/src/switch_rtp.c ============================================================================== --- freeswitch/trunk/src/switch_rtp.c (original) +++ freeswitch/trunk/src/switch_rtp.c Fri Feb 27 12:52:15 2009 @@ -1766,6 +1766,7 @@ *dtmf = *_dtmf; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "RTP RECV DTMF %c:%d\n", dtmf->digit, dtmf->duration); bytes++; + free(pop); } switch_mutex_unlock(rtp_session->dtmf_data.dtmf_mutex); From mrene at freeswitch.org Fri Feb 27 11:22:30 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 13:22:30 -0600 Subject: [Freeswitch-svn] [commit] r12330 - freeswitch/trunk/src Message-ID: Author: mrene Date: Fri Feb 27 13:22:30 2009 New Revision: 12330 Log: Fix leak Modified: freeswitch/trunk/src/switch_ivr_async.c Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Fri Feb 27 13:22:30 2009 @@ -1133,6 +1133,7 @@ } pvt->ts.duration = duration; teletone_run(&pvt->ts, buf); + switch_safe_free(pop); } if (switch_buffer_inuse(pvt->audio_buffer) && (bytes = switch_buffer_read(pvt->audio_buffer, frame->data, frame->datalen))) { From mrene at freeswitch.org Fri Feb 27 11:24:56 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 13:24:56 -0600 Subject: [Freeswitch-svn] [commit] r12331 - freeswitch/trunk/src Message-ID: Author: mrene Date: Fri Feb 27 13:24:56 2009 New Revision: 12331 Log: dont need safe_free here Modified: freeswitch/trunk/src/switch_ivr_async.c Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Fri Feb 27 13:24:56 2009 @@ -1133,7 +1133,7 @@ } pvt->ts.duration = duration; teletone_run(&pvt->ts, buf); - switch_safe_free(pop); + free(pop); } if (switch_buffer_inuse(pvt->audio_buffer) && (bytes = switch_buffer_read(pvt->audio_buffer, frame->data, frame->datalen))) { From mrene at freeswitch.org Fri Feb 27 11:29:53 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 13:29:53 -0600 Subject: [Freeswitch-svn] [commit] r12332 - freeswitch/trunk/src Message-ID: Author: mrene Date: Fri Feb 27 13:29:52 2009 New Revision: 12332 Log: fix leak Modified: freeswitch/trunk/src/switch_channel.c Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Fri Feb 27 13:29:52 2009 @@ -279,7 +279,9 @@ *dt = new_dtmf; while (switch_queue_trypush(channel->dtmf_queue, dt) != SWITCH_STATUS_SUCCESS) { - switch_queue_trypop(channel->dtmf_queue, &pop); + if (switch_queue_trypop(channel->dtmf_queue, &pop) == SWITCH_STATUS_SUCCESS) { + free(pop); + } if (++x > 100) { status = SWITCH_STATUS_FALSE; free(dt); From anthm at freeswitch.org Fri Feb 27 11:39:58 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 13:39:58 -0600 Subject: [Freeswitch-svn] [commit] r12333 - freeswitch/trunk/src Message-ID: Author: anthm Date: Fri Feb 27 13:39:58 2009 New Revision: 12333 Log: reverse define to allow it to be passed in as positive from configure (no real change) Modified: freeswitch/trunk/src/switch_core_memory.c Modified: freeswitch/trunk/src/switch_core_memory.c ============================================================================== --- freeswitch/trunk/src/switch_core_memory.c (original) +++ freeswitch/trunk/src/switch_core_memory.c Fri Feb 27 13:39:58 2009 @@ -40,7 +40,9 @@ //#define DESTROY_POOLS //#define INSTANTLY_DESTROY_POOLS /*#define LOCK_MORE*/ +#ifndef SWITCH_POOL_RECYCLE #define PER_POOL_LOCK 1 +#endif static struct { switch_mutex_t *mem_lock; From mrene at freeswitch.org Fri Feb 27 12:21:48 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 14:21:48 -0600 Subject: [Freeswitch-svn] [commit] r12334 - in freeswitch/trunk/src/mod: event_handlers/mod_event_socket xml_int/mod_xml_rpc Message-ID: Author: mrene Date: Fri Feb 27 14:21:48 2009 New Revision: 12334 Log: More initial paradox of doom avoidement Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Fri Feb 27 14:21:48 2009 @@ -920,6 +920,9 @@ if (!strcasecmp(api_command, "unload") && !strcasecmp(api_args, "mod_event_socket")) { api_command = "bgapi"; api_args = "unload mod_event_socket"; + } else if (!strcasecmp(api_command, "reload") && !strcasecmp(api_args, "mod_event_socket")) { + api_command = "bgapi"; + api_args = "reload mod_event_socket"; } switch_api_execute(api_command, api_args, NULL, stream); @@ -1351,13 +1354,16 @@ { switch_status_t status = SWITCH_STATUS_SUCCESS; char *cmd = switch_event_get_header(*event, "command"); - char cheat[] = "api bgapi unload mod_event_socket"; + char unload_cheat[] = "api bgapi unload mod_event_socket"; + char reload_cheat[] = "api bgapi reload mod_event_socket"; *reply = '\0'; if (switch_stristr("unload", cmd) && switch_stristr("mod_event_socket", cmd)) { - cmd = cheat; - } + cmd = unload_cheat; + } else if (switch_stristr("reload", cmd) && switch_stristr("mod_event_socket", cmd)) { + cmd = reload_cheat; + } if (!strncasecmp(cmd, "exit", 4)) { switch_clear_flag_locked(listener, LFLAG_RUNNING); Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Fri Feb 27 14:21:48 2009 @@ -685,6 +685,9 @@ if (switch_stristr("unload", command) && switch_stristr("mod_xml_rpc", r->requestInfo.query)) { command = "bgapi"; api_str = "unload mod_xml_rpc"; + } else if (switch_stristr("reload", command) && switch_stristr("mod_xml_rpc", r->requestInfo.query)) { + command = "bgapi"; + api_str = "reload mod_xml_rpc"; } else { api_str = r->requestInfo.query; } @@ -719,6 +722,7 @@ switch_stream_handle_t stream = { 0 }; xmlrpc_value *val = NULL; const char *x_command = "bgapi", x_arg= "unload mod_xml_rpc"; + switch_bool_t freed = 0; /* Parse our argument array. */ @@ -731,9 +735,16 @@ if (switch_stristr("unload", command) && switch_stristr("mod_xml_rpc", arg)) { switch_safe_free(command); - command = x_command; switch_safe_free(arg); - arg = x_arg; + freed = 1; + command = "bgapi"; + arg = "unload mod_xml_rpc"; + } else if (switch_stristr("reload", command) && switch_stristr("mod_xml_rpc", arg)) { + switch_safe_free(command); + switch_safe_free(arg); + freed = 1; + command = "bgapi"; + arg = "reload mod_xml_rpc"; } SWITCH_STANDARD_STREAM(stream); @@ -746,11 +757,8 @@ } /* xmlrpc-c requires us to free memory it malloced from xmlrpc_decompose_value */ - if (command != x_command) { + if (!freed) { switch_safe_free(command); - } - - if (arg != x_arg) { switch_safe_free(arg); } From mrene at freeswitch.org Fri Feb 27 13:45:31 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 15:45:31 -0600 Subject: [Freeswitch-svn] [commit] r12335 - freeswitch/trunk/scripts/contrib/mrene/fshost Message-ID: Author: mrene Date: Fri Feb 27 15:45:31 2009 New Revision: 12335 Log: Example on how to host freeswitch within third party applications Added: freeswitch/trunk/scripts/contrib/mrene/fshost/ freeswitch/trunk/scripts/contrib/mrene/fshost/Makefile freeswitch/trunk/scripts/contrib/mrene/fshost/main.c Added: freeswitch/trunk/scripts/contrib/mrene/fshost/Makefile ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/mrene/fshost/Makefile Fri Feb 27 15:45:31 2009 @@ -0,0 +1,14 @@ +CC=gcc +FS_PATH=../../../../ +FS_INCLUDES=-I$(FS_PATH)/src/include -I$(FS_PATH)/libs/apr/include -I$(FS_PATH)/libs/libteletone/src +FS_LDFLAGS = -L$(FS_PATH)/.libs -lfreeswitch +CFLAGS=-ggdb3 $(FS_INCLUDES) -Wall -Werror +LIBS=$(FS_LDFLAGS) + +all: fshost + +clean: + rm -rf fshost fshost.dSYM + +fshost: main.c + $(CC) -o fshost main.c $(CFLAGS) $(LIBS) Added: freeswitch/trunk/scripts/contrib/mrene/fshost/main.c ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/mrene/fshost/main.c Fri Feb 27 15:45:31 2009 @@ -0,0 +1,97 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2009, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Mathieu Rene + * + * + * fshost - Example on how to host freeswitch within your own programs + * + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + switch_core_flag_t flags = SCF_USE_SQL; + const char *err = NULL; + switch_bool_t console = SWITCH_TRUE; + switch_status_t destroy_status; + int ret = 0; + + /* Initialize libs & globals */ + printf("Initializing globals...\n"); + switch_core_setrlimits(); + switch_core_set_globals(); + + /* If you need to override configuration directories, you need to change them in the SWITCH_GLOBAL_dirs global structure */ + printf("Initializing core...\n"); + /* Initialize the core and load modules, that will startup FS completely */ + if (switch_core_init_and_modload(flags, console, &err) != SWITCH_STATUS_SUCCESS) { + fprintf(stderr, "Cannot Initialize [%s]\n", err); + } + + printf("Everything OK, Entering runtime loop.\n"); + + fflush(stdout); + + /* Go into the runtime loop. If the argument is true, this basically sets runtime.running = 1 and loops while that is set + * If its false, it initializes the libedit for the console, then does the same thing + */ + switch_core_runtime_loop(!console); + + /* When the runtime loop exits, its time to shutdown */ + destroy_status = switch_core_destroy(); + + /* If we get SWITCH_STATUS_RESTART, it means the core received an fsctl shutdown restart command */ + if (destroy_status == SWITCH_STATUS_RESTART) { + char buf[1024] = ""; + int i = 0; + + switch_assert(argv[0]); + switch_sleep(1000000); + ret = (int)execv(argv[0], argv); + fprintf(stderr, "Restart Failed [%s] resorting to plan b\n", strerror(errno)); + + for(i = 0; i < argc; i++) { + switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[i]); + } + + ret = system(buf); + } + + return ret; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4: + */ \ No newline at end of file From mrene at freeswitch.org Fri Feb 27 13:48:06 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 15:48:06 -0600 Subject: [Freeswitch-svn] [commit] r12336 - freeswitch/trunk/scripts/contrib/mrene/fshost Message-ID: Author: mrene Date: Fri Feb 27 15:48:06 2009 New Revision: 12336 Log: tweak Modified: freeswitch/trunk/scripts/contrib/mrene/fshost/main.c Modified: freeswitch/trunk/scripts/contrib/mrene/fshost/main.c ============================================================================== --- freeswitch/trunk/scripts/contrib/mrene/fshost/main.c (original) +++ freeswitch/trunk/scripts/contrib/mrene/fshost/main.c Fri Feb 27 15:48:06 2009 @@ -50,7 +50,8 @@ printf("Initializing core...\n"); /* Initialize the core and load modules, that will startup FS completely */ if (switch_core_init_and_modload(flags, console, &err) != SWITCH_STATUS_SUCCESS) { - fprintf(stderr, "Cannot Initialize [%s]\n", err); + fprintf(stderr, "Failed to initialize FreeSWITCH's core: %s\n", err); + return 1; } printf("Everything OK, Entering runtime loop.\n"); From brian at freeswitch.org Fri Feb 27 14:56:30 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 16:56:30 -0600 Subject: [Freeswitch-svn] [commit] r12337 - freeswitch/trunk/libs/esl/python Message-ID: Author: brian Date: Fri Feb 27 16:56:30 2009 New Revision: 12337 Log: ESL-1 Modified: freeswitch/trunk/libs/esl/python/events.py Modified: freeswitch/trunk/libs/esl/python/events.py ============================================================================== --- freeswitch/trunk/libs/esl/python/events.py (original) +++ freeswitch/trunk/libs/esl/python/events.py Fri Feb 27 16:56:30 2009 @@ -2,7 +2,6 @@ import string import sys -import pickle from ESL import * From brian at freeswitch.org Fri Feb 27 14:59:10 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 16:59:10 -0600 Subject: [Freeswitch-svn] [commit] r12338 - freeswitch/trunk/libs/esl/python Message-ID: Author: brian Date: Fri Feb 27 16:59:10 2009 New Revision: 12338 Log: ESL-2 Added: freeswitch/trunk/libs/esl/python/_ESL.py Removed: freeswitch/trunk/libs/esl/python/ESL.py Modified: freeswitch/trunk/libs/esl/python/Makefile freeswitch/trunk/libs/esl/python/esl_wrap.cpp Modified: freeswitch/trunk/libs/esl/python/Makefile ============================================================================== --- freeswitch/trunk/libs/esl/python/Makefile (original) +++ freeswitch/trunk/libs/esl/python/Makefile Fri Feb 27 16:59:10 2009 @@ -4,7 +4,7 @@ all: _ESL.so esl_wrap.cpp: - swig -module ESL -classic -python -c++ -DMULTIPLICITY -I../src/include -o esl_wrap.cpp ../ESL.i + swig -module _ESL -classic -python -c++ -DMULTIPLICITY -I../src/include -o esl_wrap.cpp ../ESL.i esl_wrap.o: esl_wrap.cpp $(CXX) $(CXX_CFLAGS) $(CXXFLAGS) $(LOCAL_CFLAGS) -c esl_wrap.cpp -o esl_wrap.o Added: freeswitch/trunk/libs/esl/python/_ESL.py ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/esl/python/_ESL.py Fri Feb 27 16:59:10 2009 @@ -0,0 +1,97 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 1.3.35 +# +# Don't modify this file, modify the SWIG interface instead. +# This file is compatible with both classic and new-style classes. + +import __ESL +import new +new_instancemethod = new.instancemethod +def _swig_setattr_nondynamic(self,class_type,name,value,static=1): + if (name == "thisown"): return self.this.own(value) + if (name == "this"): + if type(value).__name__ == 'PySwigObject': + self.__dict__[name] = value + return + method = class_type.__swig_setmethods__.get(name,None) + if method: return method(self,value) + if (not static) or hasattr(self,name): + self.__dict__[name] = value + else: + raise AttributeError("You cannot add attributes to %s" % self) + +def _swig_setattr(self,class_type,name,value): + return _swig_setattr_nondynamic(self,class_type,name,value,0) + +def _swig_getattr(self,class_type,name): + if (name == "thisown"): return self.this.own() + method = class_type.__swig_getmethods__.get(name,None) + if method: return method(self) + raise AttributeError,name + +def _swig_repr(self): + try: strthis = "proxy of " + self.this.__repr__() + except: strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + +class ESLevent: + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, ESLevent, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, ESLevent, name) + __repr__ = _swig_repr + __swig_setmethods__["event"] = __ESL.ESLevent_event_set + __swig_getmethods__["event"] = __ESL.ESLevent_event_get + __swig_setmethods__["serialized_string"] = __ESL.ESLevent_serialized_string_set + __swig_getmethods__["serialized_string"] = __ESL.ESLevent_serialized_string_get + __swig_setmethods__["mine"] = __ESL.ESLevent_mine_set + __swig_getmethods__["mine"] = __ESL.ESLevent_mine_get + def __init__(self, *args): + this = apply(__ESL.new_ESLevent, args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = __ESL.delete_ESLevent + __del__ = lambda self : None; + def serialize(*args): return apply(__ESL.ESLevent_serialize, args) + def setPriority(*args): return apply(__ESL.ESLevent_setPriority, args) + def getHeader(*args): return apply(__ESL.ESLevent_getHeader, args) + def getBody(*args): return apply(__ESL.ESLevent_getBody, args) + def getType(*args): return apply(__ESL.ESLevent_getType, args) + def addBody(*args): return apply(__ESL.ESLevent_addBody, args) + def addHeader(*args): return apply(__ESL.ESLevent_addHeader, args) + def delHeader(*args): return apply(__ESL.ESLevent_delHeader, args) +ESLevent_swigregister = __ESL.ESLevent_swigregister +ESLevent_swigregister(ESLevent) + +class ESLconnection: + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, ESLconnection, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, ESLconnection, name) + __repr__ = _swig_repr + def __init__(self, *args): + this = apply(__ESL.new_ESLconnection, args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = __ESL.delete_ESLconnection + __del__ = lambda self : None; + def connected(*args): return apply(__ESL.ESLconnection_connected, args) + def getInfo(*args): return apply(__ESL.ESLconnection_getInfo, args) + def send(*args): return apply(__ESL.ESLconnection_send, args) + def sendRecv(*args): return apply(__ESL.ESLconnection_sendRecv, args) + def api(*args): return apply(__ESL.ESLconnection_api, args) + def bgapi(*args): return apply(__ESL.ESLconnection_bgapi, args) + def sendEvent(*args): return apply(__ESL.ESLconnection_sendEvent, args) + def recvEvent(*args): return apply(__ESL.ESLconnection_recvEvent, args) + def recvEventTimed(*args): return apply(__ESL.ESLconnection_recvEventTimed, args) + def filter(*args): return apply(__ESL.ESLconnection_filter, args) + def events(*args): return apply(__ESL.ESLconnection_events, args) + def execute(*args): return apply(__ESL.ESLconnection_execute, args) + def setBlockingExecute(*args): return apply(__ESL.ESLconnection_setBlockingExecute, args) + def setEventLock(*args): return apply(__ESL.ESLconnection_setEventLock, args) +ESLconnection_swigregister = __ESL.ESLconnection_swigregister +ESLconnection_swigregister(ESLconnection) + +eslSetLogLevel = __ESL.eslSetLogLevel + + Modified: freeswitch/trunk/libs/esl/python/esl_wrap.cpp ============================================================================== --- freeswitch/trunk/libs/esl/python/esl_wrap.cpp (original) +++ freeswitch/trunk/libs/esl/python/esl_wrap.cpp Fri Feb 27 16:59:10 2009 @@ -2515,11 +2515,11 @@ #endif /*----------------------------------------------- - @(target):= _ESL.so + @(target):= __ESL.so ------------------------------------------------*/ -#define SWIG_init init_ESL +#define SWIG_init init__ESL -#define SWIG_name "_ESL" +#define SWIG_name "__ESL" #define SWIGVERSION 0x010335 #define SWIG_VERSION SWIGVERSION From brian at freeswitch.org Fri Feb 27 14:59:44 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 16:59:44 -0600 Subject: [Freeswitch-svn] [commit] r12339 - in freeswitch/trunk/libs/esl: php ruby Message-ID: Author: brian Date: Fri Feb 27 16:59:44 2009 New Revision: 12339 Log: hrm why Modified: freeswitch/trunk/libs/esl/php/esl_wrap.cpp freeswitch/trunk/libs/esl/ruby/esl_wrap.cpp Modified: freeswitch/trunk/libs/esl/php/esl_wrap.cpp ============================================================================== --- freeswitch/trunk/libs/esl/php/esl_wrap.cpp (original) +++ freeswitch/trunk/libs/esl/php/esl_wrap.cpp Fri Feb 27 16:59:44 2009 @@ -1091,7 +1091,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1159,7 +1159,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ convert_to_long_ex(args[1]); arg2 = (int) Z_LVAL_PP(args[1]); /*@SWIG@*/; @@ -1213,13 +1213,13 @@ WRONG_PARAM_COUNT; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[0]); arg1 = (char *) Z_STRVAL_PP(args[0]); /*@SWIG@*/; if(arg_count > 1) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1254,7 +1254,7 @@ } } if(arg_count > 1) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ convert_to_long_ex(args[1]); arg2 = (int) Z_LVAL_PP(args[1]); /*@SWIG@*/; @@ -1384,7 +1384,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); if(arg_count > 1) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1460,7 +1460,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1557,7 +1557,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1591,13 +1591,13 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -1630,7 +1630,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1658,19 +1658,19 @@ } - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[0]); arg1 = (char *) Z_STRVAL_PP(args[0]); /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -1696,7 +1696,7 @@ } - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ convert_to_long_ex(args[0]); arg1 = (int) Z_LVAL_PP(args[0]); /*@SWIG@*/; @@ -1831,7 +1831,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1864,7 +1864,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -1900,13 +1900,13 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; if(arg_count > 2) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -1943,13 +1943,13 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; if(arg_count > 2) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -2041,7 +2041,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ convert_to_long_ex(args[1]); arg2 = (int) Z_LVAL_PP(args[1]); /*@SWIG@*/; @@ -2075,13 +2075,13 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -2115,13 +2115,13 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; @@ -2158,20 +2158,20 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; if(arg_count > 2) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[2]); arg3 = (char *) Z_STRVAL_PP(args[2]); /*@SWIG@*/; } if(arg_count > 3) { - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[3]); arg4 = (char *) Z_STRVAL_PP(args[3]); /*@SWIG@*/; @@ -2205,7 +2205,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -2238,7 +2238,7 @@ } if(!arg1) SWIG_PHP_Error(E_ERROR, "this pointer is NULL"); - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,26,CONVERT_STRING_IN@*/ convert_to_string_ex(args[1]); arg2 = (char *) Z_STRVAL_PP(args[1]); /*@SWIG@*/; @@ -2263,7 +2263,7 @@ } - /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ + /*@SWIG:/usr/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/ convert_to_long_ex(args[0]); arg1 = (int) Z_LVAL_PP(args[0]); /*@SWIG@*/; Modified: freeswitch/trunk/libs/esl/ruby/esl_wrap.cpp ============================================================================== --- freeswitch/trunk/libs/esl/ruby/esl_wrap.cpp (original) +++ freeswitch/trunk/libs/esl/ruby/esl_wrap.cpp Fri Feb 27 16:59:44 2009 @@ -1902,7 +1902,7 @@ } -/*@SWIG:/usr/local/share/swig/1.3.35/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/ +/*@SWIG:/usr/share/swig/1.3.35/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/ SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args) { VALUE obj = args[0]; From brian at freeswitch.org Fri Feb 27 15:11:49 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 17:11:49 -0600 Subject: [Freeswitch-svn] [commit] r12340 - freeswitch/trunk/conf/dialplan Message-ID: Author: brian Date: Fri Feb 27 17:11:49 2009 New Revision: 12340 Log: Ok this is a stop gap for some people running 3.x polycom firmware. We smack down the ability to turn on SRTP. I'm currently working with Polycom to resolve this issue. (SR #: 1-31824511) Modified: freeswitch/trunk/conf/dialplan/default.xml Modified: freeswitch/trunk/conf/dialplan/default.xml ============================================================================== --- freeswitch/trunk/conf/dialplan/default.xml (original) +++ freeswitch/trunk/conf/dialplan/default.xml Fri Feb 27 17:11:49 2009 @@ -86,6 +86,16 @@ + + + + + + + + From anthm at freeswitch.org Fri Feb 27 19:56:38 2009 From: anthm at freeswitch.org (FreeSWITCH SVN) Date: Fri, 27 Feb 2009 21:56:38 -0600 Subject: [Freeswitch-svn] [commit] r12341 - freeswitch/trunk/src/mod/applications/mod_voicemail Message-ID: Author: anthm Date: Fri Feb 27 21:56:38 2009 New Revision: 12341 Log: add indexes to mod_voicemail Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Modified: freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c (original) +++ freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c Fri Feb 27 21:56:38 2009 @@ -234,6 +234,18 @@ " password VARCHAR(255)\n" ");\n"; +static char *vm_index_list[] = { + "create index voicemail_msgs_idx1 on voicemail_msgs(created_epoch)", + "create index voicemail_msgs_idx2 on voicemail_msgs(username)", + "create index voicemail_msgs_idx3 on voicemail_msgs(domain)", + "create index voicemail_msgs_idx4 on voicemail_msgs(uuid)", + "create index voicemail_msgs_idx5 on voicemail_msgs(in_folder)", + "create index voicemail_msgs_idx6 on voicemail_msgs(read_flags)", + "create index voicemail_prefs_idx1 on voicemail_prefs(username)", + "create index voicemail_prefs_idx2 on voicemail_prefs(domain)", + NULL +}; + static switch_status_t load_config(void) { char *cf = "voicemail.conf"; @@ -323,6 +335,7 @@ switch_core_db_t *db; uint32_t timeout = 10000, max_login_attempts = 3, max_record_len = 300, min_record_len = 3, max_retries = 3; + int x; db = NULL; @@ -671,6 +684,11 @@ } switch_odbc_handle_exec(profile->master_odbc, "drop table voicemail_data", NULL); } + + for (x = 0; vm_index_list[x]; x++) { + switch_odbc_handle_exec(profile->master_odbc, vm_index_list[x], NULL); + } + #endif } else { if ((db = switch_core_db_open_file(profile->dbname))) { @@ -705,6 +723,14 @@ switch_core_db_test_reactive(db, "select count(username) from voicemail_prefs", "drop table voicemail_prefs", vm_pref_sql); switch_core_db_test_reactive(db, "select count(password) from voicemail_prefs", NULL, "alter table voicemail_prefs add password varchar(255)"); + + for (x = 0; vm_index_list[x]; x++) { + errmsg = NULL; + switch_core_db_exec(db, vm_index_list[x], NULL, NULL, &errmsg); + switch_safe_free(errmsg); + } + + } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open SQL Database!\n"); continue; From gmaruzz at freeswitch.org Sat Feb 28 02:39:51 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 28 Feb 2009 04:39:51 -0600 Subject: [Freeswitch-svn] [commit] r12342 - freeswitch/trunk/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Feb 28 04:39:50 2009 New Revision: 12342 Log: skypiax: switch_sleep is behaving differently on Vista and XPvi mod_skypiax.c! Let's set for Vista now, will handle this in the future Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c Sat Feb 28 04:39:50 2009 @@ -916,7 +916,7 @@ DEBUGA_SKYPE ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); - NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + WARNINGA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&skypiax_api_thread_attr, skypiax_module_pool); switch_threadattr_stacksize_set(skypiax_api_thread_attr, SWITCH_THREAD_STACKSIZE); @@ -940,31 +940,31 @@ skypiax_audio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - NOTICA("WAITING max 6 seconds to connect to SKYPE API for interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + NOTICA("WAITING max 10 seconds to find a running Skype client and connect to its SKYPE API for interface_id=%d. NB: on XP will wait for much much more! (Vista OK)\n", SKYPIAX_P_LOG, interface_id); i = 0; - while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 400) { // 6sec on windows (why ????) FIXME + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 10000) { // 400 x 1000 is 6sec on windows XP but only 0.4 seconds on Vista FIXME //DEBUGA_SKYPE("interface_id=%d, times=%d\n", SKYPIAX_P_LOG, interface_id, i); switch_sleep(1000); i++; } if (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected) { - NOTICA("SKYPE API connected for interface_id=%d, waiting max 60 seconds for CURRENTUSERHANDLE==%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); + NOTICA("Found a running Skype client, connected to its SKYPE API for interface_id=%d, waiting max 60 seconds for CURRENTUSERHANDLE==%s. NB: on XP will wait for much much more! (Vista OK)\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); } else { - ERRORA("SKYPE API FAILED to connect for interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + ERRORA("Failed to connect to a SKYPE API for interface_id=%d, no SKYPE client running, please (re)start Skype client. Skypiax exiting\n", SKYPIAX_P_LOG, interface_id); running = 0; return SWITCH_STATUS_FALSE; } i = 0; - while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.currentuserhandle == 0 && running && i < 4000) { // 60sec on windows (why ????) FIXME + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.currentuserhandle == 0 && running && i < 60000) { // 4000 * 1000 is 60sec on windows XP but 4seconds on Vista FIXME //DEBUGA_SKYPE("interface_id=%d, times=%d\n", SKYPIAX_P_LOG, interface_id, i); switch_sleep(1000); i++; } if (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.currentuserhandle) { - NOTICA("CURRENTUSERHANDLE ok (%s), interface_id=%d STARTED\n", SKYPIAX_P_LOG, globals.SKYPIAX_INTERFACES[interface_id].skype_user, interface_id); + WARNINGA("Interface_id=%d is now STARTED, the Skype client to which we are connected gave us the correct CURRENTUSERHANDLE (%s)\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); } else { - ERRORA("FAILED to find CURRENTUSERHANDLE=%s, FAILED to start interface_id=%d\n", SKYPIAX_P_LOG, globals.SKYPIAX_INTERFACES[interface_id].skype_user, interface_id); + ERRORA("The Skype client to which we are connected FAILED to gave us CURRENTUSERHANDLE=%s, interface_id=%d FAILED to start. No Skype client logged in as '%s' has been found. Please (re)launch a Skype client logged in as '%s'. Skypiax exiting now\n", SKYPIAX_P_LOG, globals.SKYPIAX_INTERFACES[interface_id].skype_user, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user, globals.SKYPIAX_INTERFACES[interface_id].skype_user); running = 0; return SWITCH_STATUS_FALSE; } Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sat Feb 28 04:39:50 2009 @@ -948,7 +948,7 @@ switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: if (!tech_pvt->SkypiaxHandles.currentuserhandle) { - DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); + //DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); tech_pvt->SkypiaxHandles.api_connected = 1; tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = @@ -956,9 +956,7 @@ } break; case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: - DEBUGA_SKYPE - ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", - SKYPIAX_P_LOG); + //DEBUGA_SKYPE ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); skypiax_sleep(5000); if (!tech_pvt->SkypiaxHandles.currentuserhandle) { SendMessage(HWND_BROADCAST, From gmaruzz at freeswitch.org Sat Feb 28 03:38:36 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 28 Feb 2009 05:38:36 -0600 Subject: [Freeswitch-svn] [commit] r12343 - freeswitch/trunk/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Feb 28 05:38:35 2009 New Revision: 12343 Log: skypiax: fixed http://jira.freeswitch.org/browse/MODSKYPIAX-21 on linux too, and cosmetics Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c Sat Feb 28 05:38:35 2009 @@ -940,7 +940,7 @@ skypiax_audio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - NOTICA("WAITING max 10 seconds to find a running Skype client and connect to its SKYPE API for interface_id=%d. NB: on XP will wait for much much more! (Vista OK)\n", SKYPIAX_P_LOG, interface_id); + NOTICA("WAITING roughly 10/15 seconds to find a running Skype client and connect to its SKYPE API for interface_id=%d. NB: on XP will wait for much much more! (on Vista and Linux is OK)\n", SKYPIAX_P_LOG, interface_id); i = 0; while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 10000) { // 400 x 1000 is 6sec on windows XP but only 0.4 seconds on Vista FIXME //DEBUGA_SKYPE("interface_id=%d, times=%d\n", SKYPIAX_P_LOG, interface_id, i); @@ -948,7 +948,7 @@ i++; } if (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected) { - NOTICA("Found a running Skype client, connected to its SKYPE API for interface_id=%d, waiting max 60 seconds for CURRENTUSERHANDLE==%s. NB: on XP will wait for much much more! (Vista OK)\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); + NOTICA("Found a running Skype client, connected to its SKYPE API for interface_id=%d, waiting roughly 60/90 seconds for CURRENTUSERHANDLE==%s. NB: on XP will wait for much much more! (on Vista and Linux is OK)\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); } else { ERRORA("Failed to connect to a SKYPE API for interface_id=%d, no SKYPE client running, please (re)start Skype client. Skypiax exiting\n", SKYPIAX_P_LOG, interface_id); running = 0; From brian at freeswitch.org Sat Feb 28 08:09:38 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sat, 28 Feb 2009 10:09:38 -0600 Subject: [Freeswitch-svn] [commit] r12344 - freeswitch/trunk/libs/esl/perl Message-ID: Author: brian Date: Sat Feb 28 10:09:38 2009 New Revision: 12344 Log: example of using esl to get events for ASR Added: freeswitch/trunk/libs/esl/perl/server3.pl Added: freeswitch/trunk/libs/esl/perl/server3.pl ============================================================================== --- (empty file) +++ freeswitch/trunk/libs/esl/perl/server3.pl Sat Feb 28 10:09:38 2009 @@ -0,0 +1,61 @@ +require ESL; +use IO::Socket::INET; + +#ESL::eslSetLogLevel(7); + +my $ip = "127.0.0.1"; +my $sock = new IO::Socket::INET ( LocalHost => $ip, LocalPort => '8040', Proto => 'tcp', Listen => 1, Reuse => 1 ); +die "Could not create socket: $!\n" unless $sock; + +for(;;) { + my $new_sock = $sock->accept(); + my $pid = fork(); + if ($pid) { + close($new_sock); + next; + } + + my $host = $new_sock->sockhost(); + my $fd = fileno($new_sock); + + my $con = new ESL::ESLconnection($fd); + my $info = $con->getInfo(); + + #print $info->serialize(); + my $uuid = $info->getHeader("unique-id"); + + printf "Connected call %s, from %s\n", $uuid, $info->getHeader("caller-caller-id-number"); + + $con->sendRecv("myevents"); + $con->execute("answer"); + $con->sendRecv("divert_events on"); + $con->execute("detect_speech", "pocketsphinx yes_no yes_no"); + $con->execute("playback", "/ram/swimp.raw"); + + while($con->connected()) { + #my $e = $con->recvEventTimed(100); + my $e = $con->recvEvent(); + + if ($e) { + my $name = $e->getHeader("event-name"); + print "EVENT [$name]\n"; + if ($name eq "DETECTED_SPEECH") { + print $e->serialize(); + my $type = $e->getHeader("speech-type"); + if ($type = "detected-speech") { + $con->execute("detect_speech", "resume"); + } + } + if ($name eq "DTMF") { + my $digit = $e->getHeader("dtmf-digit"); + my $duration = $e->getHeader("dtmf-duration"); + print "DTMF digit $digit ($duration)\n"; + } + } + } + + print "BYE\n"; + close($new_sock); +} + + From brian at freeswitch.org Sat Feb 28 12:34:23 2009 From: brian at freeswitch.org (FreeSWITCH SVN) Date: Sat, 28 Feb 2009 14:34:23 -0600 Subject: [Freeswitch-svn] [commit] r12345 - freeswitch/trunk/scripts Message-ID: Author: brian Date: Sat Feb 28 14:34:23 2009 New Revision: 12345 Log: When you're down in Transylvania And the night begins to fall You might get to feeling lonely If you do give me a call Just dial Transylvania 1, 2, 3, 4, 5 Transylvania 1, 2, 3, 4, 5 Transylvania 1, 2, 3, 4, 5 (oh and remove some stuff too) /b Removed: freeswitch/trunk/scripts/mklm freeswitch/trunk/scripts/quick_lm.pl From mrene at freeswitch.org Sat Feb 28 14:41:28 2009 From: mrene at freeswitch.org (FreeSWITCH SVN) Date: Sat, 28 Feb 2009 16:41:28 -0600 Subject: [Freeswitch-svn] [commit] r12346 - freeswitch/trunk/debian Message-ID: Author: mrene Date: Sat Feb 28 16:41:28 2009 New Revision: 12346 Log: Install mod_fifo.conf.xml in autoload_configs (debian) Modified: freeswitch/trunk/debian/freeswitch.install Modified: freeswitch/trunk/debian/freeswitch.install ============================================================================== --- freeswitch/trunk/debian/freeswitch.install (original) +++ freeswitch/trunk/debian/freeswitch.install Sat Feb 28 16:41:28 2009 @@ -119,5 +119,6 @@ opt/freeswitch/conf/autoload_configs/console.conf.xml opt/freeswitch/conf/autoload_configs/timezones.conf.xml opt/freeswitch/conf/autoload_configs/fax.conf.xml +opt/freeswitch/conf/autoload_configs/fifo.conf.xml opt/freeswitch/conf/jingle_profiles/server.xml opt/freeswitch/conf/jingle_profiles/client.xml