A method of establishing a communication event between an initiating device and a responding device under the control of a remote communications controller, the method comprising implementing the following steps: in a pre-communication event establishment phase: establishing a secure connection between the initiating device and the remote communications controller, exchanging session key negotiation messages between the initiating device and the remote communications controller via the secure connection to obtain, in an electronic storage location accessible to the initiating device, session key data for use by the initiating device in generating encrypted message payloads that are decryptable by the remote communications controller, wherein the secure connection terminates once the session key data has been obtained; in a subsequent communication event establishment phase: generating, by the initiating device, a communication event request payload for transmission to the remote communications controller; encrypting, by the initiating device, the communication event request payload using the session key data stored in the accessible electronic storage location; and in response to a communication event establishment instruction received at the initiating device after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase, transmitting from the initiating device to the remote communications controller a communication event request comprising the encrypted communication event request payload, thereby causing the remote communications controller to decrypt the encrypted communication event request payload, whereby the communication event between the initiating device and the responding device is established under the control of the remote communications controller based on the decrypted payload. in a pre-communication event establishment phase: establishing a secure connection between the initiating device and the remote communications controller, exchanging session key negotiation messages between the initiating device and the remote communications controller via the secure connection to obtain, in an electronic storage location accessible to the initiating device, session key data for use by the initiating device in generating encrypted message payloads that are decryptable by the remote communications controller, wherein the secure connection terminates once the session key data has been obtained; in a subsequent communication event establishment phase: generating, by the initiating device, a communication event request payload for transmission to the remote communications controller; encrypting, by the initiating device, the communication event request payload using the session key data stored in the accessible electronic storage location; and in response to a communication event establishment instruction received at the initiating device after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase, transmitting from the initiating device to the remote communications controller a communication event request comprising the encrypted communication event request payload, thereby causing the remote communications controller to decrypt the encrypted communication event request payload, whereby the communication event between the initiating device and the responding device is established under the control of the remote communications controller based on the decrypted payload. generating, by the initiating device, a communication event request payload for transmission to the remote communications controller; encrypting, by the initiating device, the communication event request payload using the session key data stored in the accessible electronic storage location; and in response to a communication event establishment instruction received at the initiating device after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase, transmitting from the initiating device to the remote communications controller a communication event request comprising the encrypted communication event request payload, thereby causing the remote communications controller to decrypt the encrypted communication event request payload, whereby the communication event between the initiating device and the responding device is established under the control of the remote communications controller based on the decrypted payload.