1。 有用的URL

APP  channel variables:   http://wiki.freeswitch.org/wiki/Channel_Variables#Info_Application_Variable_Names_.28variable_xxxx.29

Mod_commands:             http://wiki.freeswitch.org/wiki/Mod_commands

Lua Mod:                           http://wiki.freeswitch.org/wiki/Mod_lua

FreeSWITCH 使用线程模型来处理并发请求,每个连接都在单独的线程中进行处理。这不仅能提供最大
强度的并发,更重要的是,即使某路电话发生问题,也只影响到它所在的线 程,而不会影响到其它电话。
FreeSWITCH 的核心非常短小精悍,这也是保持稳定的关键。所有其它功能都在外围的模块中。模块是
可以动态加载(以及卸载)的,在实际应用中可以只加载用到的模块。外围 模块通过核心提供的
Public API 与核心进行通信,而核心则通过回调机制执行外围模块中的代码。
核心
FS Core 是 FreeSWITCH 的核心,它包含了关键的数据结构和复杂的代码,但这些代码只出现在核心
中,并保持了最大限度的重用。外围模块只能通过 API 调用核心的功能,因而核心运行在一个受保护的
环境中,核心代码都经过精心的编码和严格的测试,最大限度地保持了系统整体的稳定。
核心代码保持了最高度的抽象,因而它可以调用不同功能,不同协议的模块。同时,良好的 API 也使得
编写不同的外围模块非常容易。
数据库
FreeSWITCH 的核心除了使用内部的队列、哈希表存储数据外,也使用外部的 SQL 数据库存储数据。当
前,系统的核心数据库使用 SQLite,默认的存储位置是 db/core.db 。 使用外部数据库的好处是--查
询数据不用锁定内存数据结构,这不仅能提供性能,而且降低了死锁的风险,保证了系统稳定。命令
show calls、show channels 等都是直接从数据库中读取内容并显示的。由于 SQLite 会进行读锁
定,因此不建议直接读取核心数据库。
系统对数据库操作做了优化,在高并发状态时,核心会尽量将几百条 SQL 一齐执行,这大大提高了性能。
但在低并发的状态下执行显得稍微有点慢,如一个 channel 已经建立了,但还不能在 show channels
中显示;或者,一个 channel 已经 destroy 了,还显示在 show channels 中。但由于这些数据只
用于查询,而不用于决策,所以一般没什么问题。
除核心数据库外,系统也支持使用 ODBC 方式连接其它数据库,如 PostgreSQL、MySQL 等。某些模块,
如 mod_sofia、mod_fifo 等都有自己的数据库(表)。如果在 *nix 类系统上使用 ODBC,需要安装
UnixODBC,并进行正确的配置,如果编译安装的话还需要开发包 unixodbc-devel(CentOS) 或
unixodbc-dev(Debian/Ubuntu)。由于 PostgreSQL、MySQL 等都是 Client-Server 的结构,
因此,外部程序可以直接查询数据(但需要清楚数据的准确性,可能会比 FreeSWITCH 核心中的数据有
所滞后)。
模块
FreeSWITCH 主要分为以下几个部分:
终点
End Points 是终结 FreeSWITCH 的地方,也就是说再往外走就超出 FreeSWITCH 的控制了。它主要
包含了不同呼叫控制协议的接口,如 SIP, TDM 硬件,H323 以及 Google Talk 等。这使得
FreeSWITCH 可以与众多不同的电话系统进行通信。如,可以使用 mod_skypopen 与 Skype 网络进行
通信。另外,前面也讲过,它还可以通过 portaudio 驱动本地声卡,用作一个软电话。
拨号计划
Dialplan 主要是为了查找电话路由,主要的是 XML 描述的,但它也支持 Asterisk 格式的配置文件。
另外它也持 ENUM 查询。
XML 接 口
XML Interface 支持多种获取 XML 配置的方式,它可以是本地的配置文件,或从数据库中读取,甚至
是一个能动态返回 XML 的远程 HTTP 服务器。
编解码器
FreeSWITCH 支持最广泛的 Codec,除了大多数 VoIP 系统支持的 G711、G722、G729、GSM 外,它
还支持 iLBC,BV16/32、SILK、CELT 等。它可以同时桥接不同采样频率的电话,以及电话会议等。
语音识别
支持语音自动识别(ASR)及文本-语音转换(TTS)。
文件 格式
支持不同的声音文件格式,如 wav,mp3 等。
日志
日志可以写到控制台、日志文件、系统日志(syslog)以及远程的日志服务器。
嵌入 式 语言
通过 swig 包装支持多种脚本语本语言控制呼叫流程,如 Lua、Javascript、Perl 等。
事件套 接 字
使用 Event Socket 可以使用任何其它语言通过 Socket 方式控制呼叫流程、扩展 FreeSWITCH 功能。
目录 结构
在 *nix 类系统上,FreeSWITCH 默认的安装位置是 /usr/local/freeswitch,在 Windows 上可能
是 C:\freeswitch,目录结构大致相同。
bin可执行程序
db系统数据库(sqlite),FreeSWITCH 把呼叫信息存放到数据库里以便在查询时无需对核
心数据结构加锁
htdocs HTTP Web srver 根目录
lib库文件
mod可加载模块
run运行目录,存放 PID
sounds声音文件,使用 playback() 时默认的寻找路径
grammar语法
include头文件
log日志,CDR 等
recordings 录音,使用 record() 时默认的存放路径
scripts嵌入式语言写的脚本,如使用 lua()、luarun()、jsrun 等默认寻找的路径
storage语言留言(Voicemail)的录音
conf配置文件,详见下节

