如何解决Twilio 可编程语音自定义参数问题
我们无法接收调用方发送的客户参数。 这是我们如何发送
func performVoiceCall(uuid: UUID,client: String?,completionHandler: @escaping (Bool) ->
Void) {
let connectOptions = ConnectOptions(accesstoken: accesstoken) { builder in
builder.params = [twimlParamTo: self.callToUserId,"displayName": "zeshan"]
builder.uuid = uuid
}
let call = TwilioVoiceSDK.connect(options: connectOptions,delegate: self)
activeCall = call
activeCalls[call.uuid!.uuidString] = call
callKitCompletionCallback = completionHandler
}
这里是我们如何接收但在呼叫接收端无法获取任何客户参数
func callInviteReceived(callInvite: CallInvite) {
NSLog("callInviteReceived:")
UserDefaults.standard.set(Date(),forKey: kCachedBindingDate)
let callerInfo: TVOCallerInfo = callInvite.callerInfo
if let verified: NSNumber = callerInfo.verified {
if verified.boolValue {
NSLog("Call invite received from verified caller number!")
}
}
let from = (callInvite.from ?? "Voice Bot").replacingOccurrences(of: "client:",with: "")
let customParam = callInvite.customParameters?["displayName"]
// Always report to CallKit
reportIncomingCall(from: from,uuid: callInvite.uuid)
activeCallInvites[callInvite.uuid.uuidString] = callInvite
}
customParam 收到 null 请指教
解决方法
这里是 Twilio 开发者布道者。
当您通过 Twilio Voice SDK connect
方法设置参数时,会将参数发送到您的 TwiML 应用程序的网络钩子。
为了发送这些参数,以便接收来电的 Twilio Voice SDK 客户端可以读取它们,您需要使用嵌套在 <Client>
元素中的 the <Parameter>
TwiML element 再次设置它们。例如:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Client>
<Identity>user-jane</Identity>
<Parameter name="displayName" value="zeshan"/>
</Client>
</Dial>
</Response>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。