22
1 © 2004, Cisco Systems, Inc. All rights reserved. VVT-A01 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public SIP Location Conveyance draft-ietf-sip-location-conveyance-04.txt James Polk Brian Rosen Oct 5th/6th, 2006 Needs changes to be made!!!!

1 © 2004, Cisco Systems, Inc. All rights reserved. VVT-A01 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public SIP Location Conveyance draft-ietf-sip-location-conveyance-04.txt

Embed Size (px)

Citation preview

1© 2004, Cisco Systems, Inc. All rights reserved.VVT-A01 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

SIP Location Conveyance

draft-ietf-sip-location-conveyance-04.txt

James Polk

Brian Rosen

Oct 5th/6th, 2006

Needs changes to be made!!!!

2© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Location Conveyance

• Based on Presence Information Data Format (PIDF) for Location Objects (LO) as defined in the Geopriv Working Group of IETF

– simply PIDF-LO

• PIDF-LO uses GML (Geography Markup Language from OpenGIS)

• 2 Location Representations are specified:– Civil Addressing (basically Post Office addresses which are internationalized)

– Coordinate or Geodetic (Lat/Long/Alt with datum)

• Two types of Location Conveyance in SIP:– User-to-User (I want to tell you where I am, have been or will be)

– Routing based on UAC location (Proxies need to know my location to properly route the SIP Request (shown in Emergency example))

draft-ietf-sip-location-conveyance

draft-ietf-geopriv-dhcp-civil

RFC 3825 Coordinate Location in DHCP

RFC 4119 Geopriv PIDF-LO

3© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

• The Session Initiation Protocol (SIP) is an application layer control (signaling) protocol for:

– creating

– modifying and

– terminating

multimedia sessions with one or more participants

SIP BasicsRFC 3261

4© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

SIP components include:

• User Agents (UAs)

• Gateways

• Registrar Servers

• Proxy Servers

– have degrees of statefulness

– CSCF(s), B2BUAs, SBCs

• Redirect Servers

SIP Basics (cont’d)

5© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

IHL Total Length

Identification Flags Fragment Offset

Header ChecksumProtocolTime to Live

Source Address

Destination Address

PaddingOptions

Version DSCP ECN

IPv4 Header is 20 Bytes and Binary

Source PortSource Port Destination PortDestination Port

ChecksumChecksumLengthLength

UDP Header is 8 Bytes and Binary(Layer 4 here could also be TCP or SCTP)

SIP Headers in US-ASCII(variable in length per header/per message)SIP Header is Text-based

and variable in length

SIP messages *sometimes* have a message body- a SIP message header indicates the type of body

- could be text, data, or something about audio, videoor something else

SIP message body is alsovariable, but not always present (depending on the Message-type)

Example IPv4 SIP Packet format with UDP

6© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

SIP—INVITE Message

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected] CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142

- Message body goes down here - Content-Length Header indicates one is present

RFC 3261

7© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

• INVITE (RFC 3261)

• REGISTER (RFC 3261)

• SUBSCRIBE and NOTIFY (RFC 3265)

• UPDATE (RFC 3311)

• MESSAGE (RFC 3428)

• PUBLISH* (RFC 3903)

Applicable SIP Requests with Location

* NOT discussed in SIP Location ID

8© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice

SIP INVITE including Location I

Bob

Location within SIP— carried in header as URI or message body– A UAC can include its

location as a message body:

• Geolocation header,

• Supported header,

• geolocation option-tag,

• Content-Type multipart/mixed

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com ;branch=z9hG4bK77i832k9Max-Forwards: 70To: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected] Geolocation: cid:[email protected] Supported: geolocation CSeq: 314159 INVITEContact: <sip:[email protected]>Accept: application/sdp, application/pidf-xmlContent-Type: multipart/mixed; boundary=0a0Content-Length: 543

INVITE

RFC 3261

geolocation (if as a message body)

sdp

9© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice

SIP INVITE including Location II

Bob

INVITE

RFC 3261

--0a0Content-Type: application/sdp

v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000

Location within SIP— carried in header as URI or message body

– A UAC can include its location as a message body:

• Here’s the SDP

10© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

• An SDP message body for voice only

SIP Message Body for multimedia

v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000m=video 51172 RTP/AVP 31 34a=rtpmap:31 H.261/90000a=rtpmap:34 H.263/90000

- Video- UDP port (51172) for video- Codecs included: H.261, H.263

