0

I'm trying to authenticate with the Asterisk server, but I am getting this error:

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)

Here is my code:

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();
    }
}

Can anybody help me fix this?

msrd0
  • 7,816
  • 9
  • 47
  • 82

1 Answers1

0

You need check settings in /etc/asteirsk/manger.conf

Most likly it binded to 127.0.0.1 address or disabled at all.

Also it can be issue with firewall(local or remote), port 5038 tcp have be allowed.

arheops
  • 15,544
  • 1
  • 21
  • 27