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

Alexey Melnikov <alexey.melnikov@isode.com> Mon, 05 July 2021 13:59 UTC

Return-Path: <alexey.melnikov@isode.com>
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 D4B663A18B5 for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 06:59:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.425
X-Spam-Level:
X-Spam-Status: No, score=-2.425 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.338, RCVD_IN_DNSWL_BLOCKED=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isode.com
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 ejvZX8TFJ5AH for <media-types@ietfa.amsl.com>; Mon, 5 Jul 2021 06:59:03 -0700 (PDT)
Received: from pechora5.dc.icann.org (pechora5.icann.org [IPv6:2620:0:2830: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 90D2C3A18B6 for <media-types@ietf.org>; Mon, 5 Jul 2021 06:59:03 -0700 (PDT)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188]) by pechora5.dc.icann.org (Postfix) with ESMTP id 8DCC17000DE2 for <media-types@iana.org>; Mon, 5 Jul 2021 13:59:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1625493520; d=isode.com; s=june2016; i=@isode.com; bh=X1pSfXT5aAoiOl6K3eVIF/6gxSF6/H/aZZ1wkTiUfUo=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=LWfC9g3qyL5baww8DJ30AW4HPEP4K9y14tgzN1jnp+1HmCqrvlhLhkkmE4Yn+AGHXNR7xE YAnmvN5OLve27tqnfhmc3bUnH9tUMLLw9fuV0n3GSom2JrZ7aGFWnR4/IbG9mwPamRN3ki MuCcUsTU93AabycJEizfn51hJvlgprM=;
Received: from [192.168.1.222] (host5-81-100-22.range5-81.btcentralplus.com [5.81.100.22]) by waldorf.isode.com (submission channel) via TCP with ESMTPSA id <YOMQDwAX7msA@waldorf.isode.com>; Mon, 5 Jul 2021 14:58:40 +0100
To: Randall Gellens <rg+ietf@randy.pensive.org>, media-types@iana.org
Cc: Terry Reese <theresa.reese@ericsson.com>, Brian Rosen <br@brianrosen.net>
References: <802C4C29-7894-4115-8DD6-81D61B9B0DF2@randy.pensive.org>
From: Alexey Melnikov <alexey.melnikov@isode.com>
Message-ID: <8d0b7a49-51b9-f279-5c66-24cf625f215a@isode.com>
Date: Mon, 05 Jul 2021 14:58:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
In-Reply-To: <802C4C29-7894-4115-8DD6-81D61B9B0DF2@randy.pensive.org>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------008B9DEB2741F7798EF85C1F"
Content-Language: en-GB
X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.2 (pechora5.dc.icann.org [0.0.0.0]); Mon, 05 Jul 2021 13:59:01 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/Oqvy0kXgkt5_myl0titreJKI9qM>
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 13:59:09 -0000

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