Страница 2 из 4

Re: ARI или AMI

Добавлено: 12 авг 2016, 10:59
httpal
virus_net, прочитал вашу статью, спасибо за ссылку. Первый раз с такой задачей сталкиваюсь, поэтому не все сразу понятно.

gland, спасибо за совет. Я и сам это уже понял :( , только вот приложение уже написано и установлено у клиентов, осталось только привязать к астериску. В этом месяце закончить нужно.

Подключился к ARI через Swagger и звоню с одного софтового телефона на другой. При попытке перевести channel_id на другой endpoint получаю ответ:
{
"message": "Channel not in Stasis application"
}

Будьте добры, подскажите, как через swagger перевести линию на другой номер или как добавить Channel в statis application, опять же через swagger?

Заранее благодарен!

Re: ARI или AMI

Добавлено: 12 авг 2016, 13:27
gland
У Вас канал должен быть управляем Stasis`ом. Уважаемый virus_net Вам уже написал об этом
Отсюда третье предложение
Каналы не в стэйсисе НЕ МОГУТ управляться через ARI. Как реализовать это в FPC не знаю, к счастью
Тут описание

Re: ARI или AMI

Добавлено: 13 авг 2016, 07:56
virus_net
httpal писал(а): Первый раз с такой задачей сталкиваюсь
Все когда то бывает в первый раз и это повод разбираться читая соответствующую документацию. Мое первое столкновение с ARI и привело к написанию статьи.
httpal писал(а):"message": "Channel not in Stasis application"
Как говорят: "Перевожу с английского, дороХо!"
httpal писал(а): как добавить Channel в statis application
Цитирую статью:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Читаем доку:

# asterisk -rx ‘core show application Stasis’

-= Info about application ‘Stasis’ =-

[Synopsis]
Invoke an external Stasis application.

[Description]
Invoke a Stasis application.
This application will set the following channel variable upon completion:
${STASISSTATUS}: This indicates the status of the execution of the Stasis application.
SUCCESS: The channel has exited Stasis without any failures in Stasis.
FAILED: A failure occurred when executing the Stasis The app registry
is not instantiated; The app application. Some (not all) possible reasons
for this: requested is not registered; The app requested is not active;
Stasis couldn’t send a start message.

[Syntax]
Stasis(app_name[,args])

[Arguments]
app_name
Name of the application to invoke.
args
Optional comma-delimited arguments for the application invocation.

Пример применения приложения Stasis в dialplan:

[default]
exten => 1000,1,NoOp()
same => n,Answer()
same => n,Stasis(hello)
same => n,Hangup()
Либо вы читали статью по диагонали, либо вообще не осознали прочитанное. Читать до полного просветления.

Re: ARI или AMI

Добавлено: 13 авг 2016, 14:59
virus_net
Но я по прежнему придерживаюсь ранее мной сказанного:
virus_net писал(а):Как мне кажется у ТС это не так, потому тут на вопрос по ARI ответом для ТС будет скорее "Нет" чем "Да".
ARI НЕ для вашей задачи.
httpal писал(а):Я написал клиентское приложение для фиксации персональных данных звонящего.
На мой взгляд варианты:
  • - приложение на строне Asterisk`а стучится в ваше приложение и сообщает ему о поступающем вызове
    - ваше приложение переодически долбит приложение (API, которое так же нужно написать) на стороне Asterisk`а на предмет наличия вызова (самый худший вариант)
    - переход на работу по Websocket: Asterisk AMI => Websocket server <=> ваше приложение
вариант "ваше приложение <=> AMI" я в принципе не рассматриваю, т.к. считаю (не я один), что подобная реализация это огромная дыра в безопасности
Вообщем если все ещё не понятно, то либо гугл, либо ждите ещё ответов от других участников форума, либо (ИМХО) это уже нужна платная консультация.

Re: ARI или AMI

Добавлено: 14 авг 2016, 02:03
gland
ТС,Вы можете полностью описать вашу задачу? Глядишь всё ещё можно будет переделать по-нормальному.

Re: ARI или AMI

Добавлено: 15 авг 2016, 06:49
httpal
Спасибо за терпение, за советы, за ответы! :)

Меня интересует платная консультация, с кем я могу договориться?

Заранее благодарен!

Re: ARI или AMI

Добавлено: 15 авг 2016, 07:55
gland
Я думаю, вам часть вещей или направление подскажут и бесплатно, если опишите задачу тут. Мне очень интересно что там, но на платного консультанта не тяну

Re: ARI или AMI

Добавлено: 15 авг 2016, 09:02
virus_net
httpal писал(а):с кем я могу договориться?
Можете со мной, если вас устроит ценник. Можете с кем то еще -> раздел "Бизнес"
gland писал(а):часть вещей или направление подскажут и бесплатно
Дык уже ж подсказали.

Re: ARI или AMI

Добавлено: 15 авг 2016, 09:54
httpal
Нужно выполнить 2 задачи:
1. чтоб клиентское приложение среагировало на звонок, открыв новую запись для заполнения, подхватив номер звонящего
2. возможность перевода звонка на др. оператора из клиентского приложения
---------------------------------

1-ю задачу можно решить самым простым способом - поставить таймер и отправлять GET запрос:
S:= Get('http://login:password@ip:8088/ari/channels.........');
Из JSON ответа вытащить нужные данные, в том числе номер звонящего.
Это небезопасно конечно, но на первое время сойдет.

А вот вторую, исходя из ваших ответов, видимо не выйдет так просто GET, POST запросами...

Ладно, всем спасибо, извините за отнятое время!

Re: ARI или AMI

Добавлено: 15 авг 2016, 13:00
virus_net
httpal писал(а):Нужно выполнить 2 задачи:
Варианты я уже написал выше.
Для себя использовал вариант с Websocket.
httpal писал(а):Это небезопасно конечно, но на первое время сойдет
это просто ужасно и не сойдет ни на какое время, т.к. нет ничего более постоянного чем временное.