在调用星号服务器时无法请求通道Iax2 / 3002

时间:2013-09-12 17:16:57

标签: java asterisk asteriskami agi

我正试图从我的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

1 个答案:

答案 0 :(得分:0)

以上错误表明您没有注册用户,这不仅意味着您没有在iax.conf中注册,使用闪烁或任何其他软电话并将其注册到帐户3002然后执行您将获得拨打软电话。 iax.conf中的上下文应该是[default]而不是[3002]