에들을 때 SIP 메시지에 대한 인바운드 IP를 확인, 나는 (. 즉, 모든 인터페이스에서 수신) 0.0.0.0의 주소와 ListeningPoint 인스턴스를 만들 :자이나교 SIP : 자이나교 SIP API를 사용하는 경우 0.0.0.0
sipStack.createListeningPoint("0.0.0.0", 5060, "TCP");
들어오는 SIP 메시지가 도착한 IP 인터페이스를 식별 할 수있는 방법이 있습니까 (다른 용도 중 적절한 응답 헤더 주소를 도출하기 위해)?
감사합니다. @VladimirRalev. 초기에 Via 헤더를 조사했지만, 적어도 원격 파티 (내 엔드 포인트로 직접 전달)에서 발송 된 SIP 메시지를 볼 때 목적지 주소를 보지 못했습니다. 나는 일반적으로 0.0.0.0을 사용하는 것이 좋지 않다고 생각하지만, 이것을 피하기 위해 디자인을 다시 고려할 수도 있습니다. –
그런데 0.0.0.0을 사용하지 않고 특정 IP 주소를 사용하더라도 여러 전송을 수신하는 경우 요청이 어느 주소로 도착했는지 확인할 수 있습니까? 나는 그것을 할 수있는 방법을 찾을 수 없다. 그것은 이상하게 보인다. INVITE에 대한 응답으로 다시 보내도록 Contact 헤더를 결정하는 방법을 모르겠습니다. –
각 전송에는 자체 SipProvider가 있어야하며 각 이벤트에 대해이 SipProvider와 같은 공급자를 볼 수 있습니다. sipProvider = (SipProvider) requestEvent.getSource(); 당신의 udp 또는 tcp 공급자인지 확인하십시오. SIP 메시지 자체의 Via 헤더를 확인하는 것도 상당히 안전합니다. –