`
喧嚣求静
  • 浏览: 550830 次
  • 性别: 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版本的吗

相关推荐

Global site tag (gtag.js) - Google Analytics