如果直接接通家裏的ATA電話,一定要把它放在前麵,然後才打回中國去。如果要接到外麵的電話上去,比如你的手機,有些供應商不行,比如betamax不行,CallCentric可以。用“&”連接幾個callback(),可以實現連呼,比如先接家裏,沒人再轉到手機上。
下麵是這樣的:
1)Sipgate在中國來的號碼前加了011,然後是86,所以做相應處理。
2)如果是從13826221111打來的(胡錦濤用來打美國的熱線),就接到我的手機(0018177292222)。
3)來自中國的別的號碼,則直接接到家裏(@local)。
4)用“#”屏蔽掉的那些行是我用美國手機(6092353333)測試時用的,試好了就把它們這樣屏蔽掉,把上麵的一行恢複。這樣試驗時不需要真的從中國打過來。
5)如果是其它的供應商的話,字頭要做相應的更改。
6)這個不是很容易,沒有編過程的,最好請朋友幫忙。
sys.Trace = false
cid = req.Header.From.FromURI.User
sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")
# callback processing
case cid
when /^01186/ then
#when /^609/ then
cid = cid.to_str[3,20]
case cid
when /^8613826221111/ then
#when /^235/ then
sys.Callback("0018177292222@CC","00#{cid}@RG",15)
#sys.Callback("0018177292222@CC","001609#{cid}@RG",15)
sys.Respond(480, "#{sys.Username} Not available")
else
sys.Callback("#{sys.Username}@local","00#{cid}@RG",15)
#sys.Callback("#{sys.Username}@local","001609#{cid}@RG",15)
sys.Respond(480, "#{sys.Username} Not available")
end
else
if sys.IsAvailable() then
sys.Dial("#{sys.Username}@local",30)
#sys.Dial("Enter Number@VD",30)
sys.Respond(480, "#{sys.Username} Not available")
else
#sys.Dial("Enter Number@VD",30)
sys.Respond(480, "#{sys.Username} Not available")
end
end
這是我目前使用的腳本,callback()裏的供應商的先後次序很關鍵:
所有跟帖:
• 回複:這是我目前使用的腳本,callback()裏的供應商的先後次序很關鍵: -wlbohua- ♂ (163 bytes) () 07/23/2010 postreply 11:12:01