複製鏈接
請複製以下鏈接發送給好友

SIP服務器

鎖定
SIP(Session Initiation Protocol,會話初始協議)的開發目的是用來幫助提供跨越因特網的高級電話業務。因特網電話(IP電話)正在向一種正式的商業電話模式演進,SIP就是用來確保這種演進實現而需要的NGN(下一代網絡)系列協議中重要的一員。支持H.264協議。
中文名
SIP服務器
外文名
Session Initiation Protocol
別    名
SIP代理服務器或註冊服務器
實    質
會話初始協議

目錄

SIP服務器概念

SIP是IETF標準 [1]  進程的一部分,它是在諸如SMTP(簡單郵件傳送協議)和HTTP(超文本傳送協議)基礎之上建立起來的。它用來建立,改變和終止基於IP網絡的用户間的呼叫。為了提供電話業務它還需要結合不同的標準和協議:特別是需要確保傳輸(RTP),與當前電話網絡的信令互連,能夠確保語音質量(RSVP),能夠提供目錄(LDAP),能夠鑑權用户(RADIUS)等等。
SIP被描述為用來生成,修改和終結一個或多個參與者之間的會話。這些會話包括因特網多媒體會議,因特網(或任何IP網絡)電話呼叫和多媒體發佈。會話中的成員能夠通過多播單播聯繫的網絡來通信。SIP支持會話描述,它允許參與者在一組兼容媒體類型上達成一致。它同時通過代理和重定向請求到用户當前位置來支持用户移動性。SIP不與任何特定的會議控制協議捆綁。

SIP服務器原理

SIP服務器是IP PBX的主要組件,負責建立網絡中所有的SIP電話通話。SIP服務器也叫SIP代理服務器或註冊服務器。
通常情況下,SIP服務器不參與媒體處理過程。在SIP網絡中,媒體一般總是採用端到端協商的處理方式。在某些特殊情況或者業務處理中,例如Music On Hold,SIP服務器也會主動參與媒體協商。
簡單的SIP服務器只負責會話的建立、維護和清除,不過多幹涉呼叫。而相對比較複雜的SIP服務器,一般又稱為SIP PBX,則不僅僅提供對基本呼叫、基本會話的支持,還提供豐富的業務,例如Presence、Find-me、Music On Hold等等。
大部分SIP服務器都是基於linux平台,典型代表為:Kamailio、OpenSER、sipXecx等。
也有部分SIP服務器是基於windows [2]  平台,典型代表為:miniSipServer、Brekeke等。

SIP服務器服務

