0

我正在为 WP7 Mango 版本构建应用程序。要求是,当从该应用程序向预定义的一组联系人发送消息时,如果发送消息的号码无法接收消息,则应拨打这些号码和文本消息(打算发送)应在呼叫接收方时读出。

我非常怀疑这在 WP7 上是否可以实现。我这样想错了吗?有什么办法可以做到这一点?如果是,如何?

4

2 回答 2

2

好...

  1. 有一个启动器允许应用程序发送短信,但它需要用户交互,并且用户可以在发送前更改短信。因此,您无法确切知道发送了哪条短信。

  2. 手机上没有 API 可以检查电话号码是否可以接收短信(但也许您可以使用电话号码前缀或其他东西自己弄清楚)

  3. 无法以编程方式拨打号码

  4. 无法向呼叫接收者播放声音。可以说,当应用程序大声播放声音时,用户可以打开手机的扬声器

  5. 没有办法以编程方式告诉接听者何时接听电话。因此,当接听者接听电话时,用户必须手动按下应用程序中的按钮

总之,虽然它可能以某种方式成为可能,但它需要如此多的用户交互,以至于应用程序几乎毫无意义;)

于 2012-11-20T12:16:00.337 回答
1

您可以使用云中的 SMS 和 IVR 服务(例如SMSIfiedProphecy )来实现这些要求,而不是尝试直接从 WP7 中实现。

SMSIfied 允许您通过简单易用的 REST API 发送和接收文本消息。您还可以在回调中获取发送短信的结果。这是一篇博文“使用 C# 和 SMSified 发送 SMS 消息”。

对于不接受 SMS 的电话号码,您可以使用 Prophecy 拨打号码并使用文本转语音 (TTS) 播放消息。Prophecy 使用开放的 W3C 标准Call Control XML (CCXML)VoiceXML进行编程。您使用 CCXML 执行外拨拨号,当用户或应答机应答时,您将控制权传递给处理 TTS 的 VoiceXML 应用程序。Prophecy IVR 具有出色的通话进度分析功能,可以更轻松地在答录机/语音邮件中获取整个消息。你有没有从自动化系统中得到那些被切碎的信息?CCXML上的Voxeo 文档在第 F 章中很好地介绍了如何执行外拨。有一个很好的开源项目,叫做VoiceModel这使得使用 ASP.NET MVC 4 开发 VoiceXML 应用程序变得更加容易。

要从 WP7 发起这个出站拨号请求,只需要一个 HTTP 请求,该请求会传递要拨打的号码等参数,以及在查询字符串中运行的 CCXML 应用程序。实际的 CCXML 和 VoiceXML 应用程序将作为 Web 应用程序托管。

于 2012-11-20T14:38:40.977 回答