如何讓親友免費打電話給你

本文內容已被 [ fitwxc ] 在 2009-08-26 03:30:50 編輯過。如有問題,請報告版主或論壇管理刪除.

這裏雖然講的是打電話,實際上是如何利用最新的電腦和網絡技術的一個實例。

你不需要任何VOIP設備比如ATA,當然有的話更好,你隻要有一個電話就行,比如手機,家裏已有的電話,或辦公室裏的電話都行。傳統的電話,VOIP、IP電話都行。

你的親友使用時也很簡單,隻要撥一個你給的號碼,然後又掛掉就是了,過一會電話會自動打過去。因為電話不會接通,所以打電話的人隻要是接電話是免費的,就不會要付任何費用。

所有你所需要的隻是一個SIP供應商,比如CallCentric(CC)。賬上需要有些credit,能夠打國際長途。也需要有一個DID(網絡電話號碼),用於這個Callback用途。

先到CC申請一個免費帳號。如果沒有free的credit送你的話,加上5塊錢,打中國是一分鐘不到2分錢。然後再買一個DID,一個月才兩塊錢,注意e911是要加費費的,所以不要加(除非你真需要)。

然後到SipSorcery.com,建立一個新帳戶,進行一點很簡單的設置。在”SIP Account“裏,Out和in Dial Plan都要選用”default“。 在“Sip Provider”裏加上一個新帳號,取名“CC”,使用CC的用戶名(1777xxxxxxx)和密碼,Server是“callcentric.com”,並選上注冊(Register)。然後在Dial Plans裏點一下“default”,把下麵的內容復製進去並update:

-----------------------------------------------------
if sys.In then
cid = req.Header.From.FromURI.User
case cid
when /^86/ then nb = "00"
when /^0086/ then nb = ""
else
nb = "0086"
end
sys.Callback("16265551212@CC","#{nb}#{cid}@CC",15)
end
-----------------------------------------------------

這段Ruby小程序很簡潔(我的一貫風格),很好理解:如果有電話打進來了(sys.In),先獲得來電的CID,並根據CID的具體情況,確定需要添加的字頭,保證字頭是“0086”,因為CC的撥號要求這個格式。然後不接通便掛斷,等待15秒,好讓對方有時間掛機。15秒後,它先撥你的號碼(16265551212),然後撥來電者的號碼(字頭 + CID),這樣雙方就被接通了。你的號碼可以是任何電話,比如手機,辦公室座機,或你的GoogleVoice號碼等。

可見,來電者撥這個Callback DID號碼時,電話沒有被接通過,所以不會有任何費用的問題,你的DID也不會被收費。打回去和打到你都是通過CC,很便宜,加起來約3分錢一分鐘。

就是這麽簡單。下麵再做一些更多的說明。

如果你想省掉DID的月費,可以不用CC的,到SipGate(SG)申請一個免費的DID。然後把SG加到“SIP Providers”裏,並register。CC不再必須register,因為不再用它接入,隻是打出。IPKall的DID不行,因為不能顯示中國來電的CID。

當然,CC除了用在這裏之外,還可以用到別處打VOIP電話。

如果你隻想把來電接到你的ATA,那麽把“16265551212”換成:
“UserID@sip.voipdiscount.com"或”1747xxxxxxx@proxy01.sipphone.com“等。如果你的ATA也是接到SipSorcery的話(最好另立一個賬戶,除非你以後對SS很熟悉了),那就是”UserID@sipsorcery.com"。好處是,這樣CC打到你是通過SIP而不是PSTN,因而是免費的,每通電話下來,能節省一半的錢。

注意在這裏不要用VoipDiscount(VD)取代CC。不是所有的SIP provider都支持這個”Callback“功能,CC是我試過的幾個中唯一沒有問題的。尤其是VD,有許多SIP兼容性問題,比如如果”16265551212“是你的手機的話,你又沒接的話,一旦走到語音信箱裏,VD不知道怎麽掛掉,一下子就會用掉60分鐘。所以,VoipDiscount最好隻用來老老實實打便宜電話,不要做其它復雜的用途。

這裏也就解決了一個許多人都碰到的問題:取消iTalkBB後,如何再讓國內的親友免費打過來?當然,這個辦法不隻限於中國大陸,其它國家隻要把相應的國家代號加到上麵的dial plan裏就是了。接電話的人可以在任何一個國家裏,隻要把”16265551212“改成”00+國家代號+號碼“。

最後再教你一個測試這個Callback的好辦法。如果你還沒有免費的SipGate的DID的話,去申請一個,並得到200分鐘免費credit(隻能打美國)。按照上麵的介紹,把這個DID設置為Callback的號碼。跟CC的DID相比,不但無費用,而且可以用來進行下麵的Callback調試。

首先到你的SG帳號裏,把它的CID設置成862161416222(Seagate中國),用它來模擬來自中國的電話。這樣你用SG打出去時,來電顯示是1862161416222(加了1),可是SG在接電話時如果看到有1時,又會把1去掉。這樣SS接到這個電話時,看到的來電是862161416222(沒有1),正合俺意。

這裏順便說一句:如果中國來電沒有86或0086打頭的話,而且又是1開頭的話(比如有些手機號),這個1會被SG去掉。碰到這種情況,比如來電號碼實際上是1-234-567-8900的話,就要加這麽一行:

when /^2345678900/ then nb = "00861"

