l***h 发帖数: 9308 | 1 别人打入电话,通过GV -->SG -->SS -->ATA,在ATA上显示的是SG的号码,而
不是真正打入者的CID。
google搜了一下,发现可以解决这个问题,但涉及ruby plan,不知道怎么改。
http://www.mysipswitch.com/forum/viewtopic.php?t=1799
关键就是不知道该怎么套用下面这段
name = req.Header.from.FromURI.User.to_s ## if name =~ /^$|D/
下面是我目前的dial plan
#Ruby
# Dial Plan Generated by Rubyzard v0.1
# If you need help, please post in our forum
# http://www.mysipswitch.com
# SIP tracing : true or false
sys.Trace = false
sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.U |
a9 发帖数: 21638 | 2 貌似不是在dial plan里面。这是呼入的电话
dial plan是呼出用的。
}.
#
【在 l***h 的大作中提到】 : 别人打入电话,通过GV -->SG -->SS -->ATA,在ATA上显示的是SG的号码,而 : 不是真正打入者的CID。 : google搜了一下,发现可以解决这个问题,但涉及ruby plan,不知道怎么改。 : http://www.mysipswitch.com/forum/viewtopic.php?t=1799 : 关键就是不知道该怎么套用下面这段 : name = req.Header.from.FromURI.User.to_s ## if name =~ /^$|D/ : 下面是我目前的dial plan : #Ruby : # Dial Plan Generated by Rubyzard v0.1 : # If you need help, please post in our forum
|
l***h 发帖数: 9308 | 3 google那个链接,说在他的模板里面,有一段更改为
name = req.Header.from.FromURI.User.to_s ## if name =~ /^$|\D/
但我没有用他的模板,我的dial plan里面,不知道这句话加在哪里,然后其他那些地
方要做修改
【在 a9 的大作中提到】 : 貌似不是在dial plan里面。这是呼入的电话 : dial plan是呼出用的。 : : }. : #
|
a9 发帖数: 21638 | 4 我还sip xxx看看到底咋用吧。
【在 l***h 的大作中提到】 : google那个链接,说在他的模板里面,有一段更改为 : name = req.Header.from.FromURI.User.to_s ## if name =~ /^$|\D/ : 但我没有用他的模板,我的dial plan里面,不知道这句话加在哪里,然后其他那些地 : 方要做修改
|
a9 发帖数: 21638 | 5 我猜在 if sys.In下面,放上
name = req.Header.From.FromName.to_s # create a copy of FromName
name = req.Header.from.FromURI.User.to_s if name =~ /^$|\D/
name = ('1' + name) if name =~ /^[2-9]\d{9,9}$/
name.sub!(/^011/,'')
req.Header.from.FromURI.User = name
req.Header.From.FromName = name
可能会有用,你试一下。
}.
#
【在 l***h 的大作中提到】 : google那个链接,说在他的模板里面,有一段更改为 : name = req.Header.from.FromURI.User.to_s ## if name =~ /^$|\D/ : 但我没有用他的模板,我的dial plan里面,不知道这句话加在哪里,然后其他那些地 : 方要做修改
|
l***h 发帖数: 9308 | 6 谢谢!先试试看
【在 a9 的大作中提到】 : 我猜在 if sys.In下面,放上 : name = req.Header.From.FromName.to_s # create a copy of FromName : name = req.Header.from.FromURI.User.to_s if name =~ /^$|\D/ : name = ('1' + name) if name =~ /^[2-9]\d{9,9}$/ : name.sub!(/^011/,'') : req.Header.from.FromURI.User = name : req.Header.From.FromName = name : 可能会有用,你试一下。 : : }.
|
l***h 发帖数: 9308 | 7 按这个改后(见下),还是显示的sipgate的号码。
“if sys.In then”里面的then要不要去掉?
#Ruby
# Dial Plan Generated by Rubyzard v0.1
# If you need help, please post in our forum
# http://www.mysipswitch.com
# SIP tracing : true or false
sys.Trace = false
sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.
")
if sys.In then
name = req.Header.From.FromName.to_s # create a copy of FromName
name = req.Header.from.FromURI.User.to_s if name =~ /^$|\D/
name = ('1' + name) if name =~ /^[2-9]\d{9,9}$/
name
【在 a9 的大作中提到】 : 我猜在 if sys.In下面,放上 : name = req.Header.From.FromName.to_s # create a copy of FromName : name = req.Header.from.FromURI.User.to_s if name =~ /^$|\D/ : name = ('1' + name) if name =~ /^[2-9]\d{9,9}$/ : name.sub!(/^011/,'') : req.Header.from.FromURI.User = name : req.Header.From.FromName = name : 可能会有用,你试一下。 : : }.
|
m*d 发帖数: 7658 | 8 啥地方会用到ruby? 是X-Lite吗
【在 l***h 的大作中提到】 : 按这个改后(见下),还是显示的sipgate的号码。 : “if sys.In then”里面的then要不要去掉? : #Ruby : # Dial Plan Generated by Rubyzard v0.1 : # If you need help, please post in our forum : # http://www.mysipswitch.com : # SIP tracing : true or false : sys.Trace = false : sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}. : ")
|
a9 发帖数: 21638 | 9 www.sipsorcery.com
,而
【在 m*d 的大作中提到】 : 啥地方会用到ruby? 是X-Lite吗
|
a9 发帖数: 21638 | 10 不是这儿。
你把我给你的删掉,改成
name = req.Header.from.FromURI.User.to_s
name = ('1' + name) if name =~ /^[2-9]\d\d[2-9]\d{6}$/
name.sub!(/^011/,'')
req.Header.From.FromName = name
req.Header.from.FromURI.User = name
试试看吧。我在sg里面试了试,不知道为啥,进来的电话dialplan怎么都不执行。不知
道为啥
有没有概念?
}.
【在 l***h 的大作中提到】 : 按这个改后(见下),还是显示的sipgate的号码。 : “if sys.In then”里面的then要不要去掉? : #Ruby : # Dial Plan Generated by Rubyzard v0.1 : # If you need help, please post in our forum : # http://www.mysipswitch.com : # SIP tracing : true or false : sys.Trace = false : sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}. : ")
|
|
|
l***h 发帖数: 9308 | 11 那就是以下这样,明天试试
另外,name.sub!(/^011/,'')这个是单起一行,不是上一行自动换行出来的吧
#Ruby
# Dial Plan Generated by Rubyzard v0.1
# If you need help, please post in our forum
# http://www.mysipswitch.com
# SIP tracing : true or false
sys.Trace = false
sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.
")
if sys.In then
name = req.Header.from.FromURI.User.to_s
name = ('1' + name) if name =~ /^[2-9]\d\d[2-9]\d{6}$/
name.sub!(/^011/,'')
req.Header.From.FromName = name
req.Header.from.FromURI.User =
【在 a9 的大作中提到】 : 不是这儿。 : 你把我给你的删掉,改成 : name = req.Header.from.FromURI.User.to_s : name = ('1' + name) if name =~ /^[2-9]\d\d[2-9]\d{6}$/ : name.sub!(/^011/,'') : req.Header.From.FromName = name : req.Header.from.FromURI.User = name : 试试看吧。我在sg里面试了试,不知道为啥,进来的电话dialplan怎么都不执行。不知 : 道为啥 : 有没有概念?
|
l***h 发帖数: 9308 | 12 试了一下,还是不行,
以下是SIPsorcery在拨号后console给出的记录
Monitor 14:50:52:859: ipaddress=*, user=MySiPsorceryLogInID, event=*,
request=*, serveripaddress=*, server=*, regex=.*.
DialPlan 14:51:07:030: Forwarding incoming call for MySiPsorceryLogInID@
sipsorcery.com to 1 bindings.
NewCall 14:51:07:030: Executing script dial plan for call to sip:
M*****************[email protected];rinstance=232085.
DialPlan 14:51:07:046: Commencing Dial with: MySiPsorceryLogInID@sipsorcery.
com.
DialPlan 14:51:07:062: Call leg is
【在 l***h 的大作中提到】 : 那就是以下这样,明天试试 : 另外,name.sub!(/^011/,'')这个是单起一行,不是上一行自动换行出来的吧 : #Ruby : # Dial Plan Generated by Rubyzard v0.1 : # If you need help, please post in our forum : # http://www.mysipswitch.com : # SIP tracing : true or false : sys.Trace = false : sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}. : ")
|
a9 发帖数: 21638 | 13 昨天我试好了,也是不行。
你还需要在sip accounts里的indialplan里选上你现在这个dial plan(应该是default)
否则即使好了也没有,根本就没执行。
sipsorcery.
【在 l***h 的大作中提到】 : 试了一下,还是不行, : 以下是SIPsorcery在拨号后console给出的记录 : Monitor 14:50:52:859: ipaddress=*, user=MySiPsorceryLogInID, event=*, : request=*, serveripaddress=*, server=*, regex=.*. : DialPlan 14:51:07:030: Forwarding incoming call for MySiPsorceryLogInID@ : sipsorcery.com to 1 bindings. : NewCall 14:51:07:030: Executing script dial plan for call to sip: : M*****************[email protected];rinstance=232085. : DialPlan 14:51:07:046: Commencing Dial with: MySiPsorceryLogInID@sipsorcery. : com.
|
l***h 发帖数: 9308 | 14 sip account里面,outdialplan和indialplan都选的是修改后的dial plan
sip providers有SG(sipgate)和Gizmo5,但后者没有选注册。
dial plan加上你的那一段下面,也就是incoming里还有两处出现Gizmo5的地方
sys.Dial("Enter Number@Gizmo5",30)
不知道这个是干什么用的,sip proivdeer也没有注册Gizmo5,后来尝试把dial plan里
面这两处Gimo5更改为SG,发现对打进打出没什么影响。
default)
【在 a9 的大作中提到】 : 昨天我试好了,也是不行。 : 你还需要在sip accounts里的indialplan里选上你现在这个dial plan(应该是default) : 否则即使好了也没有,根本就没执行。 : : sipsorcery.
|
a9 发帖数: 21638 | 15 你那个dial plan本来就乱七八糟的,哈哈。
你可以试用我做的那个,前阵子跟你说的 www.gxgx.us
现在基本可用。不会比sipgrocery好,但也不好说,至说我不咋维护。
你简单注册完了,就可以添加sip供应商。填上就好了。
不过也是得要google的用户名密码啥的。不放心就算了。
【在 l***h 的大作中提到】 : sip account里面,outdialplan和indialplan都选的是修改后的dial plan : sip providers有SG(sipgate)和Gizmo5,但后者没有选注册。 : dial plan加上你的那一段下面,也就是incoming里还有两处出现Gizmo5的地方 : sys.Dial("Enter Number@Gizmo5",30) : 不知道这个是干什么用的,sip proivdeer也没有注册Gizmo5,后来尝试把dial plan里 : 面这两处Gimo5更改为SG,发现对打进打出没什么影响。 : : default)
|
l***h 发帖数: 9308 | 16 那个都是东拼西凑,基本不理解真正含义。
你的那个网站,试了一下,把sipgate加入,能接听,但显示的还是sipgate的号码。另
外,不能打出
【在 a9 的大作中提到】 : 你那个dial plan本来就乱七八糟的,哈哈。 : 你可以试用我做的那个,前阵子跟你说的 www.gxgx.us : 现在基本可用。不会比sipgrocery好,但也不好说,至说我不咋维护。 : 你简单注册完了,就可以添加sip供应商。填上就好了。 : 不过也是得要google的用户名密码啥的。不放心就算了。
|
a9 发帖数: 21638 | 17 你不能拨出是因为你把你号码的区号配置成你的电话号码了,我已经给你改过来了。你
再拨一下试试看?
另外sipgate这个不好意思,我昨天才知道有这个问题,刚才改好了在我的账号上试了
,没更新到代码里去。你现在再试一下,应该显示没问题了。
【在 l***h 的大作中提到】 : 那个都是东拼西凑,基本不理解真正含义。 : 你的那个网站,试了一下,把sipgate加入,能接听,但显示的还是sipgate的号码。另 : 外,不能打出
|
l***h 发帖数: 9308 | 18 拨出不行,不知道跟现在sipgate网站登不上去有关
拨入能显示真正打入者的CID了
【在 a9 的大作中提到】 : 你不能拨出是因为你把你号码的区号配置成你的电话号码了,我已经给你改过来了。你 : 再拨一下试试看? : 另外sipgate这个不好意思,我昨天才知道有这个问题,刚才改好了在我的账号上试了 : ,没更新到代码里去。你现在再试一下,应该显示没问题了。
|
a9 发帖数: 21638 | 19 你没把sipgate配上拨打国内长途。只配了本地电话
。你
试了
【在 l***h 的大作中提到】 : 拨出不行,不知道跟现在sipgate网站登不上去有关 : 拨入能显示真正打入者的CID了
|
l***h 发帖数: 9308 | 20 不明白?在哪里配?你的意思是要在sipgate里充值?
【在 a9 的大作中提到】 : 你没把sipgate配上拨打国内长途。只配了本地电话 : : 。你 : 试了
|
|
|
a9 发帖数: 21638 | 21 不是,在我的网站上,登录进去后,sip供应商配置,修改。
底下不是有几个用途嘛,你都选上。
【在 l***h 的大作中提到】 : 不明白?在哪里配?你的意思是要在sipgate里充值?
|
l***h 发帖数: 9308 | 22 那个“只接听”选不选,都不影响打出。
现在可以往外打了,但outgoing CID显示的不是GV号码,而是sipgate
你那里面sip供应商,应该可以增加吧,我想增加个GV,但网页总说“登录超时,请重
新登录”
【在 a9 的大作中提到】 : 不是,在我的网站上,登录进去后,sip供应商配置,修改。 : 底下不是有几个用途嘛,你都选上。
|
a9 发帖数: 21638 | 23 刚才我更新程序了。你刷新一下页面重登一下试试看。
可以的,你要用gv拨出,就得增加gv。在gv上选上国内电话和本地电话。
把sipgate只留下只拨入就行了。我还没加上校验,你自己记得去掉就行
只拨入是不影响打出。那个保留的目的就是像sipgate这种只用来中转或接听的供应商的
【在 l***h 的大作中提到】 : 那个“只接听”选不选,都不影响打出。 : 现在可以往外打了,但outgoing CID显示的不是GV号码,而是sipgate : 你那里面sip供应商,应该可以增加吧,我想增加个GV,但网页总说“登录超时,请重 : 新登录”
|
l***h 发帖数: 9308 | 24 把sipgate的拨出取消掉了,要用也只有60分钟免费,意义不大。
现在能加上GV了,但拨出后,半天没反应,然后就忙音了。我查GV记录,没有这个拨出
记录
响铃号码和我的号码,都用的是GV
商的
【在 a9 的大作中提到】 : 刚才我更新程序了。你刷新一下页面重登一下试试看。 : 可以的,你要用gv拨出,就得增加gv。在gv上选上国内电话和本地电话。 : 把sipgate只留下只拨入就行了。我还没加上校验,你自己记得去掉就行 : 只拨入是不影响打出。那个保留的目的就是像sipgate这种只用来中转或接听的供应商的
|
a9 发帖数: 21638 | 25 你要让哪个号码响?
gogle voice里有我的号码和响铃号码两个。响铃号码需要配成你要转接到哪儿的号码。
比如转到sipgate里,就是sipgate的号码。
我的号码是google voice的号码。
两个都配成11位的。
【在 l***h 的大作中提到】 : 把sipgate的拨出取消掉了,要用也只有60分钟免费,意义不大。 : 现在能加上GV了,但拨出后,半天没反应,然后就忙音了。我查GV记录,没有这个拨出 : 记录 : 响铃号码和我的号码,都用的是GV : : 商的
|
l***h 发帖数: 9308 | 26 响铃号码1+SG#
我的号码1+gv#
还是没反应,GV记录里面没有看到拨出记录
码。
【在 a9 的大作中提到】 : 你要让哪个号码响? : gogle voice里有我的号码和响铃号码两个。响铃号码需要配成你要转接到哪儿的号码。 : 比如转到sipgate里,就是sipgate的号码。 : 我的号码是google voice的号码。 : 两个都配成11位的。
|
a9 发帖数: 21638 | 27 应该ok了,刚才加那个,有个字符写错了,晕死。
【在 l***h 的大作中提到】 : 响铃号码1+SG# : 我的号码1+gv# : 还是没反应,GV记录里面没有看到拨出记录 : : 码。
|
l***h 发帖数: 9308 | 28 喔,下周一才能试。
【在 a9 的大作中提到】 : 应该ok了,刚才加那个,有个字符写错了,晕死。
|
l***h 发帖数: 9308 | 29 这会打出正常了,打出后,对方能显示出我的GV CID.
不过,你可能又动什么地方了。对于打入,原来incoming CID是正确的(真实对方号码
),现在显示的却是我的sipgate #
【在 a9 的大作中提到】 : 应该ok了,刚才加那个,有个字符写错了,晕死。
|
r****t 发帖数: 10904 | 30 这个问题在 asterisk 里面有解么?
【在 a9 的大作中提到】 : 你那个dial plan本来就乱七八糟的,哈哈。 : 你可以试用我做的那个,前阵子跟你说的 www.gxgx.us : 现在基本可用。不会比sipgrocery好,但也不好说,至说我不咋维护。 : 你简单注册完了,就可以添加sip供应商。填上就好了。 : 不过也是得要google的用户名密码啥的。不放心就算了。
|