書[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.tinynews.org All Rights Reserved. 静思书屋 版权所有