1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/wiki/IncomingMessages Mon Oct 26 13:49:51 2015 +0100
1.3 @@ -0,0 +1,75 @@
1.4 += Incoming Messages =
1.5 +
1.6 +When messages are received by the MTA for a recipient, imip-agent employs message rules in the MTA to provide handlers to inspect any calendar-related content and to update its records. Different handlers are provided to process incoming messages depending on the nature of the eventual recipient:
1.7 +
1.8 + People:: Handled by the person handler
1.9 + Resources:: Handled by the resource handler
1.10 +
1.11 +The different processing is described below.
1.12 +
1.13 +== Events ==
1.14 +
1.15 +For people, the operation of the person handler is as follows:
1.16 +
1.17 +{{{#!table
1.18 +<rowspan="2"> '''Method''' ||
1.19 +<rowspan="2"> '''Effect on Objects''' ||
1.20 +<colspan="2"> '''Effect on Free/Busy''' ||
1.21 +<rowspan="2"> '''Effect on Request Queue'''
1.22 +==
1.23 +''for recipient's own record'' || ''for recipient's record of others''
1.24 +==
1.25 +`CANCEL` ||
1.26 +Set the state of the cancelled event, retaining it for future reference ||
1.27 +Remove record if the event is cancelled for the attendee (even if the event is not completely cancelled) ||
1.28 +<rowspan="3"> Update the recipient's free/busy record for the organiser ||
1.29 +Remove any queue entry
1.30 +==
1.31 +`PUBLISH` ||
1.32 +<rowspan="2"> Add or update object, removing specific recurrences of recurring events ||
1.33 +<rowspan="3"> ||
1.34 +No modification to the queue
1.35 +==
1.36 +`REQUEST` ||
1.37 +Add a queue entry for the event
1.38 +==
1.39 +`REPLY` ||
1.40 +Merge attendee participation information ||
1.41 +Update the recipient's free/busy record for each of the attendees ||
1.42 +No modification to the queue
1.43 +}}}
1.44 +
1.45 +The effect of the person handler is to ensure that the user's record of the free/busy status for ''other participants'' reflects the consequences of those participants' stated attendance of events, and for the object records to reflect the most recent state of each event.
1.46 +
1.47 +Note that the free/busy information for a recipient of an event is not generally changed when receiving a message. Such information is only definitively changed by recipients themselves when responding to incoming messages, and the [[../OutgoingMessages|outgoing messages]] processing is concerned with updating that information as such responses are sent.
1.48 +
1.49 +For resources, the operation of the resource handler is as follows:
1.50 +
1.51 +{{{#!table
1.52 +<rowspan="2"> '''Method''' ||
1.53 +<rowspan="2"> '''Effect on Objects''' ||
1.54 +<colspan="2"> '''Effect on Free/Busy''' ||
1.55 +<rowspan="2"> '''Effect on Request Queue'''
1.56 +==
1.57 +''for recipient's own record'' || ''for recipient's record of others''
1.58 +==
1.59 +`CANCEL` ||
1.60 +Set the state of the cancelled event, retaining it for future reference ||
1.61 +Remove record if the event is cancelled for the attendee (even if the event is not completely cancelled) ||
1.62 +<rowspan="4"> No records of other participants are employed by the resource handler ||
1.63 +<rowspan="4"> No queue is employed by the resource handler
1.64 +==
1.65 +`PUBLISH` ||
1.66 +<colspan="2"> Ignored by the resource handler
1.67 +==
1.68 +`REQUEST` ||
1.69 +Add or update object, removing specific recurrences of recurring events ||
1.70 +Attempt to schedule the event, creating or updating records for the recipient
1.71 +==
1.72 +`REPLY` ||
1.73 +<colspan="2"> Ignored by the resource handler
1.74 +}}}
1.75 +
1.76 +== Other Object Types ==
1.77 +
1.78 +Other object types are not handled.