图书介绍
FreeSWITCH权威指南PDF|Epub|txt|kindle电子书版本网盘下载
![FreeSWITCH权威指南](https://www.shukui.net/cover/39/30670809.jpg)
- 杜金房,张令考著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111466260
- 出版时间:2014
- 标注页数:616页
- 文件大小:103MB
- 文件页数:646页
- 主题词:电话交换-应用软件-指南
PDF下载
下载说明
FreeSWITCH权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础篇2
第1章 PSTN与VoIP基础2
1.1 PSTN起源与发展2
1.1.1 最早的电话网2
1.1.2 人工电话交换时代3
1.1.3 自动电话交换时代3
1.1.4 半电子交换机时代6
1.1.5 空分交换机时代6
1.1.6 数字交换机时代6
1.1.7 现代PSTN时代6
1.1.8 下一代网络及VoIP时代6
1.2 电话实现技术8
1.2.1 电话号码8
1.2.2 模拟信号与数字信号11
1.2.3 PCM11
1.2.4 局间中继与电路复用技术12
1.3 我国电话网结构12
1.4 信令14
1.4.1 信令分类14
1.4.2 用户线信令15
1.4.3 局间信令15
1.4.4 七号信令16
1.4.5 H.323与SIP信令17
1.5 媒体19
1.6 电路交换与分组交换20
1.6.1 电路交换20
1.6.2 分组交换20
1.7 VoIP21
1.8 IMS22
1.8.1 什么是IMS22
1.8.2 IMS的特点22
1.8.3 IMS核心网元23
1.8.4 SIP协议的参考点26
1.9 小结27
第2章 PSTN、PBX及呼叫中心业务28
2.1 PSTN业务28
2.1.1 POTS28
2.1.2 商务业务30
2.1.3 其他增值业务30
2.2 PBX业务31
2.2.1 呼叫转移31
2.2.2 同组代答31
2.3 PBX与中继线31
2.4 IP-PBX业务34
2.5 呼叫中心35
2.5.1 什么是呼叫中心35
2.5.2 呼叫中心的历史36
2.5.3 呼叫中心的分类37
2.5.4 呼叫中心的主要技术指标39
2.5.5 CTI中间件40
2.5.6 FreeSWITCH在呼叫中心的应用41
2.6 小结42
第3章 初识FreeSWITCH43
3.1 什么是FreeSWITCH?43
3.1.1 FreeSWITCH的概念43
3.1.2 FreeSWITCH的功能45
3.2 快速体验46
3.2.1 安装基本FreeSWITCH系统46
3.2.2 连接SIP电话57
3.3 配置FreeSWITCH61
3.4 FreeSWITCH用作软电话63
3.5 配置SIP网关拨打外部电话64
3.5.1 从某一分机上呼出65
3.5.2 呼入电话处理66
3.6 小结66
第4章 运行FreeSWITCH67
4.1 命令行参数67
4.2 系统启动脚本68
4.3 判断FreeSWITCH是否运行69
4.4 控制台与命令客户端69
4.5 呼叫72
4.5.1 发起呼叫72
4.5.2 呼叫字符串72
4.6 API与App73
4.7 API命令帮助75
4.8 小结76
第5章 FreeSWITCH架构77
5.1 总体架构77
5.1.1 核心77
5.1.2 接口实现81
5.2 目录结构83
5.3 配置文件85
5.3.1 freeswitch.xml86
5.3.2 vars.xml88
5.3.3 autoload_configs目录89
5.3.4 其他90
5.4 XML用户目录91
5.5 呼叫相关概念93
5.5.1 来去话、Session、Channel与Call93
5.5.2 回铃音与Early Media94
5.5.3 全局变量与局部变量94
5.6 小结95
第6章 拨号计划96
6.1 XMLDialplan96
6.1.1 配置文件的结构96
6.1.2 默认的配置文件简介99
6.1.3 正则表达式100
6.1.4 通道变量101
6.1.5 测试条件105
6.1.6 动作与反动作108
6.1.7 工作机制深入剖析109
6.1.8 内联执行111
6.1.9 实例解析112
6.2 inline Dialplan118
6.3 其他Dialplan120
6.4 常用的Dialplan App120
6.5 在Dialplan 中使用API命令123
6.6 深入理解通道变量及相关操作124
6.7 小结125
第7章 SIP协议126
7.1 SIP协议基础126
7.1.1 HTTP与SIP协议基础127
7.1.2 SIP的基本概念和相关元素129
7.1.3 SIP协议的基本方法和头域简介131
7.2 SIP注册132
7.3 SIP呼叫流程135
7.3.1 UA间直接呼叫136
7.3.2 通过B2BUA呼叫137
7.4 深入理解SIP147
7.4.1 SIP URI147
7.4.2 SDP和SOA147
7.4.3 3PCC151
7.4.4 SIP承载152
7.5 小结152
第8章 媒体154
8.1 媒体与媒体处理154
8.1.1 音频编码154
8.1.2 媒体工作机理和相关配置159
8.2 媒体协商160
8.2.1 协商过程160
8.2.2 SDP及其在编码协商中的作用161
8.2.3 协商时机与策略163
8.3 其他媒体相关的问题163
8.3.1 RTP和RTCP163
8.3.2 转码165
8.3.3 透传、媒体绕过与媒体代理167
8.3.4 Media Bug168
8.3.5 视频168
8.3.6 排错169
8.4 小结170
第9章 SIP模块171
9.1 基本概念171
9.2 Sofia配置文件172
9.2.1 Profile配置文件173
9.2.1 Profile的几个重要参数175
9.2.2 external.xml177
9.2.3 Gateway179
9.3 常用命令181
9.3.1 状态相关命令181
9.3.2 Profile相关命令182
9.3.3 SIP Capture183
9.3.4 global相关184
9.3.5 debug相关184
9.3.6 其他命令185
9.3.7 其他186
9.4 NAT穿越186
9.4.1 NAT的种类188
9.4.2 FreeSWITCH的拓扑结构189
9.4.3 NAT是怎么影响SIP/RTP通信的190
9.4.4 NAT的穿越方法191
9.5 小结198
第二部分 实战篇200
第10章 基本技能200
10.1 调试与排错200
10.1.1 解决问题的一般方法和流程200
10.1.2 查看日志203
10.2 使用外部工具抓包205
10.2.1 tcpdump205
10.2.2 tshark206
10.2.3 ngrep207
10.2.4 pcapsipdump208
10.3 使用Wireshark抓包并分析呼叫208
10.3.1 使用Wireshark抓包209
10.3.2 使用Wireshark对抓包进行分析210
10.4 originate命令实例解析213
10.4.1 使用格式和参数213
10.4.2 转入Dialplan214
10.4.3 更改主叫号码215
10.4.4 处理呼叫超时215
10.4.5 防止命令阻塞216
10.4.6 使用通道变量216
10.4.7 Early Media对呼叫的影响217
10.4.8 bridge也使用originate217
10.4.9 bridge中的Early Media218
10.4.10 bridge中的主叫号码219
10.5 呼叫是怎样工作的?220
10.6 FreeSWITCH图形用户界面简介223
10.6.1 FusionPBX223
10.6.2 blue.box223
10.6.3 FreeSWITCH Portal224
10.7 小结226
第11章 基本功能与实现227
11.1 批量创建用户227
11.2 用FreeSWITCH实现WR229
11.2.1 最简单的菜单229
11.2.2 默认IVR简介232
11.3 按时间进行路由233
11.4 配置中文语音提示234
11.4.1 最简单的实现方案234
11.4.2 使用sound prefix235
11.4.3 使用Phrase236
11.4.4 使用中文语音提示238
11.5 录音239
11.5.1 单腿录音239
11.5.2 对两条腿的通话进行录音240
11.5.3 立体声241
11.5.4 录音相关的通道变量242
11.5.5 原生格式243
11.6 放音244
11.6.1 playback的参数244
11.6.2 循环播放248
11.6.3 Say249
11.7 TTS251
11.7.1 使用mod flite251
11.7.2 mod_tts_commandline252
11.7.3 MRCP256
11.7.4 Google Translate257
11.7.5 TTS小结258
11.8 在呼叫失败的情况下向主叫用户播放语音提示259
11.8.1 实现方法259
11.8.2 进阶260
11.8.3 使用TTS261
11.8.4 原理262
11.9 实现呼叫前转业务263
11.10 小结265
第12章 高级功能与配置实例266
12.1 使用mod_fifo实现简单呼叫队列266
12.1.1 呼叫停泊与取回266
12.1.2 配置座席268
12.1.3 fifo270
12.2 使用mod callcenter实现呼叫中心应用272
12.2.1 mod_callcenter模块简介273
12.2.2 座席配置与管理274
12.3 数据库277
12.3.1 默认数据库中有什么?277
12.3.2 ODBC279
12.3.3 使用数据库原生客户端库直接连接数据库282
12.4 视频通话283
12.4.1 配置视频通话283
12.4.2 视频录像与回放285
12.4.3 视频转码285
12.5 多人电话会议286
12.5.1 音频会议286
12.5.2 视频会议292
12.6 话单297
12.6.1 CSV格式的话单297
12.6.2 直接将话单写入数据库298
12.6.3 使用HTTP服务器接收话单299
12.7 计费300
12.8 小结302
第13章 FreeSWITCH与FreeSWITCH对接303
13.1 在同一台主机上启动多个FreeSWITCH实例303
13.1.1 背景故事304
13.1.2 练习305
13.1.3 进阶306
13.2 FreeSWITCH与FreeSWITCH对接306
13.2.1 双机对接306
13.2.2 汇接308
13.2.3 双归属309
13.2.4 长途局311
13.2.5 ACL311
13.3 FreeSWITCH作为PBX312
13.3.1 普通的PBX设置313
13.3.2 DID315
13.3.3 使用PBX上的网关呼出319
13.4 小结319
第14章 FreeSWITCH与其他设备或系统对接321
14.1 使用Doubango客户端连接321
14.2 对接IMS322
14.2.1 网关配置323
14.2.2 通过IMS呼出324
14.2.3 通过IMS呼入324
14.2.4 其他问题325
14.3 连接模拟话机和模拟中继线326
14.3.1 FXS和FXO326
14.3.2 拓扑结构327
14.3.3 使用潮流网关连接模拟话机328
14.3.4 使用迅时网关连接模拟话机和模拟中继线329
14.4 通过E1线路与其他系统对接335
14.4.1 配置FS1335
14.4.2 配置E1网关设备340
14.4.3 配置FS2342
14.4.4 对接其他厂家的E1网关345
14.5 对接Asterisk346
14.5.1 从FreeSWITCH呼叫Asterisk346
14.5.2 从Asterisk上呼叫FreeSWITCH347
14.5.3 其他347
14.6 使用H.323协议对接348
14.6.1 mod_h323348
14.6.2 mod_opal350
14.6.3 其他351
14.7 小结351
第15章 其他技巧与实例353
15.1 转接和代接353
15.1.1 盲转353
15.1.2 协商转356
15.1.3 代接357
15.2 共享线路呈现358
15.3 使用组播功能做网络广播360
15.4 DTMF361
15.4.1 带内DTMF361
15.4.2 RFC2833362
15.4.3 SIP INFO363
15.5 号码连选363
15.5.1 注册到运营商服务器364
15.5.2 通过单个号码呼出364
15.5.3 使用随机数做号码连选365
15.5.4 使用mod distributor进行连选365
15.5.5 其他366
15.6 收发传真367
15.7 多租户368
15.7.1 Domain简介368
15.7.2 配置与实例370
15.7.3 进阶372
15.7.4 其他373
15.8 使用loopback Endpoint外呼373
15.9 在Web浏览器中打电话375
15.9.1 Flash376
15.9.2 WebRTC379
15.10 HA382
15.10.1 崩溃恢复实验382
15.10.2 HA简介383
15.10.3 双机HA实现细节及需要注意的问题384
15.11 集群及分布式部署386
15.11.1 大规模集群的总体结构386
15.11.2 负载均衡配置实例387
15.12 压力测试392
15.12.1 参数和指标392
15.12.2 呼叫测试393
15.12.3 注册测试395
15.12.4 编解码测试396
15.12.5 测试结果396
15.13 生产环境下的稳定性和安全性396
15.13.1 稳定性397
15.13.2 安全性397
15.14 小结398
第三部分 高级篇400
第16章 嵌入式脚本400
16.1 FreeSWITCH中的嵌入式脚本400
16.2 Lua401
16.2.1 Lua语法简介402
16.2.2 将电话路由到Lua脚本408
16.2.3 Session相关函数408
16.2.4 非Session函数和独立的Lua脚本412
16.2.5 Event相关函数412
16.2.6 Chat相关函数415
16.2.7 LUA拨号计划416
16.2.8 连接数据库417
16.3 其他脚本语言419
16.3.1 JavaScript419
16.3.2 Python420
16.4 小结421
第17章 嵌入式及HTTP开发423
17.1 用Lua脚本写个小游戏423
17.2 用Lua实现IVR425
17.3 在会议中呼出429
17.4 一个在FreeSWITCH中外呼的脚本431
17.5 使用Lua脚本通过多个网关循环外呼433
17.6 在FreeSWITCH中执行长期运行的嵌入式脚本434
17.7 使用Lua提供XML Binding436
17.8 语音识别437
17.8.1 使用Pocket Sphinx进行中文语音识别438
17.8.2 通过商业语音识别软件进行识别444
17.9 使用mod_xml_curl提供动态用户管理446
17.10 使用mod_xml_cdr模块处理话单448
17.11 小结450
第18章 Event Socket452
18.1 架构452
18.1.1 外连模式453
18.1.2 内连模式454
18.2 Event Socket协议454
18.2.1 外连455
18.2.2 内连456
18.2.3 Event Socket命令详解457
18.3 Event Socket库465
18.3.1 Event Socket示例465
18.3.2 ESL函数说明470
18.4 事件475
18.4.1 事件的学习方法475
18.4.2 常用事件简介476
18.5 小结478
第19章 使用ESL开发479
19.1 创建独立的ESL应用479
19.1.1 创建目录和源文件479
19.1.2 编译和执行480
19.1.3 将源代码纳入版本控制481
19.2 用ESL重写空中充值服务482
19.3 用ESL写一个ACD490
19.4 用Inbound模式实现IVR496
19.5 使用Java连接ESL501
19.6 使用Erlang控制呼叫流程502
19.6.1 准备工作503
19.6.2 将来话交给Erlang处理504
19.6.3 用Erlang实现空中充值服务506
19.6.4 用Erlang状态机实现空中充值服务509
19.6.5 其他514
19.7 定时呼叫516
19.8 小结517
第20章 源代码导读及编译指南518
20.1 准备FreeSWITCH源代码环境518
20.2 FreeSWITCH源代码目录结构519
20.3 FreeSWITCH源代码导读519
20.3.1 APR520
20.3.2 SWITCH APR520
20.3.3 main函数522
20.3.4 可加载模块524
20.3.5 模块的结构530
20.3.6 Session和Channel531
20.3.7 SWITCH IVR536
20.3.8 Core IO537
20.3.9 Core Media540
20.3.10 Core RTP541
20.3.11 SWITCH XML543
20.3.12 SWITCH Event544
20.3.13 Core Codec和Core File547
20.4 FreeSWITCH源代码的编译548
20.4.1 首次编译549
20.4.2 增量编译550
20.4.3 常见问题及最佳实践551
20.5 小结552
第21章 FreeSWITCH源代码分析553
21.1 mod_dptools553
21.1.1 echo553
21.1.2 answer555
21.1.3 set557
21.1.4 bridge559
21.1.5 Endpoint Interface563
21.1.6 模块框架564
21.2 mod_commands566
21.2.1 模块框架566
21.2.2 originate566
21.3 mod_sofia567
21.3.1 模块加载568
21.3.2 Sofia的加载及通话建立568
21.4 小结576
第22章 FreeSWITCH二次开发577
22.1 给FreeSWITCH汇报Bug和打补丁577
22.1.1 修复内存泄露问题577
22.1.2 给中文模块打补丁578
22.1.3 给FreeSWITCH核心打补丁579
22.1.4 高手也会犯错误581
22.1.5 汇报严重的问题581
22.1.6 给Sofia-SIP打补丁582
22.1.7 给现有App增加新功能584
22.1.8 给FreeSWITCH增加一个新的Interface586
22.2 写一个新的FreeSWITCH编解码模块587
22.3 从头开始写一个模块589
22.3.1 初始准备工作589
22.3.2 写一个简单的Dialplan590
22.3.3 增加一个App592
22.3.4 写一个API593
22.3.5 小结594
22.4 使用libfreeswitch594
22.4.1 自己写一个软交换机594
22.4.2 使用libfreeswitch提供的库函数595
22.4.3 其他599
22.5 调试跟踪600
22.6 小结601
附录A FreeSWITCH开源软件社区指南603
附录B 关于FreeSWITCH常用术语翻译的意见605
附录C 模块列表607
附录D FreeSWITCH架构详细示意图614
后记615