• <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ǔ)的H.323協(xié)議棧開(kāi)發(fā)VoIP系統

    2013-11-18 17:11:21   作者:   來(lái)源:EET電子工程專(zhuān)輯   評論:0  點(diǎn)擊:


        圖2展示了與遠程終端建立通信關(guān)系時(shí)H.323協(xié)議棧必須執行的流程。注意,同一水平線(xiàn)上的流程可能同時(shí)運行,但是他們都完成后該時(shí)序才能繼續下去。

        Q.931呼叫建立流程啟動(dòng)呼叫建立過(guò)程并且通知遠程終端有一個(gè)呼入。當呼叫建立起來(lái)后,某個(gè)終端可能啟動(dòng)H.245規定的主從判斷流程或能力信息互換流程。每個(gè)終端都需要執行能力信息互換流程,但是只要一個(gè)終端執行主從判斷流程就可以了。主從判斷和能力信息互換完成后,邏輯信道打通了。最后,該對話(huà)通過(guò)另一個(gè)Q.931流程關(guān)閉。

        盡管該時(shí)序看起來(lái)直接明了,而且一些依賴(lài)關(guān)系在標準中定義的比較松散,因而很難實(shí)現該時(shí)序。因為僅依賴(lài)關(guān)系就占了H.245規范的257頁(yè)還多,實(shí)現時(shí)很容易疏忽。

        另一個(gè)導致混亂的問(wèn)題起因于異步執行的流程。例如,主從判斷流程可以在能力信息互換流程之前或之后執行,而且可能同時(shí)或者相互覆蓋執行。更有甚著(zhù),能力信息互換流程可能在一個(gè)閃斷信道(on the fly once channel)上執行。這樣可以在對話(huà)期間動(dòng)態(tài)改變編解碼器,然而給協(xié)議棧開(kāi)發(fā)增加了工作負擔。

        實(shí)現流程

        H.323定義Q.931為呼叫信令協(xié)議,在此,將描述怎樣實(shí)現實(shí)際的流程。基于原語(yǔ)的H.323協(xié)議棧要求應用程序開(kāi)發(fā)者定義原語(yǔ)并用其與下層通信。為了方便描述呼叫建立流程,我們從Q.931規范的25頁(yè)文檔中歸納出一個(gè)流程圖(如圖3)。

        當實(shí)現呼叫建立流程時(shí),首先發(fā)送建立請求消息,然后該流程等待一條告警指示消息。當該指示消息接收到后,該流程再次等待一條確認消息。如果這條確認消息也接收到了,該流程終止,應用程序可以開(kāi)始處理H.245流程。

        為了開(kāi)發(fā)基于原語(yǔ)的H.323協(xié)議棧流程的狀態(tài)機,開(kāi)發(fā)者需要精通H.323協(xié)議,例如上述Q.931呼叫建立協(xié)議。注意,H.245流程比Q.931更具有面向狀態(tài)的特點(diǎn)。每個(gè)H.245流程必須按照標準規定的時(shí)序處理接收到的指示消息并發(fā)送請求消息。每個(gè)狀態(tài)機的具體實(shí)現將需要數月時(shí)間。

        如果采用替代方案,H.323協(xié)議棧不使用原語(yǔ),協(xié)議棧需要包括一個(gè)已經(jīng)實(shí)現了上述流程和狀態(tài)機的中間層,并提供一個(gè)簡(jiǎn)化的應用編程接口(API)。對于前面的例子,協(xié)議棧要發(fā)一個(gè)呼出,只需要調用下面這一個(gè)函數即可:

        在使用API實(shí)現的系統中,makeCall()函數接受遠程端點(diǎn)的主機名字(hostname)和IP地址,并執行所有呼叫遠程終端的步驟。該方案需要一個(gè)流程構造前述的原語(yǔ),實(shí)現處理所有輸入輸出原語(yǔ)的狀態(tài)機。使用基于A(yíng)PI的協(xié)議棧不需要理解原語(yǔ)接口,可以節省數月的開(kāi)發(fā)時(shí)間。

        給原語(yǔ)參數賦值

        前文的例子描述了流程的實(shí)現。下面的例子展示怎樣給原語(yǔ)賦值,以能力信息互換流程的“TRANSFER.request”原語(yǔ)為例。

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 崇义县| 奈曼旗| 西华县| 姚安县| 南平市| 建湖县| 大兴区| 临沂市| 武胜县| 富民县| 皮山县| 西峡县| 博客| 昌黎县| 日土县| 武功县| 谷城县| 东港市| 迁安市| 彭山县| 宜昌市| 杨浦区| 中卫市| 东兰县| 曲沃县| 墨玉县| 曲阜市| 上虞市| 息烽县| 桐城市| 双峰县| 留坝县| 尼勒克县| 西峡县| 梓潼县| 定西市| 襄汾县| 镇沅| 丰台区| 黄龙县| 荥阳市| http://444 http://444 http://444 http://444 http://444 http://444