Re: Action item from yesterday's meeting
Cullen Jennings <[email protected]> Mon, 29 Nov 2004 14:21:30 -0800
| Newsgroups | gmane.ietf.midcom |
|---|---|
| Message-ID | <BDD0E0EA.1C2A1%[email protected]> |
Ok, I think I understand - combining Juergen's and Martin's emails - just to
make sure I have this right, in the case with an outbound call (so UA1
called UA2) and UA1 controls NAT.
+-----+
| M |
| I |
| I |
| D |
UA1 | L | UA2
+------+ | E | +------+
|SIP UA+------------------+ B +------------------+SIP UA|
|MIDCOM| | O | | EXT |
|AGENT +..................+ X +..................+ |
+------+ +-----+ +------+
A0 A1 A2 A3
UA1 contacts NAT with a PER for (A0/port0, */*) direction inbound and the
NAT returns A2/port2. UA1 sends A2/port2 in offer SDP. UA2 starts sending
early media to A2/port2 this which gets forwarded to A0/port0. Then UA2
sends answer with A3/port3 to UA1. UA1 tells NAT to create
(A0/port0,A3/port3) outbound and NAT returns A1/port1 then UA1 starts
sending media to A1/port1 and NAT forwards to A3/port3. UA2 answers and
sends 200 which UA1 accepts then UA1 changes the (A0/port0,*/*) inbound
mapping to be a (A0/port0,A3/port3) inbound mapping.
Did I get this right? I think I understand now - thanks for the
clarification.
On 11/29/04 5:25 AM, "Juergen Quittek" <[email protected]> wrote:
> Cullen,
>
> --On 27.11.2004 15:12 h -0800 Cullen Jennings wrote:
>
>> I don't think I fully understand the issue yet
>>
>> Let's ignore FTP for a second but consider any protocol that has separated
>> control and media channels. For example, if SIP was used to set of a MSRP IM
>> session - it seems like this problem would happen. Am I confused? Actually I
>> can answer that, I am confused, let me restate the questions - Can you
>> straighten me out on how this all works? I am particularly interested in the
>> case of SIP setting up a session of RTP and TCP sessions between endpoints.
>>
>> For simplicity sake, lets imagine that internal endpoint A0 is also a SIP UA
>> that can control the middle box.
>
> This case, which is one of the core scenarios of the MIDCOM WG.
> It is fully supported by the current semantics as well as by the
> semantics Suresh suggested even in case of a twice-NAT.
>
> Let's assume that the SIP UA operates behind a NAT and that it has
> already established NAT binding and session that allows communication
> with other SIP UAs and servers across the twice NAT using the SIP
> protocol. Then SIP signaling itself is not the problem.
>
> In case of an INVITE message issues by the local terminal,
> the SIP UA could operate as follows:
>
> 1. scan the SDP payload and extract the local terminal's address
> parameters A0 (IP address, port number)
> 2. request address translation of these local address parameters
> at the NAT using the MIDCOM protocol.
> Here both semantics under discussion are similar.
> The only input you have is the local terminal address A0.
> This is sent to the NAT as input parameter
> The NAT returns the translated external parameters A2.
> If you want to apply a more tight security policy, you use
> the Policy Reserve Rule (PRR) transaction that does not yet
> enable NAT service for the address and that may block early
> media. Otherwise you would use the Policy Enable Rule (PER)
> that immediately enables the NAT service.
> 3. Then the original invite message needs to be patched replacing
> the original address parameters A0 with the parameters A2 returned
> by the NAT. The patched message if forwarded following SIP routing
> rules.
> 4. On receipt of an OK message, the UA scans the SDP payload and
> extracts the other terminal's address parameters A3.
> 5. Now a mapping for the reverse direction need to be established
> using the MIDCOM protocol again. According to the current
> semantics, the SIP UA sends A0 and A3, the terminal's address
> parameters, with Suresh's semantics it would be A2 and A3.
>
> For the reverse direction (incoming call, the procedure is similar.
>
> This all works for RTP, RTSP, TCP, etc.
>
> Thanks,
>
> Juergen