asnSetDynamicRights

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.

The list can be modified by asnSetDynamicRights and asnRemoveDynamicRights

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.

ArgumentType: AsnSetDynamicRightsArgument

AsnSetDynamicRightsArgument is an Object

Name Type Optional Comment
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):

dynamicRights AsnUserDynamicRights yes

ResultType: AsnSetDynamicRightsResult

AsnSetDynamicRightsResult is an Object

Name Type Optional Comment
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.

ErrorType: AsnRequestError

AsnRequestError is an Object

Name Type Optional Comment
iErrorDetail number A number representing the error

u8sErrorString string A string representing the error

optionalParams AsnOptionalParameters yes No optional params yet

Version 7