imip-agent

docs/wiki/IncomingMessages

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