如何从java应用程序执行FreeSWITCH(fs_cli)

时间:2013-10-09 07:02:58

标签: java freeswitch

我是freeswitch的新手,我从fs_cli控制台尝试了freeswitch中的originate命令,它运行正常。现在我的要求是从java应用程序执行相同的操作。 我试过以下代码

package org.freeswitch.esl.client.outbound.example;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Call {
Call() throws IOException {
    Process pr = Runtime.getRuntime().exec("./fs_cli -x \"originate    loopback/1234/default &bridge(sofia/internal/1789@192.168.0.198)\"");
    BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    String str = null;
    while ((str = br.readLine()) != null) {
        System.out.println(str);
    }
    System.out.print("success");
}

public static void main(String[] args) throws IOException {
    Call call;
    call = new Call();
}
}

输出

-ERR"发现命令未找到!

成功

请帮帮我, fs_cli位于" / usr / local / freeswitch / bin /"地点 我在工作区目录中创建了一个符号链接。

1 个答案:

答案 0 :(得分:0)

为什么不使用ESL client?它应该提供更多选项,并且发起呼叫将没有问题。

关于您的特定问题,看起来您的程序试图在shell中执行“originate”命令,而不是./fs_cli。可能需要更多Java文档阅读:)