0

我正在编写一个 Twilio iOS 应用程序,并且对通话的生命周期有疑问:如果我开始通话(使用TCDevice connect:delegate:),我想知道通话是否已被对方接听。我发现TCConnectionDelegate connectionDidDisconnect:要跟踪没有接听电话但是有没有类似的东西可以检测是否接听了电话

4

1 回答 1

2

Twilio 布道者在这里。

因此,让我们首先澄清您的设置是什么,并确保我理解您提出的具体问题。

听起来您正在使用<Dial>动词将 Twilio 客户端的实例连接到另一个端点(PSTN、SIP、客户端?)。如果是这样的话,那么真正的秘密是你有一个两条腿的电话。第一站通过 Twilio 客户端将您的应用程序连接到 Twilio。第二条腿通过<Dial>动词将 Twilio 与端点(PSTN、SIP、客户端)连接起来。

听起来你在问如何知道第二条腿是否被回答。

如果我的问题是正确的,不幸的是没有办法直接从 Twilio 客户端 SDK 中找到这个问题,但是您可以从服务器端应用程序中执行此操作,然后将结果中继到您的 iOS 应用程序。

<Dial>谓词包含一个名为action的属性,它允许您为 Twilio 指定一个 Web 应用程序 URL,以便在第二段调用结束时进行请求。该请求包括一个名为DialCallStatus的参数,它将告诉您呼叫结束的原因,包括是否没有应答。

<Dial action="http://www.example.com/callstatus">
    <Number>+15555555555</Number>
</Dial>

一旦您的 Web 应用程序知道 DialCallStatus,如果您想将其转发回您的 iOS 应用程序,您可以使用 iOS 的推送通知,或者您可以考虑使用Pusher之类的东西,这可能是发送通知的一种更轻量级的方式。

于 2014-01-14T00:45:29.677 回答