FreeSWITCH 总体架构
【1】总体结构
【2】代码结构目录
【3】模块简介
Applications应用
- mod_abstraction – 提供了一个抽象的API调用(未来有更多功能)Provides an abstraction to API call (and more in the future).
- mod_avmd – 使用一个通用的方法检测语音信箱响铃Detects voicemail beeps using a generalized approach.
- mod_blacklist – 黑名单模块 Blacklist module.
- mod_callcenter – 排队叫号的应用程序,可用于呼叫中心的需求 Call queuing application that can be used for call center needs.
- mod_cidlookup – 使用电话号码从数据,url等中查询来电显示名称 Provides a means (database, url) to lookup the callerid name from a number.
- mod_cluechoo – 一个简单的框架,演示模块 A simple framework demo module.
- mod_commands – API接口命令集 A mass plethora of API interface commands.
- mod_conference – 会议模块 Conference room module.
- mod_curl – 允许脚本发出HTTP请求,接收响应为纯文本或JSON Allows scripts to make HTTP requests as receive responses as plain text or JSON.
- mod_db – 数据库键/值存储功能,组拨号,以及限制后端。 Database key/value store functionality, group dialing, and limit backend.
- mod_directory – 用户名称目录 Dial by Name directory.
- mod_distributor – 简单的轮循式分发 Simple round-robin style distributions.
- mod_dptools – Dialplan Tools: provides a number of apps and utilities for the dialplan.
- mod_easyroute – A simple DID routing engine that uses a database lookup to determine how to route an incoming call.
- mod_enum – Route PSTN numbers over internet according to ENUM servers, such as e164.org
- mod_esf – Holds the multi cast paging application for SIP.
- mod_esl – 允许生成远程ESL命令 Allows to generate remote ESL commands.
- mod_expr – Brian Allen Vanderburg’s expression evaluation library.
- mod_fifo – FIFO module.
- mod_fsk – FSK (Frequency-Shift Keying) data transfer
- mod_fsv – FreeSWITCH Video application (Recording and playback)
- mod_hash – Hashtable key/value store functionality and limit backend
- mod_httapi – HT-TAPI Hypertext Telephony API (Twilio FreeSWITCH style)
- mod_http_cache – HTTP GET缓存 HTTP GET with caching.
- mod_ladspa – use Auto-tune on your call.
- mod_lcr – Implements LCR (Least Cost Routing)
- mod_limit – pulled into core. See: Limit.
- mod_memcache – API that integrates with memcached (a distributed key/value object store)
- mod_mongo – http://www.mongodb.org/
- describtion needed!
- mod_mp4 – MP4 File Format support for video apps.
- mod_nibblebill – Billing module (“nibbles” at credit/cash amounts during calls)
- mod_oreka – Module for Media Recording with Oreka
- mod_osp – Open Settlement Protocol (OSP) Module.
- mod_rad_auth – use RADIUS for authentication
- mod_redis – supplies a limit back-end that uses Redis.
- mod_rss – Reads RSS feeds via a TTS engine.
- mod_skel – Dummy module.
- mod_sms – Apps for chat messages
- mod_snapshot – Records a sliding window of audio and can take snapshots to disk.
- mod_snipe_hunt – A simple framework demo module.
- mod_snmp – SNMP module.
- mod_snom – Controlling softkeys on Snom phones (button function, led state, label etc.)
- mod_soundtouch – Modify the pitch of the audio and other sound effects.
- mod_spandsp – Spandsp tone and DTMF detectors. A combination of mod_fax and mod_voipcodecs and mod_t38gateway.
- mod_spy – User spy module.
- mod_stress – Module for detecting voice stress.
- mod_tone_detect – Tone detection module.
- now MERGED into mod_dptools
- mod_valet_parking – Allows calls to be parked and picked up easily.
- mod_vmd – Voicemail beep detection module.
- mod_voicemail – Full-featured voicemail module.
- mod_voicemail_ivr – VoiceMail IVR Interface.
- mod_xml_odbc – Allows user directory to be accessed from a database in realtime.
Speech Recognition / Text-to-Speech
- mod_cepstral – Links into Cepstral for dynamic sound output.
- mod_flite – Free open source Text to Speech.
- mod_pocketsphinx – Free open source Speech Recognition.
- mod_tts_commandline – Run a command line and play the outputted file.
- mod_shout – allows you to stream audio from an url hence can be used with online TTS providers; see [Examples]
- mod_unimrcp – Module for an open MRCP implementation.
Codecs
- mod_amr – GSM-AMR (Adaptive Multi-Rate) codec.
- mod_amrwb – GSM-AMRWB (ARM Wide Band) codec.
- mod_bv – BroadVoice16 and BroadVoice32 audio codecs (Broadcom codecs).
- mod_celt – CELT ultra-low delay audio codec.
- mod_dahdi_codec – DAHDI Codecs (G729A 8.0kbit, G723.1 5.3kbit).
- mod_codec2 – FreeSWITCH CODEC2 Module.
- mod_g723_1 G.723.1 codec.
- mod_g729 – G.729 codec.
- mod_com_g729 – G.729 codec (licenced version supporting transcoding).
- mod_h26x – H26X signed linear codec.
- mod_ilbc – ILBC codec.
- mod_opus – The OPUS ultra-low delay audio codec (http://opus-codec.org/)
- mod_sangoma_codec – Module to use the Sangoma transcoding cards.PCMU,PCMA,G729,G726-32,G722,GSM,G723,AMR,G7221,iLBC
- mod_silk – Skype’s SILK codec.
- mod_siren – G.722.1 (Siren7) and G.722.1 Annex C (Siren14) Polycom codecs.
- mod_skel_codec – FreeSWITCH skeleton codec.
- mod_speex – Speex codec.
Dialplan
- mod_dialplan_asterisk – Allows you to create dialplans the old-fashioned way.
- mod_dialplan_directory – Allows you to obtain a dialplan from a directory resource (see directories below)
- mod_dialplan_xml – Allows you to program dialplans in XML format.
- mod_yaml – Allows you to program dialplans in YAML format.
Directories
- mod_ldap – LDAP module made to obtain dialplans, user accounts, etc.
Endpoints
- mod_dingaling – Jabber/Google Talk Talk integration module.
- mod_h323 – Endpoint module based on the h323plus library.
- mod_html5 – HTML5 Endpoint Module
- mod_khomp – All Khomp Cards module.
- mod_loopback – Loopback endpoint module – A loopback channel driver to make an outbound call as an inbound call.
- mod_opal – Multi-protocol (H.323/IAX2) endpoint module based on the Opal library.
- mod_openzap – Interface to Zaptel hardware.
- mod_freetdm – Interface to Zaptel hardware. Replaces mod_openzap
- mod_portaudio – Voice through a local soundcard.
- mod_skinny – SCCP module
- mod_skypopen – Skype compatible module.
- mod_gsmopen – FreeSWITCH GSM interface module
- mod_sofia – SIP module.
- mod_rtmp – “Real time media protocol” endpoint for FreeSWITCH.
- mod_wanpipe – T1/E1 Sangoma Card module.
- replaced by mod_freetdm
- mod_woomera – H.323/Woomera module.
Event Handlers
See cdr
- mod_cdr_csv – CSV call detail record handler.
- mod_cdr_pg_csv – Asterisk Compatible CDR Module with PostgreSQL interface
- mod_cdr_sqlite – SQLite CDR Module
- mod_radius_cdr – RADIUS CDR Module.
- mod_xml_cdr – XML-based call detail record handler.
- mod_json_cdr – JSON CDR Module to files or curl
- mod_cdr_mongodb – MongoDB CDR module
- mod_erlang_event – Module to send/receive events/commands in Erlang’s binary format.
- mod_event_multicast – Broadcasts events to netmask.
- mod_event socket – Sends events via a single socket.
- mod_event_test – Print all events to console.
- mod_rayo – 3PCC over XMPP – http://rayo.org/xep
- mod_snmp – SNMP AgentX module
- mod_xmpp_event – Sends events to a Jabber ID (proof of concept application.)
- mod_zeroconf – Support for zeroconf.
- mod_event_zmq – http://www.zeromq.org/
Unsupported
- mod_cdr – Call detail record handler
File Formats
- mod_file_string – A useful way of specifying multiple sound files to be played sequentially.
- now MERGED into mod_dptools
- mod_local_stream – Multiple channels connected to same looped file stream.
- mod_portaudio_stream – Stream from an external audio source for Music on Hold
- mod_native_file – File interface for codec specific file formats.
- mod_shell_stream – Stream audio from an arbitrary shell command. Read audio from a database, from a soundcard, etc.
- mod_shout – MP3 files and shoutcast streams.
- mod_sndfile – Multi-format file format transcoder (WAV, etc)
- mod_ssml – Speech Synthesis Markup Language parser
- mod_tone_stream – Tone Generation Stream.
Languages
Languages for Call Control explained.
- mod_java – Java support.
- mod_lua – Lua support.
- mod_managed – Support for .NET (Microsoft CLR or Mono) and .NET languages (C#, VB, F#, …)
- mod_perl – Perl support.
- mod_python – Python Support.
- mod_spidermonkey – JavaScript support. See also our Javascript page.
- mod_spidermonkey_core_db – JavaScript support for the freeswitch SQLite.
- mod_spidermonkey_skel – JavaScript dummy module.
- mod_spidermonkey_teletone – JavaScript support for lib_teletone.
- mod_spidermonkey_odbc – JavaScript support for ODBC.
Languages (unsupported / out of tree)
Loggers
- mod_console – Console logger.
- mod_logfile – File logger.
- mod_syslog – Syslog logger.
Timers
- softtimer – Timer for FreeSWITCH. No hardware needed, now in-core (but still optional)
- mod_posix_timer – POSIX timers. Runs on older kernels like the ones in Centos 5.
- mod_timerfd – a new kernel that supports this option kernel >= 2.6.25 and libc >= 2.8
External API’s
- mod_xml_curl – XML Gateway Code. Configure FreeSWITCH™ from a web server on boot and on the fly.
- mod_xml_ldap – LDAP XML Gateway.
- mod_xml_rpc – XML Remote Procedure Calls. Issue commands from your web application.
- mod_xml_scgi – Simple Common Gateway Interface
External modules
- freeswitch munin module – Munin modules for monitoring freeswitch servers.
Good Good Study, Day Day Up.
顺序 选择 循环 总结