У меня есть приложение для iphone, в котором мне нужно управлять видеовызовом от вызывающего абонента к получателю, и оно отлично работает с использованием платформы Opentok. Видеозвонок и аудио все работает нормально. Но у меня проблема с завершением вызова со стороны получателя без ответа на вызов.
Если получатель принял вызов, а затем завершил вызов, то вызывающий абонент получает событие завершения вызова. Но когда получатель не принимает вызов из приложения и не завершает вызов напрямую, вызывающий абонент не получает никакого события, и он постоянно отображает экран вызова. Все делегаты и его методы реализованы.
Делегаты: OTSessionDelegate
, OTSubscriberDelegate
, OTPublisherDelegate
. И все обязательные и необязательные методы реализованы и работают нормально.
объекты в заголовочном файле
#import <Opentok/Opentok.h>
@interface myViewController : UIViewController
{
OTSession* session;
OTPublisher* publisher;
OTSubscriber* subscriber;
}
И я вызываю метод doUnpublish
, чтобы завершить вызов. Код
- (void)doUnpublish
{
[loaderviewView removeFromSuperview];
[_session unpublish:_publisher];
[_session disconnect];
[player stop];
[self doDisconnect];
}
- (void)doDisconnect
{
[callingView setHidden:YES];
timer invalidate];
[_session disconnect];
}
Он работает нормально, если получатель принимает вызов, а затем завершает вызов. Но если он не получает вызов и сразу завершается, то вызывающий не получает событие о том, что вызов завершен получателем.
Я не привожу дополнительный код, потому что он содержит код личных данных, которым я должен управлять для получения информации о звонках. И это не проблема и работает нормально. Мне просто нужно знать, как я могу получить событие на стороне вызывающего абонента, чтобы получатель завершил вызов, не приняв вызов.
Все мое приложение готово, и из-за этой ситуации я приостановлен. Любая помощь будет оценена.
subscriberDidConnect
на стороне дилера? - person khush   schedule 06.05.2020