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

    《FreeSWITCH 1.2》:支持頁面呼叫控制

    2014-05-04 16:51:00   作者:   來源:CTI論壇   評論:0  點(diǎn)擊:


      相對比較新的一個模塊mod_httapi 可以支持用戶更加動態(tài)控制IVR和其他的應(yīng)用程序。配合這個模塊,通過用戶輸入的不同可以生成自定義的IVR。FreeSWITCH的mod_httapi采用了一個簡單的HTTP POST操作對頁面應(yīng)用程序發(fā)送各種信息,通過RESTful的實(shí)現(xiàn)方式來控制FreeSWITCH 呼叫流程。在中國章節(jié),我們將討論以下內(nèi)容:

      · HTTAPI 標(biāo)記語法

      · HTTAPI 配置

      · 基本HTTAPI 操作,包括httapi 撥號規(guī)則應(yīng)用

      · 一個PHP樣本庫,使得HTTAPI 應(yīng)用開發(fā)更加簡單

      當(dāng)用戶閱讀這個章節(jié)時,必須牢記mod_httapi 使用了一個循環(huán)呼叫處理的流程;一個單個的呼叫,對于web服務(wù)器來說,有多個重復(fù)的HTTP POST請求。

      這樣給了應(yīng)用開發(fā)人員更大的靈活性來設(shè)計(jì)他們的應(yīng)用模塊。沒有必要在單個響應(yīng)中生成所有可能的呼叫邏輯。一個被httapi應(yīng)用控制的呼叫將執(zhí)行在HTTP中指定的響應(yīng)命令,然后對web服務(wù)器發(fā)送另外一個HTTP POST請求。實(shí)際上,這個httapi 應(yīng)用獲得從web 服務(wù)器端來的指令,處理這些指令,然后對web 服務(wù)器端說,"我已經(jīng)完成了那些指令,下一個指令是什么?"。這個循環(huán)會一直進(jìn)行,直到呼叫結(jié)束或這個呼叫被轉(zhuǎn)接到其他流程,超出了httapi 撥號規(guī)則應(yīng)用的控制。

      HTTAPI語法

      HTTAPI標(biāo)志符和原始的XML語法沒有什么不同。大部分情況下,HTTAPI的語法構(gòu)成類似于這樣的:

      <document type="text/freeswitch-httapi">
      <variables/>
      <params/>
      <work/>
      </document>

      Document是從web 服務(wù)器HTTP POST請求響應(yīng)中返回的。

      一個HTTAPI 響應(yīng)必須有text/xml的content type。所有HTTAPI 響應(yīng)必須包括document 標(biāo)簽,這個標(biāo)簽的類型屬性是text/freeswitch-httapi。在響應(yīng)的對端,指定的響應(yīng)中,用戶可以使用任意一個或者所有的子標(biāo)簽。支持的子標(biāo)簽如下:

      · params: FreeSWITCH對每個web服務(wù)器請求發(fā)送的POST params(那是,"parameters") 。用戶可以使用<params> 標(biāo)簽通知FreeSWITCH傳遞自定義的POST params。

      · variables: 這些變量是正在呼叫 httapi撥號規(guī)則應(yīng)用的通道變量。<variables> 標(biāo)簽支持用戶通道變量,這些變量可以在FreeSWITCH 撥號規(guī)則中使用或讀回到httapi 下一個請求中。(本章后續(xù)將詳細(xì)討論。)

      · work: 很多有興趣的事情在這里發(fā)生。有很多不同的action標(biāo)簽可以作為<work>標(biāo)簽的子標(biāo)簽使用,通過這些標(biāo)簽來控制FreeSWITCH正在進(jìn)行的呼叫:在后臺進(jìn)行發(fā)送日志信息,播放語音文件,啟動自動語音識別,采集用戶輸入的DTMF按鍵數(shù)據(jù),和其他的控制。支持的action標(biāo)簽和屬性響應(yīng)的每一個action將在下一個部分進(jìn)行詳細(xì)討論。

      以下許多的actions 可以對用戶的程序添加綁定,通過這樣的方式來獲得FreeSWITCH采集的信息,然后傳遞這些信息到用戶的應(yīng)用程序中。這樣的處理方式非常類似于頁面的HTML格式。每一個元素都有一個名稱,任何相對這個元素采集的數(shù)據(jù)將作為同名稱的POST param 返回到用戶的頁面程序中。這個綁定將支持一個正則表達(dá)式來匹配返回的結(jié)果,然后通過可選的數(shù)據(jù)前綴從輸入的值中來提取出最后的結(jié)果。

      Work actions

      HTTAPI work actions 在這個部分進(jìn)行了描述。在以下的定義中,*DATA* 是標(biāo)簽tag 的content (格式為, <tag>*DATA*</tag>)。

      所有的work actions 至少支持兩個two標(biāo)簽:

      · action: 修改新默認(rèn)目標(biāo)URL。

      · temp-action: 修改URL提交下一個請求。后續(xù)的請求將使用默認(rèn)的URL或者使用在action標(biāo)簽指定的URL。

      以下是一個work actions列表和他們的描述:

      playback

      Playback 播放一個文件,標(biāo)簽支持可選采集用戶輸入。它具有以下屬性:

      · file: 播放語音文件的路徑
      · name: 指定的Param名稱來保存結(jié)果
      · error-file: 無效輸入時,播放錯誤提示文件
      · digit-timeout: 播放文件完成后的等待輸入的時間 (輸入綁定時)
      · input-timeout: 多數(shù)字輸入時,等待更多數(shù)字時間設(shè)置
      · loops: 播放語音文件的最多次數(shù) (輸入綁定時)
      · asr-engine: 啟用自動語音識別(ASR)引擎
      · asr-grammar: 使用的自動語音識別語法(ASR)
      · terminators: 輸入結(jié)束鍵,一旦系統(tǒng)收到這個按鍵消息,立即停止采集,馬上處理采集的結(jié)果數(shù)據(jù)。

      未完待續(xù)······

     
    分享到: 收藏

    專題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 富川| 育儿| 罗田县| 嘉禾县| 嘉义市| 莫力| 盐山县| 高陵县| 揭阳市| 兴安县| 霸州市| 太湖县| 涟水县| 金川县| 津南区| 汤阴县| 滦平县| 彭泽县| 平果县| 雷波县| 伊川县| 潜江市| 武冈市| 无为县| 朝阳市| 屯留县| 无极县| 搜索| 安龙县| 内黄县| 宣武区| 上饶县| 纳雍县| 南宫市| 蚌埠市| 沁水县| 莱州市| 通江县| 蚌埠市| 江油市| 铜山县| http://444 http://444 http://444 http://444 http://444 http://444