帳號:
密碼:
CTIMES / 文章 /   
74種開放源碼的VoIP應用與資源
 

【作者: 黃弘毅】   2007年05月25日 星期五

瀏覽人次:【6096】
  

全面IP化的網路電話時代就要來臨了,根據統計,不論是業者或消費者對VoIP最關心的就是安全上的問題,這固然有賴於政府法規與通信軟硬體整合業者提出良好的解決方案,但VoIP本身也要有公開透明化的機制才行。因此,許多專家都建議政府的基礎設施或法規部分能以開放源碼(Open Source)的VoIP來做為建制的標準,不僅可以節省成本,也更具有安全性與公信力。


開放源碼的VoIP有什麼好處呢?因為使用者得以存取相關的內碼,了解實際內部運作的流程,政府也能發揮公權力,管制追查不法者的勾當,並保護一般大眾的隱私。再者,Open Source在VoIP方面的資源相當豐富,仍提供更多先進與多樣化的應用。所以,以下要介紹74種Open Source的VoIP軟體,讀者可直接連結下載來使用,必要的話還可以更改程式以符合特定的VoIP需求。


下面74種VoIP的Open Source與相關資源將以SIP、H.323、IAX與RTP等通訊協定來分門別類,並包括客戶端(Client)、程(函)式庫、閘道監控(gatekeeper),以及其它可利用的Open Source資源,像是一些附加在PBX與IVR平台上的特殊通訊協定。當然,讀者也可據此找到一些應用工具,像是傳真軟體、語音信箱(Voicemail)等,或是前面所提到通訊協定的一些中介軟體應用。


H.323 Clients(使用者端)

VoIP習慣上都會用H.323的協定,這是一個相當複雜的通訊協定,使用多通訊埠與二進位碼傳輸資料。然而有些應用軟體像是FreeSWITCH能使H.323似乎像是一塊多層蛋糕般,有著一體整合的實用外觀。接著介紹的H.323客戶端則再分為跨平台或單獨應用在Linux、MacOS X與Windows的系統。


跨平台

(1) FreeSWITCH – 這是一個語音通話的平台設計應用,是一種幫助建立語音傳輸與聊天軟體的驅動產品,從軟體電話到軟體交換器都可處理。它可以當做一個簡單的交換器引擎使用、一個媒體閘道器或一個IVR應用主機的媒體伺服器,且使用簡單的描述語言(Script)或XML來控制撥接流量(Callflow)。FreeSWITCH可在數種作業系統上執行,包括Windows、Mac OS X、Linux、BSD與Solaris等32位元與64位元的平台。同時本軟體也支援多種通訊協定,能在SIP、IAX2與GoogleTalk上運行,並且容易整合其它開放源碼的PBX系統。


(2)YATE – 號稱下一代的語音通話引擎,同時也是第一個能夠掌控600個H323撥接數的開放源碼通話軟體。此軟體僅管目前集中在VoIP與PSTN的應用,但以它強大的功能介面,也能容易地再擴充其它應用,語音、視訊與資料,乃至於即時訊息都可以整合在Yate此一彈性化的路由配接(routing)引擎下,使用在商業辦公室上,可得到最大的通信效用,與最少的建置成本,因為Yate可以提供任何從VoIP伺服端到IVR的引擎介面。此一軟體用C++開發,並支援種種語法的描述性語言,當然它也支援多種通訊協定,不僅提供穩定的H.323介面,也能在SIP與IAX上運作。特別是大多數的SIP-H323轉譯應用都是使用Yate,因為它是開放源碼中唯一穩定可靠的轉譯介面。


Linux

(3)Ekiga – 就是之前所知的GomeMeeting軟體,是在GNOME(一種Linux桌面平台)環境下的一個開放原碼VoIP與視訊會議應用軟體。Ekiga使用H.323與SIP兩種通訊協定,並支援多種音頻與視訊的編解碼功能,在ㄧ般提供SIP的裝置上都可相容使用,包括微軟的NetMeeting。


MacOS X

(4)XMeeting –這是第一個在Mac OS X下運作,與H.323相容的視訊通訊終端程式。


Windows

(5)OpenH323 Project –此一專案的目標是建立一個全功能、跨機種執行的ITU-T H.323電信會議協定,提供個人或企業來免費使用開發相關應用。


