Я использую Sinch SDK, чтобы создать приложение для вызова ios и android и реализую функцию вызова между приложениями. Я успешно разработал приложение для звонков, сделанных с IOS на устройство IOS и Android на устройство Android. Но когда я звоню с android-устройства на ios-устройство или с ios-устройства на android-устройство, я слышу тональный сигнал о соединении и наборе номера, но на другом конце платформы ничего не происходит, звонок не достигает.
Когда я проверяю журнал, я получаю статус «НЕТ ОТВЕТА», но на другой платформе звонок не принимается. Пожалуйста, дайте мне знать, как решить эту проблему.
Детали кода:
if (mobile != nil) && self.client.isStarted() {
client.call().delegate = self
fullname = "\(dataArray[indexpathRow]["firstName"] as! String) \(dataArray[indexpathRow]["middleName"] as! String) \(dataArray[indexpathRow]["lastName"] as! String)"
let header: [String: String] = ["callerCallId": (logInDataModelObject?.user_id)!, "callerType": "1", "recieverCallId": "\(dataArray[indexpathRow]["id"] as! String)", "recieverType": "1", "CallerName": fullname!, "CallerPhoto": dataArray[indexpathRow]["photo"] as! String]
weak var call: SINCall? = client.call().callUser(withId: mobile, headers: header)
let controller1: CallViewController = CallViewController(nibName: "CallViewController", bundle: nil)
viewCallingAppear = true
controller1.title = "Call"
controller1.call = call
controller1.callingPersonName = fullname
controller1.userImage = dataArray[indexpathRow]["photo"] as? String
self.navigationController?.present(controller1, animated: true, completion: nil)
}
// MARK: - SINCallClientDelegate
func client(_ client: SINCallClient!, didReceiveIncomingCall call: SINCall!) {
if let rootViewController = UIApplication.topViewController() {
//do sth with root view controller
print(rootViewController)
let controller1: CallViewController = CallViewController(nibName: "CallViewController", bundle: nil)
controller1.call = call
let header = call.headers
controller1.callingPersonName = header!["CallerName"] as! String
controller1.userImage = header!["CallerPhoto"] as! String
rootViewController.present(controller1, animated: true, completion: nil)
}
}