当前位置: 首页 > news >正文

北京做网站设计公司wordpress博客模板缺少插件

北京做网站设计公司,wordpress博客模板缺少插件,ui培训机构设计,制作宣传片视频1简介 在开启Java ESL Client编程之前#xff0c;请先阅读《FreeSWITCH权威指南》学习什么是FreeSWITCH Event Socket。 Java连接FreeSWITCH的ESL可以采用两种模式#xff1a;inbound和outbound。 Inbound模式#xff1a;Java应用作为客户端主动连接到FreeSWITCH的内置TCP…1简介 在开启Java ESL Client编程之前请先阅读《FreeSWITCH权威指南》学习什么是FreeSWITCH Event Socket。 Java连接FreeSWITCH的ESL可以采用两种模式inbound和outbound。 Inbound模式Java应用作为客户端主动连接到FreeSWITCH的内置TCP服务器上默认监听8021端口。连接成功后Java应用可以订阅FreeSWITCH的各种事件通知并对特定事件进行处理也可以向FreeSWITCH发送命令。例如通过Java应用可以获取来电事件并且可以控制呼叫流程如发送异步API命令发起呼叫 。 Outbound模式Java应用作为服务器端FreeSWITCH作为客户端连接到Java应用。这种模式下需要在FreeSWITCH配置中指定Java应用的IP和端口。当有来电时FreeSWITCH会连接到Java应用Java应用可以根据业务需求对通话进行处理如播放音乐或转接呼叫 。 选择哪种模式取决于具体的业务需求。如果需要监控所有来电情况或实现自助语音服务inbound模式可能更合适。而如果需要对来电进行人工客服分配outbound模式可能更简单 。另外Java ESL客户端库支持这两种模式并且提供了丰富的API来处理ESL连接和事件 。 在实际开发中开发者可以根据需要选择适合的连接模式并利用Java ESL客户端提供的接口来实现与FreeSWITCH的交互。 Java ESL客户端通过与FreeSWITCH的Event Socket LibraryESL交互能够实现以下操作 连接管理建立与FreeSWITCH的连接并处理连接的生命周期包括断开和重连。 事件订阅订阅FreeSWITCH产生的各种事件如呼叫开始、结束、通道变更等。 事件处理接收并处理来自FreeSWITCH的事件通知允许应用根据事件执行业务逻辑。 发送API命令向FreeSWITCH发送同步或异步API命令来控制呼叫流程例如发起呼叫、挂断、转接等。 执行异步命令发送异步命令并接收结果如查询呼叫状态、执行数据库操作等。 同步命令执行发送同步命令并等待其执行结果适用于需要即时反馈的操作。 设置呼叫变量在呼叫过程中设置或修改呼叫变量以控制FreeSWITCH的行为。 用户和设备管理通过API命令管理SIP用户、分机、IVR流程等。 呼叫录音控制呼叫录音的开始和停止。 呼叫监听和监视监听特定呼叫的音频流或监视呼叫状态。 发送DTMF向正在通话的通道发送DTMF信号。 应用执行在呼叫中执行特定的FreeSWITCH应用如播放音乐、发送短信等。 错误处理处理与FreeSWITCH连接或命令执行过程中可能出现的错误。 日志记录记录与FreeSWITCH交互的日志信息方便问题排查。 自定义协议支持实现自定义的ESL协议命令以支持FreeSWITCH的高级特性。 多线程和并发处理支持多线程环境下的并发调用和事件处理。 资源管理管理与FreeSWITCH的连接资源优化连接使用效率。 Java ESL客户端作为一个强大的工具允许开发者通过编程方式与FreeSWITCH进行交互实现复杂的呼叫处理和通信应用fs_cli。 2实现 2.1maven依赖 dependency groupIdorg.freeswitch.esl.client/groupId artifactIdorg.freeswitch.esl.client/artifactId version0.9.2/version /dependency2.2代码 package org.example;import org.freeswitch.esl.client.IEslEventListener; import org.freeswitch.esl.client.inbound.Client; import org.freeswitch.esl.client.transport.event.EslEvent;/*** author yrz* create 2024/08/20*/ public class ESLClient {private static final String HOST 10.192.33.34;private static final int PORT 8021;private static final String PASSWORD ClueCon;private static String job_UUID null;public static void main(String[] args) {InBound();}private static void InBound() {final Client client new Client();try {client.connect(HOST, PORT, PASSWORD, 20);System.out.println(连接成功);} catch (Exception e) {System.out.println(连接失败);}client.addEventListener(new IEslEventListener() {Overridepublic void eventReceived(EslEvent event) {if (event.getEventName().equals(CHANNEL_ANSWER)) {System.out.println(通道应答);} else if (event.getEventName().equals(HEARTBEAT)) {System.out.println(收到心跳 -- event.getEventBodyLines());job_UUID client.sendAsyncApiCommand(status, null);System.out.println(Job_UUID -- job_UUID);} else if (event.getEventName().equals(CHANNEL_DESTROY)) {System.out.println(通道销毁);} else if (event.getEventName().equals(CHANNEL_HANGUP_COMPLETE)) {//挂断System.out.println(通道挂断完成);} else if (event.getEventName().equals(CHANNEL_CREATE)) {System.out.println(通道创建);}}Overridepublic void backgroundJobResultReceived(EslEvent event) {String uuid event.getEventHeaders().get(Job-UUID);if (job_UUID.equals(uuid)) {for (String s : event.getEventBodyLines()) {System.out.println(s);}}}});client.setEventSubscriptions(plain, all);} } /* 播打电话 String originate client.sendAsyncApiCommand(originate, CallEnum.CALL_BRIDGE); 类型 //相当于1001给1002打电话 {origination_caller_id_number1001}可以设置1001方显示名字默认是0000000 public static final String CALL_BRIDGE {origination_caller_id_number1002}user/1001 bridge(user/1002); // 给1001打电话channel启动echo app类似汤姆猫 并修改名字和号码 public static final String CALL_CHANNEL_CHANGE_NAME {origination_caller_id_nameZhang San,origination_caller_id_number1234}user/1001 echo; //等价于 user/1001 echo public static final String CALL_DIALPLAN_XML user/1001 echo inline; // 给1001通话channel启动playback app播放录音 public static final String CALL_PLAYBACK {origination_caller_id_nameZhang San,origination_caller_id_number1234}user/1001 playback(/播放文件路径); // 顺振 第一个呼叫失败呼叫第二个以此类推 public static final String CALL_PARAMAGNETIC_RESONANCE user/1001|user/1002 echo; // 同振 同时呼叫 谁先接听谁通话另一个挂断 public static final String CALL_WITH_VIBRATION user/1001,user/1002 echo; // 服务器先给1001打1001接听后进入dialplan找到1002这个exten最后执行echo public static final String CALL_EXTEN user/1001 1002; // 在1001接听后进入public dialplan查找路由 public static final String CALL_DIALPLAN_CONTEXT user/1001 1002 XML public; // 在呼叫时在SDP里面向对方提供G729 PCMU编码但在执行是会缺少PCMU编码 需要转义字符\或者^^: {absolute_codec_stringG729\,PCMU}user/1001 echo 或者下面的 public static final String CALL_ESCAPE_CODEC {absolute_codec_stringG729^^:PCMU}user/1001 echo; */3问题处理 3.1mod_event_socket.c:2674 IP ::ffff Rejected by acl “loopback.auto” event socket默认监听地址为127.0.0.1。 在event_socket.conf.xml配置文件中取消该行注释 param nameapply-inbound-acl valueloopback.auto/在acl.conf.xml中增加 list nameloopback.auto defaultallow node typeallow cidr0.0.0.0/ /list /***********************************************/ list nameloopback.auto defaultallow node typeallow cidr0.0.0.0/0/ /listreloadxml reloadacl 4参考文档 https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Java-ESL/Java-ESL-Client_7144076/ https://github.com/esl-client/esl-client https://sunxiaodou.com/2017/08/02/java-esl-freeswitch/ https://blog.csdn.net/qq_40170041/article/details/127015890
http://www.dnsts.com.cn/news/187019.html

