Search in sources :

Example 1 with InboundConnectionFailure

use of org.freeswitch.esl.client.inbound.InboundConnectionFailure in project bigbluebutton by bigbluebutton.

the class ExampleClient method do_connect.

public void do_connect() throws InterruptedException {
    client = new Client();
    client.addEventListener(new EslEventListener());
    log.info("Client connecting ..");
    try {
        client.connect(host, port, password, 2);
    } catch (InboundConnectionFailure e) {
        log.error("Connect failed", e);
        return;
    }
    log.info("Client connected ..");
    //client.setEventSubscriptions( "plain", "heartbeat BACKGROUND_JOB CUSTOM" );
    client.setEventSubscriptions("plain", "all");
    client.addEventFilter("Event-Name", "heartbeat");
    client.addEventFilter("Event-Name", "custom");
    client.addEventFilter("Event-Name", "background_job");
}
Also used : Client(org.freeswitch.esl.client.inbound.Client) InboundConnectionFailure(org.freeswitch.esl.client.inbound.InboundConnectionFailure)

Example 2 with InboundConnectionFailure

use of org.freeswitch.esl.client.inbound.InboundConnectionFailure in project bigbluebutton by bigbluebutton.

the class ClientTest method do_multi_connects.

@Test
public void do_multi_connects() throws InterruptedException {
    Client client = new Client();
    log.info("Client connecting ..");
    try {
        client.connect(host, port, password, 2);
    } catch (InboundConnectionFailure e) {
        log.error("Connect failed", e);
        return;
    }
    log.info("Client connected ..");
    log.info("Client connecting ..");
    try {
        client.connect(host, port, password, 2);
    } catch (InboundConnectionFailure e) {
        log.error("Connect failed", e);
        return;
    }
    log.info("Client connected ..");
    client.close();
}
Also used : Client(org.freeswitch.esl.client.inbound.Client) InboundConnectionFailure(org.freeswitch.esl.client.inbound.InboundConnectionFailure) Test(org.junit.Test)

Example 3 with InboundConnectionFailure

use of org.freeswitch.esl.client.inbound.InboundConnectionFailure in project bigbluebutton by bigbluebutton.

the class ClientTest method do_connect.

