object communication. This is used when the event-handling entity supports multiple object access. The AML universal message format carries all the information elements dis- cussed in the previous section, see Fig. 5.48. INVid ::= INTEGER ::= INTEGER ;;= INTEGER ::= INTEGER ::= INTEGER PrimType :=ENUMERATED{request(0),confirm(1),refuse(2),order(3),offer(4),reject(5), invite(6),rep(7),repCnf(8), repRef(9)} ASpid SEQUENCE{PSid OPTIONAL, OPid, PrimType} UniPdu ::= CHOICE{[0]AspPdu,[1]ErrorPdu} AspPdu ::= SEQUENCE {INVid OPTIONAL, EVId, parSet ANY DEFINED BY asp OPTIONAL} EVid ::= SEQUENCE{{CHOICE{SRid,OBid} OPTIONAL, asp ASPid} ErrorPdu :: SEQUENCE(invInError INVid OPTIONAL, Cause Cause ::= ENUMERATED {dupllnv(0),unknownObj(1),unknownOp(2),parSetErr(3),errPrimType(4)} COMMENT Invld is optional since it is not needed for synchronous operations. ErrorPdu is normally used as response only to Request and Order ASPs. Causes for ErrorPdu are: - If duplinv, a previous event with the same INVid is still in progress. The duplicated invocation is dis- carded. - The referred service object is unknown. - The referred operation is unknown. - Errors in the parSet (a more detailed specification may be required). - The primitive type is not one of the ten allowed types. Fig. 5.48 The universal message format For small ASPs, ASN.1+BER causes a considerable overhead. If all or most parameters are size constrained, it may be better to use a generated format, see Sect. 5.7.4. The ROSE protocol defines three PDUs that correspond to the AspPdu. ROSE also defines a PDU that corresponds to the ErrorPDU. This PDU also reports errors 5 Protocol Network Modelling in responses, like in the AML Confirm and Refuse. The ErrorPdu could also be used that way in AML. However, if an operation user receives an erroneous Con- firm or Refuse, it is probably better for the user to break the association to the pro- vider and report to some management entity. The reason is that the provider may have executed an operation other than that intended by the use