H.323 GateKeeper

(6)OpenH323 Gatekeeper –一個全功能且跨平台的H.323閘道監控軟體。


H.323 Radius Platform

(7)BSDRadius –一個全功能且跨平台的H.323閘道監控軟體。


SIP Clients(使用者端)

Session Initiation Protocol;SIP此一開放性通信標準目前以RFC2543的文件定義為通用,用來替代專門為多媒體信號管理的H.323IETF訊號標準。SIP可以用來啟始語音、視訊與多媒體會體的應用,它兼有兩種的互動模式(例如IP電話或視訊會議),而不是單一種的互動(例如只是一種影音串流)。SIP標準是目前與未來最有希望的IP-based電信服務候選者,同時它也已被推舉為通信會議層的相關使用標準,如一般傳訊、遊戲等,SIP需要用到兩個通訊埠,ㄧ個用來交換指令,另ㄧ個用為傳輸內含語音的RTP串流。SIP比H.323更容易提供防火牆來運作,但必須建置proxy來配合,以下的SIP應用軟體分為跨平台與僅供Linux使用的兩大部分:


Multi-Platform

(8)SFLphone –有著相當漂亮小巧面板(金屬構造)的多通訊協定(SIP/IAX)與多圖形使用介面的VoIP通信軟體,可使用在許多桌面環境上。此專案原本在Linux開發,也可移植到不同喜好的BSD作業系統上,以及Win32的相關環境使用。


(9)Linphone –可以讓你自由地在網際網路上與其他人完成語音、視訊與文字即時訊息的通信工作。本軟體可在Linux下很穩定地運作,且FreeBSD與OpenBSD也沒有問題。


(10)Minisip –這是由瑞典皇家技術學院的博、碩士班學生我開發的系統。他能使用在電話交談、即時訊息傳輸與視訊電話等,只要你的夥伴有同樣的SIP網路介面即可連線。可在多種作業系統上執行,包括Linux PC、Linux類的IPAQ PDA、Windows XP與Windows Mobile 2003 SE等。


(11)OpenWengo –此一專案是旗艦型的通信軟體,讓你能夠自由地在PC到PC上做視訊與語音的交談外,又能整合所有的即時訊息聯繫在ㄧ個地方。透過Wengo的合作廠商,還能提供相當便宜的PC至一般電話端的通信,可用的作業環境有Linux、MacOS X與Windows等。


(12)PhoneGaim –Linspire此一簡易使用的Linux介面所提供的VoIP軟體,可直接用安裝Linspire的電腦撥電話給親朋好友。


(13)sipXtapi –sipXtapi是一個綜合的SIP終端程式庫與軟體開發套件。包括處理SIP訊號所需支援的媒體架構,因此很容易建立一個完整且相當有特色的VoIP通信軟體,並且提供圖形使用介面。另一種方式為使用在嵌入於現有的裝置中,作為增加一種即時通信的應用。本專案主要在Win32下開發,然而在Linux或MacOS X下建構使用也沒問題,至於WinCE版本則正在開發。


(14)OpenZoep –由一家專門的VoIP軟體開發公司Voipster所發展的終端通話軟體與即時訊息通訊引擎,提供PC至PC通信、即時訊息通信與外接PSTN或SIP的免費通話或加值服務。


Linux

(15)Cockatoo –用以實現SIP/SIMPLE提供Thunderbird(一種XPCOM元件/XUL介面)的專案軟體。能夠讓使用者透過電話簿與一般電話用戶聯繫,並且看到他們現場的狀況。


(16)YeaPhone –此一軟體的目標將VoIP軟體與Yealink USB handset整合一起使用,這樣就可以不用PC鍵盤與顯示器了。意思就是說YeaPhone相當適合應用在嵌入式的裝置上,使一些手持裝置提供額外的互動通信功能,同時它使用時也很省電。


(17)Twinkle –相當好用又新穎的VoIP通信軟體,使用SIP協定做IP phone對IP phone通話外,也提供在網路上建置SIP代理主機(proxy)來轉接電話。


Windows

(18)1videoConference –整合性的視訊會議軟體,讓網路上運行的語音/視訊電話、Skype、MSN與Yahoo Message等使用者能同時參與在一個現場即時的視訊會議當中。本軟體不需要冗長的下載與複雜的安裝程序,只要簡單的拉入一小段控制碼到網站中,並立即建立一個線上視訊會議室就可以了。


