我正在寻找关于Android应用程序开发的一般建议(技术,最佳实践等)。类似的问题已经发布,但我包含了具体的问题。VoIP应用程序开发问题(SIP等)
我做了相当多的研究,我注意到有几种可能的解决方案(当然我知道SDK中的SIP协议栈(也包括甚至包括语音传输),但由于它在大多数设备上不可用,不打算使用它。另外,我阅读了Adobe Flex的实现,但我想坚持原生的东西)。
什么粘在我的脑海如下:
开始使用SIP(服务器存在)的会话。在消息中使用SDP来描述会话。
建立P2P连接(防火墙/路由可能是一个问题 - STUN可以使用 - DNS可能不是被involced)
使实际传输,我相信所涉及的分组/ procols是(有效载荷)的 - > RTP in - > UDP in - > IP。
这目前看来比较复杂,所以我的第一个问题是:
1)这是一个标准的做法?这是最佳实践吗?我得到了一些提示,相反,MSRP可用于传输内容,但我已经读过它仅适用于IM,文件等。
2)我应该使用哪个SIP堆栈来获得最佳结果/性能?我可以使用Java/Eclipse进行开发。我正在选择JSIP(或基于jsip的tinysip),但我不确定。
3)请给我关于如何实现的Android(RTP Java中的数据传输)
作为最后一个音符一些提示,我并不排除PJSIP。我认为它可能实际上更快,因为它使用NDK(我可以切换到C++,np)。我还读到它已经包含音频/视频传输。 我只是不知道它是多么容易使用和扩展它,它真的有多好。如果您已经使用过,请告诉我!
谢谢。 PS:虽然不是紧急或确定,但可携带性可能是未来的一个重要因素。 我将在不久的将来需要视频传输。
请根据您的经验给出答案。如果你提出了一个框架,请告诉我们它的稳定性,可靠性,可移植性,易学性/文档等。只要有可能,请使用参数(最好根据你自己的经验)来证明为什么它是被选择的框架。 – stormofwar