[reSIProcate] repro inserting rport in Via
Scott Godin
sgodin at sipspectrum.com
Fri Dec 2 13:07:44 CST 2016
Hi Daniel,
rport is only supposed to be used by entities for response routing if the
request was sent over an unreliable transport.
See the following text from RFC3581:
When a server attempts to send a response, it examines the topmost
Via header field value of that response. If the "sent-protocol"
component indicates an *unreliable unicast transport protocol, such as
UDP*, and there is no "maddr" parameter, but there is both a
"received" parameter and an "rport" parameter, the response MUST be
sent to the IP address listed in the "received" parameter, and the
port in the "rport" parameter.
Scott
On Fri, Dec 2, 2016 at 1:24 PM, Daniel Pocock <daniel at pocock.pro> wrote:
>
> I notice that when repro adds a Via to a request, it includes the rport
> parameter
>
> When repro makes a TCP (or TLS) connection to another application, the
> source port is not the port where repro listens for incoming connections.
>
> Consequently, when other applications try to send a request back to
> repro, if the original TCP/TLS connection is no longer active, they try
> to open a new connection to the rport rather than the real TCP/TLS port
> where repro is listening. Such connections obviously can't succeed.
>
> The rport parameter is automatically added in the Via constructor. DUM
> has an option in the UserProfile to disable rport. I couldn't see any
> option in repro.config to stop it adding rport.
>
> I see a few possible ways forward here:
>
> - completely stop adding rport in Via from repro
>
> - add a parameter to repro.config
>
> - make repro use (and all of reSIProcate) use the listening port as the
> source port for outgoing TCP/TLS connections (SO_REUSEADDR, re-use
> listening socket for making new outgoing connections)
>
> Does anybody depend on the existing behavior or can anybody comment on
> cases where it is desirable?
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20161202/88459a1d/attachment.htm>
More information about the resiprocate-devel
mailing list