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

Randall Gellens <rg+ietf@randy.pensive.org> Mon, 05 July 2021 14:28 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 EF0CF3A199A for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 07:28:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, 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 Fs7Vsls3rl1F for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 07:28:34 -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 083DE3A19C9 for <media-types@ietf.org>; Mon, 5 Jul 2021 07:28:33 -0700 (PDT)
Received: from turing.pensive.org (turing.pensive.org [99.111.97.161]) by pechora1.lax.icann.org (Postfix) with ESMTP id BC3E57000567 for <media-types@iana.org>; Mon, 5 Jul 2021 14:28:32 +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 07:28:11 -0700
From: Randall Gellens <rg+ietf@randy.pensive.org>
To: Brian Rosen <br@brianrosen.net>
Cc: Alexey Melnikov <alexey.melnikov@isode.com>, media-types@iana.org, Terry Reese <theresa.reese@ericsson.com>
Date: Mon, 05 Jul 2021 07:28:09 -0700
X-Mailer: MailMate (1.13.2r5673)
Message-ID: <7AC16993-5ED6-4F45-ACC6-FCBE7EB7CD89@randy.pensive.org>
In-Reply-To: <F3E201DB-16D7-4585-B3FF-10BF2D23B709@brianrosen.net>
References: <802C4C29-7894-4115-8DD6-81D61B9B0DF2@randy.pensive.org> <8d0b7a49-51b9-f279-5c66-24cf625f215a@isode.com> <F3E201DB-16D7-4585-B3FF-10BF2D23B709@brianrosen.net>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_91CA8736-35FA-47A8-A455-660B8D88FAF7_="
Content-Transfer-Encoding: 8bit
Embedded-HTML: [{"HTML":[599, 15808], "plain":[268, 9935], "uuid":"6D3E4DA2-0F9D-4779-A62E-4DC3A91B5765"}]
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 14:28:32 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/jbJZEA8YwO9fjY9qNHxOeIPBgxE>
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 14:28:39 -0000

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.)

--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> 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#" 
>>> <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> 
>>> <mailto:sip:+13145551111@example.com>;tag=9fxced76sl
>>> Call-ID: 3848276298220188511@atlanta.example.com 
>>> <mailto:3848276298220188511@atlanta.example.com>
>>> Geolocation: <cid:target123@example.com> <cid:target123@example.com>
>>> Geolocation-Routing: no
>>> Call-Info: <cid:1234567890@atlanta.example.com> 
>>> <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> 
>>> <mailto: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" 
>>> <http://www.opengis.net/gml>
>>>    xmlns:gs="http://www.opengis.net/pidflo/1.0" 
>>> <http://www.opengis.net/pidflo/1.0>
>>>    entity="sip:+13145551111@example.com" 
>>> <mailto: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> 
>>> <mailto: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 <mailto:media-types@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/media-types 
>>> <https://www.ietf.org/mailman/listinfo/media-types>