我正试图从我的AGI拨打星号服务器。我的AGI基本上是一个java代码,它使用Asterisk-java.jar库与星号服务器进行通信。我打开了与星号服务器的连接并在其上运行了一些命令,我从服务器得到了正确的响应。现在,当我尝试使用以下代码
来调用星号服务器时 OriginateAction act = new OriginateAction();
act.setChannel ("IAX2/3002");
act.setContext ("default");
act.setExten ("3002");
act.setPriority (new Integer(1));
act.setAsync (true);
act.setTimeout(3000l);
return mc.sendAction(act);
我在我的serverCLI上关注:
== Manager 'salman' logged on from 127.0.0.1
[Sep 12 19:39:14] NOTICE[12093]: channel.c:5619 __ast_request_and_dial: Unable to request channel IAX2/3002
== Manager 'salman' logged off from 127.0.0.1
为什么说“无法申请频道IAX2 / 3002”?我已经配置了我的manager.conf,我的extensions.conf中有一个拨号方案,我在iax.conf上创建了一个用户。请帮忙!
我的manager.conf文件:
[general]
enabled = yes
;webenabled = yes
port = 5038
bindaddr = 0.0.0.0
[salman]
secret=salman
permit=0.0.0.0/0.0.0.0
read=all
write=all
我的extension.conf文件:
[general]
static=yes
writeprotect=yes
clearglobalvars=no
autofallthrough=yes
priorityjumping=no
[default]
exten => 3001,1,Answer()
exten => 3001,2,Playback(/home/salman/Test_sound_file/main_menu)
exten => 3001,3,Hangup()
我的Iax.conf文件:
[general]
bandwidth=medium
disallow=all
allow=alaw
trunkmaxsize=128000
trunkmtu=1240
iaxthreadcount=100
iaxmaxthreadcount=512
autokill=yes
trunkfreq=20
srvlookup=no
codecpriority=host
[3002]
type=friend
context=default
secret=3002
callerid=3002
requirecalltoken=no
host=dynamic
nat=yes
canreinvite=no
mailbox=1000@default
答案 0 :(得分:0)
以上错误表明您没有注册用户,这不仅意味着您没有在iax.conf中注册,使用闪烁或任何其他软电话并将其注册到帐户3002然后执行您将获得拨打软电话。 iax.conf中的上下文应该是[default]而不是[3002]