[SR-Users] Proxying INVITE message without port information in R-URI

Vikram Ragukumar vragukumar at signalogic.com
Tue Jan 18 19:02:37 CET 2011


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.



More information about the sr-users mailing list