這是我目前使用的腳本,callback()裏的供應商的先後次序很關鍵:

如果直接接通家裏的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

所有跟帖: 

請您先登陸,再發跟帖!