SIPFoundry - SIPxecs簡介

原文鏈接:http://wiki.sipfoundry.org/display/sipXecs/Overview

-----------------------------------------

項目歷史

SIP Foundry的SIPXecs項目前身是Pingtel公司2004年的sipXpbx開源項目(Pingtel組織和資助了SIPfoundry,但它是一個獨立的合法的非盈利公司)。那時候PBX的代碼作爲Pingtel的SIPXchange產品已經開發了數年,它本身就是從Pingtel Expressa電話項目中擴展出來的(Pingtel Expressa電話項目是當時非常成功的跨越多個不同設備製造商的企業級的SIP呼叫系統之一。從最初的發佈,Pingtel的商業產品開發就一直和SIPXpbx開源項目同步,並且不斷從商業版本移植到開源項目中。

隨着時間的推移,SIPXpbx開源項目獲得了用戶和開發人員的青睞。很多活躍的Pingtel公司外部的開發人員開始做出大量貢獻,尤其是對SIP UA(電話和其他終端)的程序員非常有用的基礎代碼。由於當時代碼許可的原因,當時有段時間很難講這些改動移植到商業版本中,所以這兩個基線代碼開始出現分歧。反過來,這又增加了新增代碼的複雜度,特別是增加了測試開源項目(SIPXpbx)和商業項目(SIPXchange)的難度。

在2007年春天,Pingtel決定改變項目結構和代碼許可,以便減少系統複雜性和潛在的使用衝突。Pingtel給SIPfoundry貢獻了一套新的基於它原來商業版本的代碼,創建了sipXecs項目。

很多關注UA的開發人員繼續基於原來SIPxtapi項目進行開發,這些項目現在非常活躍而且持續發展。

系統架構圖 

sipXecs系統是基於模塊化的架構,通過不同的組件基於TCP/IP進行通信。

SIP協議的設計就是爲了支持完全分佈式的網絡架構。服務器提供不同的功能,並且它們之間通過SIP協議通信。協議中媒體流和信令流嚴格分離,以便建立一個全局的可以伸縮的系統,並且含有必要的系統冗餘和備份。媒體流,一旦建立,將直接進行點對點的通信,而無需通過中央的信令服務器。

要點:


  • 模塊化: 12個不同的服務器組件可以在一個服務器硬件上並存,也可以分佈在不同的系統中。
  • 備份: 在呼叫控制組件中提供高可用性的系統。
  • 可伸縮性: 通過域名服務系統實現負載均衡。
  • 基於SIP代理: sipXecs不是基於B2BUA而是一個真正的基於SIP Proxy架構的實現。B2BUA服務器(sipXbridge)用來連接IP電話服務提供商(ITSPs);數據包中包含了會議橋信息;基於Freeswitch的自動話務員和語音信箱。
  • 更好的語音質量: 點對點的媒體流直接,無需通過呼叫控制路徑。
  • 標準SIP: sipXecs是一個標準的兼容協議。
  • 即插即用管理: 系統中電話即插即用。
  • IT集成: LDAP, SOAP和數據庫集成。系統不管看上去還是使用起來,就如同一個IT應用。
  • 無需特殊硬件: sipXecs不需要特殊的硬件。一個標準的Intel服務器足矣。

就其架構而言,sipXecs系統的設計就是爲了實現和其他第三方業務服務器的更好的互通。除此之外,它是一個完全的分佈式系統。每一個組件的多個實例可以在一個專職的硬件系統上運行,也可以在不同的跨地域的服務器上運行以實現一個可伸縮的系統。SipXecs的配置服務器提供核心組件,業務服務器,和外設(電話及網關)等的即插即用。一個基於XML的插件框架允許自如的配置額外的組件,業務服務器,以及外設。

不同的sipXecs系統組件也可以單機運行,這個項目的關注點就在於提供一個完全的sipXecs基於IP的小交系統。在Fedora, Red Hat, Debian and SUSE版本中,sipXecs系統可以很容易地按照各自系統的包管理進行安裝。

【筆記】從架構圖來看,sipXecs大致分爲三部分:配置部分,信令部分和媒體控制部分。

配置服務器的架構

sipXecs的配置服務器是一個Web服務的配置管理系統,可以對所有的sipXecs服務器組件包括電話和網關等提供即插即用的管理。對於已經存在IT架構,可以使用LDAP,也可以提供SOAP接口提供網絡服務關口。它也允許和微軟的Active Directory and Exchange 2007進行連接。

用戶數據可以從LDAP載入,或者在報表應用中,像典型的用逗號分隔的CSV文件中載入。

應用庫組件:

PostgreSQL數據庫被用來數據存儲。

我們不再需要瀏覽器直接連接到Jetty HTTP服務器和Apache服務器。

Web服務可能使用已存在的SOAP接口,可以進行大量的配置。

配置服務器和其他sipXec服務器組件通過文件系統或者其自身的XML RPC接口進行通信。對於在同一臺服務器的情況,配置文件直接寫在/etc/sipxpbx目錄下。

有兩種機制提供給電話和網關以便在開機時訪問其各自的配置文件:
a) FTP和TFTP服務器都提供訪問到sipXecs服務器的tftproot目錄
b) HTTP Web訪問可能到docroot目錄. docroot 訪問通過Apache服務器的8090端口提供。

電話和網關可以自動在局域網上配置,這樣進一步簡化了部署。

更好的語音質量

 

sipXecs提供更好的語音質量

(略去翻譯N字)簡言之:媒體流路徑是點對點的,而不是像信令流那樣一個個接力傳遞。通過SIP協議,主叫與被叫的IP互通,通過RTP直接建立媒體流。(VOIP都是這樣,不知這怎麼就成爲更好語音質量的理由?)

 

第一代的IP小交架構


The Phone Thinks it Talks to a PhoneSIP is only used as a transport point-to-point and the IP PBX behaves like a phone.
The Inside is Proprietary Features are implemented in a proprietary way and not using SIP, but with the help of a little "Pixie Dust". Every vendor does it slightly differently.
Media Goes Through the IP PBXSince the whole system is setup as a collection of point-to-point links, media goes through the IP PBX server. This allows a simple, non-standard implementation of certain features such as call recording and music on hold, but otherwise has only disadvantages.h2. SIP Channels connect Point-to-PointThe trunk side again connects point-to-point as you would connect two phones.

By far not the only example is Asterisk but, because of its open source model, it is easy to examine. Based on a Back-to-Back User Agent (B2BUA) design, all links are point-to-point, making phones believe they talk to another phone even though they talk to the PBX. The PBX becomes a big monolythic block where everything has to go through and features are implemented in a proprietary way. While in the TDM world these PBXs were built on expensive fault tolerant HW, using an inexpensive PC server does not serve this model well as it laks scalability, resiliency and fault-tolerance. IAX, the Asterisk trunking protocol is specifically designed to bundle signaling and media in one fixed connection. The result is at best neutral when it comes to voice quality, but more often than not it is worse than what you would get with standard SIP.

Second Generation IP PBX Architecture

IMS for the EnterpriseA SIP based application router (SIP Proxy) is the heart of the system. Strict separation of signaling and media is a given. The phone talks to a proxy that routes the call through as many additional proxies as needed until the destination phone is reached.
The Phones Negotiate CodecThe phones negotiate a selection of codec directly and the media stream is routed along the most efficient route - better voice quality and a more resilient connection are direct consequences.
Features are implemented in Feature ServersInside the IP PBX every feature is implemented as a SIP feature server. These feature servers can be co-located in the same physical host or distributed across many systems.
High-Availability by DesignFailover redundancy and system resilience is simple to realize. Similar to the way web server farms load balance, so do SIP proxy servers.

功能列表

系統應用服務

SOA Architecture / Business Process Integration using Web Services

核心呼叫功能(電話功能)

911緊急響應

企業即時通信系統

Personal Assistant IM Bot

Presence and IM Federation

Web Conferencing & Collaboration

User Self-Control (User Web Configuration Portal)

高質量語音

用戶管理

更多內容

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章