基本信息
源码名称:FreeSWITCH VoIP 实战.pdf
源码大小:1.46M
文件格式:.pdf
开发语言:C/C++
更新时间:2020-12-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 3 元 
   源码介绍

我们已经步入了一个新的时代。当前,VoIP 已开始成为语音通信的主导并将在全世界范围
内引领一场革命,而 SIP(Session Initiation Protocal,会话初始协议)必将是这场革命的
核心。
就像电子邮件一样,它用于文字通信,经过二十几年的发展,到现在几乎是人人都有一个
Email 地址了。而在不久的将来,每个人也将会拥有一个用于语音通信的 SIP 地址。随着互
联网的高速发展,数据流量的成本会越来越低,而且,随着 3G、4G 及 WiMax 无线网络的
发展,网络更将无处不在,各种新型的 SIP 电话及可以运行在各种移动设备上的 SIP 客户端
可以让你以极低的成本与世界上任何一个角落的人通信。
为什么写一本书?
“大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折
中。” -- Andrew S.Tanenbaum
从第一次读 Tanenbaum 的《操作系统设计与实现》到现在已经好多年了,可这句写在前言
里的话还记忆犹新。在学校里,也学习过程控交换网、移动通信的知识,但只有肤浅的理解。
毕业后,我到电信局(这个名字也许太老了。中国电信业在短短的几年内经过了数次重组改
制,我离开时叫网通,电信局是我刚参加工作时的名字。)工作,负责程控交换机的维护。
在工作中我学到了 PSTN 网络交换的各种技术,掌握了七号信令系统(SS7),算是做到了理论
与实践相结合。那时候,VoIP 还是很新的东西,由于网络条件的限制,国内也少有人用。
2007 年底,我开始接触 Asterisk。阅读了《Asterisk, 电话未来之路》,并买了一个单口的
语音卡,实现了 VoiceMail,PSTN 网关,SIP 中继等各种功能。能在自己电脑上就能实现这
些有趣的东西,让我非常兴奋。后来,我加入 Idapted Inc.,做一种一对一的网络教学平台。
最初的后台语音系统也使用 Asterisk。但不久后转到 FreeSWITCH。虽然当时 FreeSWITCH
还是不到 1.0 的 Beta 版,但已经显出了比 Asterisk 高几倍的性能,并且相当的稳定。
FreeSWITCH 的主要作者 Anthony Minessal 曾有多年的 Asterisk 开发经验,后来由于他提的
一些设想未得到团队其它成员的支持,便独立开发了 FreeSWITCH,并以开源软件发布。
FreeSWITCH 主要使用 C、C 开发。为了不“重复发明轮子”,它使用了大量的成熟的第三
方软件库,功能丰富,可伸缩性强,并可以使用 Lua、Javascript、Perl 等多种嵌入式语言
控制呼叫流程。另外,它还提供 Socket 接口,可以使用任何语言进行二次开发或与其它系
统进行集成。最重要的是,它有一个非常友好、活跃的社区支持。如果你想到一项功能,可
能过几天就实现了;如果你发现一个 Bug,提交给开发者,通常第二天就修好了。FreeSWITCH
是极少数的 trunk 代码比最新的发行版更稳定的项目之一。而与此相对的很多商业系统却常
常需要很长的修复周期。
当然,我们在使用过程中也遇到不少问题,除了向开发者提交Bug外,我们也提交一些Patch,
这不仅能在一定程度上能让 FreeSWITCH 按我们期望的方式工作,而且,也可以为开源事业
做一点点贡献,从而也可以获得一些成就感。而这也正是我们最喜欢开源软件的原因。
FreeSWITH 的文档非常丰富,它采用 wiki 系统,都是来自众多 FreeSWITCH 爱好者和实践
者的奉献。不过,对于初学者来说,查阅起来还不是很方便。因此 freeswitch-users 邮件列
表中也多次有人提到希望能有一本能系统地介绍 FreeSWITCH 的书。好像也已经有人在写,
只是还没有见到。
FreeSWITCH 在美国及其它国家已有很多的应用,但国内的用户还很少。2009 年下半年,我
创办了 FreeSWITCH-CN,希望能跟更多说中文的朋友一起学习和交流。我曾经设想能找一
些志同道合者把所有 wiki 资料都翻译成中文的。但由于各种原因一直未能实现。随着中文
社区的日益发展壮大,越来越多的人向我提问问题,而我也没有太多的时间一一作答。与此
同时,我在学习和使用的过程中积累了好多经验,因此,便有了自己写一本书的计划。
当然,上面提到,或者有人在写一本英文的书,但我相信我不是在重复发明轮子。我发现,
好多人问问题时,并不是因为不懂 FreeSWITCH,而是对一些基本理论或概念理解不清。当
然,我不会像教科书上那样照本宣科的讲理论,事实上,我也讲不了。我只是希望能结合多
年的工作经验,用一些比较通俗的语言把问题解释清楚,让与我遇到同样问题的朋友少走弯
路。
章节与内容安排
以什么风格来写呢?曾听人说过,“写作的难处不是考虑该写些什么,而是需要决定什么不
应该写进书里。”我深有感触。FreeSWITCH 官方 Wiki 上有几百页的资料,该从何写起呢?
如果只是盲目照抄的话,只不过是相当于做了些翻译工作,也没什么意思;如果只是将一些
功能及参数机械地罗列出来,那也不过相当于一个中文版的 Wiki。所以,我最后决定写成
一个由浅入深步步摔推进的教程。
当然,在最初几章我还是介绍了一些基本概念及背景知识,这主要是给没有电信背景的人看
的,另外,对从电路交换转到 VoIP 来的读者也会很有帮助。这些内容是不能舍弃的。
接下来应该是安装和配置。笔者看到有不少的图书,在讲一个软件时,将整个的安装过程都
会用图一步一步的列出来,有的甚至从如何安装 Linux 起,所有的步骤都抓了图。窃以为
那真是太没必要,事实上,这几年在邮件列表中看到大家问得比较多的问题是“我装上了
FreeSWITCH,该怎么用啊?”,而不是“谁能告诉我怎么安装 FreeSWITCH 啊?” 所以,如
何取舍就显页易见了。本书仅在第二章中提到了如何安装,或许以后如果觉得不够,可以加
一个附录,但绝对不会把如何安装 FreeSWITCH 单独作为一章。
实战部分,会以实际的例子讲配置,穿插讲解基本概念。如果有需要罗列的命令参考,在附
录中给出。
附录也很重要。除重要的参考资料,背景知识等,还收集了一些我所知道的奇闻轶事。
另外,FreeSWITCH 一直处理很活跃的开发中,所以,某些章节可能刚写完就过时了,最新、
最权威的参考还是官方的 Wiki。但是,本书所阐述的基本架构、理念,尤其是历史永远不
会进时。
鉴于本书的内容安排,本书适合顺序阅读。
谁适合阅读本书?
 学生。我看过一些学校的教材,大部分只是讲 VoIP 原理及 SIP 协议等,很枯燥。
 教师。显而易见,你希望你的学生能理论与实践相结合。
 FreeSWITCH 初学者。本书肯定对你有帮助。
 FreeSWTICH 高级用户,开发人员。如果你喜欢 FreeSWITCH,也一定会喜欢这本
书。
 VoIP 爱好者,开发人员。他山之石,可以攻玉。即使你不使用 FreeSWITCH,本书
也会对你有帮助。
 电信企业的维护人员、销售人员、决策人员。相信本书能使你更了解客户需求,以
及如何才能为客户提供更好的服务。