l*****7 发帖数: 1125 | 1 我翻了半天没翻到,
也就是sip.conf features.conf extensions.conf 还有别的吗? |
c**y 发帖数: 2282 | 2 我来贴个我的吧。估计以前没人贴过是因为这个太容易泄露账号了,改了半天才隐藏掉
..
说明:
本地7位数,或者美国10位数直接打,走google voice. 前加9打,可以强制使用
smartvoip的账号。
打中国0086,使用smartvoip账号。 |
k****t 发帖数: 2288 | 3 1,必须是asterisk 1.6 以上,使用的是bridge。
2,将globals中的修改成你自己的
3,800,866,877,888free电话走sipgate
4,国际长途目的地只是中国。走的是nonoh。(以免被随便盗打,这样即使被hack,他
也只能打中国。) |
c**y 发帖数: 2282 | 4 “4,国际长途目的地只是中国。走的是nonoh。(以免被随便盗打,这样即使被hack,他
也只能打中国。)”
这招好极了 |
m****m 发帖数: 2452 | 5 是不是这样就没有必要装FREEPBX了?
今天找另一个USB盘,就这么折腾一下。
【在 k****t 的大作中提到】 : 1,必须是asterisk 1.6 以上,使用的是bridge。 : 2,将globals中的修改成你自己的 : 3,800,866,877,888free电话走sipgate : 4,国际长途目的地只是中国。走的是nonoh。(以免被随便盗打,这样即使被hack,他 : 也只能打中国。)
|
r****t 发帖数: 10904 | 6 这个当然需要这样。
,他
【在 c**y 的大作中提到】 : “4,国际长途目的地只是中国。走的是nonoh。(以免被随便盗打,这样即使被hack,他 : 也只能打中国。)” : 这招好极了
|
r****t 发帖数: 10904 | 7 只是没有 web 界面。只要装 asterisk + python + pygooglevoice 就行。
【在 m****m 的大作中提到】 : 是不是这样就没有必要装FREEPBX了? : 今天找另一个USB盘,就这么折腾一下。
|
k****t 发帖数: 2288 | |
a9 发帖数: 21638 | 9 恩。一个小dockstar,再装上apache、mysql、python,估计最稳定是算不上了。
【在 k****t 的大作中提到】 : 个人觉得如果只是自己家里用,没有必要用gui。
|
m****m 发帖数: 2452 | 10 Kermit,
我用了你的这个CONFIG。打进一点问题也没有,打出,出现下面问题:
== Using SIP RTP CoS mark 5
-- Executing [9xx6xx6xxxx@from-internal:1] Dial("SIP/101-00000000", "Loc
al/9xx6xx6xxxx@gv-outbound/n") in new stack
-- Called 9xx6xx6xxxx@gv-outbound/n
-- Executing [9xx6xx6xxxx@gv-outbound:1] NoOp("Local/9xx6xx6xxxx@gv-outb
ound-ff9d;2", "") in new stack
-- Executing [9xx6xx6xxxx@gv-outbound:2] Set("Local/9xx6xx6xxxx@gv-outbo
und-ff9d;2", "DB(gv_dialout/channel)=Local/9xx6xx6xxxx@gv-outbound-ff9d;2")
in new stack
-- Executing [9xx6xx6xxxx@gv-outbound:3] System("Local/9xx6xx6xxxx@gv-ou
tbound-ff9d;2", "gvoice -e M**********[email protected] -p MyGVPassword call 9xx6x
x6xxxx 14156xx1xxxx") in new stack
-- Executing [9xx6xx6xxxx@gv-outbound:4] Wait("Local/9xx6xx6xxxx@gv-outb
ound-ff9d;2", "20") in new stack
== Using SIP RTP CoS mark 5
-- Executing [4156xx1xxxx@ext-did:1] GotoIf("SIP/SipGate-00000001", "0?:
normalcall") in new stack
-- Goto (ext-did,4156xx1xxxx,4)
-- Executing [4156xx1xxxx@ext-did:4] Goto("SIP/SipGate-00000001", "ext-l
ocal,101,1") in new stack
-- Goto (ext-local,101,1)
-- Executing [101@ext-local:1] Dial("SIP/SipGate-00000001", "SIP/101") i
n new stack
== Using SIP RTP CoS mark 5
-- Called 101
-- Got SIP response 486 "Busy Here" back from 192.168.0.70
-- SIP/101-00000002 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [101@ext-local:2] Hangup("SIP/SipGate-00000001", "") in new
stack
== Spawn extension (ext-local, 101, 2) exited non-zero on 'SIP/SipGate-000
00001'
> doing dnsmgr_lookup for 'sipgate.com'
> ast_get_srv: SRV lookup for '_sip._UDP.sipgate.com' mapped to host
sipgate.com, port 5060
-- Executing [9xx6xx6xxxx@gv-outbound:5] Hangup("Local/9xx6xx6xxxx@gv-ou
tbound-ff9d;2", "") in new stack
== Spawn extension (gv-outbound, 9xx6xx6xxxx, 5) exited non-zero on 'Local
/9xx6xx6xxxx@gv-outbound-ff9d;2'
-- No one is available to answer at this time (1:0/0/0)
-- Auto fallthrough, channel 'SIP/101-00000000' status is 'NOANSWER'
好像你也出这个问题。我试了你的那个解决办法,在下面这句改了一下
exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel):0:-1},p)
没有什么改进。
还会是什么问题呢?
【在 k****t 的大作中提到】 : 1,必须是asterisk 1.6 以上,使用的是bridge。 : 2,将globals中的修改成你自己的 : 3,800,866,877,888free电话走sipgate : 4,国际长途目的地只是中国。走的是nonoh。(以免被随便盗打,这样即使被hack,他 : 也只能打中国。)
|
|
|
m****m 发帖数: 2452 | 11 试了一下,用:
gvoice -e M**********[email protected] -p MyGVPasswd call 9xx6xx6xxxx 14156xx1xxx
能打通电话。这么看来,google voice这边没有问题。
我改了EXTENSION为101,而不是101a,是不是这个地方出的问题?
Loc
outb
outbo
)
【在 m****m 的大作中提到】 : Kermit, : 我用了你的这个CONFIG。打进一点问题也没有,打出,出现下面问题: : == Using SIP RTP CoS mark 5 : -- Executing [9xx6xx6xxxx@from-internal:1] Dial("SIP/101-00000000", "Loc : al/9xx6xx6xxxx@gv-outbound/n") in new stack : -- Called 9xx6xx6xxxx@gv-outbound/n : -- Executing [9xx6xx6xxxx@gv-outbound:1] NoOp("Local/9xx6xx6xxxx@gv-outb : ound-ff9d;2", "") in new stack : -- Executing [9xx6xx6xxxx@gv-outbound:2] Set("Local/9xx6xx6xxxx@gv-outbo : und-ff9d;2", "DB(gv_dialout/channel)=Local/9xx6xx6xxxx@gv-outbound-ff9d;2")
|
m****m 发帖数: 2452 | 12 NONAH也是WORK得很好。
14156xx1xxx
【在 m****m 的大作中提到】 : 试了一下,用: : gvoice -e M**********[email protected] -p MyGVPasswd call 9xx6xx6xxxx 14156xx1xxx : 能打通电话。这么看来,google voice这边没有问题。 : 我改了EXTENSION为101,而不是101a,是不是这个地方出的问题? : : Loc : outb : outbo : )
|
i**w 发帖数: 883 | 13 这一段有问题
[ext-did]
exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=${GV_NUMBER}]?:
normalcall)
exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p)
exten => ${SipGate_DID},n,Hangup()
exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1)
SIPGate传回的CallerID(num)返回的值有时候会多加个前缀1,GotoIf的条件跳转就不
对了。
改成这样:
[ext-did]
exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=~"(\d)?${GV_NUMBER}" > 0
]?:normalcall)
exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p)
exten => ${SipGate_DID},n,Hangup()
exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1)
Loc
outb
outbo
)
【在 m****m 的大作中提到】 : Kermit, : 我用了你的这个CONFIG。打进一点问题也没有,打出,出现下面问题: : == Using SIP RTP CoS mark 5 : -- Executing [9xx6xx6xxxx@from-internal:1] Dial("SIP/101-00000000", "Loc : al/9xx6xx6xxxx@gv-outbound/n") in new stack : -- Called 9xx6xx6xxxx@gv-outbound/n : -- Executing [9xx6xx6xxxx@gv-outbound:1] NoOp("Local/9xx6xx6xxxx@gv-outb : ound-ff9d;2", "") in new stack : -- Executing [9xx6xx6xxxx@gv-outbound:2] Set("Local/9xx6xx6xxxx@gv-outbo : und-ff9d;2", "DB(gv_dialout/channel)=Local/9xx6xx6xxxx@gv-outbound-ff9d;2")
|
m****m 发帖数: 2452 | 14 好像还是一样。不行了,眼睛睁不开了,明天一大早还要去跟
鱼报仇。明天回来再接着试。
不管怎么说,先谢谢!
【在 i**w 的大作中提到】 : 这一段有问题 : [ext-did] : exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=${GV_NUMBER}]?: : normalcall) : exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p) : exten => ${SipGate_DID},n,Hangup() : exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1) : SIPGate传回的CallerID(num)返回的值有时候会多加个前缀1,GotoIf的条件跳转就不 : 对了。 : 改成这样:
|
c**y 发帖数: 2282 | |
a9 发帖数: 21638 | 16 直接写成${CALLERID(num)}=1xxxxxxxxxx试试
就不
【在 m****m 的大作中提到】 : 好像还是一样。不行了,眼睛睁不开了,明天一大早还要去跟 : 鱼报仇。明天回来再接着试。 : 不管怎么说,先谢谢!
|
a9 发帖数: 21638 | 17 把xxxxxx替换成你的号码。
【在 a9 的大作中提到】 : 直接写成${CALLERID(num)}=1xxxxxxxxxx试试 : : 就不
|
k****t 发帖数: 2288 | 18 ianw说得对,根据你的log信息,你的GotoIf有问题
[ext-did]
exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=${GV_NUMBER}]?:
normalcall)
exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p)
exten => ${SipGate_DID},n,Hangup()
exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1)
你可以修改如下:
[ext-did]
exten => ${SipGate_DID},1,Set(tmp_var=${CALLERID(num)})
exten => ${SipGate_DID},n,GotoIf($[${CALLERID(num)}=${GV_NUMBER}]?:
normalcall)
exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p)
exten => ${SipGate_DID},n,Hangup()
exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1)
看一下log信息,看tmp_var变量赋的是什么?
其实原理很简单,CALLERID是你的GV号码的话,说明是用gvoice这个命令,也就是你自
己播出去的,否则就是别人拨打进来的(这个地方需要注意就是google voice中有个设
置,。Caller ID (incoming) 需要选择 Display caller's number 。) GotoIf将判断
CALLERID如果是googele voice号码,就是自己拨打出去的,需要到bridge里去,否则
就是normalcall,也就是接电话。
根据你的log文件 |
m****m 发帖数: 2452 | 19 你们都说对了。是进来的GV_NUMBER不带前面的1
重新定义了一个变量,GV_NUMBERSHORT。在[ext-did]里面用这个变最就行了
现在MEMORY的USAGE太大了,MYSQL一个占13%总共占了快80%了有什么办法
把内存降下来?
【在 k****t 的大作中提到】 : ianw说得对,根据你的log信息,你的GotoIf有问题 : [ext-did] : exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=${GV_NUMBER}]?: : normalcall) : exten => ${SipGate_DID},n,Bridge(${DB_DELETE(gv_dialout/channel)},p) : exten => ${SipGate_DID},n,Hangup() : exten => ${SipGate_DID},n(normalcall),Goto(ext-local,100a,1) : 你可以修改如下: : [ext-did] : exten => ${SipGate_DID},1,Set(tmp_var=${CALLERID(num)})
|
a9 发帖数: 21638 | 20 不用mysql。。。。。。
【在 m****m 的大作中提到】 : 你们都说对了。是进来的GV_NUMBER不带前面的1 : 重新定义了一个变量,GV_NUMBERSHORT。在[ext-did]里面用这个变最就行了 : 现在MEMORY的USAGE太大了,MYSQL一个占13%总共占了快80%了有什么办法 : 把内存降下来?
|
|
|
m****m 发帖数: 2452 | 21 那个里面不是有DB_DELETE这样的操作嘛?
【在 a9 的大作中提到】 : 不用mysql。。。。。。
|
a9 发帖数: 21638 | 22 那跟mysql没关系,呵呵。
【在 m****m 的大作中提到】 : 那个里面不是有DB_DELETE这样的操作嘛?
|
m****m 发帖数: 2452 | 23 这么说,APACHE也没有用了?
【在 a9 的大作中提到】 : 那跟mysql没关系,呵呵。
|
k****t 发帖数: 2288 | 24 对的,我就没有用sql。
用free在dockstar上得到的:
total used free shared buffers
Mem: 126676 15308 111368 0 444
Swap: 0 0 0
Total: 126676 15308 111368 |
k****t 发帖数: 2288 | 25 用top得到的:
Mem: 14888K used, 111788K free, 0K shrd, 444K buff, 8224K cached
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
Load average: 0.00 0.03 0.00 2/42 2008
PID PPID USER STAT VSZ %MEM %CPU COMMAND
1849 1842 root S 5616 4% 0% /usr/sbin/asterisk
1841 1 root S 5616 4% 0% /usr/sbin/asterisk
1846 1842 root S 5616 4% 0% /usr/sbin/asterisk
1845 1842 root S 5616 4% 0% /usr/sbin/asterisk
1843 1842 root S 5616 4% 0% /usr/sbin/asterisk
1844 1842 root S 5616 4% 0% /usr/sbin/asterisk
1842 1841 root S 5616 4% 0% /usr/sbin/asterisk
1847 1842 root S 5616 4% 0% /usr/sbin/asterisk
1848 1842 root S 5616 4% 0% /usr/sbin/asterisk
1852 1842 root S 5616 4% 0% /usr/sbin/asterisk
1999 1998 root S 1140 1% 0% -ash
1400 1 root S 1136 1% 0% syslogd -C16
1821 1 root S 1136 1% 0% udhcpc -t 0 -i eth0 -b -p var/run/
dh
1 0 root S 1132 1% 0% init
1394 1 root S 1132 1% 0% init
2008 1999 root R 1128 1% 0% top
1402 1 root S 1120 1% 0% klogd
1998 1683 root S 872 1% 0% /usr/sbin/dropbear -p 22 -P var/
run/
1683 1 root S 816 1% 0% /usr/sbin/dropbear -p 22 -P var/
run/
1693 1 root S 804 1% 0% /usr/sbin/uhttpd -f -h /www -r
DockSt |
a9 发帖数: 21638 | 26 那都是freepbx需要用的。
【在 m****m 的大作中提到】 : 这么说,APACHE也没有用了?
|
c**y 发帖数: 2282 | 27 降低mysql的内存可以改改配置
http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-
boxes/
【在 m****m 的大作中提到】 : 你们都说对了。是进来的GV_NUMBER不带前面的1 : 重新定义了一个变量,GV_NUMBERSHORT。在[ext-did]里面用这个变最就行了 : 现在MEMORY的USAGE太大了,MYSQL一个占13%总共占了快80%了有什么办法 : 把内存降下来?
|
m****m 发帖数: 2452 | 28 这么说,装完DEBIAN后,只要去找ASTERISK1.6装就可以了?TheSun
Blog里说的第二步,第三步其实都不用。然后装PYTHON和GOOGLE VOICE
的SCRIPT。就可以了,是这样嘛?
然后配那两个文件,就搞定?
【在 a9 的大作中提到】 : 那都是freepbx需要用的。
|
m****m 发帖数: 2452 | 29 http://mikeoverip.wordpress.com/2009/03/11/asterisk-16-compilation-and-installation-on-debian-5-lenny/
OK,看了上面这个连接。打算换一个U盘继续折腾。
折腾无止境/
【在 m****m 的大作中提到】 : 这么说,装完DEBIAN后,只要去找ASTERISK1.6装就可以了?TheSun : Blog里说的第二步,第三步其实都不用。然后装PYTHON和GOOGLE VOICE : 的SCRIPT。就可以了,是这样嘛? : 然后配那两个文件,就搞定?
|
k****t 发帖数: 2288 | 30 哈哈,我装的是openwrt,这个要求的资源更少~~~
如果你装debian的话,光他就应该占不少内存了吧~~ |
|
|
i**w 发帖数: 883 | 31 这个SipGate的CallerID问题很诡异,有时候会加前缀1,有时候不加,看一下SipGate
的incoming history,有时候会是(XXX)XXX XXXX,有时候会是11XXX XXX XXXX。
我的dialplan里面,GV_NUMBER应该定义为10位:XXX XXX XXXX
这样,下面的dialplan对有没有1前缀的CallerID都可以正确处理:
exten => ${SipGate_DID},1,GotoIf($[${CALLERID(num)}=~"(\d)?${GV_NUMBER}" > 0
]?:normalcall) |
k****t 发帖数: 2288 | 32 目前看来我的sipgate的callerid都是加1的。你这个
$[${CALLERID(num)}=~"(\d)?${GV_NUMBER}"
是说只要包含gv_number的字符串就是大于0的,对吧!!
如果碰到问题了再修改吧~~ |
i**w 发帖数: 883 | 33 是regex match,如果gv_number或是1位数字的前缀+gv_number
【在 k****t 的大作中提到】 : 目前看来我的sipgate的callerid都是加1的。你这个 : $[${CALLERID(num)}=~"(\d)?${GV_NUMBER}" : 是说只要包含gv_number的字符串就是大于0的,对吧!! : 如果碰到问题了再修改吧~~
|
k****t 发帖数: 2288 | 34 ianw你是对的,今天我断电reboot我的dockstar后,就不能打电话了,按照你的方法改
了就可以了。 |
a9 发帖数: 21638 | 35 还不如用~"1?${GV_NUMBER},哈哈。
【在 i**w 的大作中提到】 : 是regex match,如果gv_number或是1位数字的前缀+gv_number
|