亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩,日本久久久久,日本-区二区三区免费精品,中文字幕日本亚洲欧美不卡

 首頁 > 新聞 > 專家觀點 >

利用基于原語的H.323協(xié)議棧開發(fā)VoIP系統(tǒng)

2013-11-18 17:11:21   作者:   來源:EET電子工程專輯   評論:0  點擊:


    “TRANSFER.request”原語有四個字段,用ASN.1格式填充。這四個字段是PROTOID、MUXCAP、CAPTABLE 和 CAPDESCRIPTORS。在此,我們集中討論CAPTABLE參數(shù),它是特定終端支持的所有編解碼器的列表。在此例中,填充的CAPTABLE參數(shù)表示以下終端能力:單一G.711 A律64k編解碼器,能夠接收的分組長達180ms音頻數(shù)據(jù)。下面的偽碼是初始化一個ASN.1結(jié)構(gòu)元素的基本步驟。

    CAPTABLE參數(shù)實際上是CapabilityTableEntry的數(shù)組。填充該參數(shù)的第一步是為該數(shù)組分配內(nèi)存空間。每個被支持的編解碼器都需要一個CapabilityTableEntry。在本例中,數(shù)組只有一個元素,因為只支持G.711編解碼器。每個CapabilityTableEntry有兩個元素:TableEntryNumber字段和可選的能力信息結(jié)構(gòu)。

    CAPTABLE[0].Capability.TableEntryNumber = 1 (1)

    在行1的語句中,CapabilityTableEntryNumber任意設(shè)置,但是在同一消息中取值要不同。該參數(shù)由CAPDESCRIPTORS參數(shù)使用,以描述編解碼器之間的依賴關(guān)系。CAPDESCRIPTORS結(jié)構(gòu)要復(fù)雜得多,不在本文討論范圍內(nèi)。

    能力信息結(jié)構(gòu)描述了至少12種基本能力/業(yè)務(wù)中的一種。該結(jié)構(gòu)是可選的,但是不選用的情況不多。在特定的應(yīng)用方式下,ReceiveAudioCapability被選用。像ReceiveAudioCapability的AudioCapability結(jié)構(gòu)包含14多種不同的編解碼器中的一種。用戶必須選用其中一種編解碼器。一旦選用了某特定的編解碼器,相關(guān)字段必須定義。在g711Alaw64k情況下,只需要一個字段。第二行語句表示編解碼器驅(qū)動器能夠處理的分組大小至多180ms。

    CAPTABLE[0].capability.receiveAudioCapability.g711Alaw64k = 180 (2)

    值得注意的是,這個簡單例子在一個參數(shù)中只定義了一個編解碼器。其它原語和參數(shù)如CAPDESCRIPTORS要復(fù)雜得多。處理這種原語的過程枯燥、耗時且會給項目造成不必要的困難。

    如果采用替代方案,開發(fā)者使用簡單的API協(xié)議棧,則不需要關(guān)心這些細節(jié)。只要給出用ASN.1正確描述的編解碼器驅(qū)動器,一個在用戶層的簡單的函數(shù)調(diào)用就能處理所有這些細節(jié):

    獨立進行簡單API協(xié)議棧研究和開發(fā),只需投入數(shù)百個工時去解決有關(guān)ASN.1的問題就可以了。在應(yīng)用層,僅僅RegisterCodec()函數(shù)就可以為開發(fā)者節(jié)省相當(dāng)多的時間。當(dāng)成本和上市時間最重要時,該協(xié)議棧的簡單性具有不可估量的價值。

    作者簡介:

    Brian Krejcarek是US Software公司開發(fā)嵌入式H.323協(xié)議棧的主要開發(fā)人員。他擁有Illinois大學(xué)BSEE學(xué)位,可以通過briank@ussw.com與他聯(lián)系。

    Jonathan Shaw也是US Software公司開發(fā)H.323協(xié)議棧的主要開發(fā)人員,他擁有George Fox大學(xué)應(yīng)用科學(xué)學(xué)士學(xué)位以及Seattle Pacific大學(xué)BSEE學(xué)位,可以通過jonathan@ussw.com與他聯(lián)系。

分享到: 收藏

專題

天津市| 松阳县| 沂南县| 垫江县| 琼结县| 衡水市| 多伦县| 吴江市| 丹寨县| 旬阳县| 阿拉善右旗| 大港区| 长宁区| 永宁县| 六安市| 交口县| 达孜县| 乐清市| 夏津县| 林芝县| 固原市| 萝北县| 泽州县| 普兰县| 遂昌县| 水城县| 榆社县| 汶上县| 铜川市| 扎兰屯市| 浏阳市| 余姚市| 正定县| 陵川县| 沁源县| 定边县| 安福县| 康平县| 株洲市| 双辽市| 博白县|