- Audio- UDP port (49172) for audio- Codecs included: G.711

v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000

- Audio- UDP port (49172) to receive RTP - Codecs included: G.711

• An SDP message body for voice and video

RFC 4566, 3264

12© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

--0a0Content-Type: application/pidf+xml (short form*)Content-ID: cid:[email protected]

<gml:location> <gml:coordinates>36.132N 115.151W </gml:coordinates> </gml:location>

<method>802.11</method> <provided-by>www.cisco.com</provided-by/>

--0a0--

Alice

SIP INVITE including Location III

Bob

INVITELocation within SIP—

carried in header as URI or message body

–A UAC can include its location as a message body:

• Here’s a short form version of the location message body (long form on next slide)

• Location in Coordinates

Valid size on next slide

13© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

GEOPRIV Geospatial/Coordinate format

• Based on this GML schema

<?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="urn:opengis:specification:gml:schema-xsd:feature:v3.0" entity="pres:[email protected]"> <tuple id="sg89ae"> <timestamp>2006-03-27T09:00:00Z</timestamp> <status> <gp:geopriv> <gp:location-info> <gml:location> <gml:Point gml:id="point96" srsName="epsg:4326"> <gml:coordinates>36.132N 115.151W </gml:coordinates> </gml:Point> </gml:location> </gp:location-info> <gp:usage-rules> <gp:retransmission-allowed>no</gp:retransmission-allowed> <gp:retention-expiry>2006-03-29T16:30:00Z</gp:retention-expiry> <method>802.11</method> <provided-by>www.cisco.com</provided-by/> </gp:usage-rules> </gp:geopriv> </status> </tuple> </presence>

• To a point, a line, a polygon

• Provides how location was derived

• and who is responsible for it

– After the fact troubleshooting

RFC 4119

14© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice

SIP INVITE including Location IV

Bob

INVITE

--0a0Content-Type: application/pidf+xml (short form*)Content-ID: cid:[email protected]

... <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A1>Nevada</cl:A1> <cl:A3>Las Vegas</cl:A3> <cl:HNO>399</cl:HNO> <cl:A6>Convention Center</cl:A6> <cl:STS>Drive</cl:STS> <cl:PC>89109</cl:PC> <cl:LMK>LVCC</cl:LMK> <cl:RM>110</cl:RM> <cl:civilAddress> <gp:location-info> ...--0a0--

Location within SIP— carried in header as URI or message body

–A UAC can include its location as a message body:

• Here’s a short form version of the location message body (long form on next slide)

• Location in civic address form

Valid size on next slide

15© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

GEOPRIV civic format

• Newly defined in the PIDF-LO ID

<?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="urn:opengis:specification:gml:schema-xsd:feature:v3.0" entity="pres:[email protected]"> <tuple id="sg89ae"> <timestamp>2006-03-27T09:00:00Z</timestamp> <status> <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A3>Las Vegas</cl:A3> <cl:A6>Convention Center</cl:A6> <cl:STS>Drive</cl:STS> <cl:HNO>399</cl:HNO> <cl:LMK>Las Vegas Convention Center</cl:LMK> <cl:PC>89109</cl:PC> <cl:civilAddress> </gp:location-info> <gp:usage-rules> <gp:retransmission-allowed>no</gp:retransmission-allowed> <gp:retention-expiry>2006-03-29T16:30:00Z</gp:retention-expiry> <method>802.11</method> <provided-by>www.cisco.com</provided-by> </gp:usage-rules> </gp:geopriv> </status> </tuple> </presence>

• Provides how location was derived

• and who is responsible for it

– After the fact troubleshooting

• Specifies up to 27 fields for civil location

RFC 4119

17© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice

SIP INVITE including Location V

Bob

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com ;branch=z9hG4bK77i832k9Max-Forwards: 70To: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected] Geolocation: sips:[email protected] Supported: geolocation CSeq: 314159 INVITEContact: <sip:[email protected]>Accept: application/sdp, application/pidf-xmlContent-Type: application/sdpContent-Length: 243

INVITE Location within SIP— carried in header as URI or message body

–A UAC can include its location as a URI:

•Geolocation header with URI,

•Supported header,

•geolocation option-tag,

•Content-Type application/sdp

18© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice Bob

200 OK

Location within SIP— carried in header as URI or message body– 200 OK may contain

either form of location delivery (message body or URI)

