2014-10-07 5 views
0

Я пытаюсь проверить подлинность с сервером Asterisk, но я получаю эту ошибку:Звездочка связь с Java

Exception in thread "main" java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at net.sf.asterisk.io.impl.SocketConnectionFacadeImpl.<init> SocketConnectionFacadeImpl.java:52) 
    at net.sf.asterisk.manager.DefaultManagerConnection.createSocket(DefaultManagerConnection.java:541) 
    at net.sf.asterisk.manager.DefaultManagerConnection.connect(DefaultManagerConnection.java:530) 
    at net.sf.asterisk.manager.DefaultManagerConnection.login(DefaultManagerConnection.java:418) 
    at net.sf.asterisk.manager.DefaultManagerConnection.login(DefaultManagerConnection.java:377) 
    at call.HelloManager.run(HelloManager.java:48) 
    at call.HelloManager.main(HelloManager.java:66) 

Вот мой код:

public class HelloManager 
{ 
    private ManagerConnection managerConnection; 

    public HelloManager() throws IOException 
    { 
     ManagerConnectionFactory factory = new ManagerConnectionFactory(); 

     this.managerConnection = factory.getManagerConnection(host, port, 
       user, password); 
    } 

    public void run() throws IOException, AuthenticationFailedException, 
      TimeoutException 
    { 
     OriginateAction originateAction; 
     ManagerResponse originateResponse; 

     originateAction = new OriginateAction(); 
     originateAction.setChannel(" SIP/2.0/UDP"); 
     originateAction.setContext("default"); 
     originateAction.setExten("101"); 
     originateAction.setPriority(new Integer(1)); 
     originateAction.setTimeout(new Integer(30000)); 

     // connect to Asterisk and log in 
     managerConnection.login(); 

     // send the originate action and wait for a maximum of 30 seconds for Asterisk 
     // to send a reply 
     // originateResponse = managerConnection.sendAction(originateAction, 30000); 

    // // print out whether the originate succeeded or not 
    // System.out.println(originateResponse.getResponse()); 

     // and finally log off and disconnect 
    // managerConnection.logoff(); 
    } 

    public static void main(String[] args) throws Exception 
    { 
     HelloManager helloManager; 

     helloManager = new HelloManager(); 
     helloManager.run(); 
    } 
} 

Может кто-нибудь помочь мне это исправить ?

+0

Похоже на сетевые проблемы или неправильный хост/порт звездочки –

ответ

0

Вам необходимо проверить настройки в /etc/asteirsk/manger.conf

Наиболее likly его переплетены в адрес 127.0.0.1 или отключить вообще.

Кроме того, это может быть проблема с брандмауэром (локальным или удаленным), допускается порт 5038 tcp.

Смежные вопросы