SIP 是指 Session Initiation Protocol, 規格可以從 RFC 3261 查到. 它是 application layer 的 protocol, 位在 OSI [ref 2] 的最上層, 需要建立在底層的 protocol (TCP / UDP) 才能運作.
另一方面, SIP 又只管通訊的建立, 實際上還要再搭配 RTP (Real-time Transport Protocol; RFC 1889)、RTSP(Real-Time Straming Protocol;RFC 2326 等通訊協定. [ref 1]
SIP 的功能包括下面五件事: [ref 1]
(1) User location:透過系統可以確認目前使用者的終端設備位置,以便邀請使用者加入多媒體會議或者是與使用者建立連線。可以想像類似目前手機定位功能。
(2) User availability:決定使用者是否有權限可以加入特定多媒體會議或族群。
(3) User capabilites:決定使用時的媒體型態與媒體參數。
(4) Session setup:建立呼叫端與被呼叫端之間的多媒體連線與連線參數設定功能。
(5) Session management:包含資料傳輸與結束連線、修改連線參數與服務要求等相關功能。
至於 SIP 的指令有六個: [ref 3]
方法 | 說明 |
INVITE | 初始化 |
ACK | 初始化確定 |
BYE | 要求會議終止 |
OPTION | 功能查詢 |
CANCEL | 取消 |
REGISTER | 提供 location server 使用者位置 |
因為 user 的位置可能不固定, 所以在查詢對方位置時 (可能透過 proxy), 必須去定位伺服器 (location server) 詢問對方的 URL.
在 [ref 3] 的表 4.2 有一個超讚的 SIP 與 H.323 比較表, 由它可以得知, 雖然 SIP 只負責建立連線, 但是具有簡單, 模組化, 與網路相容, 即時等優點, 所以在 video conference 的規格競賽中, 有日漸重要的趨勢.
[ref]
1. http://justblogger.pixnet.net/blog/post/387757
2. OSI model
- Layer 1: Physical Layer
- Layer 2: Data Link Layer
- Layer 3: Network Layer
- Layer 4: Transport Layer
- Layer 5: Session Layer
- Layer 6: Presentation Layer
- Layer 7: Application Layer
from http://www.tomax7.com/aplus/osi_model.htm
3. http://eshare.stut.edu.tw/Etd/2005_3/etd-0407109-183704-224-001.pdf (日文, 圖表是中文)