2005-11-19 20:07:43 +00:00
|
|
|
/*
|
|
|
|
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
|
|
|
* Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com>
|
|
|
|
*
|
|
|
|
* 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 <anthmct@yahoo.com>
|
|
|
|
* Portions created by the Initial Developer are Copyright (C)
|
|
|
|
* the Initial Developer. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
*
|
|
|
|
* Anthony Minessale II <anthmct@yahoo.com>
|
|
|
|
*
|
|
|
|
* switch.h -- Main Library Header
|
|
|
|
*
|
|
|
|
*/
|
2006-01-02 17:28:59 +00:00
|
|
|
/*! \file switch.h
|
|
|
|
\brief Main Library Header
|
|
|
|
*/
|
2006-01-01 15:23:12 +00:00
|
|
|
|
2005-11-19 20:07:43 +00:00
|
|
|
#ifndef SWITCH_H
|
|
|
|
#define SWITCH_H
|
|
|
|
|
2006-04-29 01:00:52 +00:00
|
|
|
#ifdef __cplusplus
|
2006-09-07 14:23:31 +00:00
|
|
|
#define SWITCH_BEGIN_EXTERN_C extern "C" {
|
2006-09-07 15:15:39 +00:00
|
|
|
#define SWITCH_END_EXTERN_C }
|
2006-04-29 01:00:52 +00:00
|
|
|
#else
|
2006-09-07 14:23:31 +00:00
|
|
|
#define SWITCH_BEGIN_EXTERN_C
|
2006-09-07 15:15:39 +00:00
|
|
|
#define SWITCH_END_EXTERN_C
|
2006-04-29 01:00:52 +00:00
|
|
|
#endif
|
2006-04-28 20:04:08 +00:00
|
|
|
|
2005-12-29 17:28:54 +00:00
|
|
|
#ifndef WIN32
|
2006-04-03 21:00:13 +00:00
|
|
|
#include <switch_am_config.h>
|
2005-12-29 17:28:54 +00:00
|
|
|
#endif
|
|
|
|
|
2007-03-07 18:34:22 +00:00
|
|
|
#define FREESWITCH_PEN "27880"
|
|
|
|
#define FREESWITCH_MIB ".1.3.6.1.4.1." FREESWITCH_PEN
|
|
|
|
#define FREESWITCH_ITAD "543"
|
|
|
|
|
2007-03-09 20:44:13 +00:00
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include <stddef.h>
|
2005-11-19 20:07:43 +00:00
|
|
|
#include <assert.h>
|
2006-04-27 15:02:35 +00:00
|
|
|
#include <setjmp.h>
|
2007-03-09 20:44:13 +00:00
|
|
|
#include <ctype.h>
|
|
|
|
#include <fcntl.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <limits.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <signal.h>
|
|
|
|
#include <errno.h>
|
|
|
|
|
|
|
|
#include <switch_platform.h>
|
2005-11-19 20:07:43 +00:00
|
|
|
#include <switch_types.h>
|
2007-03-09 20:44:13 +00:00
|
|
|
#include <switch_apr.h>
|
|
|
|
|
|
|
|
#include <switch_core_db.h>
|
|
|
|
#include <switch_regex.h>
|
2005-11-19 20:07:43 +00:00
|
|
|
#include <switch_core.h>
|
|
|
|
#include <switch_loadable_module.h>
|
|
|
|
#include <switch_console.h>
|
|
|
|
#include <switch_utils.h>
|
|
|
|
#include <switch_caller.h>
|
|
|
|
#include <switch_config.h>
|
|
|
|
#include <switch_frame.h>
|
|
|
|
#include <switch_module_interfaces.h>
|
|
|
|
#include <switch_channel.h>
|
|
|
|
#include <switch_buffer.h>
|
2005-12-13 19:53:29 +00:00
|
|
|
#include <switch_event.h>
|
2006-01-02 17:28:59 +00:00
|
|
|
#include <switch_resample.h>
|
2006-01-26 18:19:48 +00:00
|
|
|
#include <switch_ivr.h>
|
2006-04-03 21:00:13 +00:00
|
|
|
#include <switch_rtp.h>
|
2006-04-04 16:07:40 +00:00
|
|
|
#include <switch_stun.h>
|
2006-04-11 21:13:44 +00:00
|
|
|
#include <switch_log.h>
|
2006-05-05 21:05:11 +00:00
|
|
|
#include <switch_xml.h>
|
2006-04-28 20:04:08 +00:00
|
|
|
|
2006-01-10 20:10:38 +00:00
|
|
|
|
|
|
|
/** \mainpage FreeSWITCH
|
|
|
|
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
|
|
|
|
|
|
|
* \section intro Introduction
|
|
|
|
*
|
|
|
|
* \section supports Supported Platforms
|
|
|
|
* Freeswitch has been built on the following platforms:
|
|
|
|
*
|
2006-10-01 01:36:44 +00:00
|
|
|
* - Linux (x86 & x86_64)
|
2006-01-10 20:10:38 +00:00
|
|
|
* - Windows (MSVC 2005)
|
2006-03-07 19:12:25 +00:00
|
|
|
* - Mac OS X (intel & ppc )
|
|
|
|
* - OpenBSD, FreeBSD 6
|
2006-01-10 20:10:38 +00:00
|
|
|
*
|
|
|
|
* \section depends Dependencies
|
|
|
|
* Freeswitch makes heavy use of external libraries.
|
|
|
|
*
|
|
|
|
* libFreeSwitch:
|
|
|
|
* - APR (http://apr.apache.org)
|
2006-10-01 01:35:14 +00:00
|
|
|
* - APR-Util (http://apr.apache.org)
|
2006-01-10 20:10:38 +00:00
|
|
|
* - SQLite (http://www.sqlite.org)
|
|
|
|
* - libresample (http://ccrma-www.stanford.edu/~jos/resample/Free_Resampling_Software.html)
|
2006-10-01 01:35:14 +00:00
|
|
|
* - Pcre (http://www.pcre.org/)
|
|
|
|
* - SRTP (http://srtp.sourceforge.net/srtp.html)
|
2006-01-10 20:10:38 +00:00
|
|
|
*
|
|
|
|
* Additionally, the experimental external modules make use of several external modules:
|
|
|
|
*
|
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* ASR/TTS
|
|
|
|
* mod_cepstral
|
|
|
|
* - Cepstral (commercial) (http://www.cepstral.com/)
|
2006-01-10 20:10:38 +00:00
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* Codecs
|
2006-07-14 12:17:01 +00:00
|
|
|
* mod_speex
|
2006-01-10 20:10:38 +00:00
|
|
|
* - libspeex (http://www.speex.org/)
|
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* Directories
|
|
|
|
* mod_ldap
|
|
|
|
* - openldap (*nix only http://www.openldap.org/)
|
|
|
|
*
|
|
|
|
* Endpoints
|
|
|
|
* mod_iax
|
|
|
|
* - libiax2 (forked from http://iaxclient.sourceforge.net/)
|
|
|
|
*
|
2006-01-10 20:10:38 +00:00
|
|
|
* mod_portaudio
|
|
|
|
* - portaudio (http://www.portaudio.com/)
|
|
|
|
*
|
2006-07-14 12:17:01 +00:00
|
|
|
* mod_woomera
|
2006-01-10 20:10:38 +00:00
|
|
|
* - openh323/woomera (http://www.voxgratia.org/)
|
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* mod_dingaling
|
|
|
|
* - libdingaling (internal library distributed with freeswitch which depends on)
|
|
|
|
* - APR (http://apr.apache.org)
|
|
|
|
* - iksemel (http://iksemel.jabberstudio.org/)
|
|
|
|
*
|
|
|
|
* mod_sofia
|
|
|
|
* - sofia-sip (http://opensource.nokia.com/projects/sofia-sip/)
|
|
|
|
*
|
|
|
|
* Event Hanlders
|
2006-01-10 20:10:38 +00:00
|
|
|
* mod_xmpp_event
|
|
|
|
* - iksemel (http://iksemel.jabberstudio.org/)
|
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* mod_zeroconf
|
|
|
|
* - libhowl (No longer available http://www.porchdogsoft.com/products/howl/)
|
|
|
|
*
|
|
|
|
* mod_cdr
|
|
|
|
* - Mysql (http://www.mysql.com/)
|
|
|
|
* - unixodbc (*nix only http://www.unixodbc.org/)
|
|
|
|
*
|
|
|
|
* Formats
|
2006-01-10 20:10:38 +00:00
|
|
|
* mod_sndfile
|
|
|
|
* - libsndfile (http://www.mega-nerd.com/libsndfile/)
|
|
|
|
*
|
2006-10-01 01:35:14 +00:00
|
|
|
* Languages
|
|
|
|
* mod_spidermonkey
|
|
|
|
* - spidermonkey (http://www.mozilla.org/js/spidermonkey/)
|
|
|
|
*
|
|
|
|
* mod_perl
|
|
|
|
* - perl (http://www.perl.org/)
|
|
|
|
*
|
|
|
|
* XML interfaces
|
|
|
|
* mod_xml_rpc
|
|
|
|
* - xmlrpc-c (http://xmlrpc-c.sourceforge.net/)
|
|
|
|
*
|
|
|
|
*
|
2006-01-10 20:10:38 +00:00
|
|
|
* \section license Licensing
|
|
|
|
*
|
|
|
|
* Freeswitch is licensed under the terms of the MPL 1.1
|
|
|
|
*
|
2006-01-10 16:00:40 +00:00
|
|
|
*/
|
2005-11-19 20:07:43 +00:00
|
|
|
#endif
|
2006-11-27 22:30:48 +00:00
|
|
|
|
|
|
|
/* For Emacs:
|
|
|
|
* Local Variables:
|
|
|
|
* mode:c
|
2007-02-09 02:36:03 +00:00
|
|
|
* indent-tabs-mode:t
|
2006-11-27 22:30:48 +00:00
|
|
|
* tab-width:4
|
|
|
|
* c-basic-offset:4
|
|
|
|
* End:
|
|
|
|
* For VIM:
|
|
|
|
* vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
|
|
|
|
*/
|