• <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>
     首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >

    《FreeSWITCH 1.2》:高級(jí)撥號(hào)規(guī)則概念

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


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

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

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

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

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

      撥號(hào)規(guī)則總覽

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

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

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

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

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

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 新干县| 金塔县| 黔南| 庆安县| 巴东县| 黄骅市| 浪卡子县| 全州县| 买车| 舒兰市| 贵州省| 金塔县| 正安县| 青神县| 砚山县| 嘉黎县| 紫阳县| 丁青县| 宜宾市| 昆山市| 七台河市| 民勤县| 福贡县| 秭归县| 南京市| 南澳县| 大安市| 元朗区| 万全县| 健康| 九江县| 盘山县| 富裕县| 嘉善县| 阿拉尔市| 丽江市| 勃利县| 理塘县| 曲靖市| 东乌| 宜兰市| http://444 http://444 http://444 http://444 http://444 http://444