SIP (session initial protocol) 的目的是要達成類似一般公用電話(PSTN : Public Switched Telepone Network)的功能:撥號,響聲(ring),ringback tone or busy tone。
SIP是一個peer to peer的架構,只需要級簡單的網路架構,所有的工作都由網路上的端點提供。
SIP 可以和其他的protocol合作,但是他只負責通訊中Signal的的動作,SIP作為SDP (Session Description Protocol)的用途,用來協議session的內容:IP,port,codec,,等等。一般來說,使用SIP的session內容大多是 packet stream或是RTP (Realtime Transport Protocol),這些RTP才是用來傳遞voice或video 內容的protocol。
第一個SIP standard (SIP 2.0)定義在 RFC2543,進一步的規範在RFC 3261。
SIP 和HTTP類似,設計理念也和http相近:readable,simple,request-response。雖然當初設計以Simple為目的,但 是演化到今天,其內容已經複雜如H.323。SIP使用許多http的status code,像404 'not found'。
SIP Network Element
許多廠商都可以生產和一般電話相同,但是利用SIP,RTP通話的通訊設備,可以利用Electronic Numbering和DNS將一般電話號碼轉為SIP位置,這樣就可以不經由一般電話商(PSTN)直接撥打受話端。
現在是市面上有很多軟體的SIP endpoint,像Microsoft的Messenger,Apple的iChatAV,AOL的AOL instant messenger。
雖 然SIP不需要依賴SIP網路架構的特殊端點來溝通(所以稱為Peer to Peer),但是在Public Service上還是需要Proxy和register network來協助。目前已經有許多公司實作出Softswitch,這些Softswitch可以作為proxy和register使用,Java JAIN standatd就是一個sip proxy, register的規定。
Instant Messenging and Presence
SIMPLE是一個建立在SIP上的協定,用來標明present status (在不在線上),使用SIMPLE的一個範例就是MSN,它可以顯示聯絡人目前在不在線上。
Commerical Application
用來傳輸media stream的RTP 協定不能通過NAT router,
沒有留言:
張貼留言