Velocity-based presence detection and routing rule selection for plurality of mobile device users
A velocity of a device of a user is detected using one or more sensors of the device. If the detected velocity is within a first range, a determination is made that the user is driving. A presence update is transmitted to a server based on the detected velocity. The detected velocity may include altitude data. The server receives the presence update and updates a presence status based on the presence update. The server transmits a user interface (UI) output to a second device to update a user presence indication on a display of the second device.
1. A method, comprising:
detecting a velocity of a mobile device of a user using one or more sensors of the mobile device;
determining whether the detected velocity is within a first range, the first range associated with a driving velocity;
responsive to a determination that the detected velocity is within the first range, determining that the user is driving; and
transmitting a presence update associated with a travel status to a server of a unified communications as a service (UCaaS) platform based on the detected velocity to update a user presence indicator on a remote client display and to assert a communication routing rule that is based on a modality of an incoming communication, wherein the communication routing rule indicates to route the incoming communication to a first device associated with a first user when the modality is a first modality and to route the incoming communication to a second device associated with a second user when the modality is a second modality.
2. The method of claim 1 , wherein the presence update indicates that the user is driving.
3. The method of claim 1 , comprising:
determining that the detected velocity exceeds a velocity threshold by comparing the detected velocity to the velocity threshold; and
determining that the user is flying based on the determination that the detected velocity exceeds the threshold.
4. The method of claim 1 , comprising:
determining that the detected velocity exceeds a velocity threshold by comparing the detected velocity to the velocity threshold; and
determining that the user is flying based on the determination that the detected velocity exceeds the threshold, wherein the presence update indicates that the user is flying.
5. The method of claim 1 , comprising:
detecting an altitude of the mobile device using the one or more sensors of the mobile device;
determining that the detected altitude exceeds an altitude threshold; and
determining that the user is flying based on the determination that the detected altitude exceeds the altitude threshold.
6. The method of claim 1 , wherein the communication routing preference is to route an incoming call to a device of a colleague of the user.
7. The method of claim 1 , comprising:
determining that the detected velocity exceeds a velocity threshold by comparing the detected velocity to the velocity threshold, wherein the velocity threshold is based on a velocity that is outside a normal driving range or capability of an automobile.
8. The method of claim 1 , wherein the first range is based on a normal driving range or capability of an automobile.
9. A mobile device comprising:
one or more sensors configured to detect a velocity of the mobile device;
a processor configured to:
determine whether the detected velocity is within a first range, the first range associated with a driving velocity; and
responsive to a determination that the detected velocity is within the first range, determine that a user is driving; and
a transmitter configured to transmit a presence update associated with a travel status to a server of a unified communications as a service (UCaaS) platform based on the detected velocity to update a user presence indicator on a remote client display and to assert a communication routing rule that is based on a modality of an incoming communication, wherein the communication routing rule indicates to route the incoming communication to a first device associated with a first user when the modality is a first modality and to route the incoming communication to a second device associated with a second user when the modality is a second modality.
10. The mobile device of claim 9 , wherein the presence update indicates that the user is driving.
11. The mobile device of claim 9 , wherein the processor is configured to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold; and
determine that the user is flying based on the determination that the velocity exceeds the threshold.
12. The mobile device of claim 9 , wherein the processor is configured to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold; and
determine that the user is flying based on the determination that the velocity exceeds the threshold, wherein the presence update indicates that the user is flying.
13. The mobile device of claim 9 , wherein the processor is configured to determine that an altitude exceeds an altitude threshold responsive to the one or more sensors detecting the altitude.
14. The mobile device of claim 9 , wherein the processor is configured to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold, wherein the velocity threshold is based on a velocity that is outside a normal driving range or capability of an automobile; and
determine that the user is flying based on the determination that the velocity exceeds the threshold.
15. A non-transitory computer-readable medium comprising instructions stored on a memory, that when executed by a processor, cause the processor to:
detect a velocity of a mobile device of a user using one or more sensors of the mobile device,
determine whether the detected velocity is within a first range, the first range associated with a driving velocity;
responsive to a determination that the detected velocity is within the first range, determine that the user is driving; and
transmit a presence update associated with a travel status to a server of a unified communications as a service (UCaaS) platform based on the detected velocity to update a user presence indicator on a remote client display and to assert a communication routing rule that is based on a modality of an incoming communication, wherein the communication routing rule indicates to route the incoming communication to a first device associated with a first user when the modality is a first modality and to route the incoming communication to a second device associated with a second user when the modality is a second modality.
16. The non-transitory computer-readable medium of claim 15 , wherein the presence update indicates that the user is driving.
17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor, cause the processor to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold; and
determine that the user is flying based on the determination that the velocity exceeds the threshold.
18. The non-transitory computer-readable medium of claim 15 , wherein the processor is further configured to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold, and
determine that the user is flying based on the determination that the velocity exceeds the threshold, wherein the presence update indicates that the user is flying.
19. The non-transitory computer-readable medium of claim 15 , wherein the presence update includes an altitude.
20. The non-transitory computer-readable medium of claim 15 , wherein the processor is further configured to:
determine that the velocity exceeds a velocity threshold by comparing the velocity to the velocity threshold, wherein the velocity threshold is based on a velocity that is outside a normal driving range or capability of an automobile; and
determine that the user is flying based on the determination that the velocity exceeds the threshold.