总体来说,FreeSWITCH是一个基于组件的架构,如下图: FreeSWITCH可以仅包括FS Core独立运行,外围各种不同种类的组件(module)增强了FreeSWITCH的功能。 开发者可以使用public API,遵循FreeSWITCH的接口标准,开发各种不同种类的module来增强FreeSWITCH的功能。 分析(一) 什么是FreeSWITCH FreeSWITCH 是一个可扩展的开源跨平台的电话平台,支持音频、视频、文本或任何其他形式的媒体使用的协议的路由与交互。它于2006年成立。FreeSWITCH也提供一个稳定的技术平台,可供许多电话应用开发利用的免费工具。 FreeSWITCH 最 初 由 Anthony Minessale在 Brian West和 Michael Jerris的 协助 下 设 计 和 开 发 。 这 三 人 原 先 都 是 asterisk 的 开 发 者 。 这 个 项 目 的 设 计 目 标 包括 模 块 化 、 跨 平 台 的 支 持 ,可 扩 展 性 和 稳 定 性 。 今 天 ,许 多 更 多 的 开 发 者 和 使 用 者都 为 FreeSWITCH在 贡 献 力 量 。 FreeSWITCH支 持 各 种 通 信 技 术 ,如 Skype,SIP、 H.323、 GoogleTalk, 因 此 它 容 易与 其 他 的 开 源 PBX进 行 对 接 , 如 : sipXecs、 Call Weaver、 Bayonne、 YATE 和Asterisk。 FreeSWITCH支 持 许 多 高 级 的 SIP特 性 ,如 presence、 BLF、 SLA以 及 TCP TLS和 sRTP。 它 也 可 以 作 为 一 个 透 明 代 理 ( 有 媒 体 或 无 媒 体 ) , 扮 演 SBC和 T.38代 理的 角 色 。 FreeSWITCH既 支 持 宽 带 、 窄 带 编 码 。 Voice channel和 conference bridge模 块可 以 支 持 8k、 16k、 24k、 32k和 48k不 同 的 码 率 , 而 且 这 些 不 同 码 率 的 通 道 可 以进 行 bridge。 如 果 G.729编 解 码 经 过 授 权 , FreeSWITCH也 是 支 持 的 。 FreeSWITCH支 持 Windows,Mac OS X ,Linux,BSD和 Solaris的 32与 64位 平 台 。 FreeSWITCH支 持 传 真 , 无 论 是 音 频 , 还 是 T.38, 而 且 可 以 微 微 音 频 和 T.38的 网关。 FreeSWITCH的 很多 开 发 者 , 都 是 非常有 经 验的 开 发 人 员。 他 们同 时也 参与 其 他开 源 软交换产品的 开 发 , 如 : openSER,...