[stir] Re: Query-Scoped Communication Authority for 6G — Request for DISPATCH Feedback

Sangam Das <info@sangamdas.com> Mon, 31 August 2026 19:00 UTC

Return-Path: <info@sangamdas.com>
X-Original-To: stir@mail2.ietf.org
Delivered-To: stir@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 75DC21327D147 for <stir@mail2.ietf.org>; Mon, 31 Aug 2026 12:00:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1788202856; bh=Nay+Rw4Me9nfpKm6+w7OUlVyygYNgjVAidD40BqtYHc=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=QoCTAb+yt2nLoBDmu2+u3ojDGWcyagpkFrAIxfcwCmAk8JPzP7tJk5i4RBPSSXbMM ewJG/g6GiKSOLL6ZuQ05QMMDrBLsGti9yeyHszoUecFqhI7vhElyNiIWxBEK80E9A3 GApN9/l+5TU7Jqy54eKRqv37p9XSj55YS1ZXTNhc=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=sangamdas-com.20251104.gappssmtp.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wnhK0MpRKde3 for <stir@mail2.ietf.org>; Mon, 31 Aug 2026 12:00:54 -0700 (PDT)
Received: from mail-yx1-xb135.google.com (mail-yx1-xb135.google.com [IPv6:2607:f8b0:4864:20::b135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id A1B001327D140 for <stir@ietf.org>; Mon, 31 Aug 2026 12:00:54 -0700 (PDT)
Received: by mail-yx1-xb135.google.com with SMTP id 956f58d0204a3-66d23c88af0so1804257d50.1 for <stir@ietf.org>; Mon, 31 Aug 2026 12:00:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1788202854; cv=none; d=google.com; s=arc-20260327; b=p7kj8D6ak9NY/+UxQAg2ZALpI7gxIUeJ773LwT8hTrVE7KIg85h9hekVLybJIP+hKO zbJRC6vYN6T6jsBNDOhtkUEmfmbn9eFCE69PXjHyzZXonKz23g54b2A7tHTdMcbijYi5 buaBicY/XgANE85B4ifXb9OAFZ5K3rBkwchCSNEDhnCqbsuBQWsqGTWZNhLDuMOQCF0v R+H3jEwGQM5WtwI+ZNcp1PMyWFhAtWkECINUOGoxgEvKNuQSgF1sRDAtfvVPMyDwH6fI QIbtLtSD5NeHiSodfDQRiF9QuuwbVYCHIDnWSAwDEnRmScWQZT+tv3ezn9aURTdgTTV1 iEKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=6HzyhzDxKzFak8+eOEAQeFO0qGs0npS8hn2RXYF/qxE=; fh=BBamFkpN15VwTvtKwLuhnyVLq7nhCW5S4fu49k1lIvI=; b=mhDvQ8JVAQVExP+Xl4ylYr2u6HF9t6JrUf7ZXio3FFmZywBa2YW0jTKgMvmPtppvdq BM6IWm4+v//lOo3k7itKwYu9RGMQTi6isVlNscwuivbVrVOEb4NCHLis5uSb+L8VhgiJ wTlNgHd7Q9WKj3xGS9aKTgdczM5NYThDKMA/WSvRNFJQ1MoPbr2J74qrgrKNRdNu+nRE PN2j4o8iDmrafRs5ynag63vlSnTmOk+ipT4B0Z1o/nQxSikIs1P3THfEptl9lHqvOiNU MCS+Zz0cK6jgfUGeca+82YwjHUXWA2L2QHqNp17LpMIfgwqCtFIFpyER/VZfg4/5Lbag irYw==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sangamdas-com.20251104.gappssmtp.com; s=20251104; t=1788202854; x=1788807654; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=6HzyhzDxKzFak8+eOEAQeFO0qGs0npS8hn2RXYF/qxE=; b=B4bjEZoaiFzq45qcaA6KmkHLZZtTIopXZqSLkeqE0MkGgkyXaO+pUL7q9oS/PlwwvT 3mDTycA/J9kZGC4l9Sh460crKWHeS/XHdAd7XKlb7swMG17WuQxZ2khIVVtovzmyS3l0 yc9sBrtazRAxZaInHn3WChUTtE47IAs3rSpyJuoWdgSjkaxIZWjoltiRtOyO+CL59bt2 BJxZT+hJ7WHdXPwmfBkZ98pT4lDbEvphVEMlJ9xSnUqwHFyPh4/KSkl//U6BxFFSJQKR EiFqETgFoPnrbA6X0zSd0HYvCKtZgh4afixI13tZ4DHIOpLr5mYOkrBGvR4tZJuIHGZs 65tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788202854; x=1788807654; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=6HzyhzDxKzFak8+eOEAQeFO0qGs0npS8hn2RXYF/qxE=; b=mwq/t7CiL5ZKqMYB9QcQ7iBcxKL5gsEbltknTNStNVoeUqTagubHGNtePTzKyVrpMe eInVhUwMI39piBQsOxT22VfViA4DJXObp3tqTOISo/TL+hASJ2OpBHj02SUHyTTbys3h w2doWEbQr8GAGqB09TMD1YMVoPyei72DekEozN575rD5Yj7/Ba4YIlbVfCj6GakobtPu p0+RW5Ozdtvd2KaP4LigCfJeRqpT02Mdq/CZfpQN9YYyk9YhIiBVltBPdYTiLaNp3CHa 4c2OGuH8zMPrFOfEGzF5A57tXejZBew5uyOnSCaEr0lOYSJEptdYBIlFa0Bd/4NDn8C4 tsmA==
X-Gm-Message-State: AFuF++kVEYvK8YF6+/M39ljl9EKnvLDEM1yN4WkHtKHVTXPxwV7VtqEs R7oHMjPOf4CcCr2MIT6iGVOzc2DQ53PqOxwew84/jBRmTdkylPPlpbb6RRTiJAtfH6xLq3hG1jV fzqeWglhOmisn7Cdxiz9TqZfzacHptVhEf9jSY75pvyt0pv6gG6P0WlAX
X-Gm-Gg: AYBFou0susedlbg5wOMpr8thO0tsN/OxospA10y18ystqbJ/6fbvj1qcLUO6GzE8DQP 5kkxTTPfEctEGizrpHFIbeQ0ODmfTw3wte+GWMgDwVQg2sNLcIHr5RlUl7zZ67+04m5bhP9yxkQ 0mn5+Yp1ViG9jZsYXywZtXCR6Io9zIHYJRV2qFgwf3yTzwVsnIZ7Nqlr6Xyk1e8WGlHuMFa2Z0P L3m4WaRc/4/T8lQW4Zfe4pyqiaRECQUXuIkTjANswgoinw+73fWMWqUY2rGtF3Z5Qsmbhnz3vMx AV7avUZ+YrqFOlFJR/fkG7E0fLVXJBLdsqFXfF/I+ybyBT4ZIv+gj2UJ2v170HU1b9iiYDuPwxT l8KBsDUlS59XL
X-Received: by 2002:a05:690e:b8e:b0:66e:4aae:cec with SMTP id 956f58d0204a3-66f874d7ae1mr837845d50.22.1788202853516; Mon, 31 Aug 2026 12:00:53 -0700 (PDT)
MIME-Version: 1.0
References: <CAHCJH6EwW6669CZNhyFNVr8mDbM+f39Y86qGAjCNSZ8qw22+gA@mail.gmail.com> <05efabed-4262-400e-abad-70dda4388499@alum.mit.edu> <CAHCJH6EuVKVEJhXfM+WXS20-cjkeEhsihv+fiXpMkoB49Him0A@mail.gmail.com> <d6de4a95-d76d-49f1-9978-ea754e9ac2a0@alum.mit.edu> <CAHCJH6GkgBoDiK_TchGuf_CrP+2P5Aeh-17HZ=xG3LuusFK+QQ@mail.gmail.com> <fd0425d2-720b-4907-aa19-5e6e7c743408@alum.mit.edu>
In-Reply-To: <fd0425d2-720b-4907-aa19-5e6e7c743408@alum.mit.edu>
From: Sangam Das <info@sangamdas.com>
Date: Tue, 01 Sep 2026 00:30:42 +0530
X-Gm-Features: AcwNN1W1pDGIwzw4-e5FblzIMlQGgPSBIP-P195a2DM58ZuvnE8s2d8rcPXrdl8
Message-ID: <CAHCJH6G=gqbkL01mAgQXoVWVUoy4U17ot8eUhfJXqBYnsROUbw@mail.gmail.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
Content-Type: multipart/alternative; boundary="000000000000dee311065a5c6bf9"
Message-ID-Hash: QIZJ5NOJVNHF64OPT5OOPBAS3VPIHUVG
X-Message-ID-Hash: QIZJ5NOJVNHF64OPT5OOPBAS3VPIHUVG
X-MailFrom: info@sangamdas.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-stir.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: stir@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [stir] Re: Query-Scoped Communication Authority for 6G — Request for DISPATCH Feedback
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/ji8XOI3W14F3FNNJS78yNFRuq1I>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Owner: <mailto:stir-owner@ietf.org>
List-Post: <mailto:stir@ietf.org>
List-Subscribe: <mailto:stir-join@ietf.org>
List-Unsubscribe: <mailto:stir-leave@ietf.org>

Dear Paul,

Thank you. Focusing on this one case is useful because your questions
expose where my first example compressed too many assumptions into the
sequence.

The 30-minute / two-attempt values were only intended to make the state
machine concrete. I agree that they are not realistic for a plumber
callback and should not be treated as protocol defaults.

More importantly, I did not state the user’s actual objective clearly
enough.

The use case is not simply:

“prevent the plumber from calling me again.”

It is:

“allow this selected plumber to contact me regarding this enquiry, without
requiring me to disclose a durable personal identifier whose possession
becomes indefinite future reachability authority.”

A more realistic example would be:

U searches a directory or marketplace for a plumber and selects:

“Request a quote / callback.”

U provides application-level information such as:

enquiry = kitchen pipe leaking
preferred-channel = voice or messaging
contact-validity = until tomorrow evening
selected-business = B

U may revoke that authority earlier.

D provides the enquiry information to B, for example:

“Kitchen pipe leaking; user requests a quote.”

Separately, B receives or can invoke an enquiry-scoped communication handle.

B does not need U’s permanent telephone number.

The corresponding authority means approximately:

B is currently authorized to contact U
regarding enquiry E,
through an allowed channel,
while that authority remains valid.

If the authority later expires or is revoked, possession of the visible
handle alone does not create continuing reachability.

That is the property I am trying to isolate.

The proposal is therefore not:

“the plumber must never call me again.”

It is:

“the plumber's possession of an identifier must not,
by itself, decide whether the plumber may call me again.”

If the relationship continues, U can extend the authority, issue another
authority, permit a longer service window, or convert B into an ordinary
contact.

So the system does not try to predict in advance whether U will appreciate
every future call. It separates identifier possession from current
communication authority.

On your specific questions:

What is D?

D is a discovery or transaction intermediary.

Examples of the class could include a map/business-search service,
local-services marketplace, insurer/home-services application,
classified-ad service, professional directory, etc.

Google Maps/Search is an understandable example of the class of service I
mean, although I am not suggesting that Google currently implements this
mechanism.

The same question arises whenever an intermediary introduces two parties
but disclosure of a permanent telephone number is undesirable.

How does D know which G is appropriate for U?

I agree that my first sequence assumed this away.

There needs to be a discovery mechanism.

For example, when U creates the enquiry-side communication capability, U’s
communications provider or account could associate it with a grant-service
identifier or authority realm.

Conceptually:

enquiry handle
    ->
authority realm / resolver
    ->
G

The originating side should not require bilateral configuration with every
possible G.

If every plumber or marketplace must integrate individually with every
recipient’s grant provider, the architecture does not scale as an Internet
protocol.

I have intentionally not fixed the discovery syntax yet because that seems
like one of the protocol questions that needs discussion.

Where does U’s communication policy come from?

I think I mixed two different things together in the earlier description.

There is a standing recipient policy, and there is a per-enquiry decision.

Standing policy might contain relatively mechanical constraints such as:

enquiry-based contact enabled/disabled
permitted channels
quiet hours
maximum authority lifetime
whether transfer to another sender is permitted
revocation behavior
whether renewal may be requested

That policy could reside with a carrier, communications provider,
OS/account-level communication service, or another grant service selected
by U.

Separately, when U presses:

“Request callback from this plumber”

U is making a specific authorization decision at that moment:

B may contact me regarding enquiry E.

The standing policy constrains what may be issued. The per-enquiry action
supplies the specific business and context.

I agree that a permanent communications policy should not try to predict
something like:

“Will I appreciate this plumber calling at 14:00 tomorrow?”

That is too subjective and dynamic.

Does D retain G1?

Not necessarily.

There are at least two possible models:

   1. G1 is a self-contained authenticated authorization object; or
   2. G1 is an opaque reference to authoritative state maintained by G.

In the second case D only needs to convey the reference.

Current state such as:

valid
revoked
expired
consumed / completed
renewed

can remain authoritative at G or at the enforcement service.

That model may also make immediate revocation easier.

Is this a token plus a human-usable identifier?

Conceptually, yes, but I would keep the two objects distinct:

H  = visible/query-scoped communication handle
G1 = authenticated communication authority,
     or a reference to that authority

Possession of H alone MUST NOT be sufficient communication authority.

That distinction is central.

The ordinary telephone-number model often combines several roles:

identifier
routability
practical ability to attempt communication

The proposal separates those roles.

How does B know what U wants?

Through D/application semantics, not through G1 itself.

For example:

Enquiry E:
    kitchen pipe leaking;
    user requests quotation.

G1 separately states, in machine-enforceable terms:

B may contact U regarding E.

I would not expect SIP signaling or an authorization object to carry the
complete plumbing request.

The enquiry identifier only binds the communication authority to the
application transaction so that the context cannot later be substituted
independently.

Must B know G?

Ideally no.

B should not need to know whether U uses carrier A, carrier B, an OS
communication broker, or another grant provider.

B’s originating communications service should be able to resolve the
authority using common discovery and carriage/retrieval semantics.

Again, if every business must integrate separately with every G, I would
consider that a failure of the architecture.

Who chooses voice or messaging?

U can authorize a bounded set of channels:

allowed-channels = {voice, messaging}

B may then choose one of those permitted channels.

The actual communication attempt might therefore be:

sender = B
recipient = U
enquiry = E
channel = voice

The terminating side checks that voice is within the authority granted for
E.

So I do not think G1 necessarily needs to select one immutable carriage in
advance.

Does carriage require new support?

Yes.

If the whole mechanism exists only inside one marketplace, it can be
implemented as an application-local callback system.

For this to become an interoperable Internet/communications mechanism, the
originating and terminating infrastructure need some common way to:

discover the authority,
convey or reference it,
authenticate it,
obtain current state,
and enforce it before recipient-visible communication occurs.

I left the exact carriage open because I do not yet want to prejudge
whether the appropriate mechanism is:

a SIP extension,
an authenticated signaling claim,
URI/handle resolution,
pre-INVITE authorization retrieval,
or some combination.

But your interpretation is correct: the terminating enforcement point needs
enough authenticated information to make the decision before ringing,
notification, accepted session, or equivalent recipient-visible effect.

That is new machinery.

The architectural question is whether separating persistent identity from
current reachability authority provides enough benefit to justify
interoperable machinery rather than leaving this entirely to individual
applications.

What about the two-attempt limit?

I agree that it is the wrong primary abstraction for this use case.

A more realistic authority might simply be:

business = B
enquiry = E
channels = voice or messaging
valid-until = tomorrow 20:00
revocable = yes

Optional abuse controls may exist, but they are secondary.

The protocol would also need to distinguish carefully between:

SIP/network retransmission,
unsuccessful human contact attempt,
successfully established communication,
and a genuinely new communication after a completed interaction.

Those should not automatically consume authority in the same way.

So I think your questions point to a better worked example:

an enquiry-specific callback authority with a realistic validity period,
explicit discovery of G, explicit renewal/revocation, and a clear
distinction between enquiry information and communication authority.

They also identify four areas the draft needs to make much more concrete:

   1. discovery of G;
   2. separation of standing policy from per-enquiry authorization;
   3. handle/authority resolution and carriage; and
   4. lifecycle semantics after initial contact.

That seems like a much better basis for deciding whether there is actually
an IETF protocol problem here.

Thanks,
Sangam




On Mon, 31 Aug 2026 at 11:41 PM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:

> On 8/31/26 12:20 PM, Sangam Das wrote:
> > Dear Paul,
> >
> > Agreed. Below is use case 1 as participants, order, and inputs. Two
> > sibling cases use the same sequence.
> >
> > *Use case 1 — map enquiry*
>
> Lets just focus on this one for now.
>
> What is the user's goal? It seems like he must want to negotiate with a
> plumber to obtain some plumbing service. I would think the
> straightforward way to do this would be to call the voice number of the
> plumber and talk with him. This is different from that.
>
> Perhaps the user visits the web site of the plumber, fills out a form
> describing what he needs, and leaves some sort of contact information so
> the plumber can call him back. Is that it?
>
> > Participants:
> >
> > U  user / intended recipient
> > D  map or directory service
> > G  grant service (may be part of D, a carrier, or recipient-side)
> > B  business / plumber seeking to contact U
> > T  terminating enforcement point (SBC, SIP AS, or CPaaS)
> >
> > *Order*
> >
> >  1. U searches D and selects “contact” for B.
> >     Input: current search result identifying B.
> >  2. D asks G for communication authority.
> >     Input:
> >
> >     sender = B
> >     recipient = U
> >     purpose = enquiry-id
> >     channel = voice or messaging
> >     expiry = now + 30 minutes
> >     max-attempts = 2
>
> I don't think this is realistic for any plumber I know.
> Its really hard to predict when the plumber might get around to calling
> back - it might easily not be till the end of the day, or tomorrow
> morning. And U might not be available continuously during that time, so
> it might take more that two attempts to find a time when U & B are
> concurrently available.
>
> Can you give a real world example of D? Google search?
>
> Also, How does D know what G is appropriate for contacting U?
>
> >  3. G checks U’s current communication policy. If permitted, G creates
> >     grant G1 covering those fields.
>
> How? Presumably this U must have previously set up this communication
> policy. Can you explain this process, and the sorts of things U should
> enter into it, and where it resides?
>
> I gather that D must retain GI as persistent state, until the contact is
> completed or expires?
>
> >     Output: G1 or a reference to G1, plus a visible handle that is not
> >     by itself general authority to reach U.
>
> A token and a human-usable identifier for it?
>
> >     The sender, recipient, purpose identifier, channel, expiry, and
> >     attempt limit must be authenticated as part of G1, or authenticated
> >     state referenced by G1. They must not be caller-supplied decoration
> >     that can be changed independently.
> >
> >  4. D shows B a “call / message user” control associated with G1.
> >     Input: visible handle and G1.
>
> How? This is the first B has heard of U. So this presumably must
> describe what it is that U wants. In the real world today, this is
> likely to be a voicemail message, or an email.
>
> Also, must B have prior knowledge of G? (Presumably different users may
> choose to use different grantor services.)
>
> >  5. B initiates the call or message.
> >     Input: handle plus G1 or a reference to G1. >     Carriage remains
> open: SIP header, PASSporT-related claim, or
> >     pre-INVITE authorization retrieval. Origin may separately be
> >     STIR-attested.
>
> Apparently G1 must specify the sort of carriage, chosen by B from
> alternatives offered by U. Where does all of this get set up?
>
> >  6. T receives the request before ringing, recipient notification, or
> >     session acceptance.
> >
> >     Input: signaling, G1 / grant reference, and authenticated origin.
>
> So whatever carriage is used must have support for conveying G1, and
> acting on it.
>
> >     T verifies that G1:
> >
> >     exists and is authentic;
> >     is unexpired and unrevoked;
> >     has remaining attempt authority;
> >     is bound to authenticated sender B;
> >     identifies U as recipient;
> >     authorizes the requested channel;
> >     carries the same authenticated purpose identifier required for this
> >     act; and
> >     has not already been consumed beyond its permitted use.
>
> I gather support for grants like this is something new that has to be
> created and deployed?
>
> >     T is not required to infer whether the human conversation really
> >     concerns “plumbing”; the semantic definition and issuance policy for
> >     |enquiry-id| belong to the policy/application layer. The protocol
> >     requirement is that the purpose identifier used for authorization
> >     cannot be substituted after grant issuance.
> >
> >  7. Decision.
> >
> >     Success: T permits ringing or delivery and consumes or reserves one
> >     logical communication attempt.
> >
> >     Failure: T rejects, for example with an appropriate SIP failure
> >     response. No ringing, recipient notification, accepted session, or
> >     media allocation is released beyond T through the controlled path.
> >
> >     A SIP retransmission of the same logical attempt would not itself
> >     consume another quota unit; retransmit-versus-new-attempt semantics
> >     would need to be defined by the protocol.
> >
> >  8. After 30 minutes, revocation, or two consumed logical attempts, B
> >     may still hold the visible handle. That possession does not create a
> >     path to U. A later contact requires new authority.
>
> All this is to prevent the plumber from calling me back again?
>
> ISTM that there are both cases where I would appreciate the call, and
> where I wouldn't. I doubt I could reasonably describe this in advance in
> my communications policy.
>
> I don't think I can meaningfully say more until I read your followup to
> the above.
>
>         Thanks,
>         Paul
>
>