There is another possible solution: modify nathelper
to only apply RTP
proxy redirection if there is only one Via in the request. This will
ensure that in the situation when there are multiple SIP/RTP proxies in
the path only first one will handle RTP. Unfortunately it will not help
if there are any SIP B2BUAs on the way.
-Maxim
Jan Janak wrote:
On 03-11 19:18, Maxim Sobolev wrote:
Klaus Darilion wrote:
Hi!
As the RTP relaying does not work with 2 RTP proxies, how can a proxy
detect
if the RTP stream is already redirected to an RTP proxy?
My problem is the following scenario:
UA1 --NAT-- SIP proxy 1 -- SIP proxy 2 --NAT-- UA2
rtpproxy1 rtpproxy2
UA1 invites UA2. SIP proxy 1 detects that UA1 is behind NAT and enables
the
rtpproxy1 and forwards the invite to SIP proxy2. SIP proxy 2 knows that
UA2
is also behind NAT. Usually, SIP proxy 2 would activate the rtpproxy2,
but
in this case this would not work as there is already an rtpproxy
involved.
How can the SIP proxy 2 detect that the IP address in the SDP is the IP
address of an RTP proxy?
Known problem. I think that I'll modify nathelper, so that
force_rtp_proxy() will insert some flag into the SDP body, which will
tell other proxies along the request route that there is no need to put
another RTP relay into the RTP path.
Another option would be to insert a header field telling that another
RTP proxy is being used already.
The problem is that both solutions (header field and SDP flags) will
be not interoperable.
Another option would be to modify the RTP proxy so that it will be
symmetric only for user agents that belong to the domain of the proxy.
That would probably complicate things a bit.
Jan.