这可能是一个新手问题。我正在为没有ICE/TURN/STUN的环境开发SIP端点。 SIP端点将位于具有已知公共地址的NATing防火墙后面。我的端点可以直接从另一个可位于防火墙内部或外部的端点拨入(无代理)。 我的端点如何检测传入的INVITE是否来自防火墙内部或外部的端点?这需要将私人或公共IP放入Contact标题和SDP中的媒体描述中,以响应INVITE? 同样,它不是如何检测其公共IP,而是如何区分发送给调用者的IP地址。 谢谢!SIP响应 - 包括私人或公共IP?
1
A
回答
0
有没有通用的方式,它取决于防火墙,如果你使用相同的接口公共和私人。最好的方法是公共和私人(以及不同的SIP提供商)使用不同的接口,以供公共和私人使用。
如果远程方给出正确的Via,则可以使用Via标头。 如果您的防火墙允许,并且您拥有一组您知道的IP,那么您可以在NIST实施中获取传入消息的物理源IP,那么您可以将入站消息转换为gov.nist.javax.sip.message.SIPMessage
,然后使用getRemoteAddress()
用您的应用逻辑检查地址。我认为这是你想要做的。我不建议这样做,因为您的应用可能会发现自己位于自定义网络,ALG或其他标记提示的节点后面(如X-Auth-IP
)。如果您将接口分开,则您的应用程序将更具可移植性。
相关问题
- 1. 推送私人或公共?
- 2. 公共/私人
- 3. 私人和公共包模块?
- 4. OpenUDID是公共或私人的ios
- 5. 我想获得公共IP,但apache2获得私人IP
- 6. C#BestPractice:私人var和公共的getter/setter或公共变种
- 7. 私人与公共的typedef
- 8. 私人与公共港口
- 9. 私人和公共财产
- 10. 私人与公共继承
- 11. 私人和公共职能
- 12. 私人/公共qt信号
- 13. 私人和公共变量
- 14. std :: enable_shared_from_this;公共vs私人
- 15. 使用一个公共IP访问私人服务器
- 16. Rails 4.2服务器;私人和公共IP不工作
- 17. 私有或公共MSMQ
- 18. 包括私人范围
- 19. 注入私人包装或公共场所或提供二手衣服?
- 20. PHP-SIP库 - 如何让SIP响应
- 21. SSH到EC2绑定到私有IP,而不是公共IP
- 22. cassandra on GCE:使用私人IP用于节点和公共IP用于种子
- 23. 推送渠道:公共还是私人?
- 24. 私人领域与公共accessor在c + +
- 25. Java的密钥对 - 私人 - 公共 - 我只有私人
- 26. Magento;私人/公共文件系统层
- 27. GitHub - 私人与公共合作伙伴
- 28. jquery插件私人和公共属性
- 29. 让私人/公共获取 - 让来自
- 30. 公有IP与私有IP