SIP是一個分層結構的協議,這意味着它的行為根據一組平等獨立的處理階段來描述,每一階段之間只是奇偶合。協議分層描述是為了表達,從而允許功能的描述可在一個部分跨越幾個元素。它不指定任何方式的實現。當我們説某元素包含某層,我們是指它順從該層定義的規則集。
不是協議規定的每個元素都包含各層。而且,由SIP規定的元素是邏輯元素,不是物理元素。一個物理實現可以選擇作為不同的邏輯元素,甚至可能在一個個事務的基礎上。
SIP的最底層是語法和編碼。它的編碼使用增強Backus-Nayr形式語法BNF)來規定。
第二層是傳輸層。它定義了網絡上一個客户機如何發送請求和接收響應以及一個服務器如何接收請求和發送響應。所有的SIP元素包含傳輸層。
第三層是事務層。事務是SIP的基本元素。一個事務是由客户機事務發送給服務器事務的請求(使用傳輸層),以及對應該請求的從服務器事務發送回客户機的所有響應組成。事務層處理應用層重傳,匹配響應到請求,以及應用層超時。任何用户代理客户機(UAC)完成的任務使用一組事務產生。用户代理包含一個事務層,有狀態的代理也有。無狀態的代理不包含事務層。事務層具有客户機組成部分(稱為客户機事務)和服務器組成部分(稱為服務器事務),每個代表有限的狀態機,它被構造來處理特定的請求。
事務層之上的層稱為事務用户(TU)。每個SIP實體,除了無狀態代理,都是事務用户。當一個TU希望發送請求,它生成一個客户機事務實例並且向它傳遞請求和IP地址,端口,和用來發送請求的傳輸機制。一個TU生成客户機事務也能夠刪除它。當客户機取消一個事務時,它請求服務器停止進一步的處理,將狀態恢復到事務初始化之前,並且生成特定的錯誤響應到該事務。這由CANCEL請求完成,它構成自己的事務,但涉及要取消的事務。
SIP通過EMAIL形式的地址來標明用户地址。每一用户通過一等級化的URL來標識,它通過諸如用户電話號碼主機名等元素來構造(例如:SIP:user at company dot com)。因為它與EMAIL地址的相似性,SIP URLs容易與用户的EMAIL地址關聯。
SIP提供它自己的可靠性機制從而獨立於分組層,並且只需不可靠的數據包服務即可。SIP可典型地用於UDPTCP之上。
SIP提供必要的協議機制以保證終端系統代理服務器提供以下業務:
● 用户定位
● 用户能力
● 用户可用性
● 呼叫處理
● 呼叫前轉,包括:⑴等效800類型的呼叫,⑵無應答呼叫前轉,⑶遇忙呼叫前轉,⑷無條件呼叫前轉
●呼叫號碼傳遞,該號碼可以是任何命名機制。
● 個人移動性,例如通過一個單一的、位置無關的地址來到達被呼叫方,即使被呼叫方改變了終端。
●終端類型的協商和選擇:呼叫者可以給出選擇如何到達對方,例如通過因特網電話,移動電話或應答業務等。
● 終端能力協商
● 呼叫者和被呼叫者鑑權
● 不知情和指導式的呼叫轉移
多播會議的邀請
當一用户希望呼叫另一用户,呼叫者用INⅥTE請求初始呼叫,請求包含足夠的信息用以被呼叫方參與會話。如果客户機知道另一方的位置它能夠直接將請求發送到另一方的IP地址。如果不知道,客户機將請求發送到本地配置的SIP網絡服務器。如果服務器是代理服務器它將解析被呼叫用户的位置並且將請求發送給它們。有很多方法完成上步,例如搜索DNS或訪問數據庫。服務器也可以是重定向服務器,它可以返回被呼叫用户的位置到呼叫客户機用以它直接與用户聯繫。在定位用户的過程中,SIP網絡服務器當然能夠代理或重定向呼叫到其它的服務器,直到到達一個明確地知道被呼叫用户IP地址的服務器。
一旦發現用户地址,請求就發送給該用户,此時將產生幾種選擇。在最簡單的情況,用户電話客户機接收請求——也就是,用户的電話振鈴。如果用户接受呼叫,客户機用客户機軟件的指定能力響應請求並且建立連接。如果用户拒絕呼叫,會話將被重定向到語音郵箱服務器或另一用户。“指定能力”參照用户想啓用的功能。例如,客户機軟件可以支持視頻會議,但用户只想使用音頻會議,那則只會啓用音頻功能。
SIP還具有另外兩個有重要意義的特徵。第一個是有狀態SIP代理服務器具有分割入呼叫或複製入呼叫的能力,從而可以同時運行幾個擴展分支。第一個應答的分支接受呼叫。該特徵在用户工作在兩位置之間(例如實驗室和辦公室)或者同時對經理和其秘書振鈴時是非常便利的。
第二個特徵是SIP獨特的返回不同媒體類型的能力。舉個用户聯繫公司的例子。當SIP服務器接收到客户機的連接請求,它能夠通過WEB交互式語音響應頁面來返回到顧客的客户機,該頁面具有可獲得的部門分支或提供在列表上的用户。點擊適當的鏈接後將發送一請求到所點擊選擇的用户從而建立起呼叫。

SIP服務器解析

服務器作為網絡的節點,存儲、處理網絡上80%的數據、信息,因此也被稱為網絡的靈魂。做一個形象的比喻:服務器就像是郵局的交換機,而微機、筆記本、PDA、手機等固定或移動的網絡終端,就如散落在家庭、各種辦公場所、公共場所等處的電話機。我們與外界日常的生活、工作中的電話交流、溝通,必須經過交換機,才能到達目標電話;同樣如此,網絡終端設備如家庭、企業中的微機上網,獲取資訊,與外界溝通、娛樂等,也必須經過服務器,因此也可以説是服務器在“組織”和“領導”這些設備。
它是網絡上一種為客户端計算機提供各種服務的高可用性計算機,它在網絡操作系統的控制下,將與其相連的硬盤、磁帶、打印機、Modem及各種專用通訊設備提供給網絡上的客户站點共享,也能為網絡用户提供集中計算、信息發表及數據管理等服務。它的高性能主要體現在高速度的運算能力、長時間的可靠運行、強大的外部數據吞吐能力等方面。
服務器的構成與微機基本相似,有處理器、硬盤、內存、系統總線等,它們是針對具體的網絡應用特別制定的,因而服務器與微機在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面存在差異很大。尤其是隨着信息技術的進步,網絡的作用越來越明顯,對自己信息系統的數據處理能力、安全性等的要求也越來越高,如果您在進行電子商務的過程中被黑客竊走密碼、損失關鍵商業數據;如果您在自動取款機上不能正常的存取,您應該考慮在這些設備系統的幕後指揮者————服務器,而不是埋怨工作人員的素質和其他客觀條件的限制。

SIP服務器硬件

