1.8 KiB
title | layout | work-in-progress | copyrights | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Extended Invites | spec | true |
|
Notes for implementing work-in-progress version
This is a work-in-progress specification.
Software implementing this work-in-progress specification MUST NOT use the unprefixed extended-invite
capability name. Instead, implementations SHOULD use the draft/extended-invite
capability name to be interoperable with other software implementing a compatible work-in-progress version.
The final version of the specification will use an unprefixed capability name.
Introduction
This specification extends the INVITE
command to allow for an optional reason. The reason can be used to give more context around why the invite was sent.
Implementation
Servers implementing this spec MUST also implement the invite-notify
capability. Clients SHOULD negotiate the invite-notify
capability when negotiating extended-invite
.
Capabilities
Clients that have negotiated the extended-invite
capability MAY add a final parameter on an /INVITE
command. This parameter is to give the target user context for the invite. This parameter MUST NOT cause the message to exceed the maximum allowable line length of the server.
Servers that implement extended-invite
MUST accept INVITE
commands with three parameters. If the user receiving the invite has negotiated extended-invite
, the server sends the final parameter to that user. Additionally, the final parameter is added to the INVITE
command sent to any users that have negotiated both the extended-invite
and invite-notify
capabilities.
Examples
For example:
C: INVITE emerson #project-test :We're testing out our project in here!
S: n!u@h INVITE emerson #project-test :We're testing out our project in here!