Как выполнить FreeSWITCH (fs_cli) из Java-приложения
Я новичок в freeswitch, я попытался создать команду в freeswitch из консоли fs_cli, и она работала правильно. Теперь мое требование - выполнить то же самое из 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 ответ
Почему вы не используете клиент ESL? Это должно обеспечить гораздо больше возможностей, и вызов не будет проблематичным.
Что касается вашей конкретной проблемы, похоже, что ваша программа пыталась выполнить команду "origin" в оболочке, а не./fs_cli. Наверное, нужно больше читать документацию по Java:)