相关文章:

  • 网站界面 欣赏培训心得体会范文大全1000字
  • 最好的免费cms系统安阳网站建设优化
  • 厦门市建设工程质量安全协会网站中国各大网站名称
  • 如何做高网站的浏览量文网文许可证
  • 下载建网站百度指数 多少流量 网站名
  • 做移动网站排名软件顺企网下载
  • 网站的建设方面如何写网站改版的影响
  • 青岛网站推广外包用vs2013做网站案例
  • 东莞网站建设最优建设一个教程视频网站需要什么资质
  • 手机网站 免费新闻营销的优势
  • 产品展示网站源码php范县网站建设公司
  • 南京企业网站做优化查找全国免费网站建设
  • 网站设计手机版为什么那么多背景wordpress 预约时间
  • 网站开店前的四项基本建设手机微信一体网站建设
  • 上海黑马网站制作谷歌网站关键词优化
  • 杭州的设计网站建设自己做家具网站
  • php网站投票源码网站建设营业执照如何写
  • 用阿里云空降怎么建设网站微信网站建设教程
  • 做一个谷歌网站多少钱创意100图片欣赏
  • 第一家中文商务网站北京互联网企业有哪些
  • 宝山区网站建设怎么推广自己的公司网站
  • 外贸网站框架织梦高端html5网站建设工作室网络公司网站模板
  • 行业seo网站优化方案建设积分兑换商城网站
  • 云建站精品模版国外购物网站有哪些
  • 顺的品牌网站设计价位赵本山死了最新新闻
  • 电子商务网站开发语言直播网站开发多少钱
  • sem搜索引擎郑州seo优化公司排名
  • 小程序建站哪家好网站建设行业2017
  • 做网站吗网上编程培训哪家好
  • dede 网站搬家铜川网络推广