Internet DRAFT - draft-penno-message-flows
draft-penno-message-flows
Network Working Group R. Penno
Internet Draft Juniper Networks
Expires: November 2006 D. Malas
Level 3
S. Khan
Sprint
A. Uzelac
Global Crossing
May 2, 2006
SPEERMINT Routing Architecture Message Flows
draft-penno-message-flows-02
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 November 2, 2006.
Abstract
This draft provides the message flows associated with the SPEERMINT
routing architecture. We show message flows in several peering
scenarios.
penno Expires November 2, 2006 [Page 1]
Internet-Draft SPEERMINT Message Flows May 2006
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [1].
Table of Contents
1. Introduction......................................... 3
2. Peering Message flows................................. 6
3. On-Demand Peering .................................... 8
3.1.1. Transport Layer Security....................... 8
3.1.2. Proxy Authentication: Subscribe/Notify.......... 10
3.1.3. Proxy Authentication: Surrogate Registration..... 11
4. Static Peering...................................... 13
4.1.1. IPSec..................................... 13
4.1.2. Co-Location................................ 13
5. Media Relay ........................................ 14
6. Considerations on Private IP addresses.................. 16
7. Considerations on Media Flows.......................... 17
7.1. Decomposition................................... 17
7.2. QoS........................................... 17
8. Considerations on Multilateral Peering.................. 18
9. SIP Priority and SPEERMINT QoS......................... 18
9.1. Problem Statement ............................... 19
9.2. Packet Recognition and Marking..................... 19
9.2.1. Peering Classes of Service.................... 20
9.2.2. Network Address Translation................... 20
9.3. Accounting..................................... 20
9.4. Trust......................................... 20
10. SIP Policy Enforcement and Definition.................. 20
10.1. Local SIP Policy ............................... 21
10.2. Remote SIP Policy............................... 21
10.3. SIP Proceed Policy.............................. 21
11. Peering Domain Information Exchange.................... 23
11.1. Domain Routes.................................. 23
11.2. Authentication Credentials....................... 23
12. Security Considerations.............................. 24
13. IANA Considerations................................. 24
14. Conclusions........................................ 24
15. Acknowledgments.................................... 24
References............................................ 25
15.1. Normative References............................ 25
15.2. Informative References .......................... 25
Author's Addresses..................................... 26
Intellectual Property Statement .......................... 26
penno Expires November 2, 2006 [Page 2]
Internet-Draft SPEERMINT Message Flows May 2006
Disclaimer of Validity.................................. 27
Copyright Statement.................................... 27
Acknowledgment ........................................ 27
1. Introduction
This document shows the message flows associated with the most
relevant SPEERMINT routing architecture peering scenarios. Most of
the messages diagrams were based on previous work done by the SIP and
SIPPING working groups.
The document focuses on the messages exchanged for the purpose of
Layer 5 peering [7] between two domains. Messages exchanged for the
purposed of setting up SIP session within a domain are considered out
of scope and were already defined in other working groups.
The draft separates the Layer 5 peering scenarios in two major
peering scenarios.
o On-demand: In this scenario the SIP proxies in domains A and B
establish a peering relationship driven by the necessity to
deliver a SIP message to another domain. This is sometimes
referred as the email model.
o Static: In this scenario the peering relationship between proxies
A and B is statically provisioned independent of the establishment
of any SIP session between users in different domains.
Normally, media for a given SIP session follows a different path,
traversing a different device (most commonly a router) when crossing
peering domains. Alternatively, media for a given session can be
directed to traverse the same device used for Layer 5 peering, i.e.,
the same device that handles signaling when crossing domains. This
gives rises to two different models:
o Decomposed: In this model SIP proxies perform Layer 5 peering and
media is sent directly between the UAs involved in the session.
Signaling and media follow different paths.
o Collapsed: In this model the device that performs Layer 5 peering
also processes the associated media when crossing domains. In the
light of SPEERMINT these devices may need to process media mainly
when peering involves SIP entities in private address spaces. This
function is usually referred to as media relay and is usually
performed by a B2BUA or SBC (Session Border Controller). See [6]
for a complete discussion of SBC functions.
penno Expires November 2, 2006 [Page 3]
Internet-Draft SPEERMINT Message Flows May 2006
The decomposed or basic peering model picture is shown below. It is
worth mentioning that Proxy 1 and 2 can be separated by any number of
layer 3 hops. We will refer to this picture throughout this document.
............................ ..............................
. . . .
. +-------+ . . +-------+ .
. | | . . | | .
. | DNS | . . | DNS | .
. | 1 | . . | 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. | . . | .
. | . . | .
. +-------+ . . +-------+ .
. | | . . | | .
. | Proxy |--------------| Proxy | .
. | 1 | . . | 2 | .
. | | . . | | .
. / +-------+ . . +-------+ \ .
. / . . \ .
. / . . \ .
. / . . \ .
. / . . \ .
. / . . \ .
. / . . \ .
. / . . \ .
. +-------+ . . +-------+ .
. | | . . | | .
. | | . Media . | | .
. | UA 1 |<========================================>| UA 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. Domain A . . Domain B .
............................ ..............................
Figure 1 Basic Peering Picture.
The collapsed model is shown below:
............................ ..............................
. . . .
. +-------+ . . +-------+ .
. | | . . | | .
. | DNS | . . | DNS | .
. | 1 | . . | 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. | . . | .
penno Expires November 2, 2006 [Page 4]
Internet-Draft SPEERMINT Message Flows May 2006
. | . . | .
. +-------+ . . +-------+ .
. | B2BUA | . . | B2BUA | .
. | & |--------------| & | .
. | other |**************| other |\ .
. /| funct | . . | funct | \ .
. / +-------+ . . +-------+* \ signaling .
. / * . . * \ .
. / * . . * \ .
. / * . . * \ .
. / * media . . * \ .
. / * . . * \ .
. / * . . * \ .
. / * . . * \ .
. +-------+ . . +-------+ .
. | | . . | | .
. | | . . | | .
. | UA 1 | . . | UA 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. Domain A . . Domain B .
............................ ..............................
Figure 2 Collapsed Peering Picture.
In a decomposed model, the signaling function (SF) and the media
function (MF) are implemented in separate entities. A B2BUA is
generally on the SIP path in the SF. The vertical control protocol
between the SF and MF is out of the scope of SPEERMINT. The
decomposed model is shown below:
............................ ..............................
. . . .
. +-------+ . . +-------+ .
. | | . . | | .
. | DNS | . . | DNS | .
. | 1 | . . | 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. | . . | .
. | . . | .
. +-------+ . . +-------+ .
. /| B2BUA |--------------| B2BUA |\ .
. / +-------+ +-------+ \ .
. / +-------+ +-------+ \ .
. / | MF |**************| MF | \ .
. / +-------+ . . +-------+* \signaling .
. / * . . * \ .
. / * . . * \ .
penno Expires November 2, 2006 [Page 5]
Internet-Draft SPEERMINT Message Flows May 2006
. / * . . * \ .
. / * media . . * \ .
. / * . . * \ .
. / * . . * \ .
. / * . . * \ .
. +-------+ . . +-------+ .
. | | . . | | .
. | | . . | | .
. | UA 1 | . . | UA 2 | .
. | | . . | | .
. +-------+ . . +-------+ .
. Domain A . . Domain B .
............................ ..............................
Figure 3 Collapsed Peering Picture.
2. Peering Message flows
We first depict what we call the basic message flow. The various
scenarios differ mostly of how and when peering is implemented. As
mentioned earlier peering can be establish following the arrival of a
message at a border proxy or statically following an agreement
between both domains.
penno Expires November 2, 2006 [Page 6]
Internet-Draft SPEERMINT Message Flows May 2006
Alice Proxy 1 DNS Proxy 2 Bob
| | | | |
| | | | |
| | Peering | |
| | Phase | |
| | [Static] | |
| |<------------------>| |
| INVITE | | | |
|------->| | | |
| 100 | | | |
|<-------| | | |
| | NAPTR | | |
| | Query | | |
| |--------->| | |
| | NAPTR | | |
| | Reply | | |
| |"SIPS+D2T"| | |
| |<---------| | |
| | SRV | | |
| | Query | | |
| |--------->| | |
| | SRV | | |
| | Reply | | |
| |<---------| | |
| | | |
| | Peering | |
| | Phase | |
| | [On-Demand] | |
| |<------------------>| |
| | | |
| | INVITE | |
| |------------------->| INVITE |
| | 100 |---------->|
| |<-------------------| |
| | | 180 |
| | 180 |<----------|
| 180 |<-------------------| |
|<-------| | 200 |
| | 200 |<----------|
| 200 |<-------------------| |
|<-------| | |
| ACK | | |
|------->| ACK | |
| |------------------->| ACK |
| | |---------->|
| Both Way RTP Media |
|<=======================================>|
penno Expires November 2, 2006 [Page 7]
Internet-Draft SPEERMINT Message Flows May 2006
| | | BYE |
| | BYE |<----------|
| BYE |<-------------------| |
|<-------| | |
| 200 | | |
|------->| 200 | |
| |------------------->| 200 |
| | |---------->|
| | | |
In the collapsed model, media would follow the path shown below. All
other signaling call flows remain the same, except a B2BUA is used
instead of a proxy.
Alice B2BUA 1 DNS B2BUA 2 Bob
| | | | |
| | | | |
| Both Way RTP Media |
|<======>|<==================>|<==========>|
| | | BYE |
The following sections show the message flows in several different
scenarios broken in two categories, on-demand and static.
3. On-Demand Peering
In the on demand peering scenario, the relationship between proxies
in domains A and B is driven by the arrival of a SIP message at proxy
A directed to a user in domain B (or vice-versa).
3.1.1. Transport Layer Security
In this scenario, trust between domains A and B is implied by the TLS
connection. The TLS connection is only established as a result of the
first session between domains A and B.
penno Expires November 2, 2006 [Page 8]
Internet-Draft SPEERMINT Message Flows May 2006
Alice Proxy 1 DNS Proxy 2 Bob
| | | | |
| | | | |
| INVITE | | | |
|------->| | | |
| 100 | | | |
|<-------| | | |
| | NAPTR | | |
| | Query | | |
| |--------->| | |
| | NAPTR | | |
| | Reply | | |
| |"SIPS+D2T"| | |
| |<---------| | |
| | SRV | | |
| | Query | | |
| |--------->| | |
| | SRV | | |
| | Reply | | |
| |<---------| | |
| | | |
| | Peering | |
| | [TLS Connection] | |
| |<------------------>| |
| | | |
| | INVITE | |
| |------------------->| INVITE |
| | 100 |---------->|
| |<-------------------| |
| | | 180 |
| | 180 |<----------|
| 180 |<-------------------| |
|<-------| | 200 |
| | 200 |<----------|
| 200 |<-------------------| |
|<-------| | |
| ACK | | |
|------->| ACK | |
| |------------------->| ACK |
| | |---------->|
| Both Way RTP Media |
|<=======================================>|
| | | BYE |
| | BYE |<----------|
| BYE |<-------------------| |
|<-------| | |
| 200 | | |
penno Expires November 2, 2006 [Page 9]
Internet-Draft SPEERMINT Message Flows May 2006
|------->| 200 | |
| |------------------->| 200 |
| | |---------->|
| | | |
TBD: DNS exchange could present proxy 1 with a set of peering
policies that need to be met for the peering with proxy 2 two
succeed.
3.1.2. Proxy Authentication: Subscribe/Notify
In the following example message flow, the authentication credentials
exchange method may take place before any INVITE is sent by ALICE.
The P2Key is sent by Proxy 2's NOTIFY and is included in the
"PeerAuthEventPkg". The P2Key may be stored on Proxy 1 for the
duration of the subscription. When the subscription expires, the
P2Key becomes invalid. At any time before the subscription expires,
the P2Key MAY be updated or refreshed as described in [8]. The
message flow and authentication exchange may occur in either
direction, but for simplicity reasons is only shown unilaterally.
The method is the same as indicated in section 3.2.
penno Expires November 2, 2006 [Page 10]
Internet-Draft SPEERMINT Message Flows May 2006
ALICE Proxy 1(P1) Proxy 2(P2) Bob
| | | |
| INVITE | | |
|--------------->| | |
| 100 Trying | | |
|<---------------| | |
| |Subscribe w/PeerAuthEventPkg | |
| |---------------------------->| |
| | 401 Unauthorized | |
| |<----------------------------| |
| |Subscribe w/Auth | |
| |---------------------------->| |
| | 202 Accepted | |
| |<----------------------------| |
| | Notify w/P2Key | |
| |<----------------------------| |
| | 200 OK | |
| |---------------------------->| |
| | INVITE | |
| |---------------------------->| |
| | 401 Unauthorized | |
| |<----------------------------| |
| | INVITE w/P2Key | |
| |---------------------------->| |
| | 100 Trying |INVITE |
| |<----------------------------|-----------> |
| | |180 Ringing |
| | 180 Ringing |<----------- |
| 180 Ringing|<----------------------------| |
|<---------------| |200 OK |
| | 200 OK |<----------- |
| 200 OK |<----------------------------| |
|<---------------| | |
| ACK | | |
|--------------->|ACK | |
| |---------------------------->|ACK |
| | |-----------> |
3.1.3. Proxy Authentication: Surrogate Registration
In this optional scenario we are assuming a new type Proxy
authentication method exists that allows mutual authentication
between two proxies. This authentication can be termed as the
"Surrogate Authentication". Generally, a proxy cannot register with
another proxy because in between two proxies there is not child-
penno Expires November 2, 2006 [Page 11]
Internet-Draft SPEERMINT Message Flows May 2006
parent relationship. However, an originating proxy can register with
another proxy on behalf of a User Agent (UA).
ALICE Proxy 1(P1) Proxy 2(P2) Bob
| | | |
| INVITE | | |
|--------------->| | |
| 100 Trying | | |
|<---------------| | |
| |REGISTER | |
| |------------------->| |
| | 401 Unauthorized | |
| |<-------------------| |
| |REGISTER w/Auth | |
| |------------------->| |
| | 100 Trying | |
| |<-------------------| |
| | 200 OK w/P2Key | |
| |<-------------------| |
| | REGISTER | |
| |<-------------------| |
| | 401 Unauthorized | |
| |------------------->| |
| | REGISTER w/Auth| |
| |<-------------------| |
| | 100 Trying | |
| |------------------->| |
| | 200 OK w/P1Key | |
| |------------------->| |
| | INVITE w/P2Key | |
| |------------------->| |
| | 100 Trying |INVITE |
| |<-------------------|-----------> |
| | |180 Ringing |
| | 180 Ringing |<----------- |
| 180 Ringing|<-------------------| |
|<---------------| |200 OK |
| | 200 OK |<----------- |
| 200 OK |<-------------------| |
|<---------------| | |
| ACK | | |
|--------------->|ACK | |
| |------------------->|ACK |
| | |-----------> |
penno Expires November 2, 2006 [Page 12]
Internet-Draft SPEERMINT Message Flows May 2006
4. Static Peering
In the static peering scenario the relationship between proxies A and
B is not driven by a SIP session, but before hand through manual
provisioning.
4.1.1. IPSec
In this model an IPSec connection between proxies A and B is
provisioned following an agreement between the two domains.
Alice Proxy 1 DNS Proxy 2 Bob
| | | | |
| | | |
| | [Peering] | |
| | IPSec Connection | |
| |<------------------>| |
| | | | |
\ / \ / \
/ \ / \ /
| | | | |
| INVITE | | | |
|------->| | | |
| 100 | | | |
|<-------| | | |
\ / \ / \
/ \ / \ /
| | BYE |<----------|
| BYE |<-------------------| |
|<-------| | |
| 200 | | |
4.1.2. Co-Location
In this scenario the two proxies are co-located in a physical secure
location and/or are member of a segregated network. In this case
messages between Proxy 1 and Proxy 2 would be sent as clear text.
penno Expires November 2, 2006 [Page 13]
Internet-Draft SPEERMINT Message Flows May 2006
Alice Proxy 1 DNS Proxy 2 Bob
| | | | |
| | | |
| | [Peering] | |
| | Co-Location | |
| |<------------------>| |
| | | | |
\ / \ / \
/ \ / \ /
| | | | |
| INVITE | | | |
|------->| | | |
| 100 | | | |
|<-------| | | |
\ / \ / \
/ \ / \ /
| | BYE |<----------|
| BYE |<-------------------| |
|<-------| | |
| 200 | | |
5. Media Relay
In the event that a calling and/or called entity are part of a
private network and the NAT/FW at the CPE is VoIP unaware or the
client uses to NAT traversal method, the SIP Proxy must find a way to
modify the private addresses that remain in the signaling payload (in
addition to threading media through the NAT/FW). This modifying
process is sometimes referred to as Far-end NAT Traversal (FE-NTRV).
The core of the FE-NTRV process is media relaying. The Signaling
entity relays media between the two endpoints as a result of the
repairing process and to guarantee NAT/FW traversal (symmetric RTP).
It is important to understand that media relay can be used
independent of NAT/FW as a way to direct media to a certain device
for processing. In the context of SPEERMINT media relay could be
used to enable the collapsed model and/or perform FE-NTRV.
penno Expires November 2, 2006 [Page 14]
Internet-Draft SPEERMINT Message Flows May 2006
ALICE NAT/FW Media Relay Bob
10.10.1.2 Signaling:128.16.5.10 192.32.6.2
Media:168.12.1.8
| | | |
| INVITE | | |
|------------------>| INVITE | |
|s:10.10.1.2:9082 |------------------->| INVITE |
|d:128.16.5.10:5060 |s:140.1.1.1:23040 |------------------>|
|c= 10.10.1.2 |d:128.16.5.10:5060 |s:128.16.5.10:5060 |
|m= 11032 |c= 10.10.1.2 |d:192.32.6.2:5060 |
| |m= audio 11032 |c= 168.12.1.8 |
| | |m= audio 3600 |
| | | |
|
v
+---------------------------------------------------------------------+
| Media Relay creates of a pair of media relay ports. The first port, |
| 3600, is for receiving media from the called party and the 2nd |
| port, 7600, is for receiving media from the calling party. As we do |
| not know what the transport address of the calling party will be |
| (post NAPT), any media received from the called party must be |
| dropped. |
+---------------------------------------------------------------------+
| | | 200 OK |
| | 200 OK |<------------------|
| 200 OK |<-------------------|s:192.32.6.2:5060 |
|<------------------|s:128.16.5.10:5060 |d:128.16.5.10:5060 |
|s:128.16.5.10:5060 |d:140.1.1.1:23040 |c= 192.32.6.2 |
|d:10.10.1.2:9082 |c= 168.12.1.8 |m= audio 9080 |
|c= 168.12.1.8 |m= audio 7600 | |
|m= audio 7600 | | |
| | | |
| | | |
|
V
+----------------------------+
| Media Relay updates remote |
| dest. as 192.32.6.2:9080 |
+----------------------------+
| | | |
| ACK (...) | | |
|------------------>| | |
| | | Media |
| | X<==================|
penno Expires November 2, 2006 [Page 15]
Internet-Draft SPEERMINT Message Flows May 2006
| | |s:168.12.1.8:3600 |
| | |d:192.32.6.2:9080 |
| | | |
| | v |
Discarded
| Media | |
|=======================================>|==================>|
|s:10.10.1.2:11032 |s:140.1.1.1:16220 |s:168.12.1.8:3600 |
|d:168.12.1.8:7600 |d:168.12.1.8:7600 |d:192.32.6.2:9080 |
| | | |
| | v |
+---------------------------+
| Update remote destination |
+---------------------------+
| | | |
| Media | |
|<=======================================|<==================|
|s:168.12.1.8:7600 |s:168.12.1.8:7600 |s:192.32.6.2:9080 |
|d:10.10.1.2:11032 |d:140.1.1.1:16220 |d:168.12.1.8:3600 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
6. Considerations on Private IP addresses
In Layer 5 peering scenarios, it does not really matter if the
peering fabric is public or private. What is relevant is if one of
the SIP devices participating in the session is in a public address
space and the other in a private.
In this case some observations should be made:
o A SIP device in a private address space can only communicate with
a device in a public address space if a NAT binding from private
to public address is provided.
o If a SIP device is in a private address space behind legacy NAT
device and does implement a NAT traversal method [8], media relay
might be needed for the successful establishment of the session.
Media relay is most commonly implemented by a B2BUA or SBC. A
legacy Nat is one that does not implement a SIP Application Level
Gateway (ALG).[4]
penno Expires November 2, 2006 [Page 16]
Internet-Draft SPEERMINT Message Flows May 2006
7. Considerations on Media Flows
7.1. Decomposition
The scenarios in the previous sections show media flowing between the
endpoints involved in the SIP session, but it is important to
understand that the domains involved in peering might not carry the
media associated with such sessions.
Media associated with the sessions established across the peering
interface could be carried by a traditional ISP. The picture below
depicts such scenario.
+---------+ _________
/--->| VSP |<-----\
/ | | \
| +---------+ |
Signaling | | Signaling
(peering) | | (peering)
| |
+------------+ | | +------------+
| |<-/ +-----------+_ \->| |
| | | | | |
| Domain A |>------->| ISP |>-------->| Domain B |
| |<-------<|___________|<--------<| |
|____________| Media | | Media |____________|
+------------+ +-----------+ +------------+
7.2. QoS
Media flows for real time communication usually need strict
scheduling guarantees in order to not degrade the service. The
problem of QoS within an independent administratively domain and
across domains is quite different.
In the case L5 peering several issues arise around QoS for media
flows, especially in the case of on-demand peering. Some of these
issues are listed below.
o How to reconcile general QoS parameters used in domain A across
the peering interface with those announced by domain B's peering
policy?
penno Expires November 2, 2006 [Page 17]
Internet-Draft SPEERMINT Message Flows May 2006
o How domain B can identify media flows crossing the peering
interface coming from domain A (and vice-versa) in order to
provide the agreed upon QoS treatment? We could potentially be
talking about hundreds of call (and consequently new media flows)
per second.
o Moreover, in a decomposed scenario, how the SIP Proxy can let the
router know the identity of such media flows and the QoS
parameters associated with it? This problem was discussed under
the TISPAN umbrella and NGN networks [6].
o Alternatively or in conjunction with dynamic identification there
is the issue of trust. Possibly domain B could trust domain A to
mark all media packets appropriately. Domain B would honor such
markings and give the appropriate treatment announced on its
peering policy
8. Considerations on Multilateral Peering
Some of the difficulties discussed in previous sections would be
aggravated in the case of multilateral on-demand peering where
potentially more than on VSP could carry signaling (and possibly
media) to reach a specific endpoint.
How peering policies could be compared to find out the best one for a
specific case? In the case of routing protocols a combination of
metrics, route filtering and others techniques provide a solution.
+---------+
| |
/ | Domain |\
/ | C | \
/ | | \
/ +---------+ \
/ \
+--------+ / +---------+ \ +--------+ +-----+
| |---/ | | \----| | | |
| Domain | | Domain | | Domain | | UA |
| A |-----------| B |-----------| D |-------| |
| | | | | | +-----+
+--------+ +---------+ +--------+
9. SIP Priority and SPEERMINT QoS
As discussed in section 7.2, there are various QoS aspects that need
to be taken into account in the context of SPEERMINT.
penno Expires November 2, 2006 [Page 18]
Internet-Draft SPEERMINT Message Flows May 2006
The next sections discuss those aspects by first going laying out
some groundwork and then going through scenarios.
9.1. Problem Statement
When SIP signaling and media packets from UA 1 arrive at peering
point destined to UA 2, the Layer 5 peering devices need to make sure
those packets receive the proper treatment when crossing the peering
fabric into another domain. Proper treatment involves three aspects:
Packet recognition and marking, accounting and trust.
9.2. Packet Recognition and Marking
If the layer 5 peering devices (referred as SIP Proxies) are going to
mark signaling and media packets, they need to first be able to
recognize them. Recognizing and marking SIP signaling is not
problematic since we assume the Layer 5 peering devices perform SIP
proxy functions. It leaves the media packets.
If the SIP Proxy does not inspect the SDP payload in SIP messages to
learn how to identify media packets, the only solution is to trust
that the endpoints or an upstream proxy have already done it (see
section 8.3).
On the other hand, if the SIP Proxy performs SDP inspection, it will
be able to recognize media packets based on the contents of the c and
m lines. It is important to notice that there is an implicit
assumption of what will be negotiated, and also that this proxy stays
in the signaling call flow for the duration of the call - and
therefore be aware of mid-call events.
Now we come to the problem of which device will mark the packets. In
a decomposed scenario, the SIP proxy needs to let the router know how
to identify media packets and which marking to use. One possible
solution is the use of a Gate Control Protocol [6].
In a collapsed scenario the problem of identifying and marking
packets is less severe.
penno Expires November 2, 2006 [Page 19]
Internet-Draft SPEERMINT Message Flows May 2006
9.2.1. Peering Classes of Service
In the simplest the case the peering fabric will have a set of
classes of service that serve as a translation table from one domain
to another. So, a domain A only needs to know how to map the classes
of service used internally to the ones used in the peering point (and
vice-versa).
9.2.2. Network Address Translation
The use of NAT media makes packet recognition problem more severe. As
discussed in section 6, in certain scenarios the identification of
the media flows require special processing.
9.3. Accounting
Accounting refers to the tracking consumption of network resources by
sessions. In order to accomplish inter-domain accounting, it is
required to know the exchanged policies, resources available and
reachability. Within the information gathered, it is important to
know the identity of the session, the nature of the service
delivered, when the service began, and when it ended.
9.4. Trust
If Proxy 1 trusts that its users will mark packets correctly, the
issue of packet recognition and marking can be mitigated. Of course
that does not imply that Proxy 2 trusts Domain 1 to mark packets
correctly. That's where a QoS policy exchange comes into play.
10. SIP Policy Enforcement and Definition
Within the following description, there is an assumption that the SIP
Proxy will know via policy exchange, variables that will weigh
potentially in routing decisions from Proxy A to Proxy B, (e.g.
defined relationship, trust established, etc).
In the inter-domain exchange of SIP signaled real-time sessions, the
SIP proxy will be the policy decision point that enforces exchanged
session policies. In this signaling plane enforcement model, all
bearer traffic will receive the same level of QOS (e.g. EF). Real-
time traffic (voice, video, etc) share the same sensitivity to
latency, jitter, and packet loss. Therefore any direct inter-domain
QoS mapping of service levels is not needed. Should one type of
traffic (Video) have more significance than another (voice) then the
SIP proxy will enforce that policy, possible preempting existing
sessions if required.
penno Expires November 2, 2006 [Page 20]
Internet-Draft SPEERMINT Message Flows May 2006
In both the collapsed and decomposed inter-domain call models, the
SIP proxies of both the originating and terminating domains have the
authority to permit, deny, preempt and throttle sessions. Inspecting
and classifying at the SIP layer brings an added differentiation
superseding Layer 3 policies.
10.1. Local SIP Policy
Local SIP Policy is defined as that which has local significance, or
not appropriate to exchange beyond administrative domains. Examples
of local policies would be preferential treatment of sessions based
on hierarchical subscriber groupings ("gold level" subscribers), path
selection based on time of day, or presence.
10.2. Remote SIP Policy
Remote SIP Policy is defined as policies that are learned via
exchange mechanism with peer in remote administrative domain.
Examples of a remote policy would be the codec to use, or number of
sessions permitted.
10.3. SIP Proceed Policy
The Proceed policy is used to determine if a session attempt should
be permitted to continue or not. The Proceed policy is constructed
from a merging of local and remote policies learned via exchange
mechanism. Permitting of a session to proceed or not can be done by
any SIP proxy involved in inter-domain signaling of the session.
The need for a scalable/fast implementation that will track current
state information in real-time can be achieved by RADIUS. A real-
time and historical session activity database will have a full
history of all active sessions. When a Session attempt is made from
a UA, it will be accounted for on session accounting element of the
SIP Proxy. The accounting element(s) can maintain data on whatever
criteria pertinent to track (codec, domain, timestamps etc...) When
new session attempt is made, an accounting look-up is done and a
search on whatever criteria of interest is done to determine if
session signaling can proceed. See the Policy Decision Point (PDP) in
below call flow.
penno Expires November 2, 2006 [Page 21]
Internet-Draft SPEERMINT Message Flows May 2006
Call Flow Examples:
Alice Proxy 1 Radius Proxy 2 Bob
| | | | |
|INVITE | | | |
|------->| | | |
| 100 | | | |
|<-------| Session | | |
| | Attempt | | |
| |---------->| | |
| | Current | | |
| | Peer Stats| | |
| |<----------| | |
| (PDP) | | |
| | INVITE | | |
| |--------------------->| INVITE |
| | 100 | |--------->|
| |<---------------------|180 |
| | 180 | |<---------|
| 180 |<---------------------| |
|<-------| | |200 |
| | 200 | |<---------|
| 200 |<---------------------| |
|<-------| | | |
| ACK | | | |
|------->| ACK | | |
| |--------------------->|ACK |
| | | |--------->|
| | | | |
SIP proxies talk to a list of radius servers for accounting purposes.
The radius servers should be on a local network to the proxy.
Prior to Proxy 1 sending INVITE to Proxy 2, a determination will be
made based on the exchanged policies if the attempt at session
establishment should be permitted.
TBD: An orthogonal point - The T-domain proxy in this instance is
from the perspective of the O-domain proxy. It may not be the
ultimate T-domain there may not be transparency through the next-hop
to the T-domain where the T-UA resides.**
penno Expires November 2, 2006 [Page 22]
Internet-Draft SPEERMINT Message Flows May 2006
11. Peering Domain Information Exchange
11.1. Domain Routes
In some cases, it may be required to exchange specific domain route
information between peers. The following describes a method for a
relationship between proxies in domains A and B to exchange domain
routes using a SIP peering route event package. This event package
will provide routing information for the peering proxy server to
update its routing table with new peering routes. This method
utilizes a SUBSCRIBE method, and routes may be updated through expiry
timers and subscription refreshes as defined in [8].
Proxy 1 Proxy 2
| |
|Subscribe w/PeerRteEventPkg |
|---------------------------->|
| 401 Unauthorized |
|<----------------------------|
|Subscribe w/Auth |
|---------------------------->|
| 202 Accepted |
|<----------------------------|
| Notify |
|<----------------------------|
| 200 OK |
|---------------------------->|
11.2. Authentication Credentials
In some cases, authorization credentials for authentication methods
such as HTTP digest may want to be exchanged and utilized by domain
proxies for authenticating new message requests from subscribers
intended for a UA in another domain. The following describes a
method for a relationship between proxies in domains A and B to
exchange a, potential, undefined peering authentication event
package. This method utilizes a SUBSCRIBE method similar to the
method described in section 3.1. An example, including a UA INVITE
message flow is included in section 4.1.2.
penno Expires November 2, 2006 [Page 23]
Internet-Draft SPEERMINT Message Flows May 2006
Proxy 1 Proxy 2
| |
|Subscribe w/PeerAuthEventPkg |
|---------------------------->|
| 401 Unauthorized |
|<----------------------------|
|Subscribe w/Auth |
|---------------------------->|
| 202 Accepted |
|<----------------------------|
| Notify |
|<----------------------------|
| 200 OK |
|---------------------------->|
12. Security Considerations
The level of security required during the establishment and
maintenance of a SIP peering relationship between to proxies can vary
greatly. In general all security considerations related to the SIP
protocol are also applicable in a peering relationship.
If the two proxies communicate over an insecure network, and
consequently are subject to attacks, the use of a TLS or IPSec would
be advisable.
If there is physical security and the proxies are co-located, or the
proxies are situated in a segregated network (such as VPN), one could
argue that basic filtering based on IP address is enough.
13. IANA Considerations
There are no IANA considerations at this point
14. Conclusions
The purpose of this draft is to show SPEERMINT message flows as
specified in charter but also to raise awareness through questions
and detailed considerations of several issues the WG might have to
deal in different peering scenarios.
15. Acknowledgments
TBD
penno Expires November 2, 2006 [Page 24]
Internet-Draft SPEERMINT Message Flows May 2006
References
15.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A.,Peterson, J., Sparks, R., Handley, M. and E. Schooler,
"SIP:Session Initiation Protocol", RFC 3261, June 2002.
[3] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
(SIP): Locating SIP Servers", RFC 3263, June 2002.
[4] Srisuresh, P. and K. Egevang, "Traditional IP Network Address
Translator (Traditional NAT)", RFC 3022, January 2001.
[5] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K.
Summers, "Session Initiation Protocol (SIP) Basic Call
Flow Examples", BCP 75, RFC 3665, December 2003.
[6] ETSI TS 102 333: " Telecommunications and Internet converged
Services and Protocols for Advanced Networking (TISPAN); Gate
control protocol".
[7] Babiarz, J., "Configuration Guidelines for DiffServ Service
Classes", draft-ietf-tsvwg-diffserv-service-classes-02 (work in
progress), February,2006.
[8] Roach, A., "Session Initiation Protocol (SIP)-Specific Event
Notification", RFC 3265, June 2002.
15.2. Informative References
[9] Camarillo, G., Penfield, R., Hawrylyshen, A., "Requirements
from SIP (Session Initiation Protocol) Session Border
Controller Deployments", Internet Draft, draft-camarillo-
sipping-sbc-funcs-03
[10] Meyer, D., "SPEERMINT Requirements and Terminology", Internet
Draft, draft-ietf-speermint-reqs-and-terminology-01
[11] Boulton, C., Rosenberg, J., Camarillo, G., "Best Current
Practices for NAT Traversal for SIP", Internet Draft, draft-
ietf-sipping-nat-scenarios-04
penno Expires November 2, 2006 [Page 25]
Internet-Draft SPEERMINT Message Flows May 2006
Author's Addresses
Daryl Malas
Level 3 Communications LLC
1025 Eldorado Blvd.
Broomfield, CO 80021
USA
EMail: daryl.malas@level3.com
Sohel Khan, Ph.D.
Technology Strategist
Sprint
6220 Sprint Parkway
Overland Park, KS 66251
U.S.A
Email: Sohel.Q.Khan@sprint.com
Reinaldo Penno
Juniper Networks
1194 N Mathilda Avenue
Sunnyvale, CA
USA
Email: rpenno@juniper.net
Adam Uzelac
Global Crossing
1120 Pittsford Victor Road
PITTSFORD, NY 14534
USA
Email: adam.uzelac@globalcrossing.com
Intellectual Property Statement
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
penno Expires November 2, 2006 [Page 26]
Internet-Draft SPEERMINT Message Flows May 2006
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.
Disclaimer of Validity
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.
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.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
penno Expires November 2, 2006 [Page 27]