1

我正在寻找有关为 Android 开发 VoIP 应用程序的一般建议(技术、最佳实践等)。已经发布了类似的问题,但我包括了具体问题。

我做了一些研究,我注意到有几种可能的解决方案(当然我知道 SDK 中的 SIP 堆栈(也包括语音传输),但由于它在大多数设备上不可用,我不打算使用它。此外,我阅读了有关 Adob​​e Flex 实现的信息,但我想坚持使用原生的东西)。

让我印象深刻的是:

  • 使用 SIP 启动会话(服务器存在)。在消息中使用 SDP 来描述会话。

  • 建立 p2p 连接(防火墙/路由可能有问题 - 可以使用 STUN - 可能涉及 DNS)

  • 进行实际传输,我相信所涉及的数据包/协议是(有效负载)在 -> RTP in -> UDP in -> IP。

目前这似乎很复杂,所以我的第一个问题是:

1)这是一种标准方法吗?这是最佳实践吗?我得到一些提示,相反,MSRP 可用于传输内容,但我读过它仅适用于 IM、文件等。

2) 我应该使用哪个 SIP 堆栈以获得最佳结果/性能?我可以使用 Java/Eclipse 进行开发。我想选择 JSIP(或基于 jsip 的 tinysip),但不确定。

3)请给我一些关于如何在Java for Android(RTP)中实现数据传输的提示

最后一点,我一点也不排除 pjsip。我认为它实际上可能更快,因为它使用 NDK (我可以切换到 C++,np) 。我还读到它已经包含音频/视频传输。我只是不知道它的使用和扩展有多容易,它到底有多好。如果你用过,请告诉我!

谢谢你。

PS:虽然不紧急或不确定,但便携性可能是未来的一个重要因素。在不久的将来,我也需要视频传输。

4

3 回答 3

1

您应该查看 IMSDROID 项目。它使用 C 语言编写的 Doubango 框架,具有高度可移植性。更重要的是,它也是开源的,因此您可以使用他们的代码并可能为社区做出贡献。

http://code.google.com/p/imsdroid/

干杯:)

于 2013-01-22T17:05:04.310 回答
0

看看teamSpeak。他们提供原生 sdk-s。但它们不是免费的。这不是 P2P,需要一个服务器(至少据我所知)可能值得一分钟。 http://www.teamspeak.com/?page=teamspeak3sdk

于 2013-01-22T16:40:04.010 回答
0

编写自己的 SIP 堆栈需要几个月的时间,而且只有基本功能。我建议使用现有的 sip 堆栈。这里讨论了一些开放源代码。

于 2014-01-29T13:02:18.313 回答