Hello,
The diagram below shows the SIP message flow in our setup when Softphone A places a call to Softphone B.
----------- ----- ---------- ----- ----------- |Softphone A|-<->-|Proxy|-<->-|Sip Server|-<->-|Proxy|-<->-|Softphone B| ----------- ----- ---------- ----- ----------- IP: a.b.c.d IP: a.b.c.d
Proxies shown in the diagram above are physically the same entity. For convenience of diagrammatic representation the figure above has been unwrapped.
Both Softphone A and Softphone B (hereafter referred to as A,B) are behind a NAT and are registered to the Sip Server through the same proxy (IP: a.b.c.d). Proxy runs Kamailio v3.0.1.
When A places a call to B, an INVITE is proxied to the Sip Server from A. The Sip Server now sends another INVITE to the proxy, however the R-URI of this INVITE does not contain the port number that the INVITE is supposed to be sent to. Hence the proxy sends the INVITE to the default SIP port 5060. This port is not open in the firewall hence Softphone B never receives the INVITE.
My questions are 1) Is it mandatory for R-URI of the INVITE to contain the port number ?
2) If not, is there something that can be added to the config script in Kamailio so that the proxy forwards the INVITE to the appropriate port? (maybe by keeping track of the rcv port of the REGISTER message that Softphone B sends...) ?
Thanks and Regards, Vikram.
PS : The Sip Server in the above discussion is Voipswitch.