@Test
public void do_connect() throws InterruptedException {
    Client client = new Client();
    client.addEventListener(new IEslEventListener() {

        public void eventReceived(EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void backgroundJobResultReceived(EslEvent event) {
            log.info("Background job result received [{}]", event);
        }

        public void conferenceEventJoin(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventLeave(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventMute(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventUnMute(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventAction(String uniqueId, String confName, int confSize, String action, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventTransfer(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventThreadRun(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void conferenceEventPlayFile(String uniqueId, String confName, int confSize, EslEvent event) {
            log.info("Event received [{}]", event);
        }

        public void exceptionCaught(ExceptionEvent e) {
            log.info("exception received [{}]", e);
        }
    });
    log.info("Client connecting ..");
    try {
        client.connect(host, port, password, 2);
    } catch (InboundConnectionFailure e) {
        log.error("Connect failed", e);
        return;
    }
    log.info("Client connected ..");
    //      client.setEventSubscriptions( "plain", "heartbeat CHANNEL_CREATE CHANNEL_DESTROY BACKGROUND_JOB" );
    client.setEventSubscriptions("plain", "all");
    client.addEventFilter("Event-Name", "heartbeat");
    client.cancelEventSubscriptions();
    client.setEventSubscriptions("plain", "all");
    client.addEventFilter("Event-Name", "heartbeat");
    client.addEventFilter("Event-Name", "channel_create");
    client.addEventFilter("Event-Name", "background_job");
    client.sendSyncApiCommand("echo", "Foo foo bar");
    //        client.sendSyncCommand( "originate", "sofia/internal/101@192.168.100.201! sofia/internal/102@192.168.100.201!" );
    //        client.sendSyncApiCommand( "sofia status", "" );
    String jobId = client.sendAsyncApiCommand("status", "");
    log.info("Job id [{}] for [status]", jobId);
    client.sendSyncApiCommand("version", "");
    //        client.sendAsyncApiCommand( "status", "" );
    //        client.sendSyncApiCommand( "sofia status", "" );
    //        client.sendAsyncApiCommand( "status", "" );
    EslMessage response = client.sendSyncApiCommand("sofia status", "");
    log.info("sofia status = [{}]", response.getBodyLines().get(3));
    // wait to see the heartbeat events arrive
    Thread.sleep(25000);
    client.close();
}
Also used : EslEvent(org.freeswitch.esl.client.transport.event.EslEvent) IEslEventListener(org.freeswitch.esl.client.IEslEventListener) EslMessage(org.freeswitch.esl.client.transport.message.EslMessage) Client(org.freeswitch.esl.client.inbound.Client) InboundConnectionFailure(org.freeswitch.esl.client.inbound.InboundConnectionFailure) Test(org.junit.Test)

Example 4 with InboundConnectionFailure

use of org.freeswitch.esl.client.inbound.InboundConnectionFailure in project bigbluebutton by bigbluebutton.

the class ClientTest method sofia_contact.

@Test
public void sofia_contact() {
    Client client = new Client();
    try {
        client.connect(host, port, password, 2);
    } catch (InboundConnectionFailure e) {
        log.error("Connect failed", e);
        return;
    }
    EslMessage response = client.sendSyncApiCommand("sofia_contact", "internal/102@192.168.100.201");
    log.info("Response to 'sofia_contact': [{}]", response);
    for (Entry<Name, String> header : response.getHeaders().entrySet()) {
        log.info(" * header [{}]", header);
    }
    for (String bodyLine : response.getBodyLines()) {
        log.info(" * body [{}]", bodyLine);
    }
    client.close();
}
Also used : EslMessage(org.freeswitch.esl.client.transport.message.EslMessage) Client(org.freeswitch.esl.client.inbound.Client) InboundConnectionFailure(org.freeswitch.esl.client.inbound.InboundConnectionFailure) Name(org.freeswitch.esl.client.transport.message.EslHeaders.Name) Test(org.junit.Test)

Example 5 with InboundConnectionFailure

use of org.freeswitch.esl.client.inbound.InboundConnectionFailure in project bigbluebutton by bigbluebutton.

the class ConnectionManager method connect.

private void connect() {
    try {
        Client c = manager.getESLClient();
        if (!c.canSend()) {
            System.out.println("Attempting to connect to FreeSWITCH ESL");
            subscribed = false;
            manager.connect();
        } else {
            if (!subscribed) {
                System.out.println("Subscribing for ESL events.");
                c.cancelEventSubscriptions();
                c.addEventListener(eslEventListener);
                c.setEventSubscriptions("plain", "all");
                c.addEventFilter(EVENT_NAME, "heartbeat");
                c.addEventFilter(EVENT_NAME, "custom");
                c.addEventFilter(EVENT_NAME, "background_job");
                subscribed = true;
            }
        }
    } catch (InboundConnectionFailure e) {
        System.out.println("Failed to connect to ESL");
    }
}
Also used : Client(org.freeswitch.esl.client.inbound.Client) InboundConnectionFailure(org.freeswitch.esl.client.inbound.InboundConnectionFailure)

Aggregations

Client (org.freeswitch.esl.client.inbound.Client)5 InboundConnectionFailure (org.freeswitch.esl.client.inbound.InboundConnectionFailure)5 Test (org.junit.Test)3 EslMessage (org.freeswitch.esl.client.transport.message.EslMessage)2 IEslEventListener (org.freeswitch.esl.client.IEslEventListener)1 EslEvent (org.freeswitch.esl.client.transport.event.EslEvent)1 Name (org.freeswitch.esl.client.transport.message.EslHeaders.Name)1