Re: [media-types] Proposed registration of the Application/LegacyESN media type

Randall Gellens <rg+ietf@randy.pensive.org> Mon, 05 July 2021 15:01 UTC

Return-Path: <rg+ietf@randy.pensive.org>
X-Original-To: media-types@ietfa.amsl.com
Delivered-To: media-types@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE6633A1AC6 for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 08:01:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.499
X-Spam-Level:
X-Spam-Status: No, score=-1.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, KHOP_HELO_FCRDNS=0.398, SPF_FAIL=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CTHRJrRULnhn for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 08:01:27 -0700 (PDT)
Received: from pechora1.lax.icann.org (pechora1.icann.org [IPv6:2620:0:2d0:201::1:71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C2A393A1AAD for <media-types@ietf.org>; Mon, 5 Jul 2021 08:01:27 -0700 (PDT)
Received: from turing.pensive.org (turing.pensive.org [99.111.97.161]) by pechora1.lax.icann.org (Postfix) with ESMTP id 9DF99700048B for <media-types@iana.org>; Mon, 5 Jul 2021 15:01:26 +0000 (UTC)
Received: from [10.23.0.49] (99.111.97.161) by turing.pensive.org with ESMTP (EIMS X 3.3.9); Mon, 5 Jul 2021 08:01:25 -0700
From: Randall Gellens <rg+ietf@randy.pensive.org>
To: Alexey Melnikov <alexey.melnikov@isode.com>
Cc: Brian Rosen <br@brianrosen.net>, media-types@iana.org, Terry Reese <theresa.reese@ericsson.com>
Date: Mon, 05 Jul 2021 08:01:23 -0700
X-Mailer: MailMate (1.13.2r5673)
Message-ID: <9FA52072-0895-4499-A9A2-801D73B34D7D@randy.pensive.org>
In-Reply-To: <b03d61fc-1222-74e4-5841-2a26fb09c302@isode.com>
References: <802C4C29-7894-4115-8DD6-81D61B9B0DF2@randy.pensive.org> <8d0b7a49-51b9-f279-5c66-24cf625f215a@isode.com> <F3E201DB-16D7-4585-B3FF-10BF2D23B709@brianrosen.net> <7AC16993-5ED6-4F45-ACC6-FCBE7EB7CD89@randy.pensive.org> <b03d61fc-1222-74e4-5841-2a26fb09c302@isode.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_D35FCD91-076B-40F5-A04B-34CDBE7D31A3_="
Content-Transfer-Encoding: 8bit
Embedded-HTML: [{"HTML":[426, 24410], "plain":[95, 10718], "uuid":"0FDEAB98-97C2-432B-8F72-53A4D216D349"}]
X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.2 (pechora1.lax.icann.org [0.0.0.0]); Mon, 05 Jul 2021 15:01:26 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/ZW_Ps9vIFWpWQp4Ki6yWj0ptD8E>
Subject: Re: [media-types] Proposed registration of the Application/LegacyESN media type
X-BeenThere: media-types@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IANA mailing list for reviewing Media Type \(MIME Type, Content Type\) registration requests." <media-types.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/media-types>, <mailto:media-types-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/media-types/>
List-Post: <mailto:media-types@ietf.org>
List-Help: <mailto:media-types-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/media-types>, <mailto:media-types-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jul 2021 15:01:38 -0000

Thanks for reviewing it, Alexey.

--Randall

On 5 Jul 2021, at 7:29, Alexey Melnikov wrote:

> On 05/07/2021 15:28, Randall Gellens wrote:
>
>> Actually, it's RFC 8147 (Section 14.1) that created the 
>> "EmergencyCallData" media subtree. (It should have been RFC 7852, 
>> which first used it but didn't create it, so we retroactively created 
>> it in RFC 8147.)
>>
> Much better :-).
>>
>> --Randall
>>
>> On 5 Jul 2021, at 7:07, Brian Rosen wrote:
>>
>>     RFC7852 created the EmergencyCallData tree.
>>
>>     Brian
>>
>>>     On Jul 5, 2021, at 9:58 AM, Alexey Melnikov
>>>     <alexey.melnikov@isode.com <mailto:alexey.melnikov@isode.com>> 
>>> wrote:
>>>
>>>     Hi Randy,
>>>
>>>     On 22/06/2021 00:26, Randall Gellens wrote:
>>>>
>>>>     Hi All,
>>>>
>>>>     A document currently in development by the National Emergency
>>>>     Number Association (NENA) i3 Architecture WG of the 911 Core
>>>>     Services Committee seeks to register a media type to carry
>>>>     legacy emergency service number (ESN) information as an
>>>>     Emergency Call Data block. This will be used by gateway systems
>>>>     for interoperability between next-generation (NG) and legacy
>>>>     emergency call systems in North America. The document is the
>>>>     /NENA Legacy Selective Router Gateway (LSRG) Standard/,
>>>>     NENA-STA-034.1 (work in progress).
>>>>
>>>>     The media registration template follows:
>>>>
>>>>     ------------------------------------------------------------------------
>>>>
>>>>     *MIME media type name:* application
>>>>     *MIME subtype name:* EmergencyCallData.LegacyESN+json
>>>>
>>>     This wouldn't work, as this effectively requires creation of a
>>>     new registration tree "EmergencyCallData", which requires
>>>     publication of an IETF Standard Track document (see Section 3.5
>>>     of RFC 6838). I don't think this is what you want.
>>>
>>>     Two possible work arounds: either make it
>>>     "vnd.EmergencyCallData.LegacyESN+json" or
>>>     "EmergencyCallData-LegacyESN+json"
>>>
>>>>     *Mandatory parameters:* none
>>>>     *Optional parameters:* charset
>>>>     Indicates the character encoding of enclosed JSON.
>>>>     *Encoding considerations:* Uses JSON, which can employ 8-bit
>>>>     characters, depending on the character encoding used.
>>>>
>>>     I think this means "binary", as this can be serialized into 1
>>>     long line longer than 1000 octets.
>>>
>>>     I skimmed the rest of your message and it looked fine to me.
>>>
>>>     Best Regards,
>>>
>>>     Alexey
>>>
>>>>     *Security considerations:* This media type carries a legacy ESN
>>>>     during an emergency call.
>>>>
>>>>     This data contains location information. Appropriate 
>>>> precautions
>>>>     should be taken to limit unauthorized access, inappropriate
>>>>     disclosure to third parties, and eavesdropping of this
>>>>     information. Please refer to Section 9 and Section 10 of 
>>>> RFC7852
>>>>     [13] for more information.
>>>>
>>>>     This media format contains only static information (no active
>>>>     content).
>>>>
>>>>     When this media type is contained in an encrypted body part, 
>>>> the
>>>>     enclosing multipart (e.g., multipart/encrypted) has the same
>>>>     Content-ID as the data part. This allows an entity to identify
>>>>     and access the data blocks it is interested in without having 
>>>> to
>>>>     dive deeply into the message structure to decrypt parts it is
>>>>     not interested in. (The 'purpose' parameter in a Call-Info
>>>>     header field identifies the data, and the CID URL points to the
>>>>     data block in the body, which has a matching Content-ID body
>>>>     part header field).
>>>>
>>>>     The published specification (see below) contains a fuller
>>>>     description of the security and privacy considerations.
>>>>
>>>>     *Interoperability considerations:* None
>>>>     *Published specification:* [THIS DOCUMENT -- NENA-STA-034.1]
>>>>     *Applications which use this media type:* Emergency Services
>>>>     *Additional information:* None
>>>>     *Magic Number:* None
>>>>     *File Extension:* .json
>>>>     *Macintosh file type code:* 'TEXT'
>>>>     *Persons and email addresses for further information:* Randall
>>>>     Gellens rg+nena.mime@randy.pensive.org
>>>>     <mailto:rg+nena.mime@randy.pensive.org>
>>>>     *Intended usage:* LIMITED USE
>>>>     *Author:* This specification is a work item of the National
>>>>     Emergency Number Association (NENA) 911 Core Services 
>>>> Committee,
>>>>     i3 Architecture Working Group.
>>>>     *Change controller:* NENA.
>>>>
>>>>     ------------------------------------------------------------------------
>>>>
>>>>     The document under development currently includes the following
>>>>     sections related to this MIME subtype:
>>>>
>>>>     *8 The Legacy ESN Additional Data Block*
>>>>
>>>>     This section defines the Legacy ESN additional data block per
>>>>     RFC 7852 [13]. A Legacy ESN additional data block contains an
>>>>     ESN and a ‘locality’ string indicating the source, 
>>>> locality, or
>>>>     area of significance of the ESN. The ESN is a 3-5 digit integer
>>>>     number encoded as a string. The ‘locality’ string helps in
>>>>     identifying the ESN’s context (since ESNs are local rather 
>>>> than
>>>>     national in scope).
>>>>
>>>>     A Legacy ESN Additional Data block is encoded as a JavaScript
>>>>     Object Notation (JSON) [47] object. An ESN additional data 
>>>> block
>>>>     is transported as a MIME object (e.g., in SIP) using the
>>>>     'application/EmergencyCallData.LegacyESN+json' media type.
>>>>
>>>>     *8.1 JSON Scheme Description for the Legacy ESN Additional Data
>>>>     Block*
>>>>
>>>>     The following JSON schema defines the Legacy ESN object:
>>>>
>>>>     |{ "$schema": "http://json-schema.org/draft-07/schema#", "$id":
>>>>     "urn:nena:schema:json:EmergencyCallData:LegacyESN:1.0", 
>>>> "title":
>>>>     "EmergencyCallData.LegacyESN", "type": "object", "properties": 
>>>> {
>>>>     "esn": { "description": "A legacy Emergency Service Number as a
>>>>     3-5 digit string.", "examples": [ "555" ], "minLength": 3,
>>>>     "maxLength": 5, "type": "string", "pattern": "^[0-9]{3,5}$" },
>>>>     "locality": { "description": "The source, locality, or area of
>>>>     significance of the ESN.", "type": "string" } }, "required": [
>>>>     "esn" ] } |
>>>>
>>>>     *8.2 Example Legacy ESN Additional Data Block*
>>>>
>>>>     The following is an example of a valid Legacy ESN object:
>>>>
>>>>     |{ "esn": "555", "locality": "Belcher's Corners, Arachnid
>>>>     County, Maryland" } |
>>>>
>>>>     *8.3 Security and Privacy Considerations for the Legacy ESN
>>>>     Additional Data Block*
>>>>
>>>>     ESNs have been used within legacy emergency services in North
>>>>     America for decades. ESNs are not directly used within
>>>>     next-generation emergency services, but may be conveyed by
>>>>     next-generation systems interconnected with legacy systems. The
>>>>     information carried in an ESN data block does not introduce new
>>>>     security issues, although it may be advisable for systems to
>>>>     perform a basic sanity check on the values, to avoid sending an
>>>>     invalid ESN to a legacy selective router.
>>>>
>>>>     A Legacy ESN data block contains only static information; no
>>>>     active content is conveyed.
>>>>
>>>>     ESNs are intrinsically associated with a location. As with
>>>>     emergency service systems where location data is supplied or
>>>>     determined with the assistance of an end host, there is the
>>>>     possibility that an ESN is incorrect, either intentially (e.g.,
>>>>     in a denial of service attack against the emergency services
>>>>     infrastructure) or due to a malfunctioning device. The reader 
>>>> is
>>>>     referred to RFC 7378 [13] for a discussion of some of these
>>>>     vulnerabilities.
>>>>
>>>>     An ESN is associated with a location, and so should be 
>>>> protected
>>>>     against unauthorized disclosure, as discussed in RFC 7852 [13].
>>>>     Local regulations may impose additional privacy protection
>>>>     requirements.
>>>>
>>>>     *8.4 Example Call with a Legacy ESN Additional Data Block*
>>>>
>>>>     The following is an example INVITE containing a Legacy ESN
>>>>     Additional Data Block:
>>>>
>>>>     |INVITE urn:service:sos SIP/2.0 To: urn:service:sos From:
>>>>     <sip:+13145551111@example.com>;tag=9fxced76sl Call-ID:
>>>>     3848276298220188511@atlanta.example.com Geolocation:
>>>>     <cid:target123@example.com> Geolocation-Routing: no Call-Info:
>>>>     <cid:1234567890@atlanta.example.com>;
>>>>     purpose=EmergencyCallData.LegacyESN Accept: application/sdp,
>>>>     application/pidf+xml,
>>>>     application/EmergencyCallData.LegacyESN+json Allow: INVITE, 
>>>> ACK,
>>>>     PRACK, INFO, OPTIONS, CANCEL, REFER, BYE, SUBSCRIBE, NOTIFY,
>>>>     UPDATE CSeq: 31862 INVITE Content-Type: multipart/mixed;
>>>>     boundary=boundary1 Content-Length: ... --boundary1 
>>>> Content-Type:
>>>>     application/sdp ...Session Description Protocol (SDP) goes here
>>>>     --boundary1 Content-Type: application/pidf+xml Content-ID:
>>>>     <target123@atlanta.example.com> Content-Disposition:
>>>>     by-reference;handling=optional <?xml version="1.0"
>>>>     encoding="UTF-8"?> <presence 
>>>> xmlns="urn:ietf:params:xml:ns:pidf"
>>>>     xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
>>>>     xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
>>>>     xmlns:dyn="urn:ietf:params:xml:ns:pidf:geopriv10:dynamic"
>>>>     xmlns:gml="http://www.opengis.net/gml"
>>>>     xmlns:gs="http://www.opengis.net/pidflo/1.0"
>>>>     entity="sip:+13145551111@example.com"> <dm:device id="123">
>>>>     <gp:geopriv> <gp:location-info> <gml:Point
>>>>     srsName="urn:ogc:def:crs:EPSG::4326"> <gml:pos>-34.407
>>>>     150.883</gml:pos> </gml:Point> <dyn:Dynamic>
>>>>     <dyn:heading>278</dyn:heading> <dyn:direction><dyn:direction>
>>>>     </dyn:Dynamic> </gp:location-info> <gp:usage-rules/>
>>>>     <method>gps</method> </gp:geopriv>
>>>>     <timestamp>2012-04-5T10:18:29Z</timestamp>
>>>>     <dm:deviceID>1M8GDM9A_KP042788</dm:deviceID> </dm:device>
>>>>     </presence> --boundary1 Content-Type:
>>>>     application/EmergencyCallData.LegacyESN+json Content-ID:
>>>>     <1234567890@atlanta.example.com> Content-Disposition:
>>>>     by-reference;handling=optional { "esn": "555", "locality":
>>>>     "Belcher's Corners, Arachnid County, Maryland" } --boundary1-- 
>>>> |
>>>>     ------------------------------------------------------------------------
>>>>
>>>>     Thank you.
>>>>
>>>>     --Randall
>>>>
>>>>
>>>>     _______________________________________________
>>>>     media-types mailing list
>>>>     media-types@ietf.org
>>>>     https://www.ietf.org/mailman/listinfo/media-types
>>