Knowlarity stands at the forefront of the industry as a premier provider of cloud-based business communication solutions, specialising in advanced cloud telephony services. With a wealth of experience and a commitment to cutting-edge technology, Knowlarity empowers businesses with seamless and efficient communication tools that operate on the cloud, revolutionising the way organizations interact with their clients, customers, and partners.
In this help doc, we will see how you can enable Knowlarity integration on Verloop.io.
Enabling Knowlarity Integration
You can enable Knowlarity integration from the admin panel. Add the integration details on the settings page and enable it.
1. Go to the dashboard and click on settings.
2. Go to Voice
3. Click on account settings
4. Add a provider of type `Knowlarity`
5. You will need to add the following details:
- Phone number – Number of a client
- API Token
- API Key
- Plan Id – ID of a plan to which the number belongs to
- Plan name – Name of a plan
- Sound ID
Note: Upon subscribing to a plan, Knowlarity currently offers all the aforementioned fields to clients.
6. Insert the WebSocket URL, where audio data exchange occurs, into the account created on Knowlarity for a specific client.
Refer to this developer documentation for details on the WebSocket URL added here.
After configuring the WebSocket URL, you’re all set. You can begin to continuously listen to the user’s audio on the socket.
Inbound Flow
After the registration, the conversation inbound flow is depicted in the below figure:
Audio streaming on WebSocket:
When a user dials the client’s number, Knowlarity initiates the transmission of user audio to our system. This seamless process ensures a smooth flow of communication between the user and our platform, enabling effective interaction and data exchange.
Refer to the developer doc to view the first message.
The ensuing communications from Knowlarity will consist of user-generated audio content.
Note: Audio is streamed in linear 16 format (16-bit PCM encoding)
Outbound Flow
After the configuration, the conversation outbound flow is depicted in the below figure:
When an outreach is initiated to a number from our platform, we anticipate receiving Knowlarity’s campaign ID in response to an outreach schedule call. This ID serves as a crucial link between Knowlarity’s and our systems, allowing us to accurately track which campaign we receive the user audio from. Following this, Knowlarity proceeds to initiate a call to the end user. Upon the user answering the call, a WebSocket connection is established for seamless audio data exchange.
For the first message, please refer to the developer documentation.
The ensuing communications from Knowlarity will consist of user-generated audio content.
Call Termination
Call termination has two cases:
- Termination by user
- Termination by bot
Termination by user
When the user terminates the call, Knowlarity will conclude the socket connection, thereby halting the streaming process.
- On disconnection of the WebSocket, we perform the following:
- Close the room
- Update the call details in db
- Close the open streams
Termination by bot
For termination by the bot, we send a CloseEvent to Knowlarity over the established WebSocket, which closes the socket connection and ends the call.
Call Transfer
To transfer the call, we’ve to send the TransferEvent. Once the TransferEvent is sent, the socket connection is closed and streaming is stopped.