Создание, перенаправление вызовов с помощью AsterNET.ARI

Я установил дистрибутив AsteriskNOW с freePBX. Я пытаюсь внедрить автодозвон в наше существующее программное обеспечение. Я отслеживаю звонки без каких-либо проблем. Единственное, что работает, это повесить трубку. Когда я пытаюсь создать, перенаправить, удержать или выполнить подобное действие, я получаю ответ от звездочки: Канал не в приложении Stasis.

var x = client.Channels.Originate("SIP/447", extension: "SIP/446", timeout: 30);
client.Channels.Ring(x.Id);

person palkhin    schedule 10.07.2017    source источник
comment
Внедрение автодозвона без навыков — быстрый путь к потере денег. Используйте vicidial или другое уже СУЩЕСТВУЮЩЕЕ ядро ​​с открытым исходным кодом. Для использования ARI вам сначала нужно переместить канал в приложение Statis.   -  person arheops    schedule 11.07.2017
comment
@arheops да, я изучаю эти решения, но я пытаюсь реализовать очень простое решение, было бы лучше иметь свое решение ... Как мне переместить канал в приложение Stasis? Спасибо за ответ   -  person palkhin    schedule 11.07.2017
comment
Проще звонилки нет. У вас есть Статис, использующий диалплан.   -  person arheops    schedule 11.07.2017
comment
@arheops хорошо, спасибо за ответ ... Я буду использовать другие решения   -  person palkhin    schedule 11.07.2017
comment
@arheops Мне все еще понадобится одна операция, которую должен выполнить мой сервис, а именно перенаправление вызовов. Когда я пытаюсь перенаправить, я снова получаю Канал не в приложении Stasis. Можете ли вы сказать, как это исправить? или ссылку на документацию. Я не могу найти решение этого. Спасибо if (channel.State == "Up") client.Channels.Redirect(channel.Id, "SIP/447");   -  person palkhin    schedule 19.07.2017
comment
Сначала вам нужно поместить канал в Statis с помощью диалплана.   -  person arheops    schedule 19.07.2017


Ответы (1)


Сначала вам нужно инициировать вызов, используя метод Channel.Originate как

var newChannel = ActionClient.Channels.Originate(endpoint, extension, context, priority, null, AppName, null, callerId, timeout, variables, channelId, otherChannelId, originator);

newChannel.Id – это Channel_id, созданный описанным выше методом. Теперь вам нужно перенаправить вызов, используя public void Redirect(string channelId, string endpoint), где channelId — это ваш текущий канал, а конечная точка похожа на "endpoint:SIP/703".

Попробуйте это .. Удачи!!

person Shankar Dutt Chamoli    schedule 14.11.2017