-1

我正在尝试从我的 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
4

1 回答 1

0

上面的错误说明你没有注册用户,这不仅仅意味着你没有在iax.conf中注册,使用twinkle或者其他软电话注册3002账号然后执行你会接到电话软电话。iax.conf 中的上下文应该是 [default] 而不是 [3002]

于 2013-10-15T13:06:43.333 回答