www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于oSIP的嵌入式SIP終端的研究與實現(xiàn)

摘要:分析了開源SIP協(xié)議棧oSIP的運行機制。在oSIP基礎上,設計實現(xiàn)了一個基于S3C2410A微處理器平臺,使用WinCE操作系統(tǒng)的嵌入式SIP終端。
關鍵詞:SIP協(xié)議;SIP用戶代理;oSIP;嵌入式系統(tǒng);ARM

1、  引言

目前,IETF的SIP協(xié)議(Session Initiate Protocol, 會話初始協(xié)議)已獲得業(yè)界越來越多的關注和支持,正逐步成為下一代網(wǎng)絡(NGN)中的核心協(xié)議之一[1]。SIP協(xié)議相對簡單、易于實現(xiàn)、可擴展性強、更適合IP網(wǎng)絡,被廣泛的用于VoIP系統(tǒng)的組建[2]。oSIP及其擴展eXosip作為開源的SIP協(xié)議棧,以其結構簡單、功能豐富、易于移植等優(yōu)點成為在嵌入式系統(tǒng)上構建VoIP應用的首選。本文分析了oSIP協(xié)議棧的運行機制,設計實現(xiàn)了將oSIP協(xié)議棧移植到嵌入式操作系統(tǒng)并以此為基礎開發(fā)嵌入式SIP客戶端的方案。

2、  oSIP協(xié)議棧

2.1 SIP協(xié)議

SIP協(xié)議是一個用于建立、更改和終止多媒體會話的應用層協(xié)議。現(xiàn)在的協(xié)議文本是IETF于2002年7月發(fā)表的RFC3261。SIP分別從用戶定位、用戶狀態(tài)查詢、用戶能力查詢、會話建立、會話管理五個方面實現(xiàn)對多媒體通信的控制。作為一種信令控制協(xié)議,它需要和IETF的其它協(xié)議如SDP、RTP、RTSP和SAP等協(xié)同工作。SIP會話中的媒體交換可以使用任何傳輸協(xié)議,但工程上一般都以RTP(Real-time Transmit Protocol,實時傳輸協(xié)議)作為傳輸協(xié)議。

SIP采用C/S模式的工作方式,包含兩類元素:SIP用戶代理(User Agent, UA)和SIP服務器。根據(jù)用戶代理在會話中扮演的角色不同又可分為用戶代理客戶機(User Agent Client, UAC)和用戶代理服務器(User Agent Server, UAS),前者發(fā)起呼叫請求,后者響應呼叫請求。

2.2 oSIP協(xié)議棧

oSIP是遵循IETF標準,使用ANSI C編寫,源代碼開放的SIP協(xié)議棧。oSIP主要有下列優(yōu)點:

(1)結構小巧簡單,只有400K左右,適合在嵌入式系統(tǒng)上應用;

(2)可移植性好,已被成功的應用于Solaris、HP Unix、VxWorks、Windows和GNU/Linux[3] (2.2.16和2.4.7)等系統(tǒng)中;

(3)工作穩(wěn)定、兼容性強。

oSIP主要由解析模塊、工具模塊和狀態(tài)機模塊構成,其核心是狀態(tài)機模塊[4](如圖1所示)。

圖1 oSIP結構

解析模塊完成對SIP請求和響應進行封裝與解析處理。解析模塊又可分為SIP解析、SDP解析與URL解析。

工具模塊主要提供一些處理工具用于對話管理和SDP協(xié)商。

狀態(tài)機模塊負責對某個事務(如注冊過程、呼叫過程等)狀態(tài)的維持及處理,并在特定的狀態(tài)下觸發(fā)響應的事件或回調(diào)函數(shù)。根據(jù)RFC描述中關于SIP協(xié)議事務層的定義,oSIP

協(xié)議棧有4種狀態(tài)機:客戶端邀請事務(ICT),客戶端非邀請事務(NICT),服務器端要求事務(IST),服務器端非邀請事務(NIST)。前兩種狀態(tài)機是由客戶端發(fā)起的,后兩種狀態(tài)機是由服務器發(fā)起的,這4種狀態(tài)機涵蓋了SIP的各種事務類型。其中ICT(如圖2所示)是SIP客戶端中最常見的事務。

