paul@933 | 1 | = Incoming Messages = |
paul@933 | 2 | |
paul@934 | 3 | When messages are received by the MTA for a recipient, imip-agent employs |
paul@934 | 4 | message rules in the MTA to provide handlers to inspect any calendar-related |
paul@934 | 5 | content and to update its records. Different handlers are provided to process |
paul@934 | 6 | incoming messages depending on the nature of the eventual recipient: |
paul@933 | 7 | |
paul@933 | 8 | People:: Handled by the person handler |
paul@933 | 9 | Resources:: Handled by the resource handler |
paul@933 | 10 | |
paul@933 | 11 | The different processing is described below. |
paul@933 | 12 | |
paul@933 | 13 | == Events == |
paul@933 | 14 | |
paul@933 | 15 | For people, the operation of the person handler is as follows: |
paul@933 | 16 | |
paul@933 | 17 | {{{#!table |
paul@934 | 18 | <rowspan="2"> '''Method''' |
paul@934 | 19 | ||<rowspan="2"> '''Effect on Objects''' |
paul@934 | 20 | ||<colspan="2"> '''Effect on Free/Busy''' |
paul@934 | 21 | ||<rowspan="2"> '''Effect on Request Queue''' |
paul@933 | 22 | == |
paul@933 | 23 | ''for recipient's own record'' || ''for recipient's record of others'' |
paul@933 | 24 | == |
paul@934 | 25 | `CANCEL` |
paul@934 | 26 | || Set the state of the cancelled event, retaining it for future reference |
paul@934 | 27 | || Remove record if the event is cancelled for the attendee (even if the event |
paul@934 | 28 | .. is not completely cancelled) |
paul@934 | 29 | ||<rowspan="3"> Update the recipient's free/busy record for the organiser |
paul@934 | 30 | || Remove any queue entry |
paul@933 | 31 | == |
paul@934 | 32 | `PUBLISH` |
paul@934 | 33 | ||<rowspan="2"> Add or update object, removing specific recurrences of |
paul@934 | 34 | .. recurring events |
paul@934 | 35 | ||<rowspan="3"> |
paul@934 | 36 | || No modification to the queue |
paul@933 | 37 | == |
paul@934 | 38 | `REQUEST` |
paul@934 | 39 | || Add a queue entry for the event |
paul@933 | 40 | == |
paul@934 | 41 | `REPLY` |
paul@934 | 42 | || Merge attendee participation information |
paul@934 | 43 | || Update the recipient's free/busy record for each of the attendees |
paul@934 | 44 | || No modification to the queue |
paul@933 | 45 | }}} |
paul@933 | 46 | |
paul@934 | 47 | The effect of the person handler is to ensure that the user's record of the |
paul@934 | 48 | free/busy status for ''other participants'' reflects the consequences of those |
paul@934 | 49 | participants' stated attendance of events, and for the object records to |
paul@934 | 50 | reflect the most recent state of each event. |
paul@933 | 51 | |
paul@934 | 52 | Note that the free/busy information for a recipient of an event is not |
paul@934 | 53 | generally changed when receiving a message. Such information is only |
paul@934 | 54 | definitively changed by recipients themselves when responding to incoming |
paul@934 | 55 | messages, and the [[../OutgoingMessages|outgoing messages]] processing is |
paul@934 | 56 | concerned with updating that information as such responses are sent. |
paul@933 | 57 | |
paul@933 | 58 | For resources, the operation of the resource handler is as follows: |
paul@933 | 59 | |
paul@933 | 60 | {{{#!table |
paul@934 | 61 | <rowspan="2"> '''Method''' |
paul@934 | 62 | ||<rowspan="2"> '''Effect on Objects''' |
paul@934 | 63 | ||<colspan="2"> '''Effect on Free/Busy''' |
paul@934 | 64 | ||<rowspan="2"> '''Effect on Request Queue''' |
paul@933 | 65 | == |
paul@933 | 66 | ''for recipient's own record'' || ''for recipient's record of others'' |
paul@933 | 67 | == |
paul@934 | 68 | `CANCEL` |
paul@934 | 69 | || Set the state of the cancelled event, retaining it for future reference |
paul@934 | 70 | || Remove record if the event is cancelled for the attendee (even if the event |
paul@934 | 71 | .. is not completely cancelled) |
paul@934 | 72 | ||<rowspan="4"> No records of other participants are employed by the resource |
paul@934 | 73 | .. handler |
paul@934 | 74 | ||<rowspan="4"> No queue is employed by the resource handler |
paul@933 | 75 | == |
paul@934 | 76 | `PUBLISH` |
paul@934 | 77 | ||<colspan="2"> Ignored by the resource handler |
paul@933 | 78 | == |
paul@934 | 79 | `REQUEST` |
paul@934 | 80 | || Add or update object, removing specific recurrences of recurring events |
paul@934 | 81 | || Attempt to schedule the event, creating or updating records for the |
paul@934 | 82 | .. recipient |
paul@933 | 83 | == |
paul@934 | 84 | `REPLY` |
paul@934 | 85 | ||<colspan="2"> Ignored by the resource handler |
paul@933 | 86 | }}} |
paul@933 | 87 | |
paul@933 | 88 | == Other Object Types == |
paul@933 | 89 | |
paul@933 | 90 | Other object types are not handled. |