• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>

    《FreeSWITCH 1.2》:高級撥號規則概念

    2014-04-25 13:59:33   作者:   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


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

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

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

      在這一章節,我們將討論以下內容:

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

      撥號規則總覽

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

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

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

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

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

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 石河子市| 巨野县| 桂林市| 礼泉县| 秦皇岛市| 迁安市| 曲麻莱县| 商城县| 探索| 遂昌县| 巨野县| 奉新县| 宕昌县| 武乡县| 岱山县| 团风县| 南澳县| 方城县| 鄄城县| 望都县| 策勒县| 江达县| 盐池县| 比如县| 杂多县| 抚松县| 阿拉善左旗| 东丽区| 凤庆县| 五常市| 安多县| 长阳| 临颍县| 雅安市| 长春市| 封丘县| 石河子市| 迁西县| 新乐市| 崇礼县| 庆阳市| http://444 http://444 http://444 http://444 http://444 http://444