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