資源描述:
《自己動手寫SIP協(xié)議棧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、自己動手寫SIP協(xié)議棧Author:張夢晗E_mail:enyaxp@student.dlut.edu.cn2006年9月13日18前言本文由作者的本科畢設(shè)論文改寫而成。由于時間倉促及作者水平所限,本文中的SIP協(xié)議棧尚不能實用,僅供初學(xué)SIP協(xié)議的朋友們?nèi)雮€門而已。不足之處還請多多包涵。18摘要ⅠAbstractⅡ致謝5第一章緒論41.1SIP協(xié)議簡介41.2 論文各章內(nèi)容4第二章SIP協(xié)議基本介紹62.1SIP系統(tǒng)基本組成62.2SIP消息描述62.2.1起始行(start-line)72.2.2消息頭(message-header)92.3SIP基本會話過程
2、10第三章SIP協(xié)議棧ZmhSipStack的實現(xiàn)133.1協(xié)議棧工作原理133.2協(xié)議棧處理器的實現(xiàn)153.2.1傳輸層模塊163.2.2文本解析器173.2.3文本生成器223.2.4數(shù)據(jù)處理器233.2.5SIP狀態(tài)機25第四章基于ZmhSipStack的應(yīng)用程序編寫294.1基于ZmhSipStack的應(yīng)用程序開發(fā)294.2用戶代理程序SipUA的實現(xiàn)304.2.1RTP模塊314.2.2編解碼器模塊31184.2.3音視頻采集與輸出模塊324.2.4用戶對話框設(shè)計以及程序運行效果334.3無狀態(tài)服務(wù)器程序SipProxyServer的實現(xiàn)35第五章Zmh
3、SipStack在嵌入式環(huán)境下的應(yīng)用375.1ARM/μCOS-Ⅱ嵌入式開發(fā)環(huán)境介紹375.2ZmhSipStack的嵌入式移植385.3基于ZmhSipStack的嵌入式應(yīng)用程序構(gòu)建395.3.1ArmSipUA構(gòu)建405.3.2ArmSipProxy構(gòu)建41第六章局域網(wǎng)內(nèi)的SIP通信實驗426.1實驗條件介紹426.2實驗步驟說明42結(jié)論45參考文獻4618第一章緒論1.1SIP協(xié)議簡介SIP(SessionInitiationProtocal)稱為會話初始化協(xié)議,是由IETF(InternetEngineeringTaskForce)組織于1999年提出的一
4、個基于IP網(wǎng)絡(luò)中實現(xiàn)實時通信應(yīng)用的一種信令協(xié)議。作為一個由IETF提出的標(biāo)準(zhǔn),SIP協(xié)議很大程度上借鑒了其他各種廣泛存在的Internet協(xié)議,采用基于文本的編碼方式,這也是SIP協(xié)議同下一代網(wǎng)絡(luò)視音頻通信領(lǐng)域其他現(xiàn)有標(biāo)準(zhǔn)相比最大的特點之一。和原有的多媒體會話協(xié)議(如H.323)相比,SIP具有以下優(yōu)點:l可與VoiceXML、JSP、J2ME等結(jié)合,快速開發(fā)增值業(yè)務(wù);l支持多媒體應(yīng)用,如語音、視頻、圖像、音頻、文字、數(shù)據(jù)等業(yè)務(wù);l可將語音、視頻、Presence、短消息、Web瀏覽、定位信息、Push、文件共享等業(yè)務(wù)結(jié)合起來,在語音、數(shù)據(jù)業(yè)務(wù)結(jié)合和互通方面有天然
5、優(yōu)勢;l業(yè)務(wù)網(wǎng)絡(luò)和承載網(wǎng)絡(luò)分離,兩者可獨立發(fā)展;l業(yè)務(wù)網(wǎng)絡(luò)可以融合現(xiàn)有的固網(wǎng)和移動網(wǎng)業(yè)務(wù);l協(xié)議簡單,具有公認(rèn)的擴展?jié)摿Α;谝陨蟽?yōu)勢,SIP協(xié)議被廣泛應(yīng)用于下一代網(wǎng)絡(luò)的業(yè)務(wù)開發(fā)當(dāng)中。而在現(xiàn)代軟交換網(wǎng)絡(luò)和未來移動網(wǎng)絡(luò)中,SIP協(xié)議更是將作為各個功能單元之間互通的基礎(chǔ)協(xié)議,因此,有人也稱SIP協(xié)議為下一代網(wǎng)絡(luò)中的“TCP/IP”協(xié)議(圖1.1)。1.2 論文各章內(nèi)容本論文的各章內(nèi)容如下:⑴18 本文第二章介紹SIP協(xié)議的基本原理、格式和與其他輔助協(xié)議的結(jié)合,然后介紹SIP系統(tǒng)的工作原理和基本會話過程;(a)VoIP軟件(b)可視電話終端(c)多媒體網(wǎng)關(guān)(d)3G手機
6、圖1.1基于SIP協(xié)議的通信應(yīng)用⑵ 第三章介紹SIP系統(tǒng)的核心—SIP協(xié)議棧的編寫:首先進行方案論證,然后分析協(xié)議棧的工作原理和需要實現(xiàn)的機能,緊接著介紹自主開發(fā)的SIP協(xié)議棧ZmhSipStack的軟件架構(gòu)、結(jié)構(gòu)體定義和各具體功能函數(shù);⑶ 第四章介紹了基于此協(xié)議棧編寫的應(yīng)用于PC機的用戶代理程序SipUA和服務(wù)器程序SipProxyServer,并對實現(xiàn)程序各功能的函數(shù)進行解釋,最后展示程序運行效果;⑷ 第五章中介紹了如何將SIP協(xié)議棧ZmhSipStack移植到嵌入式ARM/μCOS-Ⅱ環(huán)境下,并介紹了基于此協(xié)議棧編寫的應(yīng)用于嵌入式ARM平臺的用戶代理程序和服
7、務(wù)器程序;⑸ 第六章應(yīng)用用戶代理和服務(wù)器程序在PC機和ARM平臺之間進行SIP協(xié)議會話實驗,并給出實驗結(jié)果。18第二章SIP協(xié)議基本介紹本章主要介紹了SIP系統(tǒng)的基本組成和SIP協(xié)議的消息格式,并介紹了SIP系統(tǒng)的四種基本會話過程。2.1SIP系統(tǒng)基本組成SIP系統(tǒng)在RFC3261中有詳細(xì)的定義。為了描述問題方便,RFC3261定義了幾種邏輯功能實體,協(xié)議對每種實體的功能和行為都進行了詳盡描述。實際應(yīng)用中,一個物理實體可能集成了多個邏輯功能。在RFC3261看來,SIP系統(tǒng)可按邏輯功能分為4種元素:UserAgent(用戶代理),Proxy(代理服務(wù)器),Redi
8、rectS