iachat/app/javascript/dashboard/composables
Sojan Jose 6bdd4f0670
feat(voice): Incoming voice calls [EE] (#12361)
This PR delivers the first slice of the voice channel: inbound call
handling. When a customer calls a configured voice
number, Chatwoot now creates a new conversation and shows a dedicated
call bubble in the UI. As the call progresses
(ringing, answered, completed), its status updates in real time in both
the conversation list and the call bubble, so
agents can instantly see what’s happening. This focuses on the inbound
flow and is part of breaking the larger voice
feature into smaller, functional, and testable units; further
enhancements will follow in subsequent PRs.

references: #11602 , #11481  

## Testing

- Configure a Voice inbox in Chatwoot with your Twilio number.
- Place a call to that number.
- Verify a new conversation appears in the Voice inbox for the call.
- Open it and confirm a dedicated voice call message bubble is shown.
- Watch status update live (ringing/answered); hang up and see it change
to completed in both the bubble and conversation
list.
- to test missed call status, make sure to hangup the call before the
please wait while we connect you to an agent message plays


## Screens

<img width="400" alt="Screenshot 2025-09-03 at 3 11 25 PM"
src="https://github.com/user-attachments/assets/d6a1d2ff-2ded-47b7-9144-a9d898beb380"
/>

<img width="700" alt="Screenshot 2025-09-03 at 3 11 33 PM"
src="https://github.com/user-attachments/assets/c25e6a1e-a885-47f7-b3d7-c3e15eef18c7"
/>

<img width="700" alt="Screenshot 2025-09-03 at 3 11 57 PM"
src="https://github.com/user-attachments/assets/29e7366d-b1d4-4add-a062-4646d2bff435"
/>



<img width="442" height="255" alt="Screenshot 2025-09-04 at 11 55 01 PM"
src="https://github.com/user-attachments/assets/703126f6-a448-49d9-9c02-daf3092cc7f9"
/>

---------

Co-authored-by: Muhsin <muhsinkeramam@gmail.com>
2025-09-08 22:35:23 +05:30
..
chatlist fix: sentry issues (#10695) 2025-01-16 15:49:48 +05:30
commands feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
spec feat: Add QR codes for WhatsApp, Messenger, and Telegram on inbox finish page (#12257) 2025-08-27 11:53:03 +05:30
utils feat: Add new sidebar for Chatwoot V4 (#10291) 2024-10-23 18:32:37 -07:00
emitter.js feat: Reconnect logic (#9453) 2024-06-03 15:54:19 +05:30
index.js chore: fix circleci on vite build (#10214) 2024-10-07 15:27:41 +05:30
store.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
useAccount.js feat: auto resolve label option and fixes (#11541) 2025-06-04 14:53:24 +05:30
useAdmin.js feat: Replace alertMixin usage with useAlert (#9793) 2024-07-23 16:41:11 +05:30
useAgentsList.js fix: Translate "None" option in agent assignment dropdown (#11060) 2025-03-11 14:49:27 -07:00
useAI.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
useAutomation.js fix: Update inconsistent behaviour of create and edit automation rules (#10197) 2024-10-04 08:06:36 -07:00
useAutomationValues.js fix: Translate Priority and Messages types in Automations and Macros (#11741) 2025-07-08 12:40:40 +05:30
useCaptain.js fix: Conditionally fetch limits and assistants for enterprise/cloud (#12099) 2025-08-04 15:06:58 -07:00
useConfig.js feat: Rewrite configMixin to a composable (#9921) 2024-08-14 12:56:30 +05:30
useConversationLabels.js feat: Rewrite conversation/labelMixin to a composable (#9936) 2024-08-12 17:41:12 +05:30
useDetectKeyboardLayout.js feat: Rewrite keyboardEventListener mixin to a composable (#9831) 2024-08-05 18:59:47 +05:30
useEditableAutomation.js fix: Update inconsistent behaviour of create and edit automation rules (#10197) 2024-10-04 08:06:36 -07:00
useFileUpload.js chore: Default file limits for private notes and reset attachment on mode switch (#12310) 2025-08-27 11:56:07 +05:30
useFontSize.js fix: Update design to fix the crowded header (#11633) 2025-05-29 18:45:28 -06:00
useImageZoom.js chore: Improvements in image attachment viewer (#11040) 2025-03-18 14:01:18 +05:30
useImpersonation.js feat: Prevent saving preferences and status when impersonating (#11164) 2025-05-20 17:34:30 -07:00
useInbox.js feat: Add QR codes for WhatsApp, Messenger, and Telegram on inbox finish page (#12257) 2025-08-27 11:53:03 +05:30
useIntegrationHook.js chore: Repalce Hook Mixin with useHook composable [CW-3454] (#9994) 2024-08-22 16:48:02 +05:30
useKeyboardEvents.js refactor: useKeyboardEvents composable (#9959) 2024-08-22 16:40:55 +05:30
useKeyboardNavigableList.js refactor: useKeyboardEvents composable (#9959) 2024-08-22 16:40:55 +05:30
useLiveRefresh.js feat: Allow users to see heatmap for last 30 days (#10848) 2025-02-19 14:54:15 -08:00
useMacros.js fix: Translate Priority and Messages types in Automations and Macros (#11741) 2025-07-08 12:40:40 +05:30
usePolicy.js feat: show articles in the list only if feature is enabled (#11607) 2025-05-29 14:19:35 +05:30
useReportMetrics.js fix: stale report value shown if summary fetch breaks (#11270) 2025-04-15 20:18:06 +05:30
useTransformKeys.js feat: integrate new bubbles (#10550) 2024-12-19 18:41:55 +05:30
useTranslations.js chore: Improve translation service with HTML and plain text support (#11305) 2025-04-16 17:59:06 +05:30
useUISettings.js feat: Enhance Linear integration UX with multi-issue support and improved placement (#11668) 2025-06-10 15:40:02 -04:00
useVoiceCallStatus.js feat(voice): Incoming voice calls [EE] (#12361) 2025-09-08 22:35:23 +05:30