在我的《自裝網絡電話》原文裏,我推薦新手用SPA1001,因為它能夠二線進、一線出,便於打入和打出用不同的服務商,得到最低的費用。其實這個SPA1001相當於內含一個非常簡單的交換機功能(PBX)。
現在SPA1001很難買到了,大多是來自香港(內地)的山寨貨,噪音大,質量控製差別很大。
其實不一定非要SPA1001,任何ATA都行的,根據自己的情況和要求,通過相應的設置來達到目的。
最主要的是先選定打出的服務。Betamax最便宜,比如VoipDiscount,Rynga等。這裏以Rynga為例。先把你的ATA的Line1接到sip.rynga.com上,隻要status顯示注冊上了就成了。這時試一下,應當能成功地打出去。
然後到ipkall注冊一個新號碼。在非常簡單又迷惑的設置裏,“phone number”是你的Rynga的用戶名,“proxy server”是 sip.rynga.com。然後用手機撥這個ipkall號,你的網絡電話應當響鈴,順利接通。
如果你對外使用GoogleVoice號的話,當然這個ipkall的號碼要在其forward之列。如果你的電話號碼是在callcentric,你也可以把它forward到ipkall號,但是最好直接SIP forward到UserName@sip.rynga.com,少走一段彎路,又省掉了打出到ipkall號的錢。
你看,隻用了ATA裏的一條線,完美實現打出和接入。
如果需要更靈活的電話功能的話,那就隻有玩PBX了。
最容易入手的是用online的PBX,比如pbxes.org。把PBX注冊到VOIP供應商,可以是多個比如Rynga和CallCentric等,叫做Trunk。然後把你的ATA注冊到PBX,也可以是多個,比如你自己家裏的ATA和遠在中國的父母家裏的ATA,叫做Extension。在PBX的設置裏可以實現幾乎所有你能想到的或想不到的多種打出和接入的方案。
這樣的一個好處是,ATA的設置簡單,都是注冊到PBX完事,以後不需要常更改,所有的更改都在PBX上做。比如你以後要更換VOIP供應商的話,中國父母家的ATA不用變,隻要把PBX裏的Trunk和DialPlan改一下就是了。
還有一個好處是很多PBX都有CallBack的功能,就是當PBX看到是中國打來的電話的話,就掛斷,這樣來電者不會有付高額國際通話費的風險,然後PBX自動把電話打過去(你出錢)。
用online的PBX有一個可能的問題:因為很多人用Betamax,當betamax注意到很多的電話都是來自同一個IP時,可能會給你加上限製。另外就是有些不是很可靠,比如SipSorcery。
所以用online的PBX練練手之後,最好還是自己用一個破舊的laptop或netbook(現在200刀以下就能買一個)來做PBX,隻要能運行XP就夠了。Desktop當然也行,但是不宜做長久用途,因為又吵又耗電還怕停電、易出故障,而且並不便宜。免費的、又簡單好用的PBX軟件有miniSipServer和NCH的Axon,一定要先試試,看看PBX到底是怎麽回事。SipSorcery比較複雜,但是有一個傑出的功能就是通過GoogleVoice直接撥號打美、加免費電話。還有就是上麵提到的callback。當然你要用DynDns來給ATA一個不變的注冊域名,還要讓家裏的router/gateway打開port 5060,forward到你的PBX。
除非你有大量時間用來浪費或者要做VOIP生意,不要去碰基於Linux的PBX比如Asterisk和FreePBX,太messy了。
附:Betamax打出時的號碼顯示問題
首先確保你想顯示的號碼(CID)是能接電話的,比如是你的手機的號碼。如果是google號碼,一定要forward到某個手機上。先自己給這個號碼打個電話,接聽後按1234,在來電那方要能聽到同樣的聲音。有些電話的DTMF有問題,就不能用來做下麵的事情。
到你用的Betamax(比如Rynga)的賬號裏注冊這個CID。一會Rynga就會打到這個號碼,接聽後讓你按code,它聽到正確的code後就成了。所以我上麵說DTMF要沒問題,如果有問題的話,Rynga就聽不到你按的code。
注冊成功後,ATA或PBX裏要做相應的設置來顯示這個CID。以PAP2為例,UserID就是你放CID的地方,比如0012043367373. Use Auth ID 選 yes,Auth ID用你的rynga用戶名。往後你再打出去,接聽者看見的號碼就不是亂碼了,而是2043367373。注意Betamax隻是個二道販子,使用多個不定的打出的服務商,其中有些不支持CID,你某次打電話時恰好碰到這些服務商的話,CID就還是會是亂碼。