alarmcext = "BEGIN" ":" "VALARM" CRLF *alarmprop *alarm-subcomp "END" ":" "VALARM" CRLF alarmprop = ( ; the following are REQUIRED ; but MUST NOT occur more than once action / trigger / ; one set of action properties MUST be ; present and MUST match the action specified ; in the ACTION property actionprops / ; the following are OPTIONAL ; and MAY occur more than once x-prop / iana-prop ) actionprops = *audiopropext / *disppropext / *emailpropext audiopropext = ( ; 'duration' and 'repeat' are both OPTIONAL ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat / ; the following is OPTIONAL ; but MUST NOT occur more than once attach ) disppropext = ( ; the following are REQUIRED ; but MUST NOT occur more than once description / ; 'duration' and 'repeat' are both OPTIONAL ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat ) emailpropext = ( ; the following are all REQUIRED ; but MUST NOT occur more than once description / summary / ; the following is REQUIRED ; and MAY occur more than once attendee / ; 'duration' and 'repeat' are both OPTIONAL ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat ; the following is OPTIONAL ; and MAY occur more than once attach ) alarm-subcomp = ( ; the following are OPTIONAL ; and MAY occur more than once x-comp / iana-comp ) alarmprop =/ ( ; the following is OPTIONAL ; but MUST NOT occur more than once uid ) alarmprop =/ ( ; the following is OPTIONAL ; and MAY occur more than once related ) alarmprop =/ ( ; the following is OPTIONAL ; but MUST NOT occur more than once acknowledged ) acknowledged = "ACKNOWLEDGED" *acknowledgedparam ":" datetime CRLF acknowledgedparam = ( ; the following is OPTIONAL ; and MAY occur more than once (";" other-param) ) alarmprop =/ ( ; the following is OPTIONAL ; but MUST NOT occur more than once proximity ) alarm-subcomp =/ ( ; the following is OPTIONAL ; and MAY occur more than once but only ; when a PROXIMITY property is also present locationc ) proximity = "PROXIMITY" *proximityparam ":" proximityvalue CRLF proximityparam = ( ; the following is OPTIONAL ; and MAY occur more than once (";" other-param) ) proximityvalue = "ARRIVE" / "DEPART" / "CONNECT" / "DISCONNECT" / iana-token / x-name