圖2 ICT狀態(tài)機狀態(tài)轉換圖

圖2中,cb_ict_xxx_xxx表示oSIP中ICT狀態(tài)機回調(diào)函數(shù),當ICT從一種狀態(tài)到另一種狀態(tài)時oSIP協(xié)議棧將調(diào)用此函數(shù)。

oSIP專注于SIP底層解析,這使得它具有很高的效率。但另一方面,由于沒有提供高層的SIP會話控制API,使得上層應用在調(diào)用協(xié)議棧時很破碎,降低了易用性。為此oSIP的開發(fā)者們又在oSIP的基礎上開發(fā)了eXosip。eXosip是oSIP的擴展,它部分封裝了oSIP協(xié)議棧,使得它更容易被使用。eXosip實現(xiàn)了作為單個SIP終端的大部分功能。

3、  嵌入式SIP終端系統(tǒng)體系結構

3.1 嵌入式SIP終端的功能

嵌入式SIP終端是一個運行在嵌入式操作系統(tǒng)上的SIP用戶代理,主要包括SIP電話的注冊、呼叫、接聽、掛斷等功能。它直接與用戶交互,接收輸入信息,進行格式檢查,根據(jù)用戶的動作初始化SIP消息,同時得到本地語音媒體接口信息,形成SDP描述,完成UDP或TCP封裝。

3.2 系統(tǒng)軟硬件平臺的選擇

為選擇合適的軟硬件平臺,我們收集了大量相關資料,經(jīng)過反復比較并結合現(xiàn)有實驗條件做出了如下選擇:

(1)嵌入式處理器種類繁多,我們選擇了三星的S3C2410A微處理器。該處理器基于ARM920T內(nèi)核,主頻最高為203MHz。是一款高性價比、低功耗、高集成度的CPU,專為手持設備和網(wǎng)絡應用設計,能滿足嵌入式系統(tǒng)低功耗、高性能、小體積的要求。同時,S3C2410系列處理器已得到廣泛使用,技術資料豐富,這也是采用S3C2410平臺進行開發(fā)的有利條件。此外,我們還選用了帶有的觸摸屏的SHARP L35T23 3.5”液晶顯示器作為系統(tǒng)輸入/輸出設備。

(2)嵌入式操作系統(tǒng)方面,考慮到GUI界面開發(fā)的難易程度,我們選擇了Microsoft的Windows CE.NET 4.2。WinCE 4.2版本在內(nèi)核、實時性和網(wǎng)絡支持等方面做了很大的優(yōu)化和增強,同時還為基于WinCE的嵌入式系統(tǒng)的開發(fā)提供了強大的工具——Platform Builder 4.2(PB 4.2)。這些特性有助于我們快速開發(fā)嵌入式系統(tǒng)。

(3)在開發(fā)工具的選擇上,我們選用了與Windows CE.NET 4.2同時推出的Microsoft Embedded Visual C++ 4.0(eVC 4.0)。這個開發(fā)環(huán)境和VC6.0十分類似,易于掌握,同時還包含有許多WinCE專用的標準開發(fā)工具和遠程調(diào)試工具。

3.3 系統(tǒng)體系結構

我們設計的嵌入式SIP終端系統(tǒng)總體結構如圖3所示:

圖3 嵌入式SIP終端系統(tǒng)體系結構

整個系統(tǒng)分為3個層次:

(1)系統(tǒng)平臺層:包括硬件平臺及運行在其上的嵌入式操作系統(tǒng),這是整個系統(tǒng)的基礎。

(2)協(xié)議棧層:運行SIP協(xié)議棧,為用戶程序提供調(diào)用。RTP模塊我們采用了開源的jrtplib。jrtplib采用C++編寫,可以方便的移植到WinCE系統(tǒng)上。移植jrtplib到嵌入式操作系統(tǒng)不是本文的重點,具體做法在此不再贅述。

(3)用戶程序層:負責接收用戶的輸入,根據(jù)用戶請求類型調(diào)用協(xié)議棧層功能,同時實現(xiàn)oSIP的回調(diào)函數(shù),并將結果反饋給用戶。

