书[0名0]: | FreeSWITCH指南[按需印刷]|3770217 |
图书定价: | 129元 |
图书作者: | 杜金房;张令考 |
出版社: | [1机1] 械工业出版社 |
出版日期: | 2014/6/1 0:00:00 |
ISBN号: | 9787111466260 |
开本: | 16开 |
页数: | 616 |
版次: | 1-1 |
作者简介 |
杜金房(网[0名0]:Seven)资深网络通信技术专家,在网络通信[0领0]域耕耘近15年,精通VoIP、SIP和FreeSWITCH等各种网络协议和技术,[0经0]验十分丰富。有[0超0]过6年的FreeSWITCH应用和开发[0经0]验,不仅为[0国0]内[0大0]家[0大0]型通信服务厂[0商0]提供技术支持和解决方案,而且客户还遍及美[0国0]、印度等海外[0国0]家。FreeSWITCH-CN中文社区创始人兼执行主席,被誉为[0国0]内FreeSWITCH[0领0]域的“人”;在FreeSWITCH开源社区非常活跃,不仅[0经0]常为开源社区提交补丁和新功能、新特性,而且还开发了很多外围模块和外围软件;此外,他[0经0]常在FreeSWITCH的Wiki上分享自己的使用心得和[0经0]验、在FreeSWITCH IRC及QQ群中热心回答网友提问,并不定期在[0国0]内不同城市举行FreeSWITCH技术培训;2011、2012和2013年应邀参加在美[0国0]芝加哥举办的ClueCon[0大0][0会0],并发表主题演讲。此外,他还精通C、Erlang、Ruby、Lua等语言相关的技术。 |
内容简介 |
《FreeSWITCH指南》是FreeSWITCH[0领0]域为的著作之一,在这本书面前,FreeSWITCH了无秘密! 《FreeSWITCH指南》由中[0国0]FreeSWITCH[0领0]域“人”、全球FreeSWITCH开源社区[0知0][0名0]专家、FreeSWITCH-CN中文社区创始人兼执行主席Seven Du(杜金房)撰写,FreeSWITCH之父Anthony、Minessale鼎力推荐。本书内容[0极0]为全面,涵盖FreeSWITCH的方方面面,从它的系统结构、核心概念、各项功能及其使用、维护的方[0法0]和要点、系统的调试与排错、系统的性能[0优0]化,到脚本开发、基于源代码的二次开发和内部实现原理,深度与广度兼备。实战性[0极0]强,从呼叫排队、多人电话[0会0]议、话单计费等基本的配置实例到生产环境中的应用实例,从单个的FreeSWITCH应用到FreeSWITCH集群,从脚本开发到基于源代码的二次开发,各种案例应有尽有,很多案例中的参数都可以拿来直接使用。 |
目录 |
《FreeSWITCH指南》 前言 部分 基 础 篇 [0第0]1章 PSTN与VoIP基础 2 1.1 PSTN起源与发展 2 1.1.1 早的电话网 2 1.1.2 人工电话交换时代 3 1.1.3 自动电话交换时代 3 1.1.4 半电子交换 [1机1] 时代 6 1.1.5 空分交换 [1机1] 时代 6 1.1.6 数字交换 [1机1] 时代 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 PCM 11 1.2.4 局间中继与电路复用技术 12 1.3 我[0国0]电话网结构 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 VoIP 21 1.8 IMS 22 1.8.1 什么是IMS 22 1.8.2 IMS的特点 22 1.8.3 IMS核心网元 23 1.8.4 SIP协议的参考点 26 1.9 小结 27 [0第0]2章 PSTN、PBX及呼叫中心业务 28 2.1 PSTN业务 28 2.1.1 POTS 28 2.1.2 [0商0]务业务 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 呼叫中心的历[0史0] 36 2.5.3 呼叫中心的分类 37 2.5.4 呼叫中心的主要技术指标 39 2.5.5 CTI中间件 40 2.5.6 FreeSWITCH在呼叫中心的应用 41 2.6 小结 42 [0第0]3章 初识FreeSWITCH 43 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 配置FreeSWITCH 61 3.4 FreeSWITCH用作软电话 63 3.5 配置SIP网关拨打外部电话 64 3.5.1 从某一分 [1机1] 上呼出 65 3.5.2 呼入电话处理 66 3.6 小结 66 [0第0]4章 运行FreeSWITCH 67 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 与 App 73 4.7 API命令帮助 75 4.8 小结 76 [0第0]5章 FreeSWITCH架构 77 5.1 总体架构 77 5.1.1 核心 77 5.1.2 接口实现 81 5.2 目录结构 83 5.3 配置文件 85 5.3.1 freeswitch.xml 86 5.3.2 vars.xml 88 5.3.3 autoload_configs 目录 89 5.3.4 其他 90 5.4 XML 用户目录 91 5.5 呼叫相关概念 93 5.5.1 来去话、Session 、Channel与C[0all0] 93 5.5.2 回铃音与 Early Media 94 5.5.3 全局变量与局部变量 94 5.6 小结 95 [0第0]6章 拨号计划 96 6.1 XML Dialplan 96 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 工作 [1机1] 制深入剖析 109 6.1.8 内联执行 111 6.1.9 实例解析 112 6.2 inline Dialplan 118 6.3 其他Dialplan 120 6.4 常用的Dialplan App 120 6.5 在Dialplan中使用API命令 123 6.6 深入理解通道变量及相关操作 124 6.7 小结 125 [0第0]7章 SIP协议 126 7.1 SIP协议基础 126 7.1.1 HTTP与SIP协议基础 127 7.1.2 SIP的基本概念和相关元素 129 7.1.3 SIP协议的基本方[0法0]和头域简介 131 7.2 SIP注册 132 7.3 SIP呼叫流程 135 7.3.1 UA间直接呼叫 136 7.3.2 通过 B2BUA 呼叫 137 7.4 深入理解SIP 147 7.4.1 SIP URI 147 7.4.2 SDP和SOA 147 7.4.3 3PCC 151 7.4.4 SIP承载 152 7.5 小结 152 [0第0]8章 媒体 154 8.1 媒体与媒体处理 154 8.1.1 音频编码 154 8.1.2 媒体工作 [1机1] 理和相关配置 159 8.2 媒体协[0商0] 160 8.2.1 协[0商0]过程 160 8.2.2 SDP及其在编码协[0商0]中的作用 161 8.2.3 协[0商0]时 [1机1] 与策略 163 8.3 其他媒体相关的问题 163 8.3.1 RTP和RTCP 163 8.3.2 转码 165 8.3.3 透传、媒体绕过与媒体代理 167 8.3.4 Media Bug 168 8.3.5 视频 168 8.3.6 排错 169 8.4 小结 170 [0第0]9章 SIP模块 171 9.1 基本概念 171 9.2 Sofia配置文件 172 9.2.1 Profile配置文件 173 9.2.1 Profile的几个重要参数 175 9.2.2 external.xml 177 9.2.3 Gateway 179 9.3 常用命令 181 9.3.1 状态相关命令 181 9.3.2 Profile相关命令 182 9.3.3 SIP Capture 183 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的穿越方[0法0] 191 9.5 小结 198 [0第0]二部分 实 战 篇 [0第0]10章 基本技能 200 10.1 调试与排错 200 10.1.1 解决问题的一般方[0法0]和流程 200 10.1.2 查看日志 203 10.2 使用外部工具抓包 205 10.2.1 tcpdump 205 10.2.2 tshark 206 10.2.3 ngrep 207 10.2.4 pcapsipdump 208 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 转入Dialplan 214 10.4.3 更改主叫号码 215 10.4.4 处理呼叫[0超0]时 215 10.4.5 防止命令阻塞 216 10.4.6 使用通道变量 216 10.4.7 Early Media对呼叫的影响 217 10.4.8 bridge也使用originate 217 10.4.9 bridge中的Early Media 218 10.4.10 bridge中的主叫号码 219 10.5 呼叫是怎样工作的? 220 10.6 FreeSWITCH图形用户界面简介 223 10.6.1 FusionPBX 223 10.6.2 blue.box 223 10.6.3 FreeSWITCH Portal 224 10.7 小结 226 [0第0]11章 基本功能与实现 227 11.1 批量创建用户 227 11.2 用FreeSWITCH实现IVR 229 11.2.1 简单的菜单 229 11.2.2 默认IVR简介 232 11.3 按时间进行路由 233 11.4 配置中文语音提示 234 11.4.1 简单的实现方案 234 11.4.2 使用sound_prefix 235 11.4.3 使用Phrase 236 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 Say 249 11.7 TTS 251 11.7.1 使用mod_flite 251 11.7.2 mod_tts_commandline 252 11.7.3 MRCP 256 11.7.4 Google Translate 257 11.7.5 TTS小结 258 11.8 在呼叫失败的情况下向主叫用户播放语音提示 259 11.8.1 实现方[0法0] 259 11.8.2 进阶 260 11.8.3 使用TTS 261 11.8.4 原理 262 11.9 实现呼叫前转业务 263 11.10 小结 265 [0第0]12章 高级功能与配置实例 266 12.1 使用mod_fifo实现简单呼叫队列 266 12.1.1 呼叫停泊与取回 266 12.1.2 配置座席 268 12.1.3 fifo 270 12.2 使用mod_c[0all0]center实现呼叫中心应用 272 12.2.1 mod_c[0all0]center模块简介 273 12.2.2 座席配置与管理 274 12.3 数据库 277 12.3.1 默认数据库中有什么? 277 12.3.2 ODBC 279 12.3.3 使用数据库原生客户端库直接连接数据库 282 12.4 视频通话 283 12.4.1 配置视频通话 283 12.4.2 视频录像与回放 285 12.4.3 视频转码 285 12.5 多人电话[0会0]议 286 12.5.1 音频[0会0]议 286 12.5.2 视频[0会0]议 292 12.6 话单 297 12.6.1 CSV格式的话单 297 12.6.2 直接将话单写入数据库 298 12.6.3 使用HTTP服务器接收话单 299 12.7 计费 300 12.8 小结 302 [0第0]13章 FreeSWITCH与FreeSWITCH对接 303 13.1 在同一台主 [1机1] 上启动多个FreeSWITCH实例 303 13.1.1 背景故事 304 13.1.2 练习 305 13.1.3 进阶 306 13.2 FreeSWITCH与FreeSWITCH对接 306 13.2.1 [0双0] [1机1] 对接 306 13.2.2 汇接 308 13.2.3 [0双0]归属 309 13.2.4 长途局 311 13.2.5 ACL 311 13.3 FreeSWITCH作为PBX 312 13.3.1 普通的PBX设置 313 13.3.2 DID 315 13.3.3 使用PBX上的网关呼出 319 13.4 小结 319 [0第0]14章 FreeSWITCH与其他设备或系统对接 321 14.1 使用Doubango客户端连接 321 14.2 对接IMS 322 14.2.1 网关配置 323 14.2.2 通过IMS呼出 324 14.2.3 通过IMS呼入 324 14.2.4 其他问题 325 14.3 连接模拟话 [1机1] 和模拟中继线 326 14.3.1 FXS和FXO 326 14.3.2 拓扑结构 327 14.3.3 使用[0潮0]流网关连接模拟话 [1机1] 328 14.3.4 使用迅时网关连接模拟话 [1机1] 和模拟中继线 329 14.4 通过E1线路与其他系统对接 335 14.4.1 配置FS1 335 14.4.2 配置E1网关设备 340 14.4.3 配置FS2 342 14.4.4 对接其他厂家的E1网关 345 14.5 对接Asterisk 346 14.5.1 从FreeSWITCH呼叫Asterisk 346 14.5.2 从Asterisk上呼叫FreeSWITCH 347 14.5.3 其他 347 14.6 使用H.323协议对接 348 14.6.1 mod_h323 348 14.6.2 mod_opal 350 14.6.3 其他 351 14.7 小结 351 [0第0]15章 其他技巧与实例 353 15.1 转接和代接 353 15.1.1 盲转 353 15.1.2 协[0商0]转 356 15.1.3 代接 357 15.2 共享线路呈现 358 15.3 使用组播功能做网络广播 360 15.4 DTMF 361 15.4.1 带内DTMF 361 15.4.2 RFC2833 362 15.4.3 SIP INFO 363 15.5 号码连选 363 15.5.1 注册到运营[0商0]服务器 364 15.5.2 通过单个号码呼出 364 15.5.3 使用随 [1机1] 数做号码连选 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 Flash 376 15.9.2 WebRTC 379 15.10 HA 382 15.10.1 崩溃恢复实验 382 15.10.2 HA简介 383 15.10.3 [0双0] [1机1] HA实现细节及需要注意的问题 384 15.11 集群及分布式部署 386 15.11.1 [0大0]规模集群的总体结构 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 [0第0]三部分 高 级 篇 [0第0]16章 嵌入式脚本 400 16.1 FreeSWITCH中的嵌入式脚本 400 16.2 Lua 401 16.2.1 Lua语[0法0]简介 402 16.2.2 将电话路由到Lua脚本 408 16.2.3 Session 相关函数 408 16.2.4 非Session函数和[0独0]立的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 419 16.3.2 Python 420 16.4 小结 421 [0第0]17章 嵌入式及HTTP开发 423 17.1 用Lua脚本写个小游戏 423 17.2 用Lua实现IVR 425 17.3 在[0会0]议中呼出 429 17.4 一个在FreeSWITCH中外呼的脚本 431 17.5 使用Lua脚本通过多个网关循环外呼 433 17.6 在FreeSWITCH中执行长期运行的嵌入式脚本 434 17.7 使用Lua提供XML Binding 436 17.8 语音识别 437 17.8.1 使用Pocket Sphinx进行中文语音识别 438 17.8.2 通过[0商0]业语音识别软件进行识别 444 17.9 使用mod_xml_curl提供动态用户管理 446 17.10 使用mod_xml_cdr模块处理话单 448 17.11 小结 450 [0第0]18章 Event Socket 452 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 事件的[0学0]习方[0法0] 475 18.4.2 常用事件简介 476 18.5 小结 478 [0第0]19章 使用ESL开发 479 19.1 创建[0独0]立的ESL应用 479 19.1.1 创建目录和源文件 479 19.1.2 编译和执行 480 19.1.3 将源代码纳入版本控制 481 19.2 用ESL重写空中充值服务 482 19.3 用ESL写一个ACD 490 19.4 用Inbound模式实现IVR 496 19.5 使用Java连接ESL 501 19.6 使用Erlang控制呼叫流程 502 19.6.1 准备工作 503 19.6.2 将来话交给Erlang处理 504 19.6.3 用Erlang实现空中充值服务 506 19.6.4 用Erlang状态 [1机1] 实现空中充值服务 509 19.6.5 其他 514 19.7 定时呼叫 516 19.8 小结 517 [0第0]20章 源代码导读及编译指南 518 20.1 准备FreeSWITCH源代码环境 518 20.2 FreeSWITCH源代码目录结构 519 20.3 FreeSWITCH源代码导读 519 20.3.1 APR 520 20.3.2 SWITCH APR 520 20.3.3 main函数 522 20.3.4 可加载模块 524 20.3.5 模块的结构 530 20.3.6 Session和Channel 531 20.3.7 SWITCH IVR 536 20.3.8 Core IO 537 20.3.9 Core Media 540 20.3.10 Core RTP 541 20.3.11 SWITCH XML 543 20.3.12 SWITCH Event 544 20.3.13 Core Codec 和 Core File 547 20.4 FreeSWITCH源代码的编译 548 20.4.1 [0首0]次编译 549 20.4.2 增量编译 550 20.4.3 常见问题及佳实践 551 20.5 小结 552 [0第0]21章 FreeSWITCH源代码分析 553 21.1 mod_dptools 553 21.1.1 echo 553 21.1.2 answer 555 21.1.3 set 557 21.1.4 bridge 559 21.1.5 Endpoint Interface 563 21.1.6 模块框架 564 21.2 mod_commands 566 21.2.1 模块框架 566 21.2.2 originate 566 21.3 mod_sofia 567 21.3.1 模块加载 568 21.3.2 Sofia的加载及通话建立 568 21.4 小结 576 [0第0]22章 FreeSWITCH二次开发 577 22.1 给FreeSWITCH汇报Bug和打补丁 577 22.1.1 修复内存泄露问题 577 22.1.2 给中文模块打补丁 578 22.1.3 给FreeSWITCH核心打补丁 579 22.1.4 高手也[0会0]犯错误 581 22.1.5 汇报严重的问题 581 22.1.6 给Sofia-SIP打补丁 582 22.1.7 给现有App增加新功能 584 22.1.8 给FreeSWITCH增加一个新的Interface 586 22.2 写一个新的FreeSWITCH编解码模块 587 22.3 从头开始写一个模块 589 22.3.1 初始准备工作 589 22.3.2 写一个简单的Dialplan 590 22.3.3 增加一个App 592 22.3.4 写一个API 593 22.3.5 小结 594 22.4 使用libfreeswitch 594 22.4.1 自己写一个软交换 [1机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 |
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有