One branding module (types::brand!) supplies the name to every protocol greeting, the HTTP realm, the startup banner, Received headers, the user agent, the IMAP ID response and calendar PRODIDs. The sign-in and calendar pages take ihasmail's palette and font and the INBUXA logo, and calendar emails embed the INBUXA lockup. Default calendar and address book names follow. Protocol identifiers (urn:stalwart:jmap, vnd.stalwart Sieve extensions) and upstream copyright notices are unchanged.
219 lines
7.5 KiB
Plaintext
219 lines
7.5 KiB
Plaintext
# RFC6638 - Simple Event Scheduling
|
|
|
|
# Organizer Inviting Multiple Attendees
|
|
> put [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
VERSION:2.0
|
|
PRODID:-//Example Corp.//CalDAV Client//EN
|
|
BEGIN:VEVENT
|
|
UID:9263504FD3AD
|
|
SEQUENCE:0
|
|
DTSTAMP:20090602T185254Z
|
|
DTSTART:20090602T160000Z
|
|
DTEND:20090602T170000Z
|
|
TRANSP:OPAQUE
|
|
SUMMARY:Lunch
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:[email protected]
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;RSVP=TRUE:mailto:[email protected]
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
> expect
|
|
from: [email protected]
|
|
to: [email protected], [email protected], [email protected]
|
|
summary: invite
|
|
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: Some("Cyrus Daboo"), is_organizer: true }, ItipParticipant { email: "[email protected]", name: Some("Bernard Desruisseaux"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Mike Douglass"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Wilfredo Sanchez Vega"), is_organizer: false }])
|
|
summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 })
|
|
summary.summary: Text("Lunch")
|
|
BEGIN:VCALENDAR
|
|
METHOD:REQUEST
|
|
PRODID:-//INBUXA//INBUXA Server//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
TRANSP:OPAQUE
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@
|
|
example.com
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;RSVP=TRUE;PARTSTAT=NEEDS-ACTI
|
|
ON:mailto:[email protected]
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION
|
|
;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:0
|
|
SEQUENCE:0
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
# Make sure the initial request leaves the sequence number at 0
|
|
> get [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
PRODID:-//Example Corp.//CalDAV Client//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
TRANSP:OPAQUE
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@
|
|
example.com
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;RSVP=TRUE:mailto:mike@example
|
|
.org
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION
|
|
;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:1
|
|
SEQUENCE:0
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
# Send iTIP message to attendees
|
|
> send
|
|
|
|
# Make sure the message was received by the attendees
|
|
> get [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
PRODID:-//INBUXA//INBUXA Server//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
TRANSP:OPAQUE
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@
|
|
example.com
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;RSVP=TRUE;PARTSTAT=NEEDS-ACTI
|
|
ON:mailto:[email protected]
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION
|
|
;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:0
|
|
SEQUENCE:0
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
# Wilfredo accepts the invitation
|
|
> put [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
VERSION:2.0
|
|
PRODID:-//Example Corp.//CalDAV Client//EN
|
|
BEGIN:VEVENT
|
|
UID:9263504FD3AD
|
|
SEQUENCE:0
|
|
DTSTAMP:20090602T185254Z
|
|
DTSTART:20090602T160000Z
|
|
DTEND:20090602T170000Z
|
|
TRANSP:OPAQUE
|
|
SUMMARY:Lunch
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:[email protected]
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:[email protected]
|
|
BEGIN:VALARM
|
|
TRIGGER:-PT15M
|
|
ACTION:DISPLAY
|
|
DESCRIPTION:Reminder
|
|
END:VALARM
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
# Make sure the sequence number is not updated
|
|
> get [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
PRODID:-//Example Corp.//CalDAV Client//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
TRANSP:OPAQUE
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@
|
|
example.com
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=
|
|
TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:1
|
|
SEQUENCE:0
|
|
BEGIN:VALARM
|
|
DESCRIPTION:Reminder
|
|
ACTION:DISPLAY
|
|
TRIGGER:-PT15M
|
|
END:VALARM
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
> expect
|
|
from: [email protected]
|
|
to: [email protected]
|
|
summary: rsvp ACCEPTED
|
|
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: Some("Cyrus Daboo"), is_organizer: true }, ItipParticipant { email: "[email protected]", name: Some("Bernard Desruisseaux"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Mike Douglass"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Wilfredo Sanchez Vega"), is_organizer: false }])
|
|
summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 })
|
|
summary.summary: Text("Lunch")
|
|
BEGIN:VCALENDAR
|
|
METHOD:REPLY
|
|
PRODID:-//INBUXA//INBUXA Server//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:0
|
|
SEQUENCE:0
|
|
REQUEST-STATUS:2.0;Success
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
# Send ITIP message to organizer
|
|
> send
|
|
|
|
# Make sure the message was received by the organizer
|
|
> get [email protected] 9263504FD3AD
|
|
BEGIN:VCALENDAR
|
|
PRODID:-//Example Corp.//CalDAV Client//EN
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
SUMMARY:Lunch
|
|
DTEND:20090602T170000Z
|
|
DTSTART:20090602T160000Z
|
|
TRANSP:OPAQUE
|
|
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;
|
|
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
|
|
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@
|
|
example.com
|
|
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;RSVP=TRUE:mailto:mike@example
|
|
.org
|
|
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;
|
|
RSVP=TRUE;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0:mailto:[email protected]
|
|
m
|
|
ORGANIZER;CN="Cyrus Daboo":mailto:[email protected]
|
|
UID:9263504FD3AD
|
|
DTSTAMP:1
|
|
SEQUENCE:0
|
|
END:VEVENT
|
|
END:VCALENDAR
|
|
|
|
|