首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android、VPN、Asterisk通信

Android、VPN、Asterisk通信
EN

Stack Overflow用户
提问于 2012-02-15 08:49:30
回答 2查看 3.3K关注 0票数 0

我正在尝试使用Android SIP API为Android编写一个voip应用程序(是的,我知道这只适用于2.3版本的Android)。我希望呼叫通过Asterisk服务器进行路由。呼叫也需要加密。存在一个问题,即Asterisk和Android需要在同一子网中(否则无法交换音频)。我在http://blog.harritronics.com/2011/06/android-gingerbread-and-asterisk-pbx.html上找到了一篇很好的博客文章,为那些好奇的人描述了这种情况。

我希望按照文章中讨论的那样设置VPN解决方案,因为我认为这可以解决NAT问题,以及加密。我的第一个想法是使用OpenVPN,因为那里有一个相当活跃的社区,软件看起来也很不错。然而,经过进一步的检查,在任何给定的时间,我似乎只能在VPN服务器上有2个活动的客户端(对于免费版本)。每个额外的客户端连接是5美元。简而言之,我想知道是否存在可伸缩的免费解决方案。我希望能够将大约100部android手机连接到这个VPN,以便同时与Asterisk通信。

此外,我以前没有做过VPN工作。我想知道我可以简单地使用Android设置中的VPN配置吗?或者是否需要额外的应用程序?我看到OpenVPN有一个适用于安卓系统的客户端解决方案,只有在手机扎根的情况下才能工作--这不是一个选项,因为它们不是我的手机。任何建议都将不胜感激。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-15 11:28:34

不知道您一直在看什么,但是OpenVPN对客户端的数量肯定没有任何限制。无论如何,正如你已经发现的,默认的安卓发行版不支持OpenVPN,尽管它集成在CyanogenMod中。然而,Android也有一个内置的VPN客户端,所以你只需要找到一个可以与之配合工作的服务器。从4.0 (ICS)开始,您也可以编写自己的VPN实现,而无需启动电话。

顺便说一句,只有在电话进行了NAT(例如,通过WiFi连接到内部路由器等)的情况下,才会出现音频问题。如果有全局地址,应该没有问题。如果你通过3G连接,这将取决于你的运营商是否给手机提供了实际的全球地址。

另一种选择是不使用Android SIP堆栈。还有其他可用的解决方案,它们可能没有此限制。查看sipdroid,它是开源的:

http://sipdroid.org/

还有另一种选择是不尝试编写自己的应用程序,只需使用sipdroid :)

票数 0
EN

Stack Overflow用户

发布于 2012-06-27 08:21:41

除了Asterix的nat=yes选项之外,我只考虑了另一个解决方案。nat选项适用于我在路由器后面的工作,但我知道它不是一个从Asterisk穿越的非常“智能”的NAT,它也需要来自客户端的“协作”。另一个解决方案可能是..。当我在使用它的时候,我使用的是CSipSimple,它是一个用于安卓系统的开源网络电话客户端,也许你可以查看源码,找出为什么它可以在路由器后面进行NAT。

如果你正在寻找一个,有一些,至少有一个有100%免费的选项。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9286436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档