xeps icon indicating copy to clipboard operation
xeps copied to clipboard

XEP-0166: Relax transport element requirement

Open Ri0n opened this issue 6 years ago • 6 comments

It's possible a responder may want to replace transport before session/content accept. In this case it's necessary to send initial transport offer twice (with replace and with accept) which basically looks wrong. Instead it's better to omit transport element when it was already negotiated.

This change probably needs ns bump.

Ri0n avatar Jun 11 '19 17:06 Ri0n

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jun 12 '19 14:06 CLAassistant

hey @Ri0n

I don't think this is the correct way to do it. session-initiate is always the first message in a jingle session and the only thing that can create a session id, see https://xmpp.org/extensions/xep-0166.html#concepts This means you can't do a transport-replace earlier as you don't have a session-id.

Now transport-replace is difficult... XEP-0260 uses this in odd ways to fallback from s5b to ibb. There is no negotiation of the transport to use (even though session-accept says there can be multiple transports but the session-initiate can only contain a single one?!) so this is probably done via disco/caps.

I do think there is something to fix here.

(maybe we should move to standards@ to keep discussions in one place)

fippo avatar Jun 26 '19 09:06 fippo

@fippo I say nothing about session-initiate. It's about session-accept or content-accept (when session was already accepted before) and xep-0166 says we can do a lot of negotiation before session-accept. So nothing wrong is here. We can do transport-replace before session-accept.

Regarding multiple transports in session-initiate/accept there is a way to add multiple content elements with same name but different transports. Basically I already implemented a support for this in Psi (for incoming requests). But none of XEPs says it's a valid case explicitly.

a standards@ thread is already started https://mail.jabber.org/pipermail/standards/2019-June/036204.html

Ri0n avatar Jun 26 '19 09:06 Ri0n

I say nothing about session-initiate

Ah, the spec is written in confusing ways. The section where you made the first change and that specifies what elements are contained in the is labelled Initiation and talks about the session-initiate but in a way that makes it sound a bit like its about the content element in general. session-initiate shall always have a transport element

Moving to standards@ for the rest

fippo avatar Jun 26 '19 10:06 fippo

Oh. maybe I did the change a little bit blindly. I'll review/change it. Yep let's keep discussing at standards@

Ri0n avatar Jun 26 '19 10:06 Ri0n

It was mentioned already, but technical discussion must not take place in the issue tracker, but on the mailing list.

~~I’ll close this for now, please re-open once list discussion has settled.~~

horazont avatar Jun 26 '19 14:06 horazont

Council has rejected this modification.

iNPUTmice avatar Jul 19 '23 14:07 iNPUTmice