然後用一個Softphone(比如X-Lite)連接到SipGate,注意不要Register,因為這個SG已經Register到SS了,否則SS會接不到,又會回到這個Softphone!然後用這個Softphone撥這個DID,撥不通,掛掉。15秒後你的電話(16265551212)就會響鈴,馬上拿起來,你就會聽到Seagate中國上海小姐美麗動聽的歡迎辭:”您好,歡迎致電希捷上海有限公司。現在是非工作時間,請直接撥打分機號,查號請撥零...有關細節請登錄希捷官方網站,www.seagate.com ...“。

恭喜!一切妥當,可以讓你的親友撥001然後接著撥這個10位數的DID。

總之,SIP網絡電話的可能性是無止盡的,隻限製與你的想象力和了解程度,這裏隻是一個活用的例子。大家也可以由此一例看到為什麽我極力推薦SipSorcery。

作者:文學城裏的fitwxc,不要忘了我其它許多帖子,比如FAX指南,打印機指南,費用幾乎為零的手機,自裝網絡電話係列等。

所有跟帖: 

先頂起來再慢慢研究 -coorslight969- 給 coorslight969 發送悄悄話 (0 bytes) () 08/25/2009 postreply 22:00:50

同意!請“業餘初段”等親傳弟子抓緊學習領會,盡快推出實施細節 -lipton333- 給 lipton333 發送悄悄話 (6 bytes) () 08/25/2009 postreply 23:15:54

大頂。就是學不過來,GV+G5+GVout+X-Lite 我都還沒調好 :-( -色大膽小- 給 色大膽小 發送悄悄話 色大膽小 的博客首頁 (0 bytes) () 08/26/2009 postreply 06:49:06

有SG你再提CC會把用戶看暈,還有SS運行可靠嗎? -中北- 給 中北 發送悄悄話 (481 bytes) () 08/26/2009 postreply 08:25:05

你可以下載Sipsorcery V1.1,自己run -fitwxc- 給 fitwxc 發送悄悄話 (0 bytes) () 08/26/2009 postreply 11:04:18

其實我不懂SIP內部結構,更沒搞過SIP、VOIP開發,業餘愛好之一而已 -fitwxc- 給 fitwxc 發送悄悄話 (0 bytes) () 08/26/2009 postreply 11:57:38

非常感謝 -newpeople- 給 newpeople 發送悄悄話 (0 bytes) () 08/26/2009 postreply 12:10:35

我,一個老天使,在看一段天書。沒有天圖或者天影嗎? -人在北美片反主- 給 人在北美片反主 發送悄悄話 (0 bytes) () 08/26/2009 postreply 14:05:43

把文中的CallCentric,換成Gizmo5,是否依然成立? -色大膽小- 給 色大膽小 發送悄悄話 色大膽小 的博客首頁 (166 bytes) () 08/26/2009 postreply 15:21:55

除非你有G5的DID,GV的號碼不行,因為一撥就接通 -fitwxc- 給 fitwxc 發送悄悄話 (0 bytes) () 08/26/2009 postreply 19:18:15

是我不懂概念,以為那1747。就是DID。DID應該是個任何電話可撥打的號碼。 -色大膽小- 給 色大膽小 發送悄悄話 色大膽小 的博客首頁 (56 bytes) () 08/27/2009 postreply 05:03:54

是的,還要把SG的voicemail關掉,否則會進到那裏去,算錢的。 -fitwxc- 給 fitwxc 發送悄悄話 (0 bytes) () 08/27/2009 postreply 22:58:22

G5的1747號碼不是DID。GV的號碼是DID,隻是這個永遠都是一撥就通! -fitwxc- 給 fitwxc 發送悄悄話 (82 bytes) () 08/27/2009 postreply 23:01:46

明白多了,再謝。 -色大膽小- 給 色大膽小 發送悄悄話 色大膽小 的博客首頁 (0 bytes) () 08/28/2009 postreply 04:57:36

也可以用GoogleVoiceCall,更省錢一些,不需要CC等 -fitwxc- 給 fitwxc 發送悄悄話 (502 bytes) () 08/26/2009 postreply 19:47:15

注意“16265551212”不能是“1747xxxxxxx”,其它都可以 -fitwxc- 給 fitwxc 發送悄悄話 (0 bytes) () 08/26/2009 postreply 20:08:42

另一個測試方法是: -fitwxc- 給 fitwxc 發送悄悄話 (278 bytes) () 08/26/2009 postreply 20:56:26

回複:如何讓親友免費打電話給你 -踢踢踏踏- 給 踢踢踏踏 發送悄悄話 (160 bytes) () 09/06/2009 postreply 11:55:38

回複:如何讓親友免費打電話給你 -陽光93- 給 陽光93 發送悄悄話 (51 bytes) () 09/08/2009 postreply 13:08:42

我買的電話卡,打往大陸每分鍾1.2美分,哪一個更劃算? -陽光93- 給 陽光93 發送悄悄話 (0 bytes) () 09/08/2009 postreply 13:13:02

跟貼“回複:如何讓親友免費打電話給你”標題有誤,請版主刪除。 -陽光93- 給 陽光93 發送悄悄話 (0 bytes) () 09/08/2009 postreply 13:21:39

可否用現擁有的電話號碼做DID? -chat092- 給 chat092 發送悄悄話 (75 bytes) () 09/15/2009 postreply 06:57:17

請您先登陸,再發跟帖!