Operation to set access rights for another contact on contact data and contcat service information.
This operation is used to grant access rights (or changing them) to other users (contacts) on contact informations and service states of this contact.
Note: The access rights in the ucserver are always a sum of the global, group and personal right lists and what they grant. So removing specific rights with this
operation has no effect if the same rights are granted through global or group rights.
If the operation was executed successfully the result AsnSetDynamicRightsResult is returned.
If an error occured, AsnRequestError is returned.
The access rights list
If a client wants to receive contact data, its logged in contact (= user) has to have access rights granted by the other user to him.
Each user of the ucserver has a list of access rights she gives other users. If someone is in this list, he can see contact data
and/or service states of the user depending on the rights level granted.
Contact rights challenge
In conjunction with the access rights list is the mechanic of the "contact rights challenge".
To get on the access list of another user, the user must request such rights from him or will get them through administrative configuration.
If there is no administrative configuration the other user will be "challenged" to grant or deny rights to the user.
This process is started as soon as a user (challenger) requests the ucserver by calling asnGetAndSubscribePresence on another users ContactID (challengee).
The ucserver checks if there are already given rights and if not, the challenged user gets a new entry in his challenge request list, which then will be
dispatched to all of his clients. These clients should now prompt the user to accept or deny the request and the result will be saved in his access rights list.
On the other side, the challenger will get data and service status after some time or not. There is no extra notification if the challenge was answered or not.
AsnSetDynamicRightsArgument is an Object
|u8sOwnerContactID||string||ContactID of the contact who grants/changes the rights.|
|u8sRemoteContactID||string||ContactID of the contact to give to/change the rights.|
|iDynamicRights||number||Valid values are (taken from AsnPresenceRightsFlags):|
AsnSetDynamicRightsResult is an Object
|iResult||number||Should always be 0 (NO_ERROR).|
|dynamicRights||AsnUserDynamicRights||The resulting rights in the rights list of the contact which rightslist had to be changed.|
AsnRequestError is an Object
|iErrorDetail||number||A number representing the error|
|u8sErrorString||string||A string representing the error|
|optionalParams||AsnOptionalParameters||yes||No optional params yet|