最初的req.Header.From.FromURI是01186xxxxxx,中國固定電話打入。移動的還沒試過。
我用這個dialplan做in dialplan,out dialplan還是原來的GV 撥出的dialplan,GV撥出不受影響。
不過,我對出入自在的 dialplan做了改動,除去了else的部分。我想,出入自在的dialplan的else部分是為了處理中國手機打入時,cid沒有01186開頭的情形。但這樣,即使是美國電話打入,也會被加上01186回撥,打到中國的什麽地方去了,當然很可能是空號。但最起碼本地收不到美國電話了。
如果中國手機來電cid沒有01186,而還是想你回撥手機,可以選擇幾個指定的手機號碼,在case語句中識別這幾個號碼,加01186回撥,除了這幾個手機外,其它的不支持,同普通打入一樣處理。
我的dialplan:
# Ruby
sys.Trace = true
if sys.In then
sys.Log("Incoming call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")
case req.Header.From.FromURI.User
when /^00/
callercid = "#{req.Header.From.FromURI.User.to_str[2..-1]}"
else
callercid = req.Header.From.FromURI.User
end
sys.Log("cid #{callercid}")
callback = false
case callercid
when /^86/
callback = true
nb = "011"
when /^01186/
callback = true
nb = ""
else
callback = false
end
sys.Log("Callback = #{callback}")
if callback then
sys.Log("patching call between #{nb}#{callercid}@rynga and #{req.URI.User}@local")
sys.Callback("#{nb}#{callercid}@rynga","#{req.URI.User}@local",15)
else
sys.Dial "#{req.URI.User}@local"
end
end
我也試了一下
所有跟帖:
•
你的行動還真快,不錯
-出入自在-
♂
(607 bytes)
()
03/15/2010 postreply
10:16:53
•
美國的SG號碼。SS local運行在NAT後麵。ATA注冊SS
-kzch-
♂
(334 bytes)
()
03/15/2010 postreply
10:58:44
•
看來ss local不錯
-出入自在-
♂
(0 bytes)
()
03/15/2010 postreply
13:30:55
•
so far, very stable
-kzch-
♂
(49 bytes)
()
03/15/2010 postreply
14:44:11
•
I did have to fix a few problems
-kzch-
♂
(0 bytes)
()
03/15/2010 postreply
15:02:26