use of org.freeswitch.esl.client.transport.message.EslMessage in project bigbluebutton by bigbluebutton.
the class SimpleHangupOutboundHandler method hangupCall.
private void hangupCall(Channel channel) {
SendMsg hangupMsg = new SendMsg();
hangupMsg.addCallCommand("execute");
hangupMsg.addExecuteAppName("hangup");
EslMessage response = sendSyncMultiLineCommand(channel, hangupMsg.getMsgLines());
if (response.getHeaderValue(Name.REPLY_TEXT).startsWith("+OK")) {
log.info("Call hangup successful");
} else {
log.error("Call hangup failed: [{}}", response.getHeaderValue(Name.REPLY_TEXT));
}
}
use of org.freeswitch.esl.client.transport.message.EslMessage 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();
}
use of org.freeswitch.esl.client.transport.message.EslMessage 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();
}
use of org.freeswitch.esl.client.transport.message.EslMessage in project bigbluebutton by bigbluebutton.
the class ConnectionManager method broadcast.
public void broadcast(BroadcastConferenceCommand rcc) {
Client c = manager.getESLClient();
if (c.canSend()) {
EslMessage response = c.sendSyncApiCommand(rcc.getCommand(), rcc.getCommandArgs());
rcc.handleResponse(response, conferenceEventListener);
}
}
use of org.freeswitch.esl.client.transport.message.EslMessage in project bigbluebutton by bigbluebutton.
the class ConnectionManager method getUsers.
public void getUsers(GetAllUsersCommand prc) {
Client c = manager.getESLClient();
if (c.canSend()) {
EslMessage response = c.sendSyncApiCommand(prc.getCommand(), prc.getCommandArgs());
prc.handleResponse(response, conferenceEventListener);
}
}
Aggregations