其實説起來服務器系統的硬件構成與我們平常所接觸的電腦有眾多的相似之處,主要的硬件構成仍然包含如下幾個主要部分:中央處理器、內存、芯片組I/O總線I/O設備、電源、機箱和相關軟件。這也成了我們選購一台服務器時所主要關注的指標。
整個服務器系統就像一個人,處理器就是服務器的大腦,而各種總線就像是分佈於全身肌肉中的神經,芯片組就像是骨架,而I/O設備就像是通過神經系統支配的人的手、眼睛、耳朵和嘴;而電源系統就像是血液循環系統,它將能量輸送到身體的所有地方。
對於一台服務器來講,服務器的性能設計目標是如何平衡各部分的性能,使整個系統的性能達到最優。如果一台服務器有每秒處理1000個服務請求的能力,但網卡只能接受200個請求,而硬盤只能負擔150個,而各種總線的負載能力僅能承擔100個請求的話,那這台服務器得處理能力只能是100個請求/秒,有超過80%的處理器計算能力浪費了。
所以設計一個好服務器的最終目的就是通過平衡各方面的性能,使得各部分配合得當,並能夠充分發揮能力。我們可以從這幾個方面來衡量服務器是否達到了其設計目的;R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可擴展性;U:Usability——易用性;M:Manageability——可管理性,即服務器的RASUM衡量標準。
由於服務器在網絡中提供服務,那麼這個服務的質量對承擔多種應用的網絡計算環境是非常重要的,承擔這個服務的計算機硬件必須有能力保障服務質量。這個服務首先要有一定的容量,能響應單位時間內合理數量的服務器請求,同時這個服務對單個服務請求的響應時間要儘量快,還有這個服務要在要求的時間範圍內一直存在。
如果一個WEB服務器只能在1分鐘裏處理1個主頁請求,1個以外的其他請求必須排隊等待,而這一個請求必須要3分鐘才能處理完,同時這個WEB服務器在1個小時以前可以訪問到,但一個小時以後卻連接不上了,這種WEB服務器在現在的Internet計算環境裏是無法想象的。
現在的WEB服務器必須能夠同時處理上千個訪問,同時每個訪問的響應時間要短,而且這個WEB服務器不能停機,否則這個WEB服務器就會造成訪問用户的流失。
為達到上面的要求,作為服務器硬件必須具備如下的特點:性能,使服務器能夠在單位時間內處理相當數量的服務器請求並保證每個服務的響應時間;可靠性,使得服務器能夠不停機;可擴展性,使服務器能夠隨着用户數量的增加不斷提升性能。因此我們説不能把一台普通的PC作為服務器來使用,因為,PC遠遠達不到上面的要求。這樣我們在服務器的概念上又加上一點就是服務器必須具有承擔服務並保障服務質量的能力。這也是區別低價服務器和PC的差異的主要方面。
在信息系統中,服務器主要應用於數據庫和Web服務,而PC主要應用於桌面計算和網絡終端,設計根本出發點的差異決定了服務器應該具備比PC更可靠的持續運行能力、更強大的存儲能力和網絡通信能力、更快捷的故障恢復功能和更廣闊的擴展空間,同時,對數據相當敏感的應用還要求服務器提供數據備份功能。而PC機在設計上則更加重視人機接口的易用性、圖像和3D處理能力及其他多媒體性能。

SIP服務器趨勢

最近1年,英特爾AMD兩家芯片巨頭之間的市場爭奪日趨白熱化,這也讓處理器性能的提升以前所未有的速度進行着。兩家巨頭都在以更低的價位來實現更高的性能,甚至更加致力於軟件應用,以求充分發揮其雙核、四核處理器的最大性能。這樣做的後果不僅是擴大了其自身的市場佔有率,對於客户而言,實惠的擁有了高性能服務器的同時,卻極大的降低了服務器採購數量。為了爭奪更高的利潤空間,服務器廠商急需開闢一片新疆域。
硬件平台為家用服務器整裝待發
好在芯片巨頭在提供高性能的多核處理器的同時,也在穩步的降低處理器功耗,以最新的英特爾Penryn微架構處理器為例:45nm工藝的採用相對上一代65nm的酷睿微架構在整體性能提升40%的同時,還更好的控制了處理器功耗。
最新的高清晰度電影在網絡上已經變得十分常見,而一部“大片”動輒幾十GB的存儲容量也讓用户的台式機、筆記本力不從心。希捷最新推出的750GB SATA硬盤也許能滿足這類需求。
現代的都市人對於繁雜的網線已經開始厭煩的時候,802.11n無線傳輸協議為我們帶來了300Mbps的最高理論傳輸速度,同時,英特爾也宣佈在5月馬上推出的Santa Rosa移動計算平台上即將採用這項技術。
上面的以及一些不為我們所知的新技術,正在為家用服務器奠定基礎。
微軟Home Server操作系統也做好準備
不僅僅是硬件的整體技術水平已經達到了將服務器家庭化的地步,操作系統層面微軟也即將推出Windows Home Server 操作系統。
相比傳統的Windows 2000 Server、Windows 2003 Server,針對家庭應用推出的Home Server操作系統對於數據恢復、媒體連接、遠程管理甚至是家庭管理都做了針對性的調整,整體設置將更為簡單、直觀。
參考資料