Skip to content

Tangwego/eslclient-spring-boot-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eslclient-springboot-starter

介绍

FreeSWITCH ESL springboot starter

软件架构

基于FreeSWITCH事件库Event Socket Library的一个springboot starter实现

安装教程

  1. pom.xml中添加依赖
<!-- https://mvnrepository.com/artifact/top.wdcc/eslclient-spring-boot-starter -->
<dependency>
    <groupId>top.wdcc</groupId>
    <artifactId>eslclient-spring-boot-starter</artifactId>
    <version>1.0.1-RELEASE</version>
</dependency>

使用说明

  • 配置FreeSWITCH ESL连接相关信息
freeswitch:
  eslclient:
    host: freeswitch     # event socket 主机地址
    port: 8021           # event socket 主机端口
    password: ClueCon    # event socket 主机认证密码
    timeout-sec: 30000   # event socket 连接超时
    pool-size: 1         # event socket 连接池大小
  • 添加异步调用结果监听器
/**
 * 监听BACKGROUND_JOB事件 (eventName可选,只要继承了EslBackgroundJobListener并添加了EslListener注解即可)
 */
@EslListener
public class DemoBackgroundJobListener implements EslBackgroundJobListener {
    private static final Logger logger = LoggerFactory.getLogger(DemoBackgroundJobListener.class);

    @Override
    public void onBackgroundResult(String jobUuid, boolean hasBody, List<String> bodyLines) {
        logger.info("job uuid: {}, 是否有收到BGAPI结果: {}", jobUuid , hasBody);
        logger.info("收到的BGAPI结果: \n{}", bodyLines);
    }
}
  • 添加事件监听器
/**
 * 监听事件
 * eventName填写需要关心的事件, subClassName填写事件子类(可选)
 */
@EslListener(eventName = "API")
public class DemoApiListener implements EslEventListener {
    private static final Logger logger = LoggerFactory.getLogger(DemoApiListener.class);
    @Override
    public void onEslEvent(String eventName, Map<String, String> eventMap) {
        logger.info("执行了一个API:{}, 参数:{}", eventMap.get("API-Command"), eventMap.get("API-Command-Argument"));
    }
}
  • 使用EslClient发送命令
@Autowired
private EslClient eslClient;

public void test(){
    eslClient.api("sofia", "status");
}

参与贡献

  1. Fork 本仓库
  2. 新建 dev 分支
  3. 提交代码
  4. 新建 Pull Request

About

FreeSWITCH Spring Boot starter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages