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

本文是关于使用Java ESL库连接FreeSwitch并实现拨打电话的第二篇教程,详细介绍了连接过程、发送拨号命令及相关的编程实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值