日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sip gw功能包括_道哥漫谈:大话有趣的SIP通信

發布時間:2024/9/19 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sip gw功能包括_道哥漫谈:大话有趣的SIP通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

圖-1 電話通信

1、SIP是何物?

SIP(會話發起協議)屬于IP應用層協議,用于在IP網上為用戶提供會話應用。會話(Session)指兩方或多方用戶之間的語音、視頻、及其他媒體形式的通信,具體可能是IP電話、會議、即時消息等等。

圖-2 SIP會話連接

SIP是一個信令協議,它對應于傳統電話網絡中的呼叫信令協議(比如SS7 ISUP)。構建一個完整多媒體通信架構還需要結合其他一些協議,必要的有:RTP,用于媒體傳輸;RSVP,用于QOS保證等等。

圖-3多媒體通信的多種協議

2、SIP基本功能

2.1 會話的發起與管理

圖-4 創建會話

SIP主要用于創建、修改和終止一個會話。一個創建會話的簡單的例子如上圖-3所示,其建立邏輯結構流程如下:

  • 發起方向目的方發送一個SIP請求消息(INVITE),其中包含提議的會話參數的描述,請求在二者之間建立一個會話;
  • 目的方返回一個SIP響應消息(200 OK),其中包含接受的會話參數的描述,接受會話建立請求
  • 發起方發送一個SIP請求消息(ACK)確認會話的建立。

一個會話建立后,如果對于會話進行修改,又該如何操作?下面一個修改會話的簡單例子如圖-4所示。

圖-5 修改會話

對于會話的修改,其結構流程,如下所示:

  • 會話中的任意一方可以發送一個SIP請求消息(reINVITE),其中包含提議的新的會話參數,請求修改二者之間的會話;
  • 另一方返回一個SIP響應消息(200 OK),其中包含接受的新的會話參數,接受會話修改請求

既然會話可以創建和修改,那么又該如何實現一個會話的結束?其實現方式如下圖-5所示。

圖-6 結束會話

一個結束會話的邏輯結構流程如下所示:

  • 會話中的任意一方可以發送一個SIP請求消息(BYE),請求結束會話;
  • 另一方返回一個SIP響應消息(200 OK),接受會話結束請求

2.2 用戶位置管理&軌跡

在城市中分布著很多移動信號基站,移動的SIP終端實時與最近的基站發生著數據交互,如圖-6所示。

圖-7 移動的用戶

SIP要求終端定期向網絡發送注冊請求(REGGISTER),報告自己的當前位置。這樣SIP服務器中始終存儲了用戶(終端)的當前地址。當用戶被呼叫時,SIP服務器能夠將SIP請求發送到用戶的當前地址。

每一個基站都在記錄出現在其信號范圍內的手機用戶信息,將一定范圍內的基站所接收的信息集合起來,就能識別出一個手機用戶在這個范圍中的活動軌跡,如圖-7所示.

圖-8 SIP手機信令數據通過基站記錄用戶實時位置

每個人都有手機,所以數據有接近全樣本的高覆蓋率;每個人都隨身攜帶手機,所以數據有直接反映空間位置的高精度;每天都在收集手機數據,所以數據有立等可取的高時效性。

3、實體 & 網絡

SIP UA(User Agent,用戶代理)是最基本的SIP實體,它通常就是用戶終端。理想情況下,通過SIP UA就可以完成用戶之間會話的建立。但是為了支持SIP的移動性,以及其他高級功能,比如運營商對呼叫的控制等等,會話發起及管理的信令過程不能直接在兩個SIP UA之間完成,而是需要經過由若干SIP服務器構成的SIP信令網絡。

圖-9 網絡路由的SIPs實體

這些SIP服務器可以分為兩類:注冊服務器和路由服務器。

  • SIP注冊服務器(registrar)的主要功能是接受SIP UA的注冊請求,維護用戶名-地址映射。
  • 路由服務器的主要功能是將SIP消息路由到目標SIP UA。路由服務器有SIP重定向服務器(redirect server)SIP代理服務器(proxy)兩種。前者以重定向方式路由SIP請求消息,后者以代理方式路由SIP請求消息。

在重定向方式下(如圖-10所示),SIP重定向服務器收到了SIP請求消息,查詢到目標SIP UA的當前地址后,通過SIP響應消息(302 Moved temporarily)返回給發起方SIP UA。之后的SIP消息交互與重定向服務器無關,發起方SIP UA直接向目標SIP UA的當前地址發送請求消息。

圖-10 路由定向服務尋址

