我正在创建一个Android应用程序,客户端可以在不使用SIP代理(服务器)的情况下相互呼叫。
我下载了CSipSimple,它有一个" local"本地网络中的客户端可以直接相互呼叫的选项。
如果我连接到移动网络怎么办?如果我知道目的地的公共IP,我可以叫他直接吗?
如果您可以建议其他符合上述要求的应用程序,请提及它们。
感谢
答案 0 :(得分:4)
是的,您应该能够与几乎所有SIP客户端直接通话。我正在使用mizudroid并使用它。
在这种情况下,您只需输入目标的完整URI,而不仅仅是扩展名。
所以不要打电话给" john"你必须输入
john@ipaddress:port
示例:
john@192.168.1.33:14321
某些SIP客户端可能需要在所有这些前面加上" sip:":
sip:john@192.168.1.33:14321
正如您所看到的,棘手的部分是找出正确的端口。 SIP客户端默认使用随机本地端口,但其中一些允许您显式设置端口。 (不要与SIP标准之后通常为5060的服务器SIP信令端口混淆。)
另请注意,sip注册商的角色就是这样:因此您无需查找对等方的确切地址,因为服务器可以自动为您处理此问题。
某些SIP客户端可能需要在设置/登录中输入SIP服务器地址,但是大多数客户端允许您在没有输入任何地址的情况下使用软电话,或者他们可以选择指定无服务器/本地/无注册,或者您可以只输入假地址(然后软电话可能会显示"注册失败"但您应该可以直接拨打电话,如上所述)