SIP Proxies

(19)Open Source SIP –此一開放源碼的SIP專案建立於2006年3月,是為了促進SIP應用在商業上可實行的發展方式。本專案由Solegy所贊助,承接其已超過6年的研發成果。


(20)Partysip –提供一個模組應用的工具,它的作用還須透過其它外掛軟體來顯現,端賴所外掛的軟體,而有種種不同的功能,例如使用為SIP的登錄器、一個SIP的轉向伺服器或全方位狀態伺服器、SIP服務提供者等。


(21)MjSip –一個完整用Java-based開發實現的SIP組合應用,提供應用程式介面與執行套件。此軟體目前已有大學資訊工程系在使用,並做為研究實作之範本。


(22)OpenSER –此一企劃目的為開發一個強大且具規模的SIP伺服器而作。軟體源生於FhG FOKUS SIP Express Router(SER)專案。


(23)SIP Express Router –這是一個高效能、彈性化設定的SIP伺服器,能作為登錄器、代理中心與轉向配接伺服器。SER的應用特點為伺服器介面、現場支援、SMS閘道、SIMPLE2Jabber閘道、RADIUS/syslog帳戶處理、授權管理等、使用狀態監控、FCP安全措施等,,且本軟體是Web-based等介面。


(24)Siproxd –提供SIP通訊協定一個代理/偽裝的高手用工具,透過操作SIP終端登錄在一個私人IP網路上,然後重新寫入SIP訊息主體,以使SIP連線可以經由一個偽裝的防火牆。也就是說它允許SIP終端使用(像是kphone、linphone之類),在IP偽裝防火牆或路由器的後方運作。


SIP Protocol Stacks and Libraries

(25)OpenSIPStack –一組SIP的實務應用程式庫,主要依RFC3261文件標準而建立。程式庫首要目的為提供應用開發人員有一個與SIP協定完全相符的介面,且能有一個具層次規模與穩定的開發概念。程式庫包括低階與高階兩種介面,是開發SIP代理伺服器、現場伺服器、終端軟體與即時訊息軟的理想工具。


(26)The GNU oSIP Library –提供多媒體與電信軟體開發人員一個簡單而功能強大的介面,以開發並控制SIP基礎的視訊會議應用在其軟體中。


(27)The eXtended osip Library –此一程式庫為隱藏在複雜的SIP協定多媒體視訊中的建構工具。SIP協定主要用在VoIP通信的應用(終端或視訊會議伺服器),然而也可以應用在任何想建構視訊通信的軟體中,例如多人線上遊戲軟體。


(28)Vovida SIP Stack –此一版本原則上不支援Wi n32平台,雖然有些社群朋友已經把它展現在相關的Windows通信埠上。


(29)reSIProcate –由SIPfoundry開發社群的一個專案,此程式庫提供建立免費可用且完全標準化的SIP模組,包括一個容易使用的應用層API。最重要的是在目前已有多個商業產品使用此一程式庫開發。


(30)Twisted –這是一個事件驅動(event-driven)的網路通訊引擎,用Python開發。Twisted中有眾多可攜式的元件,廣泛支援種種不同的協定(包括HTTP, NNTP, IMAP, SSH, IRC, FTP與其它等等)。


(31)PJSIP –一個小巧高效能的SIP媒體模組,以C語言開發,用來開發嵌入式或非嵌入式VoIP的應用。PJSIP是建立在PJLIB程式庫上頭的工具,由於PJLIB是非常好的可移植性程式庫,所以基本上PJSIP可在任何平台上執行,而且已實際連結成功(包括一般較難以連結的現有平台程式,像是Symbian手機平台與一些自製的作業系統)。


SIP Test Tools

以下的工具基本上用於測試SIP的應用軟體與裝置上,然而每一種在通訊協定測試的項目仍有所不同,端賴其專注的議題與額外的應用。


