diff --git a/meshchatx/meshchat.py b/meshchatx/meshchat.py index 516762e..9b9db86 100644 --- a/meshchatx/meshchat.py +++ b/meshchatx/meshchat.py @@ -3047,6 +3047,7 @@ class ReticulumMeshChat: "is_mic_muted": self.telephone_manager.telephone.transmit_muted, "is_speaker_muted": self.telephone_manager.telephone.receive_muted, "is_voicemail": self.voicemail_manager.is_recording, + "call_start_time": self.telephone_manager.call_start_time, } return web.json_response( diff --git a/meshchatx/src/backend/telephone_manager.py b/meshchatx/src/backend/telephone_manager.py index 9b967bd..9320aff 100644 --- a/meshchatx/src/backend/telephone_manager.py +++ b/meshchatx/src/backend/telephone_manager.py @@ -6,6 +6,15 @@ from LXST import Telephone class TelephoneManager: + # LXST Status Constants for reference: + # 0: STATUS_BUSY + # 1: STATUS_REJECTED + # 2: STATUS_CALLING + # 3: STATUS_AVAILABLE + # 4: STATUS_RINGING + # 5: STATUS_CONNECTING + # 6: STATUS_ESTABLISHED + def __init__(self, identity: RNS.Identity, config_manager=None): self.identity = identity self.config_manager = config_manager diff --git a/meshchatx/src/backend/voicemail_manager.py b/meshchatx/src/backend/voicemail_manager.py index 91a9f7a..ffa25c3 100644 --- a/meshchatx/src/backend/voicemail_manager.py +++ b/meshchatx/src/backend/voicemail_manager.py @@ -213,7 +213,7 @@ class VoicemailManager: and telephone.active_call and telephone.active_call.get_remote_identity().hash == caller_identity.hash - and telephone.call_status == LXST.Signalling.STATUS_RINGING + and telephone.call_status == 4 # Ringing ): RNS.log( f"Auto-answering call from {RNS.prettyhexrep(caller_identity.hash)} for voicemail",