Asterisk将从IAX2中继接收呼叫(32个并发呼叫),并将发送到基于SIP的GSM网关进行拨出。这是我目前的拨号方案:
[general]
static=yes
writeprotect=no
clearglobalvars = yes
[block]
[very-3]
exten => _X.,1,RetryDial(,3,2,SIP/${EXTEN:3}@Goip104)
exten => _X.,n,RetryDial(,3,2,SIP/${EXTEN:3}@Goip105)
exten => _X.,n,RetryDial(,3,2,SIP/${EXTEN:3}@Goip106)
exten => _X.,n,Hangup(17)
我用google搜索语法
这是我的sip.conf:
[Goip104]
canreinvite=no
context=very-3
dtmfmode=rfc2833
host=192.168.101.104
port=5060
call-limit=8
;allow=all
disallow=all
allow=g729,g723
insecure=port,invite
type = friend
[Goip105]
canreinvite=no
context=very-3
dtmfmode=rfc2833
host=192.168.101.105
port=5060
call-limit=8
;allow=all
disallow=all
allow=g729,g723
insecure=port,invite
type = friend
[Goip106]
canreinvite=no
context=very-3
dtmfmode=rfc2833
host=192.168.101.106
port=5060
call-limit=8
;allow=all
disallow=all
allow=g729,g723
insecure=port,invite
type = friend
这很好,但要求是共享网关优先级。因此,1个呼叫转到GoIP104,第二个呼叫转到GoIP105,依此类推。使用当前配置,它首先填充GoIP4,然后优先进入下一个网关。我尝试在拨号方案中设置相同的优先级,但是星号给出了错误。
请帮忙!
答案 0 :(得分:0)
可以通过AGI(星号网关接口)完成,您可以从这些不同的编程语言中选择一种语言。 Perl,PHP,C,Pascal,java等。
您可以获得有关AGI here ..
的更多信息答案 1 :(得分:0)
您需要检查网关可用(GROUP函数/ DEVICESTATE函数)并在每次尝试后检查DIALSTATUS变量。
随意拨号也会很好
注意,使用AGI会大大增加系统负载。此任务可以在没有任何AGI的纯拨号计划中完成。
使用asterisk-java会增加负载(除非你使用fastagi版本)。
咨询此页:
http://www.voip-info.org/wiki/view/Asterisk+functions
http://www.voip-info.org/wiki/view/Asterisk+variable+DIALSTATUS
对于超过1-2个频道的PS doiing拨出代码是非常棘手的事情。如果您不是专家使用已经开发的第三方代码。