【问题标题】:Outgoing calls with Twilio iOS Client使用 Twilio iOS 客户端拨出电话
【发布时间】:2016-06-29 15:05:19
【问题描述】:

我正在使用 Twilio API 并且可以成功地拨出电话号码,但是当我尝试输入另一个用户名进行连接时,没有任何反应。我有两个模拟器正在运行(一个带有 Android 快速启动客户端,我可以使用它向另一个用户拨打电话。我可以使用用户名从 Android 客户端向 iOS 客户端拨打电话,它工作正常,但是当我尝试执行从 iOS 客户端到 Android 客户端都是一样的,没有任何反应。我没有崩溃或任何事情,我只是听到它尝试启动的初始声音,然后是断开连接的声音。这是我的代码:

- (IBAction)dialButtonPressed:(id)sender {
    [self.dialField resignFirstResponder];
    NSDictionary *params = @{@"To": self.dialField.text};
    _connection = [_phone connect:params delegate:nil];
}

我在网上搜索了我能想到的所有地方,但每个参考资料似乎都只涉及带有电话号码的电话。适用于 Android 的 Twilio API 可以轻松处理此问题,但我无法为 iOS 解决此问题。任何建议将不胜感激。

提前致谢!!

【问题讨论】:

  • 您是否检查了 XCode 中的调试控制台以查看那里是否有任何有趣的消息。此外,您可以使用[[TwilioClient sharedInstance] setLogLevel:TC_LOG_DEBUG]; 调整客户端的日志输出。我还建议检查 Logs for Programmable voice 以查看 Client 是否实际连接到 Twilio。如果是,那么我会仔细检查您为客户端配置的 TwiML 应用程序是否返回了正确的 TwiML。
  • 感谢您的建议。我添加了您推荐的代码行。我不明白所有的输出,但看起来它确实可以很好地连接到 Twilio。它确实收到了一个令牌。此外,我可以拨打电话号码,甚至可以接听来自另一个用户(不是电话号码)的电话,我只是无法拨打我知道已注册的用户名并且可以接听来自某个用户的用户电话使用相同 Twilio 帐户凭据的 Android 设备。
  • 一些附加信息:Twilio API 中有一个名为 sendDigits 的方法,它只接受值 0-9 和 w(w 会在拨号中产生暂停)。我不知道这个方法在哪里被调用或如何拨打一个字符串而不是数字,但它几乎肯定与此有关,因为我注意到每次我尝试从 iOS 应用程序调用用户名时都会收到来自 twilio 的电子邮件。该电子邮件称存在与“禁止使用的电话号码”相关的错误。所以它试图将我的字符串解释为电话号码或类似的东西。
  • 嗨@DevinRader,我们在代码中的哪里设置这个([[TwilioClient sharedInstance] setLogLevel:TC_LOG_DEBUG];)?
  • 你能分享你的代码吗?

标签: ios twilio


【解决方案1】:

非常感谢来自 Twilio 的 Zack,他终于注意到我们只需要添加客户端:在尝试呼叫用户而不是电话号码时的用户名之前(按照快速入门教程中的说明使用 Heroku 应用程序进行服务器设置时)。不知道为什么这不是内置在 iOS 说明中,而是内置于 Android 版本中。我很高兴有一些有用的东西。

我只需拨打客户端:然后将用户名直接输入拨号字段即可。现在我可以进行任何所需的编程更改。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多