直接SIP呼叫IP

问题描述 投票:2回答:2

我正在为我的End Project编程一个应该具有VoIP功能的应用程序。我已经开始使用android 2.3包含的新SIP API进行测试。问题是我实际上住在学生宿舍,所以我通过建筑物的代理连接到互联网,它似乎有一个严格的防火墙,不会让任何东西通过。

我已经尝试了几个免费的SIP服务器和客户端,结果总是一样的:从我的UAC我可以看到其他客户端是否在线,我甚至可以发送短信,但是无法建立实际的呼叫。我从来没有得到客户的任何回复。使用Linphone客户端我甚至无法连接到SIP服务器进行身份验证。

问题是,似乎我不能在我的建筑物外面打电话,但我已经成功地从安装在模拟器上的另一个Linphone客户端联系了我的PC上安装的Linphone客户端。显然,我可以在没有任何SIP服务器的情况下在本地网络内拨打电话,只需使用接收器的本地地址而不是SIP域。

问题是:我可以使用新的Android 2.3 SIP API做同样的事情吗?我是否可以通过调用接收方的本地地址在本地网络内拨打电话,而无需在我的大楼外使用任何SIP服务器进行身份验证?

由于我的申请是出于演示目的,这对我来说已经足够了。在过去的三天里,我一直在寻找这个问题的解决方案,但我还没有想出任何有用的东西。 :/

提前致谢。

android ip call sip
2个回答
0
投票

我没有看到为什么在Android 2.3中不可能出现这种情况的原因。可以通过端口与其他客户端本地地址进行对等呼叫。

您也可以在PC上安装SIP服务器Brekeke server。并且您可以使用完整的SIP URI进行调用。


0
投票

因为音频和视频数据是通过不同的端口号发送的,而不是sip端口号。 SIP端口是tcp,您可以在Internet上登录您的SIP服务器。但媒体端口是udp而你是在nat之后,你不能打电话。要做到这一点,防火墙需要了解sip消息,然后它应该为udp媒体打开端口。您还需要针对nat遍历消息的stun服务器。

© www.soinside.com 2019 - 2024. All rights reserved.