前言
第一部分 基础篇
自己动手搭建个人的软交换环境是一件激动人心的事。本篇就带领大家一步一步来完成这件事。当然,在这之前我们首先要一起回顾一下电话交换网络和电话交换技术以及相关的历史,并探讨交换网络的现状和未来;同时,学习一些电信领域的基础知识,熟悉一些基础的电信业务;然后,我们再一起体验FreeSWITCH的安装和配置;在对FreeSWITCH有了直观的印象之后,我们再详细解释FreeSWITCH的设计思想和理念、基本概念和理论、运行和维护的方法,以及重要的协议和模块等。
读完本篇,你可以为成为一名合格的FreeSWITCH维护工程师打好坚实的基础。
第01章 PSTN与VoIP基础
第02章 PSTN、PBX及呼叫中心业务
第03章 初识FreeSWITCH
第04章 运行FreeSWITCH
第05章 FreeSWITCH架构
第06章 拨号计划
第07章 SIP协议
第08章 媒体
第09章 SIP模块
第二部分 实战篇
在前面的章节中,我们介绍了与SIP以及FreeSWITCH相关的一些基础知识。所谓“理论与实践相结合”,掌握任何一门技能都少不了不断的练习。本篇收集了笔者在多年的工作过程中的一些实例,以及一些博客文章。有一些是笔者在学习的过程中留下来的,有一些则是在实际的环境中应用的。无论如何,笔者希望通过这些实际的例子,抛砖引玉,与大家共同学习和提高。
读完本篇,你可以成为一名高级FreeSWITCH维护工程师。
第10章 基本技能
第11章 基本功能与实现
第12章 高级功能与配置实例
第13章 FreeSWITCH与FreeSWITCH对接
第14章 FreeSWITCH与其他设备或系统对接
第15章 其他技巧与实例
第三部分 高级篇
本篇主要介绍与FreeSWITCH开发有关的内容。基于FreeSWITCH的开发一般有四种方式:
- 使用嵌入式脚本在FreeSWITCH内部灵活地控制呼叫流程,以及通过共享数据库或简单API等与现有业务系统集成;
- 使用Event Socket接口在外部程序中控制呼叫流程,控制更灵活,与其他系统也能更紧密地集成;
- 直接在FreeSWITCH中修改现有代码,或通过添加新模块以扩展FreeSWITCH的现有功能,并能结合前两种方式创建更强大的应用;
- 最后一种方式就是直接将FreeSWITCH的底层库libfreeswitch嵌入到其他系统中,这样被嵌入的用系统中就瞬间增加了FreeSWITCH的全部功能,这种方法用得比较少,但确实可用。
本篇我们会通过实际的例子,详细给大家讲解前三种开发方法,并对第四种方法做简单介绍。由于后两种方法需要熟悉FreeSWITCH的源代码,因此我们在介绍实际的例子之前也会教会大家怎么看源代码。总之,FreeSWITCH是开源的,如何更好地使用它仅取决于你的想象力。
读完本篇,你可以成为一名FreeSWITCH开发人员、软交换系统设计师、咨询师,以及无限可能师。