Цель: я создаю приложение, в котором пользователь может посоветоваться с советником. Оба приложения разные. В этом руководстве я реализовал вызов iOS Twilio, https://github.com/twilio/voice-quickstart-ios. Все работает отлично, как они уже упоминали. Я могу принимать входящие звонки, а также делать исходящие звонки. но проблема в том, что когда я получаю звонок, то слушаю голосовое ответное сообщение, которое я сохранил на сервере. Мое требование: мне нужно поговорить с одним приложением iOS Twilio с другим iOS с тем же приложением Twilio вместо получения сообщения VoiceResponse. Если я делаю телефонные звонки на реальные телефонные номера, тогда я могу говорить и слушать без проблем, и этот звонок поступил как собственный вызов, но от приложения к приложению разговор не работает. Примечание: мы скрываем номера телефонов. поэтому мы должны совершать звонки, используя единственную личность, а не через мобильный номер.
Например, звонок Skype
Мой код исходящего звонка, как показано ниже
func performVoiceCall(uuid: UUID, client: String?, completionHandler: @escaping (Bool) -> Void) {
guard let accessToken = apiAccessToken else {
completionHandler(false)
return
}
let connectOptions = TVOConnectOptions(accessToken: accessToken) { builder in
builder.params = ["To": "Test123"]
builder.uuid = uuid
}
let call = TwilioVoice.connect(with: connectOptions, delegate: self)
activeCall = call
activeCalls[call.uuid.uuidString] = call
callKitCompletionCallback = completionHandler
}
PHP Код серверной стороны
$from = $request->from; //identity genrated via Twilio accessToken
$client = new Client($api_key,$api_secret,$account_sid);
$client->calls->create(
'client:'.$to,
'client:'.$from,
array(
"twiml" => "<Response><Dial><Client>".$to."</Client></Dial></Response>"
)