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

您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

MRCP協(xié)議學(xué)習(xí)筆記-控制會話中的消息類型說明

2018-05-28 10:30:05   作者:   來源:CTI論壇   評論:0  點擊:


  在前面的分享中,我們簡單介紹了MRCP客戶端與服務(wù)器端如何通過TCP對會話通道進(jìn)行管理,F(xiàn)在我們對控制通道的管理進(jìn)行更加詳細(xì)地介紹,具體介紹的內(nèi)容包括:不同的消息類型,其消息結(jié)構(gòu),消息交互的模式,定義和獲取會話參數(shù)的機制,媒體資源服務(wù)器所使用的標(biāo)準(zhǔn)頭消息體。因為我們內(nèi)容和篇幅的關(guān)系,我們分為幾個部分來逐步介紹以上內(nèi)容,今天的講座僅覆蓋控制會話的第一部分內(nèi)容-三種不同的消息類型。
  1、我們前面的概要中已經(jīng)介紹過,MRCP 支持了三種類型的MRCP消息。這三種消息可以支持整個MRCP協(xié)商的流程。它們分別是:request 消息,response消息和event消息。MRCP 客戶端對媒體資源服務(wù)器端發(fā)起一個請求,然后媒體資源服務(wù)器端會響應(yīng)一個消息,媒體資源服務(wù)器對每個請求消息綁定一個事件狀態(tài)的消息,通知客戶端請求的處理狀態(tài)。以下實例是一個最簡單的處理流程,媒體服務(wù)器端立即回復(fù)了一個所有事件完成的消息。
  在下面的示例中則包含了多個事件響應(yīng)消息,使用這些事件消息來說明媒體資源服務(wù)器對事件的處理狀態(tài),讓客戶端能夠獲悉當(dāng)前事件的狀態(tài)。
  在MRCP的事件狀態(tài)中,事件狀態(tài)包含了三種不同的狀態(tài)消息:COMPLETE,PENDING和IN-PROGRESS。
  2、MRCP 事件狀態(tài)都表示了各自不同的處理流程。如果熟悉SIP事件的讀者可能也了解SIP的消息事件,MRCP的事件狀態(tài)事實上和SIP的沒有太大的差別。我們從字面意思都可以理解每個狀態(tài)的含義。我們這里介紹一下三種狀態(tài)的具體含義:
  • PENDING:表示此請求已經(jīng)在媒體資源服務(wù)器的請求隊列中,等待處理。處理流程是按照先進(jìn)先出的方式進(jìn)行,需要進(jìn)一步的事件更新。
  • IN-PROGRESS:表示請求正在被處理,還沒有完成,需要進(jìn)一步的事件更新。
  • COMPLETE:表示此請求已經(jīng)完成,媒體資源服務(wù)器不會對MRCP客戶端繼續(xù)發(fā)送任何關(guān)于此請求的響應(yīng)消息。
  3、請求消息有時也稱之為:request methods。它具有自己特定的語法格式,它是由MRCP客戶端發(fā)起。其初始格式為:
  MRCP/2.0 message-length method-name request-id
  第一部分表示MRCP版本,一般情況下,都是一樣的內(nèi)容。message-length則設(shè)定了消息體的長度,它包括了起始行,頭域值和消息體本身。
  method-name則根據(jù)客戶端對不同的媒體資源類型請求來支持不同的method。SPEAK是針對語音合成的媒體資源類型來說的;RECOGNIZE則對語音識別來說的。另外SET-PARAMS 和 GET-PARAMS是支持所有媒體類型,支持設(shè)置媒體類型參數(shù)和獲取參數(shù)。
  request-id是一個唯一的請求ID,一個32bit的整數(shù)值,初始化時,此值比較小,以后在此會話中,因為不斷創(chuàng)建新的請求,此值會逐漸遞增。以下是一個請求示例的消息內(nèi)容:
  MRCP/2.0 267 SPEAK 10000
  Channel-Identifier: 43b9ae17@speechsynth
  Content-Type: application/ssml+xml
  Content-Length: 150
  
  
  xmlns="http://www.w3.org/2001/10/synthesis">
  Hello world!
  
  4、響應(yīng)消息是由媒體資源服務(wù)器返回的消息,其起始格式為:
  MRCP/2.0 message-length request-id status-code request-state
  此格式的前三個值的含義和請求中的格式是一樣的,我們這里不再介紹。媒體資源服務(wù)器端響應(yīng)消息中增加了status-code 和request-state。
  這里的狀態(tài)碼和SIP中的狀態(tài)碼也基本類似。2xx 表示成功狀態(tài)碼;4xx表示客戶端錯誤碼;5xx表示服務(wù)器端錯誤碼。



  請求狀態(tài)事件(request-state)剛才我們做了介紹,表示媒體資源服務(wù)器端對請求的處理響應(yīng)。具體的格式為:
  MRCP/2.0 79 10000 200 IN-PROGRESS
  Channel-Identifier: 43b9ae17@speechsynth
  以上消息表示媒體資源服務(wù)器正在處理此通道的語音合成請求。
  5、在媒體資源服務(wù)器的消息中會攜帶事件消息,其消息內(nèi)容表示了對MRCP客戶端請求的事件正在處理的狀態(tài),在一個會話過程中,可能有幾個不同的事件進(jìn)行更新。事件消息體支持了不同的事件狀態(tài)來表示處理狀態(tài),其基本格式為:
  MRCP/2.0 message-length event-name request-id request-state
  前面兩個值和請求響應(yīng)的是一樣的。在事件消息中增加了event-name, request-id和request-state。
  event-name表示一個特定的事件。不同的資源媒體類型可以提供不同的事件消息名稱。例如,SPEAK-COMPLETE是針對語音合成的媒體資源類型來說的,而RECOGNITION-COMPLETE則是針對語音識別媒體資源類型來說的。
  request-id是相對應(yīng)請求中的事件。這里要注意,事件支持對請求處理的結(jié)果進(jìn)行發(fā)送,它不會任意發(fā)送。
  request-state表示媒體資源服務(wù)器當(dāng)前對請求的處理狀態(tài),我們前面也做了介紹,不再做更多介紹。下面的示例說明,媒體資源服務(wù)器生成的響應(yīng)事件消息,媒體資源服務(wù)器正在進(jìn)行語音識別的事件處理,event-id是10000,檢測的是DTMF輸入。
  MRCP/2.0 109 START-OF-INPUT 10000 IN-PROGRESS
  Channel-Identifier: 43b9ae17@speechrecog
  Input-Type: dtmf
  MRCP/2.0 109 START-OF-INPUT 10000 IN-PROGRESS
  Channel-Identifier: 43b9ae17@speechrecog
  Input-Type: dtmf
  MRCP/2.0 109 START-OF-INPUT 10000 IN-PROGRESS
  Channel-Identifier: 43b9ae17@speechrecog
  Input-Type: dtmf
  6、在本章節(jié)的學(xué)習(xí)中,筆者首先介紹了MRCP中的三種消息體類型,然后介紹了事件消息體的三種事件消息,筆者進(jìn)一步說明了請求消息體格式,響應(yīng)消息體格式和事件消息體的格式,根據(jù)不同的格式介紹了具體的數(shù)值內(nèi)容和響應(yīng)的示例。通過以上完整的介紹,讀者可以非常清楚地了解MRCP消息的基本結(jié)構(gòu)和其具體的含義。在接下來的章節(jié)中,我們會更加詳細(xì)地介紹消息體,頭域值和基本的頭域值內(nèi)容。
      

  unimrcp-MRCP協(xié)議學(xué)習(xí)分享,QQ群號:208136295
  關(guān)注微信公眾號:asterisk-cn,獲得有價值的行業(yè)分享
  freepbx 技術(shù)論壇:www.ippbx.org.cn
  Asterisk, freepbx技術(shù)文檔: www.freepbx.org.cn
  歐米(Omni)智能客服解決方案
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com

【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題