4、  嵌入式SIP終端的實現(xiàn)

4.1 系統(tǒng)平臺層實現(xiàn)

本系統(tǒng)開發(fā)使用的硬件設備都直接向設備供應商購買,但由于嵌入式系統(tǒng)是軟硬件高度結合的系統(tǒng),還需要根據(jù)硬件條件定制一個WinCE平臺。在PB中可以定制出滿足各種不同需求的CE系統(tǒng)。我們使用設備供應商提供的BSP,利用PB平臺創(chuàng)建向導新建了一個WinCE映象文件并將其下載到開發(fā)板中固化。

4.2 協(xié)議棧層的實現(xiàn)

oSIP協(xié)議棧在設計之初就考慮到了滿足嵌入式操作系統(tǒng)的的特定要求,這使得只需做很少量的修改(主要是需要加入一些針對WinCE的頭文件)就能將oSIP移植到WinCE系統(tǒng)中。

另外,WinCE的API中沒有time()函數(shù)的實現(xiàn),我們需要自己實現(xiàn)這個函數(shù),代碼如下:

#ifdef _WIN32_WCE

SYSTEMTIME t;

#endif

……

#ifdef _WIN32_WCE

  GetSystemTime(&t);

  now = (int)((t.wYear-1970)*365*24*3600+t.wMonth*30*24*3600+t.wDay*24*3600+t.wHour*3600+ t.wMinute *60+t.wSecond);

#else

  now = time(NULL);

#endif

完成必要的修改后,重新編譯就可以得到能在WinCE系統(tǒng)上使用動態(tài)鏈接庫。

4.3 用戶程序層的實現(xiàn)

在系統(tǒng)啟動過程中,用戶程序首先根據(jù)用戶配置對系統(tǒng)全局變量進行賦值操作,然后向oSIP協(xié)議棧注冊回調(diào)函數(shù),并啟動數(shù)據(jù)包監(jiān)聽線程。一旦接受到數(shù)據(jù)包,則調(diào)用協(xié)議棧功能生成相應事件并判斷該事件的處理事務是否存在,若存在則將事件放入該事務中,否則生成新的事務,啟動事務執(zhí)行線程。同時根據(jù)用戶動作生成相應事件交由協(xié)議棧處理。

oSIP通過狀態(tài)機回調(diào)函數(shù)與用戶程序通信,向用戶程序通告事件的發(fā)生及事務狀態(tài)。用戶程序調(diào)用oSIP協(xié)議棧API發(fā)起oSIP動作(添加事件,事件處理等)。

5、  結束語

本文提出了一個基于ARM9核心的處理器平臺,以oSIP協(xié)議棧為基礎的嵌入式SIP終端設計方案,并就嵌入式系統(tǒng)平臺搭建、協(xié)議棧移植、SIP用戶代理的實現(xiàn)等問題進行了討論。測試結果表明,根據(jù)該方案實現(xiàn)的嵌入式SIP終端系統(tǒng)能實現(xiàn)預想的功能和性能。有理由相信,隨著SIP協(xié)議的廣泛應用和嵌入式技術的不斷發(fā)展,嵌入式SIP終端將具有美好的前景。

本文作者創(chuàng)新點:本文討論并實現(xiàn)了oSIP協(xié)議棧在WinCE系統(tǒng)上的移植和應用,提出了一個嵌入式SIP終端的系統(tǒng)分層結構同時指出了上述分層結構中各層次在實現(xiàn)時要注意的主要問題。

參考文獻

[1] 司端鋒,韓心慧,龍勤等.SIP標準中的核心技術與研究進展[J].軟件學報.2005 16(2).

[2] 劉志軍,王風著,張孟輝等.軟交換技術協(xié)議SIP及其在VoIP中應用[J].微計算機信息.2006,09-3:169-172

[3] 盧華,王保保.oSIP協(xié)議棧的研究及應用[J].電子科技.2006.2.

[4]  libosip Documentation 2.2.0.http://www.gnu.org/software/osip/doc/html/

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