xgency-dialer v0.11.0
Voximplant UI kit for Vue.js
Voximplant UI kit for Vue.js is a ready-to-use solution to embed Voximplant audio and video experience into a Vue based application, with full customization capabilities. The kit is ready to run as a standalone application or to leverage as a component inside an existing one.
Voximplant’s UI Kit can be used for a range of different use cases, for example:
- To power secure telehealth platforms
- To add softphones to CRM systems
- To create a call center agent workspace
- To build an online education platform
Contents
- UI kit features
- Why should I choose this UI kit
- How to build
- How to setup backend
- Business logic description
UI kit features
The kit provides the following features:
- Audio & video calls
- Call Voximplant users, SIP addresses and phone numbers
- Choose audio and video devices and disable them
- Use call queues for contact center
- Multiple simultaneous lines
- Mute, hold and call transfer functionality
- Numpad
- Set status for users in queue (both ACD v1 and SmartQueue)
- Minimized & maximized vues
- Full-screen view
- Screen sharing
- Several video layouts
Why should I choose this UI kit
Voximplant UI kit for Vue.js is a great choice for your business, because:
- The Vue.js framework makes it easy to build
- Effector.js enables you to leverage any other framework
- Fully customizable
- Ready to use as a standalone application or leverage as a component inside an application
- All business logic implemented at application store
- Cross-domain iframe API enables reach configuration options and flexibility
Benefits of the UI kit for Vue.js:
- Rapid deployment — Leverage the call UI components to deploy quickly and easily
- Optimize development time — Save time going through documentation as all components have embedded SDK functions and a recommended server scenario
- Flexibility — Components can be used for many different scenarios — call center webphones, video calls, CRM diallers & more
- Customizable — Use and adapt any of the components you need
How to build
- Make sure that Node.js is installed on your computer.
Voximplant UI kit for Vue.js uses Vue 3 for UI and Effector for business logic, but they will install automatically as dependencies.
- Download the repository.
- Navigate to the project folder and execute
yarn installto install the dependencies and set up the project. - To compile and run the project, execute
yarn serve. - To compile and minimize for production, execute
yarn build - To lint and fix files, execute
yarn lint.
How to setup backend
To use the client, you need to: 1. Create an application in the Voximplant platform. 1. Create a user to log into the application (or use an existing one). 1. Create a scenario to process the calls logic.
For example, you can use this simple scenario, to process inbound and outbound calls to and from Voximplant users:
VoxEngine.forwardCallToUser(null,true);After you create it, you can run your application and log into it with an existing Voximplant user.
Business logic description
Main stores
$signInFieldscontains authorization data (username, password, etc.)$signInErrorscontains authorization errors data$callscontains current calls data$settingscontains application settings (volume, devices, mute status, etc.)$queueStatuscontains current queue status
SignInFields events:
fillFormfills the store when a user enters credentialscheckErrorsvalidates all form fields. The validation result stores in$signInErrorsvia thesetErrorevent. If there's an error in at least one form field, thenotEnoughproperty in the$signInErrorsstore will set totrueand the authorization will fail.restoreFillFormrestores user credentials from the previous session, if they are saved in the localStorage. The credentials can be saved in localStorage only if a user checks the Remember me checkbox in the authorization form.
SignInErrors events:
setErrorrefreshes the form validation result during the authorization
Calls events:
createCallcreates a new call and transferrs the destination (phone number, Voximplant username, or SIP address) and call type (audio or video) to the SDK, then receives the call ID.setCallsets the call to the store by its ID.hangUpends the current call.answerIncomingCallanswers the current call.removeCallremoves the call from the store.transferCalltransferrs the call to another user.toggleCallActivetoggles the call hold. If set to false, the call is on hold.setAllCallAsPausedholds all the current calls, except the call that is passed as an argument. If no argument is passed, holds all calls.changeAudioDevicechanges the audio device.
Settings events:
changeVolumesets the call and ringtone volume.getAudiosgets the current DOM elements with the call audio.getRingtonegets the ringtone DOM element.setRingtoneParamsets the ringtone volume from theringtoneVolumeproperty.toggleCollapsedtoggles window minimization (changes the DOM element height).addActiveDevicechanges the active microphone.changeMutetoggles microphone mute.changeVideoMutetoggles camera.
QueueStatus events:
changeQueueStatussends the queue status to the SDK.setQueueStatussets the received from the SDK queue status to the store.