• Since Request had appropriate Accept header

SIP/2.0 200 OKVia: SIP/2.0/TCP sip:[email protected] ;branch=z9hG4bK77i832k9To: Bob <sip:[email protected]>; tag=a6c85e3From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected] Geolocation: sips:[email protected] Supported: geolocation CSeq: 314159 INVITEAccept: application/sdp, application/pidf-xmlContent-Type: application/sdpContent-Length: 142

(Bob’s SDP here)

INVITE

SIP Response including Location

19© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Alice

Dereferencing Location URI

Bob

INVITE (w/Loc URI)

Location URI within SIP— carried in header as URI or message body has to be dereferenced to be any good

– Location URI recipient (UA or server) will dereference the URI based on the scheme used

LIS

SUBSCRIBE (w/Loc URI)

200 OK

NOTIFY (w/ Location)

200 OK

– What happens next is up to what device type did the dereferencing

• if it’s a UA, it could be done or send its location to UAC

• if it’s a routing server, the location would be used by LoST next

20© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

INVITE (with Location)

180 Ringing

200 OK

ACK

INVITE (to URI as R-URI, with Location)

LoST (w/ Loc)

LoST Answer (w/ PSAP URI)

180 Ringing

200 OK

Session Established

SIP Routing based on Location of UAC

Alice CES.com Proxy LoST Server

LV PSAP#1LV PSAP#2

LV PSAP#3

21© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Location-based call routing – UA learns its location

36° 13' N 115° 15' W

Real-Time LoST Query

36° 13' N 115° 15' W Las Vegas fire department

GPS

DHCP Backend DB

INVITE sips:psap1.lv...

Las Vegas Fire Department

Access Point

Use of SIP UPDATE Method to update location changes noticed by UAC after call establishment

LoST Mapping Server

Early LoST Query

INVITE sips:usn... or psap2.lv...

psap2.lv.clark.nv.us.arpa.sos

22© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

SIP Routing based on UAC’s Location

Alice Outbound Proxy

• SIP Routing based on Location

– “sos@...” is not globally unique

* “Short form” means not enough room here

--0a0Content-Type: application/sdpv=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000– Location message body

could be in the civic format

--0a0Content-Type: application/pidf+xml (short form*)<country>US</country><A2>Las Vegas</A2><A6>Convention Center</A6><STS>Drive</STS><HNO>399</HNO><NAM>Las Vegas Convention Center</NAM><RM>N111</RM>--0a0--

INVITE w/ SDP and Location

INVITE sips:urn:service:sos SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK74Max-Forwards: 70From: Alice <sip:[email protected]>;tag=9fxced76sl To: <sip:urn:service:sos>Call-ID: [email protected]: sips:[email protected] Supported: geolocation CSeq: 31862 INVITERoute: <sips:psap2.lv.clark.nv.us.arpa.sos>Contact: <sip:[email protected]>Content-Type: multipart/mixed; boundary=0a0Content-Length: 311

23© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

SIP Emergency based on UAC’s Location

ESRP PSAP

--0a0Content-Type: application/sdpv=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000

--0a0Content-Type: application/pidf+xml (short form*)

<gml:location> <gml:coordinates>36.132N 115.151W </gml:coordinates> </gml:location> <method>802.11</method> <provided-by>www.cisco.com</provided-by/> --0a0--

• SIP Routing based on Location

– Request-URI based on current LoST Query by ESRP during call

– If this “in-call” LoST Query fails, <lr> Route header is fallback

– Location could be in geo

INVITE w/ SDP and Location

INVITE sips:psap2.lv.clark.nv.us.arpa.sos SIP/2.0Via: SIP/2.0/TLS pc33.atlanta.com;branch=z9hG4bK74Max-Forwards: 70From: Alice <sip:[email protected]>;tag=9fxced76sl To: <sip:urn:service:sos>Call-ID: [email protected]: sips:[email protected] Supported: geolocation CSeq: 31862 INVITERoute: <sips:psap2.lv.clark.nv.us.arpa.sos;lr>Contact: <sip:[email protected]>Content-Type: multipart/mixed; boundary=0a0Content-Length: 311

* “Short form” means not enough room here

24© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public

Open Issues with ID

• ABNF determining schemas possible?

• OPTIONS usage to learn UAS’s location

– has to do with Require header usage

– probably will kill this idea

• Location-by-reference allowed?

• Granular Error Responses in 424