(32)Callflow –收集自awk與shell等描述語言的電話流量記錄與解讀工具。除了能詳細讀取流量資料外,也能將作出流量分析曲線的圖示。本程式已在SIP通話流量上測試過,但在其它網路流量的處理上應該也可已運作。執行後會產生一Callflow.svg檔,可用Adobe SVG外掛軟體來讀取,或者也可用一般瀏覽器來讀取所產生的Index.html檔。Callflow指令是一清楚完整的描述語言,就放在“to-do”清單上,可直接拿來使用。


(33)SipBomber 0.8 –這是來自Metalink在2003年內部使用給Linux原始開發者針對SIP通訊協定的測試工具,所以它是無價的寶貴資源。隨後不久就以GPL授權做為開放源碼的產品。


(34)SIP Proxy –此一軟體讓你有機會用來監聽與操作SIP通信流量。此外,預先設定的安全性測試機制,也可用來執行並找出在VoIP裝置上的弱點。


(35)sipsak –一個給SIP開發者與管理者使用的命令式小型工具,可以在SIP應用軟體或相關裝置上做一些簡單的測試。


(36)SIPp –SIP測試工具與通信狀況產生器。它包括一些基本的SipStone使用者代理方案(UAC與UAS)與建構,以及使用INVITE與BYE方法所釋出多樣的通話記錄。它可用一般XML方式來讀取從非常簡單到很複雜的通話流量檔案,它還有特點是以動態顯示關於運行時的測試統計資料。


(37)PROTOS Test-Suite: c07-sip –此一測試軟體的目的是用來評估SIP實行時,傳訊上的安全狀況與穩固問題。主要針對特定協定資料單元(PDU),也就是稱做「INVITE」訊號的設定,這是SIP下的子協定。


(38)Vovida.org Load Balancer –這是一個負載平衡的應用工具,使用簡單的代理伺服器就能達成,對SIP-based的VoIP設置很有用,以進入多個代理伺服器來做負載平衡。本軟體會偵測使用者連線的需求與狀況,來做複雜的演算,以提供終端使用者最佳的連線品質。


IAX Clients (User Agents)

在開放源碼有一個Asterisk專案(請參考下面PBX platforms的介紹),即用來實現軟體化的PBX(Private Branch Exchange)系統,或是提供一個辦公室或校園裡的私人電話交換網路。當一個內部協定設立兩個或更多PBX伺服主幹時,那麼所謂IAX(Inter Asterisk Exchange)通訊協定就完成了。所以IAX是一個輕量級的方案,其建立在UDP與整合電話訊號、語音到一個資料串流中。此一串流相當適合做為一個有簡單防火牆的連線方式。


(39)IAXComm –提供Asterisk PBX一個跨平台的應用軟體,它已在Windows XP系統發展完成。


(40)Kiax –一個IAX終端的應用軟體,能讓PC使用者在Asterisk伺服網路上打一般的VoIP電話。它針對提供一個簡單且有良好圖形介面與桌面環境來做整合應用,如通話、電話簿記錄、通話註冊管理與簡易的設定等。


(41)QtIAX –依照IAXClient(參考下面說明)為基礎而做的應用,只是此軟體提供單純在主幹網路上的連線應用。


(42)MozIAX –從火狐(Firefox)VoIP延申的應用,是一個跨平台的軟體,得以使用在Asterisk下做終端連線。


(43)YakaSoftware –用於YakaPhone背後的開放源碼軟體,提供一個簡單、變化操作面板的IAX/IAX2終端軟體。


IAX/PBX Library

(44)IAXClient –用以實現使用Asterisk 軟體化PBX的IAX通訊協定,所提供的開放源碼程式庫(雖然Asterisk也支援其它的VoIP協定,包括SIP與部分H.323)。IAX有著簡單、輕巧的本質,在實行有許多優勢,特別是可透過NAT做簡單的運作,而封包有防火牆的保護,以及容易做擴充與了解架構。


RTP Proxies

RTP(Real-time transport protocol)是網際網路上的標準通訊協定,用來傳輸即時的資料,包括語音、視訊等。因此實際上所有VoIP架構都會用到RTP協定,才能實現視訊會議、隨選媒體與其他種種應用等。一個陽春的RTP協定處理,必須支援內容定義、時序重整與偵察遺失的封包等。


(45)Maxim Sobolev's RTPproxy –提供RTP串流的代理伺服器軟體,可幫SER(SIP Express Router)操作NAT(Network Address Translation,定義在RFC1631)的狀況,也能作為IP電話在IPv4與IPv6之間通行。程式已廣泛地在FreeBSD、Linux、MacOS與Solaris上測試執行過,應該也很容易掛上其他任何具有POSIX介面的系統上。


