`
喧嚣求静
  • 浏览: 574027 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java esl连接freeswitch发送拨打电话<第二篇>

阅读更多

java esl连接freeswitch发送拨打电话<第二篇>

public class CopyOfEventEslInboundTestBak {
    private static final Logger log = LoggerFactory.getLogger(CopyOfEventEslInboundTestBak.class);
    private static String host = "127.0.0.1";
    private static int port = 8021;
    private static String password = "ClueCon";

    public static Client inBand() {

        final Client client = new Client();
        try {
            client.connect(host, port, password, 20);
        } catch (InboundConnectionFailure e) {
            log.error("Connect failed", e);
            return null;
        }

        // 注册事件处理程序
        client.addEventListener(new IEslEventListener() {
            public void eventReceived(EslEvent event) {
                // System.out.println("Event received [{}]" +
                // event.getEventHeaders());
                // 记录接听次数和时间
                if (event.getEventName().equals("CHANNEL_ANSWER")) {
                    System.err.println("CHANNEL_ANSWER");
                }
                if (event.getEventName().equals("CHANNEL_BRIDGE")) {
                    System.err.println("CHANNEL_BRIDGE");
                }

                if (event.getEventName().equals("CHANNEL_DESTROY")) {
                    System.err.println("CHANNEL_DESTROY");
                }

                if (event.getEventName().equals("CHANNEL_HANGUP_COMPLETE")) {
                    System.err.println("CHANNEL_HANGUP_COMPLETE");
                }

            }

            public void backgroundJobResultReceived(EslEvent event) {
                String uuid = event.getEventHeaders().get("Job-UUID");
                log.info("Background job result received+:" + event.getEventName() + "/" + event.getEventHeaders());// +"/"+JoinString(event.getEventHeaders())+"/"+JoinString(event.getEventBodyLines()));
            }

        });
        client.setEventSubscriptions("plain", "all");
return client;
}

public static void main(String[] args) throws InterruptedException {
        Client client = inBand();
        dialPhone(client, "xxxxxxx电话号码");
    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    public static void dialPhone(Client client, String mobile){
        if(client != null){
            client.sendSyncApiCommand( "bgapi originate", "sofia/external/" + mobile + "@FreeSwitch的IP &playback(ivr/8000/mydoctestv2.wav)" );
            //String response = client.sendAsyncApiCommand( "originate", "sofia/external/" + mobile + "@192.168.188.222 &playback(ivr/8000/mydoctestv2.wav)" );  //mydoctestv2
           // System.err.println("reponse--->" + response);
        }
    }

 

0
0
分享到:
评论
1 楼 牵着蚂蚁散步 2018-08-07  
哥,在吗,你现在操作freeswitch是用event socket吗,是用java版本的吗

相关推荐

    freeswitch的esl控制方式demo

    **Freeswitch ESL控制方式详解** Freeswitch是一款开源、多平台的VoIP通信系统,它支持多种协议和控制方式,其中包括XML配置和Event Socket Library(ESL)API。本资源主要关注的是通过ESL进行控制的方式,这是一种...

    freeswitch java sdk包

    freeswitch java sdk包,esl-client-0.10.0.jar,在0.9的基础上优化内存泄露问题,pom中载入: &lt;dependency&gt; &lt;groupId&gt;org.freeswitch.esl.client&lt;/groupId&gt; &lt;artifactId&gt;org.freeswitch.esl.client&lt;/artifactId&gt; ...

    C语言ESL连接FreeSwitch

    ESL是FreeSwitch设计的一种基于文本的协议,允许外部应用通过TCP或TLS连接到FreeSwitch服务器,发送和接收事件以及执行命令。C语言的libesl库是为开发人员提供的接口,可以方便地在C程序中集成ESL功能。 首先,要...

    java通过ESL连接Freeswitch,实现基本的音视频通话(通过指令实现主叫A与被叫B之间的互联互通)

    2. 呼叫控制:Java应用程序能够通过ESL发送命令到FreeSWITCH,实现对呼叫的全程控制。包括发起呼叫、接听呼叫、挂断呼叫等操作。用户可以通过Java应用程序的界面或API来触发这些呼叫控制功能。 综上所述,通过Java...

    esl.zip_CTI_esl freeswitch_freeswitch esl_freeswitch中间件_zip

    **Freeswitch与ESL简介** Freeswitch是一款开源、多平台的VoIP通信系统,设计用于企业级的电话交换和媒体服务器应用。它支持多种协议,如SIP、Skype for Business、XMPP等,提供了丰富的API和模块化设计,使得...

    freeswitch

    Java ESL调用FreeSWITCH发起呼叫 1:FreeSWITCH对外连接配置: 修改D:\VS\freeswitch-1.6.19\Win32\Debug\conf\autoload_configs\event_socket.conf.xml文件 所依赖包:JAVA调用FreeSWITCH: 需要Jar包:org....

    C#连接FreeSwitch执行一些操作操作例子

    C#环境下连接,操作FreeSwitch的例子,完全开源 如有改进意见请邮件或QQ联系: Email:hotzenplotz@163.com QQ:1969630628

    freeswitch esl java client 示例代码

    2. **Java ESL客户端库**:在Java中,有多个库可以实现ESL客户端,例如`freeswitch-esl-java`,它提供了API,使得开发者能够轻松地创建连接、发送命令、监听事件等。 3. **连接与认证**:在示例代码中,首先需要...

    FS-ESL_jssip_freeswitch_esl_mixj1i_

    2. **配置FreeSwitch**:在FreeSwitch中启用ESL监听,允许外部连接并配置相应的权限。 3. **实现JSSIP客户端**:在前端应用中,使用JSSIP库创建SIP用户代理,处理注册、呼叫、媒体流等操作。 4. **建立ESL连接**:在...

    freeswitch-esl-all:基于netty 4的freeswitch事件套接字,并具有一些新功能

    FreeSWITCH ESL ALL目标1、支持连接FreeSWITCH大规模集群2、更易于集成使用4、与spring boot 2.3.x深度整合,提供 starter5、可动态配置模块说明1.freeswitch esl 客户端(详细信息,移步至子模块)2.基于 freeswitch...

    freeswitch的PHP版本 ESL调用库

    这实现了对freeswitch进行ESL调用的控制,基于本程序可实现对FS的完全控制,基于socket通讯,包含了基础库和调用程序,短小精悍,个人原创代码(不过,基础库是基于开源代码修改的),这是我自己的开源项目FSLMX中的...

    org.freeswitch.esl.client-0.9.2.jar

    org.freeswitch.esl.client-0.9.2.jar org.freeswitch.esl.client-0.9.2.jar

    org.freeswitch.esl.client-0.9.2.jar&sources&doc

    org.freeswitch.esl.client-0.9.2.jar org.freeswitch.esl.client-0.9.2.sources.jar org.freeswitch.esl.client-0.9.2.javadoc.jar

    FreeSwitch:自由切换 java api

    自由切换 FreeSwitch Java API。 install--由于china cov停止了google,无法使用git remote。 你可以从“wget ..........”获得它。 rpc--必须有两个包,分别是apach-xmlrpc 和ws-commons-util。

    FreeSwitch完整的自定义模块定义和改善自定义事件的例子

    FreeSwitch是一款开源的电话交换平台,它支持多种通信协议,如SIP、Skype for Business、WebRTC等,广泛应用于VoIP系统。在FreeSwitch中,开发者可以通过自定义模块来扩展其功能,满足特定需求。本篇文章将深入探讨...

    ajax1.jsp echarts

    &lt;script type="text/javascript" src="./esl/esl.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="main" style="height:400px"&gt;&lt;/div&gt; &lt;script type="text/javascript"&gt; alert("yes"); var data = "{'one':'3'}"; ...

    Esl-dll.zip

    在C#中,通过引用esl.dll库,开发者可以创建客户端,连接到Freeswitch服务器,执行各种操作,如发送指令、接收事件、控制通话等。 在"C#-esl"的上下文中,"outbound"通常指的是从Freeswitch服务器主动发起连接到...

    sipjs+FreeSWITCH+webrtc电话呼入、呼出、转移、保持网页端的应用示例

    sipjs+FreeSWITCH+webrtc电话呼入、呼出、转移、保持网页端的应用的示例 谷歌浏览器下运行即可。 更改自己的分机、密码、服务器地址,可直接进行功能测试。 参考:http://sipjs.com。

    freeswitch之mod_callcenter介绍

    ### Freeswitch之mod_callcenter模块介绍 #### 模块概述 `mod_callcenter`是Freeswitch中的一个强大模块,主要用于实现呼叫中心的功能。它能够处理来电分配、队列管理、座席状态监控等常见呼叫中心场景的需求。本文...

    FreeSWITCH学习参考文档

    FreeSWITCH学习参考文档 1、安装、编译、测试 2、动态添加用户 3、http接收话单 4、ESL 内联、外联 5、更改默认数据库到MySQL 更详细深入学习参考官方文档:https://freeswitch.org/

Global site tag (gtag.js) - Google Analytics