Sinch CallBack API: зависание в событии ICE - PullRequest
1 голос
/ 01 апреля 2020

Я установил вызов между двумя Android устройствами, которые успешно работают. Теперь я хочу реализовать Callback Rest API из-за какого-либо решения на стороне сервера перед вызовом места. Как указано в этом image , ICE событии пожара и ответном бэкэнде разработчика SVAML ответ.

Теперь я хочу просто Вызов Hangup , для этого я сделал следующий код:

[System.Web.Http.HttpPost]
    public SvamletModel MakeCall(CallbackEventModel model)
    {
        var sinch = SinchFactory.CreateCallbackResponseFactory(Locale.EnUs);
        var reader = sinch.CreateEventReader();
        var evt = reader.ReadModel(model);

        var builder = sinch.CreateIceSvamletBuilder();

        SvamletModel svaml = builder.Hangup().Model;

        return svaml;
    }

, но звонок все еще выполняется. Я также написал класс действий в SvamletModel, но с тем же ответом.

[System.Web.Http.HttpPost]
public SvamletModel MakeCall(CallbackEventModel model)
{
    var sinch = SinchFactory.CreateCallbackResponseFactory(Locale.EnUs);
    var reader = sinch.CreateEventReader();
    var evt = reader.ReadModel(model);

    var builder = sinch.CreateIceSvamletBuilder();



    SvamletModel svaml = builder.Build().Model;


    SvamletActionModel actionModel = new SvamletActionModel();
    actionModel.Name = "Hangup";
    svaml.Action = actionModel;

    return svaml;
}

Примечание. Я выполнил все шаги, описанные в Callback API и https://developers.sinch.com/docs/further-securing-your-sinch-calling-functionality-app-with-rest-api, но безуспешно .

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Преобразование типа возврата из SvamletModel в string работает.

Итак, я изменил

[System.Web.Http.HttpPost]
    public SvamletModel MakeCall(CallbackEventModel model)
    {
        var sinch = SinchFactory.CreateCallbackResponseFactory(Locale.EnUs);
        var reader = sinch.CreateEventReader();
        var evt = reader.ReadModel(model);

        var builder = sinch.CreateIceSvamletBuilder();

        SvamletModel svaml = builder.Hangup().Model;

        return svaml;
    }

на

[System.Web.Http.HttpPost]
    public string MakeCall(CallbackEventModel model)
    {
        var sinch = SinchFactory.CreateCallbackResponseFactory(Locale.EnUs);
        var reader = sinch.CreateEventReader();
        var evt = reader.ReadModel(model);

        var builder = sinch.CreateIceSvamletBuilder();

        SvamletModel svaml = builder.Hangup().Model;

        string json = JsonConvert.SerializeObject(svaml, Formatting.Indented);

        return json;
    }
0 голосов
/ 03 апреля 2020

Привет, ваш код выглядит правильно, вы можете захватить и отправить здесь HTTP-ответ, который ваш бэкэнд отправляет как ответ ICE POST? Также добавьте callID для вызова.

Sinch Voice & Video Team

...