RTP Protocol Stacks

(46)JRTPLIB –這是一個物件導向的RTP程式庫,以C++開發。此程式庫提供支援做出很容易收發RTP封包與RTCP(RTP Control Protocol)內部整體操作的功能。


(47)oRTP –RTP通訊協定的程式模組,可跨平台的使用。


(48)GNU ccRTP –用C++開發的RTP程式庫,提供符合RTP stack與完整RTCP支援的一個高效能、彈性化與可擴充性標準程式。利用此軟體的設計實現適合高容量伺服器與閘道,也可作為個人終端的應用。


(49)Vovida RTP Stack –經由RTCP加強用來監督資料傳輸與網路狀態的應用,同時它也解決很多UDP網路環境的問題,例如遺失封包,跳動與不連續的封包等。


(50)RTPlib –由貝爾實驗提供的一個程式庫,大多為RTP最近版本的詳細內涵,以及一些最新的特點,包括RTCP各層級的演算方法。


RTP Protocol Stacks

(51)Asterisk –Asterisk是一個著名普遍且可擴充的開放源碼通訊軟體,它提供彈性化、高功能的商業性應用。可在Linux、BSD、Windows、OS X上執行完整的IP PBX電話系統,提供所你所期盼從PBX得到的功能甚至更多。支援三種通話方式─Caller ID services、MGCP與SCCP/Skinny。


(52)OpenPBX.org 1.2 RC3 –此一版本包括高參與度與強化的新款視訊會議橋接功能,叫做NConference。


(53)Open Source Software PBX –此一軟體用Perl開發,會是一個穩定、特色多且容易使用的軟體,同時也容易在各種作業系統上展現。


(54)PBX4Linux –這是一個ISDN連線的PBX,可與ISDN電話、ISDN線與H.323閘道互連。它是一個純粹的軟體解決方案,因此無法用ISDN卡與電話,因為他以Linux box連結。最大好處是在NT-mode上允許連接電話到一ISDN卡。


(55)SIPxchange –一個企業等級的SIP PBX、SIP通話管理與路由器,以及SIP終端軟體,是百分之百的SIP與開放源碼軟體。適合應用在高品質的硬體伺服器且使用Linux作業系統,支援多種類的IP phones與閘道,不同機種可無縫地連線通話。


(56)sipX –提供模組化的伺服解決方案,包括語音信箱、自動插接等。sipX可使用在ㄧ個需要高效能需要的企業,透過SIP router替代傳統長途電話連線。本軟體為Web-based的設定介面,並整合PBX的各種管理工具。


IVR Platforms

(57)GNU Bayonne –整合GNU通話軟體元件,特別針對SIP,提供免費、多層級、獨立媒介的軟體環境,以利一般VoIP電話的開發與部署。


(58)CT Server –提供快速建構電腦電話(CT)client/server的程式庫。此一應用以Perl 開發,它使用數位語音(Voicetronix)硬體,在Linux下執行,支援OpenSwitch卡來建立PC PBXex。


Voicemail Apps

(59)lintad –Linux電話答錄裝置(LinTAD),是一種傳真與語音信箱的應用工具。使用軟體數據機當做語音卡附加在電話線上,可用來播放問候語、錄下來電留言。


(60)Linux Voicemail/OpenUMS –此軟體目的為建立開放源碼在Linux執行的語音信箱與統一的訊息系統,,同時也能與商業電話系統做整合。


(61)VOCP System –針對語音數據機訊息提供完整的解決方案,包括語音信箱、傳真、電子郵件傳呼、DTMF命令shell描述與文字轉語音等支援,有3種GUI與一種Web介面,可在PC主機上收發傳真、語音信箱、聽電子郵件與執行其它程式等。


(62)OpenVXI –這是一個語音化的XML(VoiceXML)解譯軟體,本身為可移植性的開放源碼程式庫,可解譯VoiceXML的對話標示語言。


Speech Software

