[英]How to Execute FreeSWITCH (fs_cli) from a java application
我是freeswitch的新手,我已经尝试从fs_cli控制台在freeswitch中使用origin命令,并且该命令工作正常。 现在我的要求是从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 /”位置,我在工作区目录中创建了符号链接。
为什么不使用ESL客户端 ? 它应该提供更多选项,并且发起呼叫不会有问题。
关于您的特定问题,您的程序似乎试图在shell中执行“ originate”命令,而不是./fs_cli。 可能需要阅读更多Java文档:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.