用于GSM网关救援的星号拨号方案

时间:2014-01-07 08:47:37

标签: asterisk

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,然后优先进入下一个网关。我尝试在拨号方案中设置相同的优先级,但是星号给出了错误。

请帮忙!

2 个答案:

答案 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

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

对于超过1-2个频道的PS doiing拨出代码是非常棘手的事情。如果您不是专家使用已经开发的第三方代码。