One document matched: draft-petithuguenin-sip-outbound-fragmentation-00.txt
Network Working Group M. Petit-Huguenin
Internet-Draft 8x8, Inc.
Intended status: Standards Track December 6, 2006
Expires: June 9, 2007
Preventing Fragmentation for Client Initiated Connections in the Session
Initiation Protocol (SIP)
draft-petithuguenin-sip-outbound-fragmentation-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 9, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
There is cases where a Session Initiation Protocol (SIP) client can
initiate a bidirectional UDP stream or a congestion controlled
protocol connection to a SIP server but the SIP server cannot do the
same in the other direction. The server can reuse the existing
bidirectional UDP stream or connection but cannot use a congestion
controlled protocol connection if the client chose to use a
bidirectional UDP stream. This document described a method to force
Petit-Huguenin Expires June 9, 2007 [Page 1]
Internet-Draft Outbound fragmentation December 2006
the client to initiate a congestion controlled protocol connection to
the server.
Table of Contents
1. Overview of Operation . . . . . . . . . . . . . . . . . . . . . 3
2. UA Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Edge Proxy Behavior . . . . . . . . . . . . . . . . . . . . . . 4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Norminative References . . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . . . 9
Petit-Huguenin Expires June 9, 2007 [Page 2]
Internet-Draft Outbound fragmentation December 2006
1. Overview of Operation
An UA using this specification creates flows as defined in
[I-D.ietf-sip-outbound], with the difference that a UDP flow is
prefered to a congestion controlled transport flow. There is two
cases where an UA needs to replace an UDP flow by a congestion
controlled flow.
The first case is when the UA uses a bidirectional UDP stream for the
flow and the edge proxy receives a request for this UA that need a
congestion controlled protocol. The edge proxy sends a STUN ForceCCP
Request over the existing UDP flow. The UA answers the request by
sending a ForceCCP Response and immediately creates a new flow to the
same edge proxy over a congestion controlled transport. The Edge
proxy then uses this flow to send the request to the UA. The new
flow is temporary and will be replaced by an UDP flow after the end
of the transaction.
The second case is when the UA received a request over a
bidirectional UDP stream, but needs to send the response over a
congestion controlled transport. The UA needs to follow the
specification defined in
[I-D.petithuguenin-sip-fragmentation-responses]. When the UA detects
that the last hop must be retried with a congestion controlled
transport, then prior to answer the request with a 6?? Congestion
Control response, it replaces the UDP flow by a congestion controled
transport flow. The Edge proxy will then use the new flow to send
the request.
2. UA Behavior
An UA compliant with this specification creates flows as described in
[I-D.ietf-sip-outbound] but with a preference for flows created over
UDP. The UA must be ready to receive a STUN ForceCCP request on the
same flows that are used to send the STUN Binding Request for the NAT
binding keepalive. When a ForceCCP Request is received the UA sends
a ForceCCP Response to stop the retransmission and immediately
registers on the same flow but this time by using a congestion
controlled transport.
When the UA receives a request that is compliant with
[I-D.petithuguenin-sip-fragmentation-responses] and finds that the
response needs to be sent on a congestion controlled transport, it
then immediately registers on the same flow by using a congestion
controlled transport, and then reject the request with a 6??
Congestion Controlled. This will force the edge proxy to use the
newly created flow.
Petit-Huguenin Expires June 9, 2007 [Page 3]
Internet-Draft Outbound fragmentation December 2006
In both cases The UA will close the transport after the end of the
last SIP transaction carried by the transport or 5 seconds after the
creation of the transport if no SIP transaction is is carried by this
transport. The UA recreates the flow over UDP just before closing
the connection.
3. Edge Proxy Behavior
When an edge proxy wants to proxy a request over a congestion
controlled transport but cannot find a flow to do it, it sends a STUN
ForceCCP Request over a UDP flow. If it can find a newly created
controlled transport flow in the next 32 seconds, then it respond
with a 408 to the request. If a new flow is found, then the request
is proxied over this flow.
4. IANA Considerations
TBD
5. Security Considerations
TBD
Petit-Huguenin Expires June 9, 2007 [Page 4]
Internet-Draft Outbound fragmentation December 2006
6. Example
Endpoint : Edge Registrar Home
| : | | |
| REGISTER : | | |
F1 |------------------>| REGISTER | |
F2 | : |==========>| |
| : | 200 R | |
F3 | : 200 R |<==========| |
F4 |<------------------| | |
| BindingRequest | | |
F5 |------------------>| | |
| BindingResponse | | |
F6 |<------------------| | |
| : | | | INVITE
F7 | : | | INVITE |<========
F8 | ForceCCPRequest |<======================|
F9 |<------------------| | |
| ForceCCPResponse | | |
F10 |------------------>| | |
| REGISTER : | | |
F11 |==================>| REGISTER | |
F12 | : INVITE |---------->| |
F13 |<==================| 200 R | |
F14 | : 200 R |<----------| |
F15 |<==================| | |
| 200 I : | | |
F16 |==================>| 200 I | |
| : |======================>| 200 I
| : | | |========>
: : : : :
| REGISTER : | | |
F17 |------------------>| REGISTER | |
| : |==========>| |
| : | 200 R | |
| : 200 R |<==========| |
|<------------------| | |
Figure 1
F1: The UA sends a REGISTER request over UDP to the edge proxy.
F2: The edge proxy proxies the REGISTER request to the registrar
using TCP.
The registrar sends a 200 OK response to the edge proxy.
Petit-Huguenin Expires June 9, 2007 [Page 5]
Internet-Draft Outbound fragmentation December 2006
F4: The edge proxy forwards the 200 OK to the UA.
F5: The UA sends a STUN Binding Request to the edge proxy to keep
the binding alive.
F6: The edge proxy responds by sending a Binding Response to the UA.
F7: The home proxy receives an INVITE request.
F8: The home proxy queries the registrar (not shown in the diagram),
and proxies the request to the edge proxy.
F9: The edge proxy finds that the request cannot be sent over the
existing UDP flow because the packet size is higher that the MTU.
So it sends a STUN ForceCCP Request to the UA.
F10: The UA sends a ForceCCP Response to acknowledge the request.
F11: The UA immediately creates a new flow over TCP by sending a
REGISTER.
F12: The edge proxy proxies the REGISTER request to the registrar
using TCP.
F13: The edge proxy now proxies the INVITE request over the newly
created TCP flow.
The registrar sends a 200 OK response to the edge proxy.
F15: The edge proxy forwards the 200 OK to the UA.
F16: The UA responds to the INVITE request by sending a 200 OK
response over the TCP flow.
F17: After some time, a new REGISTER is sent over UDP to create a
new flows and the TCP connection is shutdown.
Petit-Huguenin Expires June 9, 2007 [Page 6]
Internet-Draft Outbound fragmentation December 2006
Figure 2
Endpoint : Edge Registrar Home
| : | | |
| REGISTER : | | |
F1 |------------------>| REGISTER | |
F2 | : |---------->| |
| : | 200 R | |
F3 | : 200 R |<----------| |
F4 |<------------------| | |
| : | | | INVITE
F7 | : | | INVITE |<========
F8 | : INVITE |<======================|
F9 |<------------------| | |
| REGISTER : | | |
F10 |==================>| REGISTER | |
F11 | : |---------->| |
F12 | : | 200 R | |
F13 | : 200 R |<----------| |
F14 |<==================| | |
| 6?? I : | | |
F15 |------------------>| | |
| : ACK | | |
F16 |<------------------| | |
| : INVITE | | |
F17 |<==================|
| 200 I : | | |
F18 |==================>| 200 I | |
F19 | : |======================>| 200 I
F20 | : | | |========>
Figure 2
7. Norminative References
[I-D.ietf-sip-outbound]
Jennings, C. and R. Mahy, "Managing Client Initiated
Connections in the Session Initiation Protocol (SIP)",
draft-ietf-sip-outbound-05 (work in progress),
October 2006.
[I-D.petithuguenin-sip-fragmentation-responses]
Petit-Huguenin, M., "Preventing IP Fragmentation in
Responses for the Session Initiation Protocol (SIP)",
draft-petithuguenin-sip-fragmentation-responses-00 (work
in progress), October 2006.
Petit-Huguenin Expires June 9, 2007 [Page 7]
Internet-Draft Outbound fragmentation December 2006
Author's Address
Marc Petit-Huguenin
8x8, Inc.
3151 Jay Street
Santa Clara, CA 95054
US
Phone: +1 408 654 0875
Email: marc@8x8.com
Petit-Huguenin Expires June 9, 2007 [Page 8]
Internet-Draft Outbound fragmentation December 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Petit-Huguenin Expires June 9, 2007 [Page 9]
| PAFTECH AB 2003-2026 | 2026-04-23 16:09:06 |