UCMA 2.0: возобновить прекращенный InstantMessagingCall
Скажем, у меня есть пользователь в OCS, который представляет конечную точку моего приложения, и я пытаюсь отправить ему сообщение из веб-приложения локально (я построил поверх примера приложения BasicIMCall), и в какой-то момент они закрывают окно чата, как мне возобновить InstantMessagingCall? Я искал ответ по всей сети, но не могу понять. Как только пользователь закрывает окно, состояние вызова становится завершенным. Как восстановить вызов вместе с его историей вызовов и продолжить или возобновить завершенный разговор?
2 ответа
Если они закрыли чат с вами, вы получите состояние события, которое сообщит вам, что состояние прекращено. Это зависит от вас, что вы хотите сделать в этот момент.
Если вы хотите поговорить с ним снова, вам нужно будет BeginEstablish
InstantMessagingCall
снова. Тогда он должен будет согласиться на то, чтобы ты снова поболтал.
Зарегистрируйте состояние изменения вызова для входящего IM-вызова:
call.StateChanged +=new EventHandler<CallStateChangedEventArgs>(call_StateChanged);
Далее вы можете получить состояние вызова, а когда он завершится, вы можете инициировать новый вызов:
protected void call_StateChanged(object sender, CallStateChangedEventArgs e)
{
if (e.State == CallState.Terminated)
{
//Initiate new call again
}
}
Чтобы восстановить историю звонков, я думаю, что вы должны хранить расшифровку предыдущего разговора.