亚洲综合伊人,成人欧美一区二区三区视频不卡,欧美日韩在线高清,日韩国产午夜一区二区三区,大胆美女艺术,一级毛片毛片**毛片毛片,你瞅啥图片

 首頁 > 新聞 > 專家觀點 >

《FreeSWITCH 1.2》:高級撥號規(guī)則概念

2014-04-25 13:59:33   作者:   來源:CTI論壇   評論:0  點擊:


  在上面的章節(jié)中,我們已經(jīng)學(xué)習(xí)了FreeSWITCH XML配置文件的強大。并且用戶學(xué)習(xí)了撥號規(guī)則的入口和使用XML來設(shè)置基本的配置。在這一章中,我們繼續(xù)進一步研究撥號規(guī)則的基本結(jié)構(gòu),XML撥號規(guī)則的功能,如何通過基本的功能實現(xiàn)復(fù)雜的結(jié)果。

  一些詞條可能在這一章中重復(fù)出現(xiàn),但是我們還要介紹一些已經(jīng)在以前章節(jié)涉及的一下基本內(nèi)容,包括基本的變化規(guī)則功能,并且我們還要解釋撥號規(guī)則系統(tǒng)如何工作,為什么這樣工作。通常情況下,很多用戶使用了FreeSWITCH的XML撥號規(guī)則,但是沒有真正了解其中的原理,導(dǎo)致系統(tǒng)不能拓展或無法排查復(fù)雜的問題。這一章節(jié)的目的是讓用戶成為一個FreeSWITCH專家,能夠了解他們開發(fā)的撥號規(guī)則是如何工作的,為什么這樣工作。

  在這個章節(jié)中,我們假設(shè)用戶已經(jīng)有了FreeSWITCH的基本知識,對路由和處理呼叫和XML配置文件有了基本的了解。如果用戶安裝配置了FreeSWITCH的演示系統(tǒng),并且測試了一些基本的呼叫,那么對用戶在這一章節(jié)的學(xué)習(xí)會非常有幫助。

  在這一章節(jié),我們將討論以下內(nèi)容:

  ·撥號規(guī)則總覽
  ·基本撥號規(guī)則概念
  ·解析和執(zhí)行
  ·XML 撥號規(guī)則模塊
  ·XML 撥號規(guī)則預(yù)處理
  ·使用變量
  ·通過正則表達式測試變量
  ·傳遞變量到其他的legs
  ·撥號規(guī)則中的Macros
  ·避免陷阱
  ·多分機設(shè)置
  ·XML extensions 特別屬性
  ·XML的可選方法

  撥號規(guī)則總覽

  FreeSWITCH的撥號引擎是一款相當(dāng)靈活的軟件。 如果用戶有使用軟交換的背景,用戶可能了解一些撥號規(guī)則的概念。用戶通過系統(tǒng)本身的語言預(yù)設(shè)了這些流程,規(guī)定了一些靜態(tài)的邏輯語句來執(zhí)行一些指令 (他們是 應(yīng)答呼叫,播放文件,采集撥號數(shù)字和抓接電話)。如果任何功能不能通過軟交換預(yù)設(shè)的命令或有效邏輯語句來實現(xiàn),那么就沒有其他的辦法可以實現(xiàn)這個任務(wù)。

  在FreeSWITCH環(huán)境中, 撥號規(guī)則的處理是通過可加載的模塊來完成。當(dāng)處理呼叫時,模塊的邏輯可以被調(diào)用來完成這些任務(wù),同時用戶可以根據(jù)自己的業(yè)務(wù)需求,加載多個模塊來支持不同的處理方式。這是FreeSWITCH區(qū)別于其他軟交換的地方,也是經(jīng)常被忽略的地方。通過撥號規(guī)則處理的模塊化設(shè)計,創(chuàng)建了一種非常自由靈活的錄音呼叫方式。用戶可以開發(fā)自己的模塊或調(diào)用可選的模塊來處理用戶自己的撥號規(guī)則,并且為用戶自己的撥號規(guī)則創(chuàng)建一套新的命令集。和其他的軟交換系統(tǒng)相比,F(xiàn)reeSWITCH可以支持用戶通過外部的腳本語言來處理自己的撥號規(guī)則。FreeSWITCH所有模塊都是使用C語言編寫,所以集成方便,并且允許用戶使用內(nèi)部的API 接口和鏈接庫(如有必要)無需調(diào)用外部的腳本語言。這樣的話,在處理呼叫時,F(xiàn)reeSWITCH將占用非常少的系統(tǒng)資源。

  為什么撥號規(guī)則處理實行模塊化設(shè)計呢?首先需要理解的是為什么我們需要一個撥號規(guī)則。

  讓我們現(xiàn)在忘記程序語言,回顧一下軟交換的原理。如果我們分解一下大部分的語音系統(tǒng),我們會發(fā)現(xiàn)每個通話都按照一個邏輯流程圖來執(zhí)行。事實上,如果我們問客戶關(guān)于電話業(yè)務(wù)的需求,他們經(jīng)常也會回答是或否,或者指定一個相應(yīng)的執(zhí)行指令?蛻舻臉I(yè)務(wù)需求就可以轉(zhuǎn)換成一個基本的呼叫流程圖。無論用戶正在做什么,如果用戶通過圖例的形式來表達整個業(yè)務(wù)需求的過程時,其實用戶已經(jīng)開始設(shè)計撥號規(guī)則了。本質(zhì)上說,用戶已經(jīng)在構(gòu)想一個撥號規(guī)則的模塊來滿足業(yè)務(wù)需求。

  讓我們拿一個普通的呼叫流程作為舉例,然后分拆成更小的部分。進一步觀察這個舉例,我們可以看到在這個流程圖中,我們設(shè)置了很多邏輯假設(shè),撥號規(guī)則必須處理這些假設(shè)的邏輯語句。例如,用戶為了對是否是工作時間這個假設(shè)做一個判斷,用戶必須對比工作時間或下班時間。為了判斷用戶是否輸入了按鍵1,撥號規(guī)則處理機制必須支持解析按鍵式電話機輸入。基于條件對比,用戶可以讓系統(tǒng)執(zhí)行相應(yīng)的命令-轉(zhuǎn)接電話,播放語音,掛機,等等。所有這些要求會組成一些邏輯命令,撥號規(guī)則會使用這些命令執(zhí)行電話流程。在很多系統(tǒng)環(huán)境中,通過編寫一些晦澀難以理解的配置代碼來設(shè)置一個邏輯判斷,這樣的方式具有很多局限性,也可能讓用戶發(fā)瘋。在FreeSWITCH環(huán)境下,用戶可以通過自己熟悉的語言來編寫這些邏輯。
  
  未完待續(xù)······  

相關(guān)閱讀:

分享到: 收藏

專題