参考代码地址: https://github.com/yjmyzz/esl-client/tree/0.9.x
在源码里 org.freeswitch.esl.client.inbound.Client类增加public CommandResponse sendEvent(SendEvent sendEvent) 方法,
在源码里增加org.freeswitch.esl.client.transport.SendEvent 类, 然后编译发布, 自己的项目依赖这个jar包即可.
public CommandResponse sendEvent(SendEvent sendEvent) {
checkConnected();
InboundClientHandler handler = (InboundClientHandler) channel.getPipeline().getLast();
EslMessage response = handler.sendSyncMultiLineCommand(channel, sendEvent.getEventLines());
return new CommandResponse(sendEvent.toString(), response);
}
package org.freeswitch.esl.client.transport;
import java.util.ArrayList;
import java.util.List;
/**
*
* 事件类
*/
public class SendEvent
{
private final List<String> eventLines = new ArrayList<String>();
private final boolean hasUuid;
/**
* Constructor for use with outbound socket client only. This client mode does not need a call
* UUID for context.
*/
public SendEvent()
{
eventLines.add("sendevent");
hasUuid = false;
}
/**
* Constructor for use with the inbound client.
*
* @param eventName of the call