<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 32,comments - 75,trackbacks - 0
    公司要做VOIP的項目,從網上轉了篇文章來看看。

    摘 要 SIP、SAP、SDP是NGN與3Tnet中涉及的重要協議。本文在介紹與分析SIP、SAP、SDP協議的基礎上,給出了一個基于三種協議組合而實現的多媒體會議應用實例。

      關鍵詞 SIP SAP SDP

      1 引 言

      SIP(Session Initiation Protocol,會話初始協議)、SAP(Session Announcement Protocol,會話通告協議)、SDP(Session Description Protocol,會話描述協議)是三個與會話(Session)有關的既有聯系又有區別的RFC協議。在本文中,我們將對這三個協議做簡單分析并給出一個利用這三個協議實現的具有一定實用價值的多媒體應用。

      2 協議分析

      2.1 SIP協議介紹與分析

      會話初始協議(SIP)是一信令協議用于初始、管理和終止分組網絡中的語音和視頻會話,具體地說就是用來生成、修改和終結一個或多個參與者之間的會話。SIP是互聯網工程任務組(IETF)多媒體數據和控制體系結構的一個組成部分,因此它與IETF的許多其他協議都有聯系,例如RTP(實時傳輸協議)和本文提到的SAP、SDP協議。

      SIP主要提供了與會話建立和終結相關的五個方面功能,它們是:

      (1)用戶定位:用于通信的終端系統的決定;

      (2)用戶可用性:被呼叫方參與通信的意愿的決定;

      (3)用戶能力:使用的媒體和媒體參數的決定;

      (4)會話建立:“振鈴”,呼叫和被呼叫方會話參數的建立;

      (5)會話管理:包括轉移和終結會話,修改會話參數,以及調用業務等。

      SIP網絡由四種類型的邏輯SIP實體組成。每一實體具有特定的功能,并且作為客戶機(初始請求),或作為服務器(響應請求),或作為兩者的結合參與到SIP通信中。一個“物理設備”能夠具有多于一個邏輯SIP實體的功能性。例如,作為代理服務器的網絡服務器可同時具備注冊服務器的功能。

      下面是四種功能實體:

      (1)用戶代理

      在SIP中,用戶代理(UA)是端點實體。用戶代理通過交換請求和響應初始和終止會話。UA作為一應用程序,它包含用戶代理客戶機和用戶代理服務器,如下:

      · 用戶代理客戶機(UAC):客戶機應用程序,它初始SIP請求。

      · 用戶代理服務器(UAS):服務器應用程序,當接收到SIP請求時它聯系用戶并且代表用戶返回一響應。

      在SIP網絡中具有UA功能的設備是:工作站,IP電話,電話網關,呼叫代理,自動應答服務。

      (2)代理服務器

      代理服務器是同時作為服務器和客戶機的中間實體,其目的是代表其他客戶機生成請求。請求被內部處理或可能在翻譯之后將其傳遞到其他服務器。如果需要,代理在轉發之前可解釋和重寫請求消息。

      (3)重定向服務器

      重定向服務器接受SIP請求,并將被呼叫方的SIP地址映射成零個(如果沒有可知地址)或更多的新地址并且將它們返回客戶機。不像代理服務器,重定向服務器不傳遞請求到其他服務器。

      (4)注冊服務器

      注冊服務器是接受REGISTER請求的服務器,其目的是根據用戶在請求中規定的聯系信息更新位置數據庫。

      SIP通過E-mail形式的地址來標明用戶地址。每一用戶通過一等級化的URL來標識,它通過諸如用戶電話號碼或主機名等元素來構造(例如:SIP:user@company.com)。因為它與E-mail地址的相似性,SIP URLs容易與用戶的E-mail地址關聯。

      SIP有兩種類型的消息,它們是:

      (1)請求:從客戶機發到服務器的消息。

      (2)響應:從服務器發到客戶機的消息。

      其中請求消息包括:

      · INVITE:初始呼叫,改變所以參數(re-INVITE)。

      · ACK:確認INVITE的最終應答。

      · BYE:終止呼叫。

      · CANCEL:撤消搜索和振玲。

      · OPTIONS:查詢另一方能力。

      · REGISTER:注冊位置服務。

      · INFO:發送會話中信息而不改變會話狀態。

      · PRACK:與ACK作用相同,但是用于臨時響應。

      · SUBSCRIBE:該方法用來向遠端端點預訂其狀態變化的通知。

      · NOTIFY:該方法發送消息以通知預訂者它所預定的狀態的變化。

      · UPDATE:允許客戶更新一個會話的參數而不影響該會話的當前狀態。

      · MESSAGE:通過在其請求體中承載即時消息內容實現即時消息。

      · REFER:其功能是指示接受方通過使用在請求中提供的聯系地址信息聯系第三方。

      響應消息包含數字響應代碼。SIP響應代碼集部分基于HTTP響應代碼。有兩種類型的響應,它們是:

      · 臨時響應(1XX):臨時響應被服務器用來指示進程,但是不終結SIP事物。

      · 最終響應(2XX,3XX,4XX,5XX,6XX):最終響應終止SIP事物。

      每條SIP消息由以下三部分組成:

      (1)起始行(Start Line):每個SIP消息由起始行開始。起始行傳達消息類型(在請求中是方法類型,在響應中是響應代碼)與協議版本。起始行可以是一請求行(請求)或狀態行(響應)。

      (2)SIP頭:用來傳遞消息屬性和修改消息意義。它們在語法和語義上與HTTP頭域相同(實際上有些頭就是借自HTTP),并且總是保持格式:<名字>:<值>。

      (3)消息體:用于描述被初始的會話(例如,在多媒體會話中包括音頻和視頻編碼類型,采樣率等)。消息體能夠顯示在請求與響應中。SIP清晰區別了在SIP起始行和頭中傳遞的信令信息與在SIP范圍之外的會話描述信息。可能的體類型就包括本文將要描述的SDP會話描述協議。

      2.2 SAP協議介紹與分析

      SAP的全稱是會話通告協議,其目的是為了通知一個多播的多媒體會議或其他多播會話而將相關的會話建立信息發送給所期望的會議參與者。SAP協議本身并不建立會話,它只是將建立會話所必要的信息,例如所采取的視頻或音頻編碼方式通知給其他在一個多播組內的參與者,當參與者接收到該通知數據包后就可以啟動相應的工具并設置正確的參數向該會議的發起者建立會話了(建立會話可以使用SIP協議)。

      通知的發起者并不知道各參與者是否收到了會話通知,也就是說每個參與者并不向通知發起者回復“我收到了通知”的確認;因此,通知發起者只能夠通過周期性地發送這個會話通知從而最大可能地使參與者收到通知。

      SAP并不是向每個參與者一一發通知數據包,它是通過多播的機制(multicast)向一個已知的多播地址和端口一次性發送一個通知數據包,該多播組內的成員如果工作正常的化就會收到該通知數據包。因此,為了使會議的參與者都能夠接收到通知,就要確保其參加到該多播組內。

      一個通知數據報除了可以通知某會話將要發起外,還可以通知該會話取消了或該會話的某些通信參數已被修改了。當然,這需要相應機制使這幾個通知都是針對同一會話的。

      那么SAP如何描述會話的相關信息,這就需要借助SDP協議了。在SAP數據包的payload字段中一般情況下填充的就是SDP數據,它描述了建立會話所必要的基本信息。

      SDP將在1.3節中介紹。

      2.3 SDP協議介紹與分析

      上面介紹的兩個協議都用到了SDP,實際上SDP就是用來描述多媒體會話通告,多媒體會話邀請和其他形式的多媒體會話初始化的協議。SDP包通常包括以下信息:

      (1)會話信息

      · 會話名和目的。

      · 會話活動時間。

      由于參與會話的資源是受限制的,因此包括以下附加信息是非常有用的。

      · 會話使用的帶寬信息。

      · 會話負責人的聯系信息。

      (2)媒體信息

      · 媒體類型,例如視頻和音頻。

      · 傳輸協議,例如RTP/UDP/IP和H.320。

      · 媒體格式,例如H.261視頻和MPEG視頻。

      · 多播地址和媒體傳輸端口(IP多播會話)。

      · 用于聯系地址的媒體和傳輸端口的遠端地址(IP單播會話)。

      SDP描述由許多文本行組成,文本行的格式為<類型>=<值>,<類型>是一個字母,<值>是結構化的文本串,其格式依<類型>而定。

      3 SAP、SIP、SDP組合應用實例

      在這個應用實例中,我們設計了這樣一種場景:某公司領導需要與本公司各部門負責人召開電視會議。他使用的多媒體會議系統采用了本文所描述的這種SAP、SIP、SDP組合應用技術。該公司領導首先通過一臺具有Web瀏覽功能的客戶機登陸會議服務器,注冊一個會議。在注冊的同時,他就將各部門負責人納入了本次會議的參與者之列(當然,還需要該公司領導和各部門負責人的客戶機在同一個多播組內)。然后,他在頁面上點擊一個“會議通知”按鈕,會議服務器就通過SAP協議向本次會議的各參與者(包括公司領導和部門負責人)所在客戶機發送召開會議的通知。此時,若各參與者所在客戶機是正常的連接到網絡上并且SAP通知接收器正常工作的話,它就會以聲音或圖形的方式通知該參與者,同時準備好本客戶機參加此次會議的客戶端程序。當各參與者發現會議通知后,他在已經準備好的會議客戶端程序上點擊一個“參加會議”的按鈕,客戶端就通過SIP協議將該客戶機輕松地加入到會議之中。當參與者到齊后,在會議主席(公司領導)的控制下,此次會議就可以正式開始了。

      各參與者客戶機上的SAP通知接收器接收到會議通知后,它會盡可能地調用客戶機上的各種資源以滿足本次會議的要求,如果實在不能夠滿足的話,它也可以以書面形式通知參與者本機所缺的資源。在整個會議的SAP、SIP交互過程中都用到了SDP協議來描述會話和媒體信息。簡要流程如附圖所示。

      4 結束語

      SAP、SIP、SDP都不是孤立的協議,只有在相互組合與協調并且與其他協議配合的情況下,才能夠發揮它們應有的強大作用。本文給出了SAP、SIP、SDP組合應用的一個實例,這樣的應用其實還很多,例如將本文的技術稍加改動也可用于樓宇的多點視頻自動監控系統中。隨著上述協議的進一步發展和普及,我們堅信SAP、SIP、SDP將會廣泛地應用于NGN(下一代網絡)、3Tnet(高性能寬帶信息網)等寬帶多媒體應用中。
    posted on 2005-12-25 13:59 fanta 閱讀(2333) 評論(1)  編輯  收藏 所屬分類: Java

    FeedBack:
    # re: SIP SAP及SDP協議組合應用的研究(轉)
    2007-02-08 17:43 | javvin
    主站蜘蛛池模板: 7x7x7x免费在线观看| 久热免费在线视频| 免费国产综合视频在线看| 亚洲精品无码国产片| 免费高清小黄站在线观看| 亚洲欧美一区二区三区日产| 一个人看www在线高清免费看| 国产精品亚洲综合五月天| 免费av欧美国产在钱| 亚洲熟妇久久精品| 日本大片在线看黄a∨免费| 亚洲av日韩综合一区二区三区| 国产视频精品免费| 亚洲阿v天堂在线2017免费| 亚洲精品无码av人在线观看| 久久精品成人免费观看| 亚洲第一网站免费视频| 猫咪社区免费资源在线观看| 337P日本欧洲亚洲大胆艺术图| 亚洲欧洲中文日韩av乱码| 在线涩涩免费观看国产精品| 精品日韩亚洲AV无码一区二区三区 | 最近中文字幕完整免费视频ww| 亚洲综合激情另类小说区| 国产在线国偷精品产拍免费| 青青青亚洲精品国产| 中文字幕亚洲一区| 国产曰批免费视频播放免费s| 亚洲精品无码av片| 亚洲色偷偷偷鲁综合| 国产va免费精品观看精品| 免费人成视频在线播放| 亚洲精品福利视频| 国产aa免费视频| 久久午夜免费鲁丝片| 亚洲国产成人手机在线观看| 在线观看午夜亚洲一区| 在线观看免费人成视频色9| 一区二区视频在线免费观看| 亚洲成综合人影院在院播放| 亚洲国产精品综合久久网络|