特定のディレクトリ「/usr/local/freeswitch/bin」で originate コマンドを実行しようとしています。bin では、./fs_cli コマンドで実行可能ファイル fs_cli を実行する必要があります。fs_cli では、次のコマンドを実行する必要があります。
originate loopback/1234/default &bridge(sofia/internal/1789)
ターミナルからは正常に動作します。同じコマンドをbinから実行できます
./fs_cli -x "originate loopback/1234/default &bridge(sofia/internal/1789)"
上記のタスクを実行するために次のJavaプログラムを試しました
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);
}
fs_cliのシンボリックリンクを作成し、現在の場所に配置しました上記のプログラムは次の出力を示しています
出力
-ERR "元のコマンドが見つかりません!
私に関する限り、上記のコマンドは端末で正常に動作していますが、Java と同じである必要があります。したがって、どこかで間違っていることを示しています。この問題を解決するのを手伝ってください。