[Serusers] rtpproxy question
Jan Janak
jan at iptel.org
Mon Nov 3 20:05:57 CET 2003
Using a special header field is even simpler, because it requires no
implementation at all. Adding and testing for a message header field can
be done right out of the box from the configuration script.
Jan.
On 03-11 19:43, Klaus Darilion wrote:
> I like Maxims idea of inserting a flag in the SDP body most, because it
> seems to be easy to implement. The drawback is that all SIP providers
> have to support it - but this problem also occours with the other
> solutions.
>
> regards,
> klaus
>
> > -----Original Message-----
> > From: Jan Janak [mailto:jan at iptel.org]
> > Sent: Monday, November 03, 2003 7:11 PM
> > To: Klaus Darilion
> > Cc: Maxim Sobolev; serusers at lists.iptel.org
> > Subject: Re: [Serusers] rtpproxy question
> >
> >
> > I think the solution is to modify the RTP proxy. The RTP
> > proxy should be
> > symmetric only for user agents that belong to the domain of the proxy
> > and if the other direction is a foreign user, it should send
> > the data to
> > the IP taken from SDP and not wait for any incomming packets.
> >
> > Let's take iptel.org as a hypothetical example:
> >
> > If both caller and callee have iptel.org as their domain, the
> > RTP proxy
> > will work as usual.
> >
> > If caller is not from iptel.org but callee is, then the SIP proxy will
> > pass IP of the NAT box (known from Contact in usrloc) and IP
> > from SDP of
> > INVITE to RTP proxy. The RTP proxy will be symmetric for the
> > NAT IP and
> > non-symmetric for the IP from SDP.
> >
> > In the reverse direction, i.e. when callee is not from iptel.org and
> > caller is (i.e. the invite is coming from iptel.org to fwd, for
> > example), the SIP proxy will pass IP from the received
> > parameter for the
> > "symmetric side" and IP from SDP of 200 OK for the
> > "non-symmetric part".
> >
> > That way it is not ensured that there is just one RTP proxy
> > along the path,
> > but it should work.
> >
> > In other words, every SIP proxy provides "symmetric RTP proxy" for its
> > users only, it doesn't provide it for foreign users.
> >
> > Drawback of this approach is that it is not possible to use
> > only one RTP
> > proxy in cases like:
> >
> > UA---NAT---Sipphone---iptel.org---NAT---UA
> >
> > In that case both Sipphone and iptel.org must enforce RTP proxy, each
> > proxy is responsible for getting their users through NAT.
> >
> > Anyway, implement and deploy something like that is quite complex.
> >
> > Jan.
> >
> > On 03-11 18:49, Klaus Darilion wrote:
> > > But if UA1 ist not behind NAT, proxy 2 should activated its
> > rtpproxy to
> > > enable a communciation although there are more than 2 Via headers.
> > >
> > > I guess there is no solution yet which will work in all
> > scenarios as one
> > > SIP proxy will never know the NAT-traversal strategy of
> > other proxies.
> > >
> > > regards,
> > > klaus
> > >
> > > > -----Original Message-----
> > > > From: Maxim Sobolev [mailto:sobomax at portaone.com]
> > > > Sent: Monday, November 03, 2003 6:40 PM
> > > > To: Jan Janak
> > > > Cc: Klaus Darilion; serusers at lists.iptel.org
> > > > Subject: Re: [Serusers] rtpproxy question
> > > >
> > > >
> > > > 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.
> > > > >
> > > > >
> > > >
> > > >
> > > >
> >
> >
More information about the sr-users
mailing list