rfc8876xml2.original.xml | rfc8876.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='UTF-8'?> | |||
<?xml-stylesheet type=<?xml version="1.0" encoding="US-ASCII"?> | <?xml-stylesheet type=<?xml version="1.0" encoding="US-ASCII"?> | |||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<?rfc toc="yes" ?> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<?rfc symrefs="yes" ?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="8876" consensus="true" | |||
<?rfc sortrefs="no"?> | category="std" docName="draft-ietf-ecrit-data-only-ea-22" | |||
<?rfc iprnotified="no" ?> | ipr="trust200902" obsoletes="" updates="" submissionType="IETF" | |||
<?rfc strict="no" ?> | xml:lang="en" tocInclude="true" symRefs="true" sortRefs="false" | |||
<?rfc compact="no" ?> | version="3"> | |||
<?rfc subcompact="no" ?> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
<!ENTITY RFC2392 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.2392.xml"> | ||||
<!ENTITY RFC2818 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.2818.xml"> | ||||
<!ENTITY RFC3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3261.xml"> | ||||
<!ENTITY RFC3262 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3262.xml"> | ||||
<!ENTITY RFC3428 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3428.xml"> | ||||
<!ENTITY RFC3986 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3986.xml"> | ||||
<!ENTITY RFC4119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4119.xml"> | ||||
<!ENTITY RFC5031 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5031.xml"> | ||||
<!ENTITY RFC5222 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5222.xml"> | ||||
<!ENTITY RFC5234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5234.xml"> | ||||
<!ENTITY RFC7303 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7303.xml"> | ||||
<!ENTITY RFC3629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3629.xml"> | ||||
<!ENTITY RFC8224 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8224.xml"> | ||||
<!ENTITY RFC8225 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8225.xml"> | ||||
<!ENTITY RFC3325 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3325.xml"> | ||||
<!ENTITY RFC6442 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6442.xml"> | ||||
<!ENTITY RFC6443 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6443.xml"> | ||||
<!ENTITY RFC6881 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6881.xml"> | ||||
<!ENTITY RFC7378 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7378.xml"> | ||||
<!ENTITY RFC7852 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7852.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8174.xml"> | ||||
]> | ||||
<rfc category="std" docName="draft-ietf-ecrit-data-only-ea-22" ipr="trust200902" | ||||
> | ||||
<front> | <front> | |||
<title>Non-Interactive Emergency Calls</title> | <title>Non-interactive Emergency Calls</title> | |||
<seriesInfo name="RFC" value="8876"/> | ||||
<author initials="B." surname="Rosen" fullname="Brian Rosen"> | <author initials="B." surname="Rosen" fullname="Brian Rosen"> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>470 Conrad Dr</street> | <street>470 Conrad Dr</street> | |||
<city>Mars</city> | <city>Mars</city> | |||
<region> PA </region> | <region> PA </region> | |||
<code>16046 </code> | <code>16046 </code> | |||
<country>US </country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<phone> </phone> | <phone> </phone> | |||
<email>br@brianrosen.net | <email>br@brianrosen.net | |||
</email> | </email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne"> | <author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne"> | |||
<organization abbrev="Columbia U.">Columbia University</organization> | <organization abbrev="Columbia U.">Columbia University</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Department of Computer Science</street> | <street>Department of Computer Science</street> | |||
<street>450 Computer Science Building</street> | <street>450 Computer Science Building</street> | |||
<city>New York</city> | <city>New York</city> | |||
<region>NY</region> | <region>NY</region> | |||
<code>10027</code> | <code>10027</code> | |||
<country>US</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<phone>+1 212 939 7004</phone> | <phone>+1 212 939 7004</phone> | |||
<email>hgs+ecrit@cs.columbia.edu</email> | <email>hgs+ecrit@cs.columbia.edu</email> | |||
<uri>http://www.cs.columbia.edu</uri> | <uri>https://www.cs.columbia.edu</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig"> | <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig"> | |||
<organization>ARM Limited</organization> | ||||
<address> | <address> | |||
<postal> | <postal> | |||
<street> </street> | <street> </street> | |||
<country>Austria</country> | <country>Austria</country> | |||
</postal> | </postal> | |||
<email>Hannes.Tschofenig@gmx.net</email> | <email>Hannes.Tschofenig@gmx.net</email> | |||
<uri>http://www.tschofenig.priv.at</uri> | <uri>https://www.tschofenig.priv.at</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Randall Gellens" initials="R." | <author fullname="Randall Gellens" initials="R." surname="Gellens"> | |||
surname="Gellens"> | ||||
<organization>Core Technology Consulting</organization> | <organization>Core Technology Consulting</organization> | |||
<address> | <address> | |||
<email>rg+ietf@coretechnologyconsulting.com</email> | <email>rg+ietf@coretechnologyconsulting.com</email> | |||
<uri>http://www.coretechnologyconsulting.com</uri> | <uri>http://www.coretechnologyconsulting.com</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2020"/> | <date month="September" year="2020"/> | |||
<area>ART</area> | <area>ART</area> | |||
<workgroup>ECRIT</workgroup> | <workgroup>ECRIT</workgroup> | |||
<keyword>Internet-Draft</keyword> | ||||
<keyword>CAP</keyword> | <keyword>CAP</keyword> | |||
<keyword>Common Alerting Protocol</keyword> | <keyword>Common Alerting Protocol</keyword> | |||
<keyword>Non-Interactive Emergency calls</keyword> | <keyword>Non-Interactive Emergency calls</keyword> | |||
<abstract> | <abstract> | |||
<t> | <t> | |||
Use of the Internet for emergency calling is described in RFC 6443, 'Framework | Use of the Internet for emergency calling is described in RFC 6443, 'Framework | |||
for Emergency Calling Using Internet Multimedia'. In some cases of emergency | for Emergency Calling Using Internet Multimedia'. In some cases of emergency | |||
calls, the transmission of application data is all that is needed and no | calls, the transmission of application data is all that is needed, and no | |||
interactive media channel is established: a situation referred to as | interactive media channel is established: a situation referred to as | |||
'non-interactive emergency calls', where, unlike most emergency calls, there is | 'non-interactive emergency calls', where, unlike most emergency calls, there | |||
no two way interactive | is no two-way interactive media such as voice or video or text. This document | |||
media such as voice or video or text. This document describes use of a SIP MESS | describes use of a SIP MESSAGE transaction that includes a container for the | |||
AGE | data based on the Common Alerting Protocol (CAP). That type of emergency | |||
transaction that includes a container for the data based on the Common Alerting | request does not establish a session, distinguishing it from SIP INVITE, which | |||
Protocol (CAP). That type of emergency request does not establish a session, | does. Any device that needs to initiate a request for emergency services | |||
distinguishing it from SIP INVITE, which does. Any device that needs to | without an interactive media channel would use the mechanisms in this | |||
initiate a request for emergency services without an interactive media channel | document. </t> | |||
would use the mechanisms in this document. </t> | ||||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<!-- /////////////////////////////////////////////////////////////////////// /////////// --> | ||||
<section anchor="introduction" title="Introduction"> | <section anchor="introduction" numbered="true" toc="default"> | |||
<name>Introduction</name> | ||||
<t><xref target="RFC6443" format="default"/> describes how devices use | ||||
the Internet to place emergency calls and how Public Safety Answering | ||||
Points (PSAPs) handle Internet multimedia emergency calls natively. The | ||||
exchange of multimedia traffic for emergency services involves a SIP | ||||
session establishment starting with a SIP INVITE that negotiates various | ||||
parameters for that session.</t> | ||||
<t>In some cases, however, there is only application data to be conveyed | ||||
from the end devices to a PSAP or an intermediary. Examples of such | ||||
environments include sensors issuing alerts, and certain types of | ||||
medical monitors. These messages may be alerts to emergency | ||||
authorities and do not require establishment of a session. These types | ||||
of interactions are called 'non-interactive emergency calls'. In this | ||||
document, we use the term "call" so that similarities between | ||||
non-interactive alerts and sessions with interactive media are more | ||||
obvious. | ||||
</t> | ||||
<t><xref target="RFC6443"/> describes how devices use the Interne | <t>Non-interactive emergency calls are similar to regular emergency | |||
t to place | calls in the sense that they require the emergency indications, | |||
emergency calls and how Public Safety Answering Points (PSAPs) handle Interne | emergency call routing functionality, and location. However, the | |||
t multimedia | communication interaction will not lead to the exchange of interactive | |||
emergency calls natively. The exchange of multimedia traffic for emergency se | media, that is, Real-Time Transport Protocol <xref target="RFC3550"/> pack | |||
rvices involves a SIP session establishment starting with a SIP INVITE that nego | ets, such as voice, video, or | |||
tiates various parameters for that session.</t> | real-time text.</t> | |||
<t>In some cases, however, there is only application data to be conveyed from | <t> | |||
the end devices to a PSAP or an intermediary. | The Common Alerting Protocol (CAP) <xref target="CAP" format="default"/> is a | |||
Examples of such environments include sensors issuing alerts, and certain typ | format for exchanging emergency alerts and public warnings. CAP is mainly | |||
es of medical monitors. These messages may be one-shot alerts to emergency autho | used for conveying alerts and warnings between authorities and from | |||
rities and do not require establishment of a session. These types of interaction | authorities to the public. The scope of this document is conveying CAP alerts | |||
s are called 'non-interactive emergency calls'. In this document, we use the te | from private devices to emergency service authorities, as a call without any | |||
rm "call" so that similarities between non-interactive alerts and sessions with | interactive media. | |||
interactive media are more obvious. | </t> | |||
</t> | ||||
<t>Non-interactive emergency calls are similar to regular emergency calls in t | ||||
he sense that they | ||||
require the emergency indications, emergency call routing functionality | ||||
and location. | ||||
However, the communication interaction will not lead | ||||
to the exchange of interactive media, that is, Real-Time Protocol packet | ||||
s, such as voice, video data or real-time text.</t> | ||||
<t>The Common Alerting Protocol (CAP) <xref target="cap"/> is a format for | ||||
exchanging emergency alerts and public warnings. CAP is mainly used | ||||
for conveying alerts and warnings between authorities and from | ||||
authorities to citizens/individuals. This document is concerned with citizen | ||||
-to-authority "alerts", where the alert is a call without any interactive media. | ||||
</t> | ||||
<t>This document describes a method of including a CAP message in a SIP trans | ||||
action by defining it as a block of "additional data" as defined in <xref target | ||||
="RFC7852"/>. The CAP message is included either by value (the CAP message is i | ||||
n the body of the message, using a CID) or by reference (the message includes a | ||||
URI that, when dereferenced, returns | ||||
the CAP message). The additional data mechanism is also used to send alert-sp | ||||
ecific data beyond that available in the CAP message. This document also descri | ||||
bes how a SIP MESSAGE <xref target="RFC3428"/> transaction can be used to send a | ||||
non-interactive call.</t> | ||||
<t>This document describes a method of including a CAP alert in a SIP | ||||
transaction by defining it as a block of "additional data" as defined in | ||||
<xref target="RFC7852" format="default"/>. The CAP alert is included | ||||
either by value (the CAP alert is in the body of the message, using a | ||||
CID) or by reference (the message includes a URI that, when | ||||
dereferenced, returns the CAP alert). The additional data mechanism | ||||
is also used to send alert-specific data beyond that available in the | ||||
CAP alert. This document also describes how a SIP MESSAGE <xref | ||||
target="RFC3428" format="default"/> transaction can be used to send a | ||||
non-interactive call.</t> | ||||
</section> | </section> | |||
<!-- /////////////////////////////////////////////////////////////////////// | <section anchor="terminology" numbered="true" toc="default"> | |||
/////////// --> | <name>Terminology</name> | |||
<section anchor="terminology" title="Terminology"> | <t> | |||
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | ||||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are | ||||
to be interpreted as described in BCP 14 <xref target="RFC2119"/> | ||||
<xref target="RFC8174"/> when, and only when, they appear in all capitals, | ||||
as shown here. | ||||
</t> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | <dl> | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
"MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when | ||||
, and only when, they | ||||
appear in all capitals, as shown here.</t> | ||||
<t>A non-interactive emergency call is an emergency call where there is no two-w | ||||
ay interactive media. </t> | ||||
<t>SIP is the Session Initiation Protocol <xref target="RFC3261"/></t> | ||||
<t>PIDF-LO is Presence Information Data Format - Location Object, a data st | ||||
ructure for carrying location <xref target="RFC4119"/></t> | ||||
<t>LoST is the Location To Service Translation protocol <xref target="RFC52 | ||||
22"/></t> | ||||
<t>CID is Content-ID <xref target="RFC2392"/></t> | ||||
<t>CAP is the Common Alerting Protocol <xref target="cap"/></t> | ||||
<t>PSAP is a Public Safety Answering Point, the call center for emergency c | ||||
alls.</t> | ||||
<t>ESRP is an Emergency Services Routing Proxy, a type of SIP Proxy Server | ||||
used in some emergency services networks</t> | ||||
</section> | <dt>Non-interactive emergency call: | |||
</dt> | ||||
<dd>An emergency call where there is no two-way interactive media | ||||
</dd> | ||||
<!-- /////////////////////////////////////////////////////////////////////// | <dt>SIP: | |||
/////////// --> | </dt> | |||
<dd>Session Initiation Protocol <xref target="RFC3261"/> | ||||
</dd> | ||||
<section anchor="arch" title="Architectural Overview"> | <dt>PIDF-LO: | |||
<t>This section illustrates two envisioned usage modes: targeted an | </dt> | |||
d location-based emergency | <dd>Presence Information Data Format Location Object, a data structure for | |||
carrying location <xref target="RFC4119"/> | ||||
</dd> | ||||
<dt>LoST: | ||||
</dt> | ||||
<dd>Location To Service Translation protocol <xref target="RFC5222"/> | ||||
</dd> | ||||
<dt>CID: | ||||
</dt> | ||||
<dd>Content-ID <xref target="RFC2392"/> | ||||
</dd> | ||||
<dt>CAP: | ||||
</dt> | ||||
<dd>Common Alerting Protocol <xref target="CAP"/> | ||||
</dd> | ||||
<dt>PSAP: | ||||
</dt> | ||||
<dd>Public Safety Answering Point, the call center for emergency calls | ||||
</dd> | ||||
<dt>ESRP: | ||||
</dt> | ||||
<dd>Emergency Services Routing Proxy, a type of SIP Proxy Server used in some | ||||
emergency services networks | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="arch" numbered="true" toc="default"> | ||||
<name>Architectural Overview</name> | ||||
<t>This section illustrates two envisioned usage modes: targeted and locat | ||||
ion-based emergency | ||||
alert routing.</t> | alert routing.</t> | |||
<t><list style="numbers"> | <ol spacing="normal" type="1"> | |||
<t>Emergency alerts containing only data are targeted to an | <li> | |||
intermediary recipient responsible for evaluating the next steps. These s | <t>Emergency alerts containing only data are targeted to an | |||
teps | intermediary recipient responsible for evaluating the next steps. | |||
could include: | These steps could include: | |||
<list style="numbers"> | </t> | |||
<t>Sending a non-interactive call containing only data towards a Public | <ol spacing="normal" type="a"> | |||
<li>Sending a non-interactive call containing only data towards a Pu | ||||
blic | ||||
Safety Answering Point (PSAP); | Safety Answering Point (PSAP); | |||
</t> | </li> | |||
<t>Establishing a third-party-initiated emergency call towards a PSAP t | <li>Establishing a third-party-initiated emergency call towards a PS | |||
hat could | AP that could | |||
include audio, video, and data. | include audio, video, and data. | |||
</t> | </li> | |||
</list> | </ol> | |||
</t> | </li> | |||
<t>Emergency alerts may be targeted to a Service URN <xref target="RFC5031"/> | <li>Emergency alerts may be targeted to a service URN <xref | |||
used for IP-based | target="RFC5031" format="default"/> used for IP-based emergency calls | |||
emergency calls where the recipient is not known to | where the recipient is not known to the originator. In this scenario, | |||
the originator. In this scenario, the alert may contain | the alert may contain only data (e.g., a SIP MESSAGE with CAP content, | |||
only data (e.g., a CAP, Geolocation header field and one or more Call-Inf | a Geolocation header field, and one or more Call-Info header fields | |||
o header fields | containing additional data <xref target="RFC7852" format="default"/>). | |||
containing Additional Data <xref target="RFC7852"/> in a SIP MESSAGE). | </li> | |||
</t> | </ol> | |||
</list> | <t> | |||
</t> | <xref target="targeted" format="default"/> shows a deployment variant where a se | |||
<t> | nsor | |||
<xref target="targeted"/> shows a deployment variant where a sensor | ||||
is pre-configured (using techniques outside the | is pre-configured (using techniques outside the | |||
scope of this document) to issue an alert to an aggregator | scope of this document) to issue an alert to an aggregator | |||
that processes these messages and performs whatever steps are necessary to appropriately | that processes these messages and performs whatever steps are necessary to appropriately | |||
react to the alert. For example, a security firm may use different sensor inputs to | react to the alert. For example, a security firm may use different sensor inputs to | |||
dispatch their security staff to a building they protect or to initiate a third-party emergency call.</t> | dispatch their security staff to a building they protect or to initiate a third-party emergency call.</t> | |||
<figure anchor="targeted"> | ||||
<t> | <name>Targeted Emergency Alert Routing</name> | |||
<figure anchor="targeted" title="Targeted Emergency Alert Routing"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork xml:space="preserve"> | ||||
<![CDATA[ | ||||
+------------+ +------------+ | +------------+ +------------+ | |||
| Sensor | | Aggregator | | | Sensor | | Aggregator | | |||
| | | | | | | | | | |||
+---+--------+ +------+-----+ | +---+--------+ +------+-----+ | |||
| | | | | | |||
Sensors | | Sensors | | |||
trigger | | trigger | | |||
emergency | | emergency | | |||
alert | | alert | | |||
| SIP MESSAGE with CAP | | | SIP MESSAGE with CAP | | |||
skipping to change at line 217 ¶ | skipping to change at line 256 ¶ | |||
| Aggregator | | Aggregator | |||
| processes | | processes | |||
| emergency | | emergency | |||
| alert | | alert | |||
| SIP 200 (OK) | | | SIP 200 (OK) | | |||
|<-----------------------------| | |<-----------------------------| | |||
| | | | | | |||
| | | | | | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
</t> | ||||
<t> | <t> | |||
In <xref target="location"/> a scenario is shown whereby the alert is ro | In <xref target="location" format="default"/>, a scenario is shown | |||
uted | where the alert is routed using location information and a service | |||
using location information and a Service URN. An emergency services rout | URN. An emergency services routing proxy (ESRP) may use LoST (a | |||
ing | protocol defined by <xref target="RFC5222" format="default"/>, which | |||
proxy (ESRP) may use LoST (a protocol defined by <xref target="RFC5222"/ | translates a location to a URI used to route an emergency call) to | |||
> which translates a location | determine the next-hop proxy to route the alert message to. A possible | |||
to a URI used to route an emergency call) to determine the next-hop prox | receiver is a PSAP, and the recipient of the alert may be a call | |||
y to route the alert | taker. In the generic case, there is very likely no prior relationship | |||
message to. A possible receiver is a PSAP and the recipient of the alert | between the originator and the receiver, e.g., a PSAP. For example, a | |||
may be a call taker. In the generic case, there is very likely no prior | PSAP is likely to receive and accept alerts from entities it has no | |||
relationship between | previous relationship with. This scenario is similar to a classic | |||
the originator and the receiver, e.g., a PSAP. For example, a PSAP is li | voice emergency services call, and the description in <xref | |||
kely to receive and | target="RFC6881" format="default"/> is applicable. In this use case, | |||
accept alerts from entities it has no previous relationship with. This s | the only difference between an emergency call and an emergency | |||
cenario is similar to a | non-interactive call is that the former uses INVITE, creates a | |||
classic voice emergency services call and the description in | session, and negotiates one or more media streams, while the latter | |||
<xref target="RFC6881"/> is applicable. In this use case, the only diff | uses MESSAGE, does not create a session, and does not have interactive | |||
erence between an emergency call and an emergency non-interactive call is that t | media. | |||
he former uses INVITE, creates a session, and negotiates one or more media strea | ||||
ms, while the latter uses MESSAGE, does not create a session, and does not have | ||||
interactive media. | ||||
</t> | </t> | |||
<t> | <figure anchor="location"> | |||
<figure anchor="location" title="Location-Based Emergency Alert Routing"> | <name>Location-Based Emergency Alert Routing</name> | |||
<artwork xml:space="preserve"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<![CDATA[ | ||||
+----------+ +----------+ +-----------+ | +----------+ +----------+ +-----------+ | |||
|Sensor or | | ESRP | | PSAP | | |Sensor or | | ESRP | | PSAP | | |||
|Aggregator| | | | | | |Aggregator| | | | | | |||
+----+-----+ +---+------+ +----+------+ | +----+-----+ +---+------+ +----+------+ | |||
| | | | | | | | |||
Sensors | | | Sensors | | | |||
trigger | | | trigger | | | |||
emergency | | | emergency | | | |||
alert | | | alert | | | |||
| | | | | | | | |||
| | | | | | | | |||
| SIP MESSAGE w/CAP | | | | SIP MESSAGE w/CAP | | | |||
| (including Service URN, | | | (including service URN, | | |||
| such as urn:service:sos) | | | such as urn:service:sos) | | |||
|------------------>| | | |------------------>| | | |||
| | | | | | | | |||
| ESRP performs | | | ESRP performs | | |||
| emergency alert | | | emergency alert | | |||
| routing | | | routing | | |||
| | MESSAGE with CAP | | | | MESSAGE with CAP | | |||
| | (including identity info) | | | | (including identity info) | | |||
| |----------------------------->| | | |----------------------------->| | |||
| | | | | | | | |||
skipping to change at line 270 ¶ | skipping to change at line 315 ¶ | |||
| | alert | | | alert | |||
| | SIP 200 (OK) | | | | SIP 200 (OK) | | |||
| |<-----------------------------| | | |<-----------------------------| | |||
| | | | | | | | |||
| SIP 200 (OK) | | | | SIP 200 (OK) | | | |||
|<------------------| | | |<------------------| | | |||
| | | | | | | | |||
| | | | | | | | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
</t> | ||||
</section> | </section> | |||
<!-- /////////////////////////////////////////////////////////////////////// | <section numbered="true" toc="default"> | |||
/////////// --> | <name>Protocol Specification</name> | |||
<section numbered="true" toc="default"> | ||||
<section title="Protocol Specification"> | <name>CAP Transport</name> | |||
<t>This document addresses sending a CAP alert in a SIP MESSAGE | ||||
<section title="CAP Transport"> | transaction for a non-interactive emergency call. Behavior | |||
with other transactions is not defined.</t> | ||||
<t>A CAP message is sent in the initial message of any SIP transaction. | <t>The CAP alert is included in a SIP message as an additional data | |||
However, this document only addresses sending a CAP message in a SIP MESSAGE tr | block <xref target="RFC7852" format="default"/>. Accordingly, it is | |||
ansaction for a one-shot, non-interactive emergency call. Behavior with other t | conveyed in the SIP message with a Call-Info header field with a | |||
ransactions is not defined.</t> | purpose of "EmergencyCallData.cap". The header field may contain a | |||
URI that is used by the recipient (or in some cases, an intermediary) | ||||
<t>The CAP message is included in a SIP message as an additional-data block <xre | to obtain the CAP alert. Alternatively, the Call-Info header field | |||
f target="RFC7852"/>. Accordingly, it is introduced to the SIP message with a C | may contain a Content-ID URL <xref target="RFC2392" format="default"/> | |||
all-Info header field with a purpose of "EmergencyCallData.cap". | and the CAP alert included in the body of the message. In the | |||
The header field may contain a URI that is used by the recipient (or in some cas | latter case, the CAP alert is located in a MIME block of the type | |||
es, an intermediary) to obtain the CAP message. Alternatively, the Call-Info he | 'application/emergencyCallData.cap+xml'.</t> | |||
ader field may contain a Content-ID url <xref target="RFC2392"/> and the CAP mes | <t>If the SIP server does not support the functionality required to | |||
sage included in the body of the message. In the latter case, the CAP message i | fulfill the request, then a 501 Not Implemented will be returned as | |||
s located in a MIME block of the type 'application/emergencyCallData.cap+xml'.</ | specified in <xref target="RFC3261" format="default"/>. This is the | |||
t> | appropriate response when a User Agent Server (UAS) does not recognize | |||
<t>If the SIP server does not support the functionality required to fulf | the request method and is not capable of supporting it for any | |||
ill the | user.</t> | |||
request then a 501 Not Implemented will be returned as specified in <xref tar | <t>The 415 Unsupported Media Type error will be returned as specified in | |||
get="RFC3261"/>. This is the appropriate response when a User Agent Server (UAS) | <xref target="RFC3261" format="default"/> | |||
does not | ||||
recognize the request method and is not capable of supporting it for | ||||
any user.</t> | ||||
<t>The 415 Unsupported Media Type error will be returned as specified in | ||||
<xref target="RFC3261"/> | ||||
if the SIP server is refusing to service the request because the message | if the SIP server is refusing to service the request because the message | |||
body of the request is in a format not supported by the server for | body of the request is in a format not supported by the server for | |||
the requested method. The server MUST return a list of acceptable | the requested method. The server <bcp14>MUST</bcp14> return a list of accept able | |||
formats using the Accept, Accept-Encoding, or Accept-Language header | formats using the Accept, Accept-Encoding, or Accept-Language header | |||
fields, depending on the specific problem with the content.</t> | fields, depending on the specific problem with the content.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Profiling of the CAP Document Content"> | <name>Profiling of the CAP Document Content</name> | |||
<t>The usage of CAP MUST conform to the specification provided with <xre | <t>The usage of CAP <bcp14>MUST</bcp14> conform to the specification | |||
f target="cap"/>. | provided with <xref target="CAP" format="default"/>. For usage with | |||
For usage with SIP the following additional requirements are imposed ( | SIP, the following additional requirements are imposed (where "sender" | |||
where "sender" and "author" are as defined in CAP and "Originator" is the entity | and "author" are as defined in CAP and "originator" is the entity | |||
sending the alert): </t> | sending the CAP alert, which may be different from the entity sending | |||
<t><list | the SIP MESSAGE): </t> | |||
style="hanging"> | <dl newline="false" spacing="normal"> | |||
<t hangText="sender:">The following restrictions and conditions apply | <dt>sender:</dt> | |||
to setting the value of the <sender> element: | <dd> | |||
<list style="symbols"> | <t>The following restrictions and conditions apply to setting the va | |||
<t> | lue of the <sender> element: | |||
Originator is a SIP entity, Author indication irrelevant: When th | </t> | |||
e alert was created by a | <ul spacing="normal"> | |||
SIP-based originator and it is not useful to be explicit about th | <li> | |||
e author of the alert, | Originator is a SIP entity, Author indication irrelevant: When | |||
then the <sender> element | the alert was created by a SIP-based originator and it is not | |||
MUST be populated with the SIP URI of the user agent. | useful to be explicit about the author of the alert, then the | |||
</t> | <sender> element <bcp14>MUST</bcp14> be populated with | |||
<t> | ||||
Originator is a non-SIP entity, Author indication irrelevant: | ||||
When the alert was created by a non-SIP based | ||||
entity and the identity of this original sender is to be preserve | ||||
d, then this identity MUST be | ||||
placed into the <sender> element. In this situation it is n | ||||
ot useful to be explicit about | ||||
the author of the alert. The specific type of identity being used | ||||
will depend on the technology | ||||
used by the original originator. | ||||
</t> | ||||
<t> | ||||
Author indication relevant: When the author is different from the | ||||
actual originator of the | ||||
message and this distinction should be preserved, then the <se | ||||
nder> element MUST NOT contain | ||||
the SIP URI of the user agent. | the SIP URI of the user agent. | |||
</t> | </li> | |||
</list></t> | <li> | |||
Originator is a non-SIP entity, Author indication irrelevant: | ||||
When the alert was created by a non-SIP-based entity and the | ||||
identity of this original sender is to be preserved, then this | ||||
identity <bcp14>MUST</bcp14> be placed into the <sender> | ||||
element. In this situation, it is not useful to be explicit | ||||
about the author of the alert. The specific type of identity | ||||
being used will depend on the technology used by the | ||||
originator. | ||||
</li> | ||||
<li> | ||||
Author indication relevant: When the author is different from | ||||
the originator of the message and this distinction | ||||
should be preserved, then the <sender> element | ||||
<bcp14>MUST NOT</bcp14> contain the SIP URI of the user agent. | ||||
</li> | ||||
</ul> | ||||
</dd> | ||||
<dt>incidents:</dt> | ||||
<dd> | ||||
<t> The <incidents> element <bcp14>MUST</bcp14> be present. | ||||
This incident identifier <bcp14>MUST</bcp14> be chosen in such a | ||||
way that it is unique for a given <sender, expires, | ||||
incidents> combination. Note that the <expires> element | ||||
is <bcp14>OPTIONAL</bcp14> and might not be present.</t> | ||||
<t hangText="incidents:"> The <incidents> element MUST be presen | </dd> | |||
t. This | <dt>scope:</dt> | |||
incident identifier MUST be chosen in such a way that it is unique | <dd> | |||
for a given | <t>The value of the <scope> element <bcp14>MAY</bcp14> be | |||
<sender, expires, incidents> combination. Note that the <e | set to "Private" if the alert is not meant for public consumption. | |||
xpires> element | The <addresses> element is, however, not used by this | |||
is OPTIONAL and might not be present.<vspace blankLines="1"/></t> | specification since the message routing is performed by SIP and | |||
<t hangText="scope:">The value of the <scope> element MAY be s | the respective address information is already available in other | |||
et to | SIP header fields. Populating information twice into different | |||
"Private" if the alert is not meant for public consumption. | parts of the message may lead to inconsistency. </t> | |||
The <addresses> element is, however, not used by this specif | </dd> | |||
ication since the | <dt>parameter:</dt> | |||
message routing is performed by SIP and the respective address inf | <dd> | |||
ormation is already | The <parameter> element <bcp14>MAY</bcp14> contain | |||
available in other SIP header fields. Populating information twice | additional information specific to the sender, conforming to the | |||
into different parts of | CAP alert syntax. | |||
the message may lead to inconsistency. <vspace blankLines="1"/> </ | </dd> | |||
t> | <dt>area:</dt> | |||
<t hangText="parameter:">The <parameter> element MAY contain a | <dd>It is <bcp14>RECOMMENDED</bcp14> to omit this element when | |||
dditional | constructing a message. If the CAP alert is given to the SIP | |||
information specific to the sender, conforming to the CAP message | entity to transport and it already contains an <area> element, | |||
syntax. <vspace blankLines="1"/></t> | then the specified location information <bcp14>SHOULD</bcp14> be | |||
<t hangText="area:">It is RECOMMENDED to omit this element when cons | copied into a PIDF-LO structure (the data format for location used | |||
tructing a message. | by emergency calls on the Internet) referenced by the SIP | |||
If the CAP message is given to the SIP entity to transport and it al | 'Geolocation' header field. If the CAP alert is being created by | |||
ready contains an <area> element, then the specified | the SIP entity using a PIDF-LO structure referenced by 'geolocation' | |||
location information SHOULD be copied into a PIDF-LO structure (the | to construct <area>, implementers must be aware that | |||
data format for location used by emergency calls on the Internet) referenced by | <area> is limited to a circle or polygon, and conversion of | |||
the SIP 'Geolocation' header field. If the CAP message is being created by the | other shapes will be required. Points <bcp14>SHOULD</bcp14> be | |||
SIP entity using a PIDF-LO structure referenced by 'geolocation' to construct &l | converted to a circle with a radius equal to the uncertainty of the | |||
t;area>, implementers must be aware that <area> is limited to a circle | point. Arc-bands and ellipses <bcp14>SHOULD</bcp14> be converted | |||
or polygon, and conversion of other shapes will be required. Points SHOULD be c | to polygons with similar coverage, and 3D locations | |||
onverted to a circle with a radius equal to the uncertainty of the point. Arc- | <bcp14>SHOULD</bcp14> be converted to 2D forms with similar | |||
bands and ellipses SHOULD be converted to polygons with similar | coverage. | |||
coverage, and 3D locations SHOULD be converted to 2D forms with | </dd> | |||
similar coverage. | </dl> | |||
</t> | </section> | |||
</list></t> | <section numbered="true" toc="default"> | |||
<name>Sending a Non-interactive Emergency Call</name> | ||||
<t>A non-interactive emergency call is sent using a SIP MESSAGE | ||||
transaction with a CAP URI or body part as described above in a manner | ||||
similar to how an emergency call with interactive media is sent, as | ||||
described in <xref target="RFC6881" format="default"/>. The MESSAGE | ||||
transaction does not create a session nor establish interactive media | ||||
streams, but otherwise, the header content of the transaction, | ||||
routing, and processing of non-interactive calls are the same as those | ||||
of other emergency calls.</t> | ||||
</section> | </section> | |||
<section title="Sending a non-interactive Emergency Call"> | ||||
<t>A non-interactive emergency call is sent using a SIP MESSAGE transaction | ||||
with a CAP URI or body part as described above in a manner similar to how an em | ||||
ergency call with interactive media is sent, as described in <xref target="RFC68 | ||||
81"/>. The MESSAGE transaction does not create a session nor establish interact | ||||
ive media streams, but otherwise, the header content of the transaction, routing | ||||
, and processing of non-interactive calls are the same as those of other emergen | ||||
cy calls.</t> | ||||
</section> | ||||
</section> | </section> | |||
<!-- /////////////////////////////////////////////////////////////////////// | <section anchor="error" numbered="true" toc="default"> | |||
/////////// --> | <name>Error Handling</name> | |||
<t>This section defines a new error response code and a header field for | ||||
<section anchor="error" title="Error Handling"> | additional information.</t> | |||
<section numbered="true" toc="default"> | ||||
<t>This section defines a new error response code and a header field for additio | <name>425 (Bad Alert Message) Response Code</name> | |||
nal information.</t> | <t>This SIP extension creates a new response code | |||
defined as follows: | ||||
<section title="425 (Bad Alert Message) Response Code"> | </t> | |||
<ul empty="true" spacing="normal"> | ||||
<t>This SIP extension creates a new location-specific response code, | <li>425 (Bad Alert Message)</li> | |||
defined as follows: | </ul> | |||
<list style="empty"> | <t>The 425 response code is a rejection of the request, indicating | |||
<t>425 (Bad Alert Message)</t> | that it was malformed enough that no reasonable emergency response to | |||
</list> | the alert can be determined.</t> | |||
</t> | ||||
<t>The 425 response code is a rejection of | ||||
the request, indicating that it was malformed enough that no reasonable emerg | ||||
ency response to the alert can be determined.</t> | ||||
<t>A SIP intermediary can also this code to reject an alert it receives from a | ||||
User Agent (UA) when it detects that the provided alert is malformed.</t> | ||||
<t><xref target="error-header"/> describes an AlertMsg-Error header field with | ||||
more details about what was wrong with the alert message in | ||||
the request. This header field MUST be included in the 425 response.</t> | ||||
<t>It is usually the case that emergency calls are not rejected if there is any | ||||
useful information that can be acted upon. It is only appropriate to generate a | ||||
425 response when the | ||||
responding entity has no other information in | ||||
the request that is usable by the responder.</t> | ||||
<t>A 425 response code MUST NOT be sent in response to a request that lacks an a | ||||
lert message, as the user agent in that case may not | ||||
support this extension. </t> | ||||
<t>A 425 response is a final response within | ||||
a transaction, and MUST NOT terminate an existing dialog.</t> | ||||
</section> | ||||
<section anchor="error-header" title="The AlertMsg-Error Header Field"> | ||||
<t>The AlertMsg-Error header field provides additional information about what wa | <t>A SIP intermediary can also use this code to reject an alert it | |||
s wrong with the original request. In some cases the provided information will b | receives from a User Agent (UA) when it detects that the provided | |||
e used for debugging purposes.</t> | alert is malformed.</t> | |||
<t> | ||||
<t>The AlertMsg-Error | <xref target="error-header" format="default"/> describes an | |||
header field has the following ABNF <xref target="RFC5234"/>:</t> | AlertMsg-Error header field with more details about what was wrong | |||
with the alert message in the request. This header field | ||||
<bcp14>MUST</bcp14> be included in the 425 response.</t> | ||||
<t>It is usually the case that emergency calls are not rejected if | ||||
there is any useful information that can be acted upon. It is only | ||||
appropriate to generate a 425 response when the responding entity has | ||||
no other information in the request that is usable by the | ||||
responder.</t> | ||||
<t>A 425 response code <bcp14>MUST NOT</bcp14> be sent in response to | ||||
a request that lacks an alert message (i.e., CAP data), as the user agen | ||||
t in that case | ||||
may not support this extension. </t> | ||||
<t>A 425 response is a final response within | ||||
a transaction and <bcp14>MUST NOT</bcp14> terminate an existing dialog.</t> | ||||
</section> | ||||
<section anchor="error-header" numbered="true" toc="default"> | ||||
<name>The AlertMsg-Error Header Field</name> | ||||
<t>The AlertMsg-Error header field provides additional information | ||||
about what was wrong with the original request. In some cases, the | ||||
provided information will be used for debugging purposes.</t> | ||||
<t>The AlertMsg-Error header field has the following ABNF <xref | ||||
target="RFC5234" format="default"/>:</t> | ||||
<t> | <sourcecode type="abnf"> | |||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
message-header =/ AlertMsg-Error | message-header =/ AlertMsg-Error | |||
; (message-header from RFC3261) | ; (message-header from RFC 3261) | |||
AlertMsg-Error = "AlertMsg-Error" HCOLON | AlertMsg-Error = "AlertMsg-Error" HCOLON | |||
ErrorValue | ErrorValue | |||
ErrorValue = error-code | ErrorValue = error-code | |||
*(SEMI error-params) | *(SEMI error-params) | |||
error-code = 3DIGIT | error-code = 3DIGIT | |||
error-params = error-code-text | error-params = error-code-text | |||
/ generic-param ; from RFC3261 | / generic-param ; from RFC 3261 | |||
error-code-text = "message" EQUAL quoted-string ; from RFC3261 | error-code-text = "message" EQUAL quoted-string ; from RFC 3261 | |||
]]></artwork> | </sourcecode> | |||
</figure> | ||||
</t> | ||||
<t>HCOLON, SEMI, and EQUAL are defined in <xref target="RFC3261"/>. DIGIT is | ||||
defined in <xref target="RFC5234"/>.</t> | ||||
<t>The AlertMsg-Error header field MUST contain only one | <t>HCOLON, SEMI, and EQUAL are defined in <xref target="RFC3261" | |||
format="default"/>. DIGIT is defined in <xref target="RFC5234" | ||||
format="default"/>.</t> | ||||
<t>The AlertMsg-Error header field <bcp14>MUST</bcp14> contain only one | ||||
ErrorValue to indicate what was wrong with the alert payload | ErrorValue to indicate what was wrong with the alert payload | |||
the recipient determined was bad.</t> | the recipient determined was bad.</t> | |||
<t> | ||||
<t> | ||||
The ErrorValue | The ErrorValue | |||
contains a 3-digit error code indicating what was wrong with the | contains a 3-digit error code indicating what was wrong with the | |||
alert in the request. This error code has a corresponding quoted | alert in the request. This error code has a corresponding quoted | |||
error text string that is human readable. The text string is | error text string that is human readable. The text string is | |||
OPTIONAL, but RECOMMENDED for human readability, similar to the | <bcp14>OPTIONAL</bcp14>, but <bcp14>RECOMMENDED</bcp14> for human readability , similar to the | |||
string phrase used for SIP response codes. The | string phrase used for SIP response codes. The | |||
strings in this document are recommendations, and are not | strings in this document are recommendations and are not | |||
standardized -- meaning an operator can change the strings -- but MUST | standardized -- meaning an operator can change the strings but <bcp14>MUST | |||
NOT change the meaning of the error code. | NOT</bcp14> change the meaning of the error code. | |||
The code space for ErrorValue is separate from SIP Status Codes. | The code space for ErrorValue is separate from SIP Status Codes. | |||
</t> | </t> | |||
<t> | <t> | |||
The AlertMsg-Error header field MAY be included in any response | The AlertMsg-Error header field <bcp14>MAY</bcp14> be included in any respons | |||
e | ||||
if an alert message was in the request part of the same transaction. | if an alert message was in the request part of the same transaction. | |||
For | For | |||
example, suppose a UA includes an alert in a MESSAGE to a PSAP. The PSAP can | example, suppose a UA includes an alert in a MESSAGE to a PSAP. The PSAP can | |||
accept this MESSAGE, even though its UA | accept this MESSAGE, even though its UA | |||
determined that the alert message contained in the MESSAGE was bad. | determined that the alert message contained in the MESSAGE was bad. | |||
The PSAP merely | The PSAP merely | |||
includes an AlertMsg-Error header field value in the 200 OK to the | includes an AlertMsg-Error header field value in the 200 OK to the | |||
MESSAGE, thus informing the UA that the MESSAGE was accepted but the alert | MESSAGE, thus informing the UA that the MESSAGE was accepted but the alert | |||
provided was bad.</t> | provided was bad.</t> | |||
<t>If, on the other hand, the PSAP cannot accept the transaction without | ||||
<t>If, on the other hand, the PSAP cannot accept the transaction without a | a | |||
suitable alert message, a 425 response is sent.</t> | suitable alert message, a 425 response is sent.</t> | |||
<t>A SIP intermediary that requires the UA's alert message in order to | ||||
<t>A SIP intermediary that requires the UA's alert message in order to | properly process the transaction may also send a 425 response with an | |||
properly process the transaction may also send a 425 with an | AlertMsg-Error code.</t> | |||
AlertMsg-Error code.</t> | <t>This document defines an initial list of AlertMsg-Error values for | |||
any SIP response, including provisional responses (other than 100 | ||||
<t>This document defines an initial list of AlertMsg-Error values for any | Trying) and the new 425 response. There <bcp14>MUST NOT</bcp14> be | |||
SIP response, including provisional responses (other than 100 | more than one AlertMsg-Error code in a SIP response. AlertMsg-Error | |||
Trying) and the new 425 response. There MUST NOT be more than | values sent in provisional responses <bcp14>MUST</bcp14> be sent using | |||
one AlertMsg-Error code in a SIP response. AlertMsg-Error | the mechanism defined in <xref target="RFC3262" format="default"/>; or, | |||
values sent in provisional responses MUST be sent using the mechanism | if that mechanism is not negotiated, they <bcp14>MUST</bcp14> be repeate | |||
defined in <xref target="RFC3262"/>; or, if that mechanism is not negotiated, MU | d | |||
ST be | in the final response to the transaction. | |||
repeated in the final response to the transaction. | ||||
</t> | </t> | |||
<t>AlertMsg-Error: 100 ; message="Cannot Process the Alert Payload"</t> | <sourcecode> | |||
AlertMsg-Error: 100 ; message="Cannot process the alert payload" | ||||
<t>AlertMsg-Error: 101 ; message="Alert Payload was not present or could not be | AlertMsg-Error: 101 ; message="Alert payload was not present or could | |||
found"</t> | not be found" | |||
<t>AlertMsg-Error: 102 ; message="Not enough information to determine | AlertMsg-Error: 102 ; message="Not enough information to determine | |||
the purpose of the alert"</t> | the purpose of the alert" | |||
<t>AlertMsg-Error: 103 ; message="Alert Payload was corrupted"</t> | AlertMsg-Error: 103 ; message="Alert payload was corrupted" | |||
</sourcecode> | ||||
<t>Additionally, if an entity cannot or chooses not to process the alert message | <t>Additionally, if an entity cannot or chooses not to process the alert | |||
from a SIP request, a 500 (Server Internal Error) SHOULD be used | message | |||
from a SIP request, a 500 (Server Internal Error) <bcp14>SHOULD</bcp14> be us | ||||
ed | ||||
with or without a configurable Retry-After header field.</t> | with or without a configurable Retry-After header field.</t> | |||
</section> | ||||
</section> | ||||
</section> | <section anchor="callbacks" numbered="true" toc="default"> | |||
<name>Call Backs</name> | ||||
</section> | <t>This document does not describe any method for the recipient to call ba | |||
<!-- /////////////////////////////////////////////////////////////////////// | ck the sender of a non-interactive call. Usually, these alerts are sent by auto | |||
/////////// --> | mata, which do not have a mechanism to receive calls of any kind. The identifie | |||
r in the 'From' header field may be useful to obtain more information, but any s | ||||
<section anchor="callbacks" title="Call Backs"> | uch mechanism is not defined in this document. The CAP alert may contain relate | |||
<t>This document does not describe any method for the recipient to call back the | d contact information for the sender.</t> | |||
sender of a non-interactive call. Usually, these alerts are sent by automata, | </section> | |||
which do not have a mechanism to receive calls of any kind. The identifier in t | <section anchor="largedata" numbered="true" toc="default"> | |||
he 'From' header field may be useful to obtain more information, but any such me | <name>Handling Large Amounts of Data</name> | |||
chanism is not defined in this document. The CAP message may contain related co | <t>Sensors may have large quantities of data that | |||
ntact information for the sender.</t> | they may wish to send. Including large amounts of data (tens of | |||
</section> | kilobytes) in a MESSAGE is not advisable because SIP entities are | |||
usually not equipped to handle very large messages. In such cases, the | ||||
<section anchor="largedata" title="Handling Large Amounts of Data"> | sender <bcp14>SHOULD</bcp14> make use of the by-reference mechanisms | |||
<t>It is not atypical for sensors to have large quantities of data that they may | defined in <xref target="RFC7852" format="default"/>, which involves | |||
wish | making the data available via HTTPS <xref target="RFC2818" | |||
to send. Including large amounts of data (tens of kilobytes) in a MESSAGE is no | format="default"/> (either at the originator or at another entity), | |||
t advisable, | placing a URI to the data in the 'Call-Info' header field, and the | |||
because SIP entities are usually not equipped to handle very large messages. | recipient uses HTTPS to retrieve the data. The CAP alert itself can | |||
In such cases, the sender SHOULD make use of the by-reference mechanisms defined | be sent by reference using this mechanism, as can any or all of the | |||
in <xref target="RFC7852"/>, which involves making the data available via HTTPS | additional data blocks that may contain sensor-specific data.</t> | |||
<xref target="RFC2818"/> (either at the originator or at another entity), placin | <t>There are no rate-limiting mechanisms for any SIP transactions that | |||
g a URI to the data in the 'Call-Info' header field, and the recipient uses | are standardized, although implementations often include such functions. | |||
HTTPS to retrieve the data. The CAP message itself can be sent by reference | Non-interactive emergency calls are typically handled the same as any | |||
using this mechanism, as can any or all of the Additional Data | emergency call, which means a human call-taker is involved. Implementatio | |||
blocks that may contain sensor-specific data.</t> | ns should take note of this limitation, especially when calls are placed automat | |||
ically without human initiation.</t> | ||||
<t>There are no rate limiting mechanisms for any SIP transactions that are stand | </section> | |||
ardized, although implementations often include such functions. Non-interactive | ||||
emergency calls are typically handled the same as any emergency call, which mea | ||||
ns a human call-taker is involved. Implementations should take note of this lim | ||||
itation, especially when calls are placed automatically without human initiation | ||||
.</t> | ||||
</section> | ||||
<!-- /////////////////////////////////////////////////////////////////// | ||||
/////////////// --> | ||||
<section anchor="example" title="Example"> | ||||
<section anchor="example" numbered="true" toc="default"> | ||||
<name>Example</name> | ||||
<t>The following example shows a CAP document indicating a BURGLARY alert issued by | <t>The following example shows a CAP document indicating a BURGLARY alert issued by | |||
a sensor called 'sensor1@example.com'. The location of the sensor can be | a sensor called 'sensor1@example.com'. The location of the sensor can be | |||
obtained from the attached location information provided via the 'geoloc ation' header field | obtained from the attached location information provided via the 'Geoloc ation' header field | |||
contained in the SIP MESSAGE structure. Additionally, the sensor provide d some | contained in the SIP MESSAGE structure. Additionally, the sensor provide d some | |||
data along with the alert message, using proprietary information element s intended only to be | data along with the alert message, using proprietary information element s intended only to be | |||
processed by the receiver, a SIP entity acting as an aggregator.</t> | processed by the receiver, a SIP entity acting as an aggregator.</t> | |||
<t> | ||||
<figure anchor="warning1" title="Example Message conveying an Alert to a | <figure anchor="warning1"> | |||
n aggregator"> | <name>Example Message Conveying an Alert to an Aggregator</name> | |||
<artwork> | ||||
<![CDATA[ | <sourcecode><![CDATA[ | |||
MESSAGE sip:aggregator@example.com SIP/2.0 | MESSAGE sip:aggregator@example.com SIP/2.0 | |||
Via: SIP/2.0/TCP sensor1.example.com;branch=z9hG4bK776sgdkse | Via: SIP/2.0/TCP sensor1.example.com;branch=z9hG4bK776sgdkse | |||
Max-Forwards: 70 | Max-Forwards: 70 | |||
From: sip:sensor1@example.com;tag=49583 | From: sip:sensor1@example.com;tag=49583 | |||
To: sip:aggregator@example.com | To: sip:aggregator@example.com | |||
Call-ID: asd88asd77a@2001:db8::ff | Call-ID: asd88asd77a@2001:db8::ff | |||
Geolocation: <cid:abcdef@example.com> | Geolocation: <cid:abcdef@example.com> | |||
;routing-allowed=yes | ;routing-allowed=yes | |||
Supported: geolocation | Supported: geolocation | |||
CSeq: 1 MESSAGE | CSeq: 1 MESSAGE | |||
skipping to change at line 590 ¶ | skipping to change at line 682 ¶ | |||
</gbp:retransmission-allowed> | </gbp:retransmission-allowed> | |||
<gbp:retention-expiry>2020-02-04T20:57:29Z | <gbp:retention-expiry>2020-02-04T20:57:29Z | |||
</gbp:retention-expiry> | </gbp:retention-expiry> | |||
</gp:usage-rules> | </gp:usage-rules> | |||
<gp:method>802.11</gp:method> | <gp:method>802.11</gp:method> | |||
</gp:geopriv> | </gp:geopriv> | |||
<dm:timestamp>2020-01-04T20:57:29Z</dm:timestamp> | <dm:timestamp>2020-01-04T20:57:29Z</dm:timestamp> | |||
</dm:device> | </dm:device> | |||
</presence> | </presence> | |||
--boundary1-- | --boundary1-- | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </figure> | |||
</t> | ||||
<t>The following shows the same CAP document sent as a non-interactive eme rgency call towards a PSAP.</t> | <t>The following shows the same CAP document sent as a non-interactive eme rgency call towards a PSAP.</t> | |||
<t> | <figure anchor="warning2"> | |||
<figure anchor="warning2" title="Example Message conveying an Alert to a | <name>Example Message Conveying an Alert to a PSAP</name> | |||
PSAP"> | <sourcecode><![CDATA[ | |||
<artwork> | ||||
<![CDATA[ | ||||
MESSAGE urn:service:sos SIP/2.0 | MESSAGE urn:service:sos SIP/2.0 | |||
Via: SIP/2.0/TCP sip:aggreg.1.example.com;branch=z9hG4bK776abssa | Via: SIP/2.0/TCP sip:aggreg.1.example.com;branch=z9hG4bK776abssa | |||
Max-Forwards: 70 | Max-Forwards: 70 | |||
From: sip:aggregator@example.com;tag=32336 | From: sip:aggregator@example.com;tag=32336 | |||
To: 112 | To: 112 | |||
Call-ID: asdf33443a@example.com | Call-ID: asdf33443a@example.com | |||
Route: sip:psap1.example.gov | Route: sip:psap1.example.gov | |||
Geolocation: <cid:abcdef@example.com> | Geolocation: <cid:abcdef@example.com> | |||
;routing-allowed=yes | ;routing-allowed=yes | |||
Supported: geolocation | Supported: geolocation | |||
skipping to change at line 680 ¶ | skipping to change at line 770 ¶ | |||
</gbp:retransmission-allowed> | </gbp:retransmission-allowed> | |||
<gbp:retention-expiry>2020-02-04T20:57:25Z | <gbp:retention-expiry>2020-02-04T20:57:25Z | |||
</gbp:retention-expiry> | </gbp:retention-expiry> | |||
</gp:usage-rules> | </gp:usage-rules> | |||
<gp:method>802.11</gp:method> | <gp:method>802.11</gp:method> | |||
</gp:geopriv> | </gp:geopriv> | |||
<dm:timestamp>2020-01-04T20:57:25Z</dm:timestamp> | <dm:timestamp>2020-01-04T20:57:25Z</dm:timestamp> | |||
</dm:device> | </dm:device> | |||
</presence> | </presence> | |||
--boundary1-- | --boundary1-- | |||
]]></artwork> | ]]> | |||
</figure> | </sourcecode> | |||
</t> | </figure> | |||
</section> | </section> | |||
<!-- /////////////////////////////////////////////////////////////////////// | ||||
/////////// --> | ||||
<section anchor="sec-cons" title="Security Considerations"> | <section anchor="sec-cons" numbered="true" toc="default"> | |||
<name>Security Considerations</name> | ||||
<t> This section discusses security considerations when SIP user agents is sue emergency | <t> This section discusses security considerations when SIP user agents is sue emergency | |||
alerts utilizing MESSAGE and CAP. Location-specific threats are not uniq ue to this document and are | alerts utilizing MESSAGE and CAP. Location-specific threats are not uniq ue to this document and are | |||
discussed in <xref target="RFC7378"/> and <xref target="RFC6442"/>.</t> | discussed in <xref target="RFC7378" format="default"/> and <xref | |||
target="RFC6442" format="default"/>.</t> | ||||
<t>The ECRIT emergency services architecture <xref target="RFC6443"/> co | <t>The Emergency Context Resolution with Internet Technologies (ECRIT) | |||
nsiders classic individual-to-authority emergency calling where the identity of | emergency services architecture <xref target="RFC6443" | |||
the emergency caller does not play a role at the time of the call establishment | format="default"/> considers classic individual-to-authority emergency | |||
itself, i.e., a response to the emergency call does not depend on the identity o | calling where the identity of the emergency caller does not play a role | |||
f the caller. In the case of emergency alerts generated by devices such as senso | at the time of the call establishment itself, i.e., a response to the | |||
rs, the processing may be different in order to reduce the number of falsely gen | emergency call does not depend on the identity of the caller. In the | |||
erated emergency alerts. Alerts could get triggered based on certain sensor inpu | case of emergency alerts generated by devices such as sensors, the | |||
t that might have been caused by factors other than the actual occurrence of an | processing may be different in order to reduce the number of falsely | |||
alert-relevant event. For example, a sensor may simply be malfunctioning. For th | generated emergency alerts. Alerts could get triggered based on certain | |||
is reason, not all alert messages are directly sent to a PSAP, but rather may be | sensor input that might have been caused by factors other than the | |||
pre-processed by a separate entity, potentially under supervision by a human, t | actual occurrence of an alert-relevant event. For example, a sensor may | |||
o filter alerts and potentially correlate received alerts with others to obtain | simply be malfunctioning. For this reason, not all alert messages are | |||
a larger picture of the ongoing situation. </t> | directly sent to a PSAP, but rather, may be pre-processed by a separate | |||
entity, potentially under supervision by a human, to filter alerts and | ||||
potentially correlate received alerts with others to obtain a larger | ||||
picture of the ongoing situation. </t> | ||||
<t>In any case, for alerts initiated by sensors, the identity could play | ||||
an important role in deciding whether to accept or ignore an incoming | ||||
alert message. With the scenario shown in <xref target="targeted" | ||||
format="default"/>, it is very likely that only authenticated sensor | ||||
input will be processed. For this reason, it needs to be possible to | ||||
refuse to accept alert messages from unknown origins. Two types of | ||||
information elements can be used for this purpose: | ||||
</t> | ||||
<ol spacing="normal" type="1"> | ||||
<li>SIP itself provides security mechanisms that allow the verification | ||||
of the originator's identity, such as P-Asserted-Identity <xref target="RFC3325" | ||||
format="default"/> or SIP Identity <xref target="RFC8224" format="default"/>. T | ||||
he latter provides a cryptographic assurance while the former relies on a chain- | ||||
of-trust model. These mechanisms can be reused.</li> | ||||
<li>CAP provides additional security mechanisms and the ability to carry | ||||
further information about the sender's identity. Section 3.3.4.1 of <xref targe | ||||
t="CAP" format="default"/> specifies the signing algorithms of CAP | ||||
documents.</li> | ||||
</ol> | ||||
<t>The specific policy and mechanisms used in a given deployment are out | ||||
of scope for this document.</t> | ||||
<t>There is no rate limiting mechanisms in SIP, and all kinds of | ||||
emergency calls, including those defined in this document, could be used | ||||
by malicious actors or misbehaving devices to effect a denial-of-service | ||||
attack on the emergency services. The mechanism defined in this | ||||
document does not introduce any new considerations, although it may be | ||||
more likely that devices that place non-interactive emergency calls | ||||
without a human initiating them may be more likely than those that | ||||
require a user to initiate them.</t> | ||||
<t>Implementors should note that automated emergency calls may be prohibit | ||||
ed or regulated in some jurisdictions, and there may be penalties for "false pos | ||||
itive" calls.</t> | ||||
<t>This document describes potential retrieval of information by | ||||
dereferencing URIs found in a Call Info header of a SIP MESSAGE. These | ||||
may include a CAP alert as well as other additional data <xref | ||||
target="RFC7852"/> blocks. The domain of the device sending the SIP | ||||
MESSAGE; the domain of the server holding the CAP alert, if sent by | ||||
reference; and the domain of other additional data blocks, if sent by | ||||
reference, may all be different. No assumptions can be made that there | ||||
are trust relationships between these entities. Recipients | ||||
<bcp14>MUST</bcp14> take precautions in retrieving any additional data | ||||
blocks passed by reference, including the CAP alert, because the URI | ||||
may point to a malicious actor or entity not expecting to be referred to | ||||
for this purpose. The considerations in handling URIs in <xref | ||||
target="RFC3986" format="default"/> apply.</t> | ||||
<t>Use of timestamps to prevent replay is subject to the availability of | ||||
accurate time at all participants. Because emergency event notification | ||||
via this mechanism is relatively low frequency and generally involves | ||||
human interaction, implementations may wish to consider messages with | ||||
times within a small number of seconds of each other to be effectively | ||||
simultaneous for the purposes of detecting replay. Implementations may | ||||
also wish to consider that most deployed time distribution protocols | ||||
likely to be used by these systems are not presently secure.</t> | ||||
<t>In addition to the desire to perform identity-based access control, | ||||
the classic communication security threats need to be considered, | ||||
including integrity protection to prevent forgery or replay of alert | ||||
messages in transit. To deal with replay of alerts, a CAP document | ||||
contains the mandatory <identifier>, <sender>, and | ||||
<sent> elements and an optional <expire> element. Together, | ||||
these elements make the CAP document unique for a specific sender and | ||||
provide time restrictions. An entity that has already received a CAP | ||||
alert within the indicated timeframe is able to detect a replayed | ||||
message and, if the content of that message is unchanged, then no | ||||
additional security vulnerability is created. Additionally, it is | ||||
<bcp14>RECOMMENDED</bcp14> to make use of SIP security mechanisms, such | ||||
as the SIP Identity PASSporT <xref target="RFC8225" format="default"/>, | ||||
to tie the CAP alert to the SIP message. To provide protection of the | ||||
entire SIP message exchange between neighboring SIP entities, the usage | ||||
of TLS is <bcp14>RECOMMENDED</bcp14>. <xref target="RFC6443" | ||||
format="default"/> discusses the issues of using TLS with emergency | ||||
calls, which are equally applicable to non-interactive emergency | ||||
calls.</t> | ||||
<t>Note that none of the security mechanisms in this document protect | ||||
against a compromised sensor sending crafted alerts. Confidentiality | ||||
provided for any emergency calls, including non-interactive messages, is | ||||
subject to local regulations. Privacy issues are discussed in <xref | ||||
target="RFC7852" format="default"/> and are applicable here. | ||||
</t> | ||||
</section> | ||||
<t>In any case, for alerts initiated by sensors, the identity could play an impo | <section numbered="true" toc="default"> | |||
rtant role in deciding whether to accept or ignore an incoming alert message. Wi | <name>IANA Considerations</name> | |||
th the scenario shown in <xref target="targeted"/> it is very likely that only a | ||||
uthenticated sensor input will be processed. For this reason, it needs to be pos | ||||
sible to refuse to accept alert messages from unknown origins. Two types of info | ||||
rmation elements can be used for this purpose: | ||||
<list style="numbers"> | ||||
<t>SIP itself provides security mechanisms that allow the verification of the or | ||||
iginator's identity, such as P-Asserted-Identity <xref target="RFC3325"/> or SIP | ||||
Identity <xref target="RFC8224"/>. The latter provides a cryptographic assuranc | ||||
e while the former relies on a chain of trust model. These mechanisms can be reu | ||||
sed.</t> | ||||
<t>CAP provides additional security mechanisms and the ability to carry further | ||||
information about the sender's identity. Section 3.3.4.1 of <xref target="cap"/> | ||||
specifies the signing algorithms of CAP | ||||
documents.</t> | ||||
</list></t> | ||||
<t>The specific policy and mechanisms used in a given deployment are out of scop | ||||
e for this document.</t> | ||||
<t>There is no rate limiting mechanisms in SIP, and all kinds of emergency calls | ||||
, including those defined in this document could be used by malicious actors, or | ||||
misbehaving devices to effect a denial of service attack on the emergency servi | ||||
ces. The mechanism defined in this document does not introduce any new consider | ||||
ations although it may be more likely that devices that place non-interactive em | ||||
ergency calls without a human initiating them may be more likely than those that | ||||
require a user to initiate them.</t> | ||||
<t>Implementors should note that automated emergency calls may be prohibited or | ||||
regulated in some jurisdictions, and there may be penalties for "false positive" | ||||
calls.</t> | ||||
<t>This document describes potential retrieval of information by dereferencing U | ||||
RIs found in a Call Info header of a SIP MESSAGE. These may include a CAP messa | ||||
ge as well as other Additional Data (RFC7852) blocks. The domain of the device | ||||
sending the SIP MESSAGE, the domain of the server holding the CAP message, if se | ||||
nt by reference, and the domain of other Additional Data blocks, if sent by refe | ||||
rence, may all be different. No assumptions can be made that there are trust re | ||||
lationships between these entities. Recipients MUST take precautions in retriev | ||||
ing any Additional Data blocks passed by reference, including the CAP message, b | ||||
ecause the URI may point to a malicious actor or entity not expecting to be | ||||
referred to for this purpose. The considerations in handling URIs in <xref targ | ||||
et="RFC3986"/> apply.</t> | ||||
<t>Use of timestamps to prevent replay is subject to the availability of accurat | ||||
e time at all participants. Because emergency event notification via this mecha | ||||
nism is relatively low frequency and generally involves human interaction, imple | ||||
mentations may wish to consider messages with times within small number of secon | ||||
ds of each other to be effectively simultaneous for the purposes of detecting re | ||||
play. Implementations may also wish to consider that most deployed time distrib | ||||
ution protocols likely to be used by these systems are not presently secure.</t> | ||||
<t>In addition to the desire to perform identity-based access control, the class | ||||
ic communication security threats need to be considered, including integrity pro | ||||
tection to prevent forgery or replay of alert messages in transit. To deal with | ||||
replay of alerts, a CAP document contains the mandatory <identifier>, < | ||||
sender>, <sent> elements and an optional <expire> element. Togeth | ||||
er, these elements make the CAP document unique for a specific sender and provid | ||||
e time restrictions. An entity that has already received a CAP message within th | ||||
e indicated timeframe is able to detect a | ||||
replayed message and, if the content of that message is unchanged, | ||||
then no additional | ||||
security vulnerability is created. Additionally, it is RECOMMENDED | ||||
to make use of SIP | ||||
security mechanisms, such as the SIP Identity PASSporT <xref targe | ||||
t="RFC8225"/>, to tie the | ||||
CAP message to the SIP message. To provide protection of the entir | ||||
e SIP message exchange between neighboring SIP entities, the usage of TLS is REC | ||||
OMMENDED. <xref target="RFC6443"/> discusses the issues of using TLS with emerg | ||||
ency calls, which are equally applicable to non-interactive emergency calls</t> | ||||
<t>Note that none of the security mechanisms in this document protect against a | <section numbered="true" toc="default"> | |||
compromised sensor sending crafted alerts. Confidentiality provided for any eme | <name>'application/EmergencyCallData.cap+xml' Media Type</name> | |||
rgency calls, including non-interactive messages, is subject to local regulation | <dl newline="false" spacing="normal"> | |||
s. Privacy issues are discussed in <xref target="RFC7852"/> and are applicable h | <dt>Type name:</dt> | |||
ere. | <dd> | |||
</t> | <t>application </t> | |||
</section> | </dd> | |||
<dt>Subtype name:</dt> | ||||
<dd> | ||||
<t>EmergencyCallData.cap+xml</t> | ||||
<!-- /////////////////////////////////////////////////////////////////////// | </dd> | |||
/////////// --> | <dt>Required parameters:</dt> | |||
<dd> | ||||
<t>N/A</t> | ||||
<section title="IANA Considerations"> | </dd> | |||
<section title="Registration of the 'application/EmergencyCallData.cap+xml | <dt>Optional parameters:</dt> | |||
' media type"> | <dd> | |||
<t> | <t> charset; Indicates the character encoding of | |||
<list style="hanging"> | enclosed XML. Default is UTF-8 <xref target="RFC3629" format="defa | |||
<t hangText="To:"> ietf-types@iana.org<vspace blankLines="1"/> </t> | ult"/>.</t> | |||
<t hangText="Subject:">Registration of media type application/ | ||||
EmergencyCallData.cap+xml<vspace blankLines="1"/></t> | ||||
<t hangText="Type name:"> application <vspace blankLines="1"/></t> | ||||
<t hangText="Subtype name:">cap+xml <vspace blankLines="1"/></t> | </dd> | |||
<t hangText="Required parameters:"> (none)<vspace blankLines="1"/> < | <dt>Encoding considerations:</dt> | |||
/t> | <dd> | |||
<t hangText="Optional parameters:"> charset; Indicates the character | <t> 7bit, 8bit, or binary. See <xref sectionFormat="of" target="RFC7 | |||
encoding of | 303" section="3.2"/>.</t> | |||
enclosed XML. Default is UTF-8 <xref target="RFC3629"/>.<vspace bl | ||||
ankLines="1"/></t> | ||||
<t hangText="Encoding considerations:"> 7bit, 8bit or binary. See <x | </dd> | |||
ref target="RFC7303"/>, | <dt>Security considerations:</dt> | |||
Section 3.2.<vspace blankLines="1"/></t> | <dd> | |||
<t hangText="Security considerations:"> This content type is designe | <t> This content type is designed to carry payloads of the Common | |||
d to carry payloads | Alerting Protocol (CAP). RFC 8876 discusses security | |||
of the Common Alerting Protocol (CAP). RFC XXX [Replace by the RF | considerations for this. </t> | |||
C number of this | ||||
specification] discusses security considerations for this. <vspace | ||||
blankLines="1"/></t> | ||||
<t hangText="Interoperability considerations:"> This content type pr | ||||
ovides a way to | ||||
convey CAP payloads.<vspace blankLines="1"/> </t> | ||||
<t hangText="Published specification:"> RFC XXX [Replace by the RFC | </dd> | |||
number of this | <dt>Interoperability considerations:</dt> | |||
specification]. <vspace blankLines="1"/></t> | <dd> | |||
<t hangText="Applications which use this media type:"> Applications | <t> This content type provides a way to | |||
that convey alerts | convey CAP payloads.</t> | |||
and warnings according to the CAP standard.<vspace blankLines="1"/ | ||||
></t> | ||||
<t hangText="Fragment Identifier Considerations: N/A"> .<vspace blank | ||||
Lines="1"/></t> | ||||
<t hangText="Additional information:"> OASIS has published the Commo | </dd> | |||
n Alerting Protocol | <dt>Published specification:</dt> | |||
at http://www.oasis-open.org/committees/documents.php&wg_abbre | <dd> | |||
v=emergency <vspace blankLines="1"/></t> | <t> RFC 8876</t> | |||
<t hangText="Person and email address to contact for further informa | </dd> | |||
tion:"> Hannes | <dt>Applications that use this media type:</dt> | |||
Tschofenig, hannes.tschofenig@gmx.net <vspace blankLines="1"/></t> | <dd> | |||
<t hangText="Intended usage:"> Limited use <vspace blankLines="1"/>< | <t> Applications that convey alerts | |||
/t> | and warnings according to the CAP standard.</t> | |||
<t hangText="Author/Change controller:"> The IESG <vspace blankLines | ||||
="1"/></t> | ||||
<t hangText="Other information:"> This media type is a specializatio | ||||
n of application/xml | ||||
<xref target="RFC7303"/>, and many of the considerations described | ||||
there also | ||||
apply to application/cap+xml. <vspace blankLines="1"/></t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="IANA Registration of 'cap' Additional Data Block"> | ||||
<t>This document registers a new block type in the sub-registry called 'Emergenc | ||||
y Call Data | ||||
Types' of the Emergency Call Additional Data Registry defined in <xref target | ||||
="RFC7852"/>. The token is "cap", the Data About is "The Call" and the referenc | ||||
e is this document. </t> | ||||
</section> | ||||
<section title="IANA Registration for 425 Response Code"> | ||||
<t>In the SIP Response Codes registry, the following is added</t> | </dd> | |||
<dt>Fragment identifier considerations: N/A</dt> | ||||
<dd> | ||||
<t>Reference: RFC-XXXX (i.e., this document)</t> | </dd> | |||
<t>Response code: 425 (recommended number to assign)</t> | <dt>Additional information:</dt> | |||
<t>Default reason phrase: Bad Alert Message</t> | <dd> | |||
<t> OASIS has published the Common Alerting Protocol | ||||
at <eref | ||||
target="https://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2-os. | ||||
pdf" | ||||
brackets="angle"/></t> | ||||
<t> | </dd> | |||
<figure> | <dt>Person and email address to contact for further information:</dt> | |||
<artwork> | <dd> | |||
<![CDATA[ | <t><br/><contact fullname="Hannes Tschofenig"/> <hannes.tschofeni | |||
Registry: | g@gmx.net></t> | |||
Response Code Reference | ||||
------------------------------------------ --------- | ||||
Request Failure 4xx | ||||
425 Bad Alert Message [this doc] | ||||
]]></artwork> | ||||
</figure> | ||||
</t> | ||||
<t>This SIP Response code is defined in <xref target="error"/>.</t> | </dd> | |||
<dt>Intended usage:</dt> | ||||
<dd> | ||||
<t> Limited use </t> | ||||
</section> | </dd> | |||
<dt>Author/Change controller:</dt> | ||||
<dd> | ||||
<t> The IESG </t> | ||||
<section title="IANA Registration of New AlertMsg-Error Header Field"> | </dd> | |||
<dt>Other information:</dt> | ||||
<dd> | ||||
<t> This media type is a specialization of 'application/xml' <xref | ||||
target="RFC7303" format="default"/>, and many of the | ||||
considerations described there also apply to | ||||
application/EmergencyCallData.cap+xml.</t> | ||||
<t>The SIP AlertMsg-error header field is created by this document, | </dd> | |||
with its definition and rules in <xref target="error"/>, to be | </dl> | |||
added to the IANA Session Initiation Protocol (SIP) Parameters registry with | </section> | |||
two actions: | <section numbered="true" toc="default"> | |||
<name>'cap' Additional Data Block</name> | ||||
<t>Per this document, IANA has registered a new block type in the | ||||
"Emergency Call Data Types" subregistry of the "Emergency Call Additiona | ||||
l Data" | ||||
registry defined in <xref target="RFC7852" format="default"/>. The | ||||
token is "cap", the Data About is "The Call", and the reference is | ||||
this document. </t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>425 Response Code</name> | ||||
<t>In the SIP "Response Codes" registry, the following has been added | ||||
under Request Failure 4xx.</t> | ||||
<table anchor="bad-alert-message"> | ||||
<name>Response Codes Registry Addition | ||||
</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Response Code</th> | ||||
<th>Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>425</td> | ||||
<td>Bad Alert Message</td> | ||||
<td>RFC 8876</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>This SIP Response code is defined in <xref target="error" format="def | ||||
ault"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>AlertMsg-Error Header Field</name> | ||||
<t>The SIP AlertMsg-Error header field is created by this document, | ||||
with its definition and rules in <xref target="error" | ||||
format="default"/>. | ||||
The IANA "Session Initiation Protocol (SIP) Parameters" registry | ||||
has been updated as follows. | ||||
<list style="numbers"> | ||||
<t>Update the Header Fields registry with | ||||
<vspace blankLines="1"/> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Registry: | ||||
Header Name compact Reference | ||||
----------------- ------- --------- | ||||
AlertMsg-Error [this doc] | ||||
]]></artwork> | ||||
</figure> | ||||
</t> | ||||
<t>In the portion titled "Header Field Parameters and Parameter | ||||
Values", add | ||||
<vspace blankLines="1"/> | ||||
<figure> | ||||
<artwork> | ||||
<![CDATA[ | ||||
Predefined | ||||
Header Field Parameter Name Values Reference | ||||
----------------- ------------------- ---------- --------- | ||||
AlertMsg-Error code no [this doc] | ||||
]]></artwork> | ||||
</figure> | ||||
</t> | ||||
</list> | ||||
</t> | </t> | |||
</section> | <ol spacing="normal" type="1"> | |||
<li> | ||||
<t>In the "Header Fields" subregistry, the following has been added: | ||||
</t> | ||||
<section title="IANA Registration for the SIP AlertMsg-Error Codes"> | <table anchor="header-fields-registry"> | |||
<name>Header Fields Registry Addition | ||||
</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Head Name</th> | ||||
<t>This document creates a new registry for SIP, called | <th>compact | |||
"AlertMsg-Error Codes". AlertMsg-Error codes provide reasons | </th> | |||
<th>Reference | ||||
</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>AlertMsg-Error | ||||
</td> | ||||
<td> | ||||
</td> | ||||
<td>RFC 8876</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</li> | ||||
<li> | ||||
<t>In the "Header Field Parameters and Parameter | ||||
Values" subregistry, the following has been added: | ||||
</t> | ||||
<table anchor="header-field-parameters-values"> | ||||
<name>Header Field Parameters and Parameter Values Registry Addition | ||||
</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Header Field</th> | ||||
<th>Parameter Name</th> | ||||
<th>Predefined Values</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>AlertMsg-Error | ||||
</td> | ||||
<td>code | ||||
</td> | ||||
<td>no | ||||
</td> | ||||
<td>RFC 8876 | ||||
</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</li> | ||||
</ol> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>SIP AlertMsg-Error Codes</name> | ||||
<t>This document creates a new registry called | ||||
"SIP AlertMsg-Error Codes". AlertMsg-Error codes provide reasons | ||||
for an error discovered by a recipient, categorized by | for an error discovered by a recipient, categorized by | |||
the action to be taken by the error recipient. The initial values for this | the action to be taken by the error recipient. The initial values for this | |||
registry are shown below.</t> | registry are shown below. The registration procedure is Specification | |||
Required <xref target="RFC8126"/>.</t> | ||||
<t>Registry Name: AlertMsg-Error Codes</t> | ||||
<t>Reference: [this doc]</t> | ||||
<t>Registration Procedures: Specification Required</t> | ||||
<t> | <table anchor="registry-initial-values"> | |||
<figure> | <name>SIP AlertMsg-Error Codes Registry Creation | |||
<artwork> | </name> | |||
<![CDATA[ | <thead> | |||
Code Default Reason Phrase Reference | <tr> | |||
100 "Cannot Process the Alert Payload" [this doc] | <th>Code | |||
</th> | ||||
101 "Alert Payload was not present or could not be found" [this doc] | <th>Default Reason Phrase | |||
</th> | ||||
102 "Not enough information to determine | <th>Reference | |||
the purpose of the alert" [this doc] | </th> | |||
</tr> | ||||
</thead> | ||||
103 "Alert Payload was corrupted" [this doc] | <tbody> | |||
]]></artwork> | <tr> | |||
</figure> | <td>100 | |||
</t> | </td> | |||
<td>"Cannot process the alert payload" | ||||
</td> | ||||
<td>RFC 8876 | ||||
</td> | ||||
</tr> | ||||
<t>Details of these error codes are in <xref target="error"/>.</t> | <tr> | |||
</section> | <td>101 | |||
</td> | ||||
<td>"Alert payload was not present or could not be found" | ||||
</td> | ||||
<td>RFC 8876 | ||||
</td> | ||||
</tr> | ||||
</section> | <tr> | |||
<td>102 | ||||
</td> | ||||
<td>"Not enough information to determine the purpose of the alert" | ||||
</td> | ||||
<td>RFC 8876 | ||||
</td> | ||||
</tr> | ||||
<!-- /////////////////////////////////////////////////////////////////////// | <tr> | |||
/////////// --> | <td>103 | |||
</td> | ||||
<td>"Alert payload was corrupted" | ||||
</td> | ||||
<td>RFC 8876 | ||||
</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<section title="Acknowledgments"> | <t>Details of these error codes are in <xref target="error" format="defa | |||
<t>The authors would like to thank the participants of the Early Warning a | ult"/>.</t> | |||
dhoc meeting at | </section> | |||
IETF#69 for their feedback. Additionally, we would like to thank the mem | ||||
bers of the NENA | ||||
Long Term Direction Working Group for their feedback. </t> | ||||
<t>Additionally, we would like to thank Martin Thomson, James Winterbottom | ||||
, Shida Schubert, | ||||
Bernard Aboba, Marc Linsner, Christer Holmberg and Ivo Sedlacek for thei | ||||
r review comments.</t> | ||||
</section> | </section> | |||
<!-- /////////////////////////////////////////////////////////////////////// /////////// --> | ||||
</middle> | </middle> | |||
<!-- ///////////////////////////////////////////////////////////////////////// | ||||
///////// --> | ||||
<back> | <back> | |||
<references title="Normative References"> | <references> | |||
<reference anchor="RFC2119" > | <name>References</name> | |||
<front> | <references> | |||
<title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Re | <name>Normative References</name> | |||
quirement Levels</title> | ||||
<author fullname="Scott Bradner" initials="S." surname="Bradner"> | ||||
<organization>Harvard University</organization> | ||||
</author> | ||||
<date month="March" year="1997"/> | ||||
</front> | ||||
<format octets="4723" target="ftp://ftp.isi.edu/in-notes/rfc2119.txt" ty | ||||
pe="TXT"/> | ||||
</reference> | ||||
<reference anchor="cap" target="https://docs.oasis-open.org/emergency/cap/ | ||||
v1.2/CAP-v1.2-os.pdf"> | ||||
<front> | ||||
<title>Common Alerting Protocol v. 1.2 </title> | ||||
<author fullname="Elysa Jones" initials="E." surname="Jones"> | ||||
<organization>Warning Systems, Inc</organization> | ||||
</author> | ||||
<author fullname="Art Botterell" initials="A." surname="Botterell"> | ||||
<organization>Individual</organization> | ||||
</author> | ||||
<date month="October" year="2005"/> | ||||
</front> | ||||
<format type="PDF"/> | ||||
</reference> | ||||
&RFC2392; | ||||
&RFC2818; | ||||
&RFC3261; | ||||
&RFC3262; | ||||
&RFC3428; | ||||
&RFC4119; | ||||
&RFC5234; | ||||
&RFC7303; | ||||
&RFC3629; | ||||
&RFC3986; | ||||
&RFC6442; | ||||
&RFC6881; | ||||
&RFC7852; | ||||
&RFC8174; | ||||
&RFC8225; | ||||
</references> | ||||
<references title="Informative References"> &RFC7378; | <reference anchor="CAP" target="https://docs.oasis-open.org/emergency/ca | |||
&RFC8224; &RFC5031; &RFC3325; &RFC5222; &RFC6443; </references> | p/v1.2/CAP-v1.2-os.pdf"> | |||
<front> | ||||
<title>Common Alerting Protocol Version 1.2 </title> | ||||
<author fullname="Elysa Jones" initials="E." surname="Jones"> | ||||
<organization>Warning Systems, Inc</organization> | ||||
</author> | ||||
<author fullname="Art Botterell" initials="A." surname="Botterell"> | ||||
<organization>Individual</organization> | ||||
</author> | ||||
<date month="July" year="2010"/> | ||||
</front> | ||||
<refcontent>OASIS Standard CAP-V1.2</refcontent> | ||||
</reference> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2119.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2392.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2818.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3261.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3262.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3428.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4119.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5234.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7303.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3629.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3986.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6442.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6881.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7852.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8225.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include | ||||
href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7378.x | ||||
ml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8126.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8224.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5031.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3325.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5222.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6443.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3550.xml"/> | ||||
</references> | ||||
</references> | ||||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t>The authors would like to thank the participants of the Early Warning | ||||
ad hoc meeting at IETF 69 for their feedback. Additionally, we would | ||||
like to thank the members of the NENA Long Term Direction Working Group | ||||
for their feedback. </t> | ||||
<t>Additionally, we would like to thank <contact fullname="Martin | ||||
Thomson"/>, <contact fullname="James Winterbottom"/>, <contact | ||||
fullname="Shida Schubert"/>, <contact fullname="Bernard Aboba"/>, | ||||
<contact fullname="Marc Linsner"/>, <contact fullname="Christer | ||||
Holmberg"/>, and <contact fullname="Ivo Sedlacek"/> for their review | ||||
comments.</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 109 change blocks. | ||||
769 lines changed or deleted | 871 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |