Не удается создать приложение Asterisk Stasis с помощью библиотеки ari4java - PullRequest
0 голосов
/ 30 мая 2018

Я использую библиотеку ari4java, и у меня проблема с регистрацией стазисного приложения.Если я использую командную строку для подключения к Asterisk и прослушиваю события для определенного имени приложения, это работает.Создает приложение и все ок.Проблема возникает, когда я делаю это с помощью библиотеки ari4java в Java.На самом деле, я пытаюсь пример из хранилища библиотеки github (то есть - ConnectAndDial.java) [1].Я понимаю, что вызов ARI.build (...):

ari = ARI.build(
ASTERISK_ADDRESS,
"app_test",
ASTERISK_USER,
ASTERISK_PASS,
AriVersion.ARI_3_0_0
);

должен создать приложение с именем app_test.Реальность такова, что это не так.

for (Application app : ari.applications().list()) {
System.out.print(app.getName() + " ");
}

Код выше, выполненный после того, как ARI.build (...) ничего не печатает.Это означает, что в Asterisk нет зарегистрированных приложений.Запуск "ari show apps" в Asterisk CLI также говорит мне, что приложение не зарегистрировано.

Я не могу понять, в чем проблема?Может кто-нибудь, пожалуйста, помогите мне с этим?

Заранее спасибо.

PS: Я использую Asterisk 15.4.0

[1] https://github.com/l3nz/ari4java/blob/master/tests/ch/loway/oss/ari4java/sandbox/sample/ConnectAndDial.java

1 Ответ

0 голосов
/ 24 января 2019

Прежде всего, вам нужно создать экземпляр ARI, используя ARI.build, как вы это и сделали.Например:

ARI ari = ARI.build(asteriskUrl, "stasisApp", "userid", "secret", AriVersion.ARI_3_0_0);

Кроме того, вам необходимо определить файлы конфигурации следующим образом:

  1. ari.conf - файл конфигурации, который определяет свойства пользователя и звездочки:
[general]
enabled = yes
pretty = yes

[userid]
type = user
read_only = no
password = secret
extensions.conf - определить панель набора для приложения, которое вы хотите запустить:

[general]
enabled = yes
pretty = yes

[userid]
type = user
read_only = no
password = secret
http.conf - конфигурация HTTP-сервера:
[general]
enabled = yes
bindaddr = 0.0.0.0
bindport = 8088

Кроме того, после создания экземпляра ARI вы можете открыть веб-сокет для прослушивания событий ARI, используя: ari.events().eventWebsocket("stasisApp", true, ariCallback);

...