使用JAIN SIP API时,我创建一个地址为0.0.0.0的ListeningPoint实例(即在所有接口上监听):
sipStack.createListeningPoint("0.0.0.0", 5060, "TCP");
有没有办法让我识别传入的SIP消息到达哪个IP接口(为了在响应消息中导出适当的Contact头地址,以及其他用途)?
答案 0 :(得分:1)
听取0.0.0.0并不是一个好主意,有些情况下SIP堆栈必须猜测要使用的地址,它可能会猜错。我认为使用标准API无法告诉地址,但您几乎总是可以使用实现中的私有API。例如https://jsip.ci.cloudbees.com/job/jsip/javadoc/gov/nist/javax/sip/message/SIPMessage.html#getLocalAddress()
您也可以通过Via标题等进行猜测。但这也不是一个好主意。