• <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》:支持頁(yè)面呼叫控制

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


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

      · HTTAPI 標記語(yǔ)法

      · HTTAPI 配置

      · 基本HTTAPI 操作,包括httapi 撥號規則應用

      · 一個(gè)PHP樣本庫,使得HTTAPI 應用開(kāi)發(fā)更加簡(jiǎn)單

      當用戶(hù)閱讀這個(gè)章節時(shí),必須牢記mod_httapi 使用了一個(gè)循環(huán)呼叫處理的流程;一個(gè)單個(gè)的呼叫,對于web服務(wù)器來(lái)說(shuō),有多個(gè)重復的HTTP POST請求。

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

      HTTAPI語(yǔ)法

      HTTAPI標志符和原始的XML語(yǔ)法沒(méi)有什么不同。大部分情況下,HTTAPI的語(yǔ)法構成類(lèi)似于這樣的:

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

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

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

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

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

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

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

      Work actions

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

      所有的work actions 至少支持兩個(gè)two標簽:

      · action: 修改新默認目標URL。

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

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

      playback

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

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

      未完待續······

     
    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 巴彦淖尔市| 永新县| 隆安县| 临沭县| 阿克| 乌兰浩特市| 岳池县| 卢龙县| 新乐市| 广元市| 远安县| 滦南县| 潼南县| 舞钢市| 元朗区| 郧西县| 夏河县| 海南省| 万安县| 旬阳县| 靖江市| 渝中区| 保德县| 祁阳县| 苗栗县| 军事| 大洼县| 玛曲县| 习水县| 兴义市| 绥宁县| 滨州市| 桑植县| 利川市| 屏山县| 陆河县| 上蔡县| 井研县| 北碚区| 万盛区| 瑞安市| http://444 http://444 http://444 http://444 http://444 http://444