paul@933 | 1 | = Incoming Messages = |
paul@933 | 2 | |
paul@933 | 3 | 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: |
paul@933 | 4 | |
paul@933 | 5 | People:: Handled by the person handler |
paul@933 | 6 | Resources:: Handled by the resource handler |
paul@933 | 7 | |
paul@933 | 8 | The different processing is described below. |
paul@933 | 9 | |
paul@933 | 10 | == Events == |
paul@933 | 11 | |
paul@933 | 12 | For people, the operation of the person handler is as follows: |
paul@933 | 13 | |
paul@933 | 14 | {{{#!table |
paul@933 | 15 | <rowspan="2"> '''Method''' || |
paul@933 | 16 | <rowspan="2"> '''Effect on Objects''' || |
paul@933 | 17 | <colspan="2"> '''Effect on Free/Busy''' || |
paul@933 | 18 | <rowspan="2"> '''Effect on Request Queue''' |
paul@933 | 19 | == |
paul@933 | 20 | ''for recipient's own record'' || ''for recipient's record of others'' |
paul@933 | 21 | == |
paul@933 | 22 | `CANCEL` || |
paul@933 | 23 | Set the state of the cancelled event, retaining it for future reference || |
paul@933 | 24 | Remove record if the event is cancelled for the attendee (even if the event is not completely cancelled) || |
paul@933 | 25 | <rowspan="3"> Update the recipient's free/busy record for the organiser || |
paul@933 | 26 | Remove any queue entry |
paul@933 | 27 | == |
paul@933 | 28 | `PUBLISH` || |
paul@933 | 29 | <rowspan="2"> Add or update object, removing specific recurrences of recurring events || |
paul@933 | 30 | <rowspan="3"> || |
paul@933 | 31 | No modification to the queue |
paul@933 | 32 | == |
paul@933 | 33 | `REQUEST` || |
paul@933 | 34 | Add a queue entry for the event |
paul@933 | 35 | == |
paul@933 | 36 | `REPLY` || |
paul@933 | 37 | Merge attendee participation information || |
paul@933 | 38 | Update the recipient's free/busy record for each of the attendees || |
paul@933 | 39 | No modification to the queue |
paul@933 | 40 | }}} |
paul@933 | 41 | |
paul@933 | 42 | 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. |
paul@933 | 43 | |
paul@933 | 44 | 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. |
paul@933 | 45 | |
paul@933 | 46 | For resources, the operation of the resource handler is as follows: |
paul@933 | 47 | |
paul@933 | 48 | {{{#!table |
paul@933 | 49 | <rowspan="2"> '''Method''' || |
paul@933 | 50 | <rowspan="2"> '''Effect on Objects''' || |
paul@933 | 51 | <colspan="2"> '''Effect on Free/Busy''' || |
paul@933 | 52 | <rowspan="2"> '''Effect on Request Queue''' |
paul@933 | 53 | == |
paul@933 | 54 | ''for recipient's own record'' || ''for recipient's record of others'' |
paul@933 | 55 | == |
paul@933 | 56 | `CANCEL` || |
paul@933 | 57 | Set the state of the cancelled event, retaining it for future reference || |
paul@933 | 58 | Remove record if the event is cancelled for the attendee (even if the event is not completely cancelled) || |
paul@933 | 59 | <rowspan="4"> No records of other participants are employed by the resource handler || |
paul@933 | 60 | <rowspan="4"> No queue is employed by the resource handler |
paul@933 | 61 | == |
paul@933 | 62 | `PUBLISH` || |
paul@933 | 63 | <colspan="2"> Ignored by the resource handler |
paul@933 | 64 | == |
paul@933 | 65 | `REQUEST` || |
paul@933 | 66 | Add or update object, removing specific recurrences of recurring events || |
paul@933 | 67 | Attempt to schedule the event, creating or updating records for the recipient |
paul@933 | 68 | == |
paul@933 | 69 | `REPLY` || |
paul@933 | 70 | <colspan="2"> Ignored by the resource handler |
paul@933 | 71 | }}} |
paul@933 | 72 | |
paul@933 | 73 | == Other Object Types == |
paul@933 | 74 | |
paul@933 | 75 | Other object types are not handled. |