FreeSwitch 相关资料相关推荐

  1. 智能外呼系统相关资料总结

    以下是从零开始搭建智能外呼系统的过程中收集的一些资料,希望对你会有帮助. 1.如何从零开始搭建智能外呼系统 参考:https://blog.csdn.net/pA2elX78qaJTADH/artic ...

  2. 【camera】自动泊车-视觉车位检测相关资料汇总(论文、数据集、源代码、相关博客、演示demo)(1)

    [camera]自动泊车-视觉车位检测相关资料汇总(论文.数据集.源代码.相关博客.演示demo)parking slot detection 论文 2020论文 2019论文 2018论文 2017 ...

  3. 【radar】毫米波雷达静态障碍物识别及其相关资料(仿真、生成、标定、运动估计、静态障碍物识别)(3)

    [radar]毫米波雷达相关资料(毫米波仿真.毫米波生成模型.毫米波标定.毫米波运动估计.毫米波静态障碍物识别)(3) 毫米波标定:多毫米波雷达联合标定.相机和毫米波雷达联合标定.毫米波雷达和激光雷达 ...

  4. 【radar】毫米波雷达相关资料(文献综述列表、顶会研讨会资料列表、顶会workshops资料列表、工具书、使用手册)(2)

    [radar]毫米波雷达相关资料(毫米波雷达文献综述列表.毫米波雷达顶会研讨会资料列表.毫米波雷达顶会workshops资料列表.毫米波雷达工具书.毫米波雷达使用手册)(2) Review Paper ...

  5. epoll相关资料整理

    http://www.cppblog.com/converse/archive/2008/10/13/63928.html epoll相关资料整理 学习epoll有一段时间了,最近终于有一个服务器采用 ...

  6. 算法工程师面试问题及相关资料集锦(附链接)

    来源:专知 本文约9800字,建议阅读20分钟. 本文为你介绍算法工程师面试问题及相关资料集锦,相当全面,值得收藏. 目录 算法工程师 Github.牛客网.知乎.个人博客.微信公众号.其他 机器学习 ...

  7. 智能车竞赛相关资料获取

    TASKING资料和申请说明 在智能车竞赛网站: smartcar.cdstm.cn/index 上载了关于英飞凌单片机开发软件TASKING的相关资料和License获取流程信息.具体从网站下载相关 ...

  8. 文本处理相关资料整理

    github 搜索文本相似度 文本处理实践相关资料,包含文本特征提取(TF-IDF),文本分类,文本聚类,word2vec训练词向量及同义词词林中文词语相似度计算.文档自动摘要,信息抽取,情感分析与观 ...

  9. 深度学习相关资料总结

    FROM:http://blog.csdn.net/chenyusiyuan?viewmode=contents 近这两年里deep learning技术在图像识别和跟踪等方面有很大的突破,是一大研究 ...

  10. 【BLE MIDI】推荐一个 Android 平台开源 MIDI 软件 MidiSheetMusic ( 相关资料 | Android Studio 中导入 Eclipse 源码 )

    文章目录 一. MidiSheetMusic 相关资料 二. Android Studio 中导入 MidiSheetMusic 的 Eclipse 源码 一. MidiSheetMusic 相关资料 ...

最新文章

  1. 如何构建识别图像中字符的自动程序?一文解读OCR与HTR
  2. JavaScript 计时事件
  3. 【IBM Tivoli Identity Manager 学习文档】13 Service管理
  4. 如何在CButton中显示位图!!
  5. 年终福利 | 京东虚拟平台团队问答专场
  6. Windows 10 下 Anaconda3 (Python 3.8) 配置 OpenCV-4.4.0
  7. Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser
  8. 华容道与数据结构 (1)
  9. 【theano-windows】学习笔记二十——LSTM理论及实现
  10. linux技术笔记(常用命令)持续更新中。。。
  11. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 12丨游戏玩法分析 V【难度困难】
  12. SendMessage wMsg常量值参考
  13. 突发!迈克菲掌门人 John McAfee 在西班牙监狱自缢身亡
  14. P1041 传染病控制
  15. Monkey软件测试工具介绍
  16. 【CCNA学习实录】二进制 十进制 十六进制 VLSM
  17. python爬虫网易云音乐评论最多的歌_网易云音乐歌曲评论爬虫
  18. Android 开发即时聊天工具 YQ 《更新》(源码下载)
  19. 【转载】CSDI2018广州关于《Nginx》的分享(附文字速录与PPT)
  20. magic mesh文胸尺码表

热门文章

  1. SWF怎么转FLV格式?
  2. JavaScript逆向:金某xx网站登陆指纹算法分析
  3. 教你用C调1645和弦,写出不一样的歌
  4. linux 编译chromium,简易编译Chromium OS内核教程
  5. JavaEE ActionForm的高级应用
  6. linux im-scim-bridge.so 使用,Ubuntu SCIM 输入法不能光标跟随的解决
  7. 深度时空3D卷积神经网络用于交通预测
  8. 带weixin扫码登陆注册|仿城通网盘源码修复版
  9. 做网站用企业网站模板好不好
  10. PS长阴影生成工具 Long_Shadow_Generator_v1.2_for_CS6.zxp