我是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 /"地点 我在工作区目录中创建了一个符号链接。
答案 0 :(得分:0)
为什么不使用ESL client?它应该提供更多选项,并且发起呼叫将没有问题。
关于您的特定问题,看起来您的程序试图在shell中执行“originate”命令,而不是./fs_cli。可能需要更多Java文档阅读:)