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.