Как выполнить 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:)

Другие вопросы по тегам