如何讓親友免費打電話給你
這里雖然講的是打電話,實際上是如何利用最新的電腦和網絡技術的一個實例。
你不需要任何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
2009-08-25 22:00:50先顶起来再慢慢研究