FreeSWITCH ESL ALL
目标
1、支持连接FreeSWITCH大规模集群
2、更易于集成使用
4、与spring boot 2.3.x深度整合,提供 starter
5、可动态配置
模块说明
freeswitch-esl
1.freeswitch esl 客户端(详细信息,移步至子模块)
freeswitch-esl-example
2.基于 freeswitch-esl 客户端示例(详细信息,移步至子模块)
freeswitch-esl-spring-boot-starter
3.基于 Spring boot 2.3.x, freeswitch-esl 客户端(详细信息,移步至子模块)
application.properties
link.thingscloud.freeswitch.esl.inbound.servers[0].host=127.0.0.1
link.thingscloud.freeswitch.esl.inbound.servers[0].port=8021
link.thingscloud.freeswitch.esl.inbound.servers[0].timeout-seconds=5
link.thingscloud.freeswitch.esl.inbound.servers[0].password=ClueCon
link.thingscloud.freeswitch.esl.inbound.servers[2].host=127.0.0.2
link.thingscloud.freeswitch.esl.inbound.servers[2].port=8021
link.thingscloud.freeswitch.esl.inbound.servers[2].timeout-seconds=5
link.thingscloud.freeswitch.esl.inbound.events=CHANNEL_CREATE CHANNEL_DESTORY
# 开启性能监控 - 事件驱动-业务逻辑处理时间
link.thingscloud.freeswitch.esl.inbound.performance=true
link.thingscloud.freeswitch.esl.inbound.performanceCostTime=200
# 开启事件性能监控 - fs产生事件与应用接收到事件时间差
link.thingscloud.freeswitch.esl.inbound.eventPerformance=false
link.thingscloud.freeswitch.esl.inbound.eventPerformanceCostTime=200
application.yml
link:
thingscloud:
freeswitch:
esl:
inbound:
defaultPassword: ClueCon
performance: false
performanceCostTime: 200
servers:
- host: 127.0.0.1
port: 8021
timeoutSeconds: 5
- host: 127.0.0.2
- host: 127.0.0.3
events:
- CHANNEL_CREATE
- CHANNEL_DESTORY
freeswitch-esl-spring-boot-starter-example
4.基于 freeswitch-esl-spring-boot-starter 客户端示例(详细信息,移步至子模块)
特性说明
获取实例
InboundClient.getInstance()
SpringBoot容器 : @Autowired inboundClient
可动态配置添加或删除远端地址
添加远端地址
a、inboundClient.option().addServerOption(new ServerOption(host, port));
b、InboundClient.getInstance().option().addServerOption(new ServerOption(host, port));
删除远端地址
ServerOption serverOption = inboundClient.option().serverOptions().get(0);
a、inboundClient.option().removeServerOption(serverOption);
b、InboundClient.getInstance().option().removeServerOption(serverOption);
服务端连接监听器 ServerConnectionListener
inboundClient.option().serverConnectionListener(serverConnectionListenerImpl);
void onOpened(ServerOption serverOption);
void onClosed(ServerOption serverOption);
License
Apache License, Version 2.0 Copyright (C) Apache Software Foundation