(63)The Festival Speech Synthesis System –Festival提供建立語音合成系統所需的一般架構,包括種種模式的示範。整體而言,它透過一些APIs,提供全文字轉語音的功能,基本上它是多語系的,但目前只有支援英語與西班牙語。本系統以C++開發,並使用Edinburgh語音工具程式庫做為低階部分的架構,也有一個Scheme(SIOD)-based的解譯式命令控制功能。文件使用FSF texinfo格式,可產生可列印成冊的檔案、資訊保留檔與HTML檔等。


(64)OpenSALT –語音應用語言標籤(Speech Application Language Tags-SALT)是一個輕量級的Markup語言,它整合語音服務到標準的Markup語言中,如HTML等。支援多種形式的對話方式,也能應用在不同的桌面系統與VoIP平台。


(65)CMU Sphinx Projects –此一專案所釋出的一組理性成熟且為世界級的語音處理元件,提供基本層面的技術給任何有興趣建立語音系統的人。使用此軟體不受任何限制,也少掉最初在研發上需要的投資成本,且對於語言學研究者而言也都很有用。


Fax Servers

(66)HylaFAX –一個企業等級的傳真伺服系統,可收發圖形傳真(facsimiles),也可發送字母符號(alphanumeric)頁。此一軟體的設計包括client-server架構,傳真機器可在網路上單獨連結,網路上的使用者可從不同節點上遞交工作給它處理。


(67)AstFax –針對Asterisk PBX提供Email轉到Fax的閘道服務,或是收進來的傳真轉到Email信箱。


Development Stacks

(68)OpenSS7 –提供一個強大與GPL授權的SS7、SIGTRAN、ISDN與VoIP式組應用在Linux或其它Unix式作業系統中。


(69)ooh323c –這是一個簡單的H.323通訊協定模組開發工具,目的為生產可重複使用的架構,內含允許不同頻道來建立其訊號程序,以及不同H.323終端軟體的應用。此一軟體現在也提供Asterisk開放源碼上的附加應用。


(70)++Skype Library –Skype程式庫是一個新穎時髦的開發平台,做為獨立的Skype之附加軟體。這是徹底以分類設計的C++程式庫。


(71)OpenBloX –用來實現整個或部份3GPP與3GPP2 Diameter的詳細開發架構與工具。此一套件內含最小化的Diameter-based協定(定義在RFC 3588),且擴大提供支援3GPP上層的特定應用,像是Rx、Gx、Ro、Cx、Sh 與其它 3GPP定義的介面。


Middleware

(72)MobiCent –這是第一個也是唯一的開放源碼符合JSLEE 1.0的VoIP平台,帶給電信應用一個強大的元件模組與執行環境。它符合J2EE能夠整合語音、視訊與資料的下一代智慧型應用。


(73)Ernie –此一軟體應用,整合Web 2.0設計的原則,並應用下一代的通訊技術,包括VoIP、現場視訊與Web互動語言如Python等。LAMP開發社群是此軟體主要的使用族群。


(74)SIP Thor –建立在P2PSIP技術的應用,能夠使點對點通訊做不同層級的處理。此一式組技術結合IETF標準,像是SIP、DNS與ENUM的P2P。


相關文章
NEC SL2100/UC PBX打造智慧通訊
4G LTE不僅是速度 更是服務
VoIP之應用架構
實現VoIP解決方案的處理器設計
VoIP網路電話PoE介面設計
comments powered by Disqus
相關討論
  相關新品
  相關新聞
» 達梭系統3DEXPERIENCE World 2020 號召創新者共造設計世界
» Infor 在廣州舉辦2019製造業數位化創新高峰論壇
» 趨勢科技推出全方位智慧工廠資安解決方案
» 趨勢科技併購 Cloud Conformity 強化雲端資安領先地位
» 遠傳攜手北市府 啟動全台首座5G IoT開放試驗場域
  相關產品
» JIUN推出新款雲端醫學影像管理系統
» 技嘉PCIe M.2 SSD引領NVMe架構固態硬碟發展
» 是德科技與OPPO合作 推動5G終端研發與商業化
» Ayla Networks推出蜂巢式物聯網解決方案
» Ayla Networks推出蜂巢式物聯網解決方案

AD


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2020 遠播資訊股份有限公司版權所有 Powered by O3
地址:台北市中山北路三段29號11樓 / 電話 (02)2585-5526 / E-Mail: webmaster@ctimes.com.tw