在代理方式下(如下圖-11所示),SIP代理服務器收到了SIP請求消息,查詢到目標SIP UA的當前地址后,將SIP請求消息轉發到目標SIP UA的當前地址。之后的SIP消息交互都要經過SIP代理服務器。這使得SIP代理服務器可以對會話進行控制,比如結束會話等等。

圖-11 路由代理尋址

4 SIP的原子性

圖-12 SIP的原子性

SIP所提供的功能是通過一些原子性的基本功能(比如注冊(registration),發起會話(Initiation)、會話結束等)組合而成的。每個原子性基本功能是通過一個SIP操作完成的SIP操作基于類似HTTP的請求/響應事務模型,每個操作的調用過程體現為一個所謂事務 – 包含一個SIP請求和一個或多個相應的SIP響應。其中SIP請求消息中的方法(Method)指示出調用的操作。

下表是在RFC 3261中定義的方法及其對應的SIP操作。

方法Method SIP操作

INVITE 會話邀請

ACK 確認會話邀請

CANCEL 取消會話邀請

BYE 結束會話

REGISTER 注冊

OPTIONS 查詢服務器能力

4.1 SIP協議組成

圖-13 SIP協議

SIP是一個基于文本(text-based)的協議,使用 UTF-8 字符集。SIP消息與HTTP/1.1非常類似,同樣可以包含消息體(message body),通常是會話描述(session descriptions),也可能是其他內容。

SIP 消息有兩類:從客戶機到服務器的請求消息(request),從服務器到客戶機的響應消息(response)。

除了第一行分別是請求行(Request-Line)和狀態行(Status-Line)以外,SIP請求消息和SIP響應消息的剩下部分的組成基本類似,包括消息頭域(message header)和消息體(message body)兩部分(如上圖-13所示)。

4.2 SIP消息請求

根據請求行中的方法(method)的不同,SIP請求消息有很多種,分別完成各種操作的調用,實現各種功能,下面進行簡單的介紹。

  • INVITE/reINVITE:INVITE 發起會話邀請。reINVITE(在一個已存在的對話中發送的INVITE稱為reINVITE)修改已建立會話的參數。
  • ACK:完成會話建立的3次握手 [INVITE-200-ACK],僅僅用于INVITE
  • BYE :結束會話。
  • CANCEL:取消正在建立中會話(INVITE已發送,但尚未收到最終響應(final response))。
  • UPDATE:更新會話參數。它被建議用于替代 re-INVITE,與 re-INVITE不同在于:它可以在初始INVITE未完成時發送,能用于在早對話(early dialog)中更新會話參數。

上面的4個請求用于會話建立與管理。

  • REGISTER:登記UA當前的聯系地址(contact)
  • OPTIONS:查詢服務器或對端UA的能力,具體包括支持的方法(method),擴展(extensions)、編解碼(codecs)等。
  • PRACK:臨時響應(Provisional Response)確認。用于確認收到了臨時響應,例如 “183 Session Progress”,以支持臨時響應的可靠傳送。它不能應用于“100 Trying ”,只有101~199 臨時響應需要可靠傳送。如果沒有收到 PRACK,響應消息將被重傳。
  • NOTIFY:事件通知,具體的事件包括、業務狀態的改變(MWI,...),用戶狀態的改變等等。
  • SUBSCRIBE:訂閱/取消(Expires=0)事件通知。
  • PUBLISH:發布事件狀態。PUBLISH 與 REGISTER 的相似之處在于:允許用戶在另一個實體(狀態管理實體/registrar)中創建、修改和移除自己的狀態。對PUBLISH 請求的尋址與對于SUBSCRIBE 請求的尋址是一樣的,PUBLISH 請求的Request-URI 中填入的是用戶希望發布其事件狀態的資源地址。

上面的3個請求構成SIP事件發布-訂閱-通知機制

  • INFO:用于傳送 mid-call 信令信息,同一時刻只能有一個 INFO 事務存在。通常用于攜帶 PSTN 信令消息(作為 MIME 附件),例如,ISDN UUI (用戶到用戶信息)。
  • MESSAGE:針對即時消息 (IM)的擴展,用于傳送即時消息。MESSAGE請求通過MIME附件中攜帶內容。MESSAGE 請求自身不發起 SIP 對話,在正常的用法中,每個即時消息都是單獨存在的,非常類似 pager 消息。MESSAGE 請求可以在其他SIP請求發起的對話上下文中發送。
  • REFER:指示接收者 (Request-URI所標識的) 應該使用請求中提供的信息聯系第三方。典型應用:Call Transfer features 。Allowed outside an established dialogue。

總結

以上是生活随笔為你收集整理的sip gw功能包括_道哥漫谈:大话有趣的SIP通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。