- Background
- Goals
- Estimated Effort
- Step-by-Step Tutorial & Best Practices
- FAQs
- Setting Up Your Gladly IVR and Queue Experience
Background #
Setting up the Voice service is a way for Customers to dial in and interact with your Agents for support.
The IVR (Interactive Voice Response) is a menu-driven interface that allows Customers dialing in to access information via pre-recorded messages and potentially offer self-service options.
Business hours and company holidays are also configured here, to ensure that calls are only routed to Agents during operational hours, with pre-recorded messages for Customers who call outside of those hours.
Goals #
- Set up Voice entry point(s) in Gladly for Agents to successfully interact with Customers via phone.
- Set up IVR and Recordings.
- Forward numbers into Gladly. If porting, first forward into Gladly, then port.
Estimated Effort #
Ranges between ~1 week for a simple webRTC & IVR setup, to custom estimates for advanced integrations via data dips, etc.
Step-by-Step Tutorial & Best Practices #
Determine Entry points #
Determine your entry points (aka phone numbers). These entry points will determine which phone numbers will have calls flow into Gladly for your Agents to work on.
Set Up Your Environment #
Testing Your Bandwidth #
If you are using voice, your Agents must pass the bandwidth tests. Instructions located here: https://connect.gladly.com/docs/implementation/article/infrastructure-requirements/
IP Address Allowlist #
See instructions here http://connect.gladly.com/docs/help-documentation/article/network-requirements
VDI Environment Configuration #
See instructions here https://connect.gladly.com/docs/implementation/article/infrastructure-requirements/
Determine Setup #
Which option is right for you?
For the majority of customers, these questions will be answered throughout the pre-sales cycle and the voice deployment methodology will be set prior to implementation beginning! That being said, most customers choose to port their numbers into Gladly and answer calls via browser (webRTC).
The below diagram outlines how a voice call from a Customer is connected to an Agent. When rolling out voice with Gladly, there are two key questions to answer:
- Who Brings the Dial Tone? There are two options, one is required:
- Gladly Is Your Carrier
- “Bring Your Own Carrier”
- How is the call connected to an Agent? There are three options, at least one is required, but any of the below can be mixed. For example, Homeworkers and those in some offices can use the WebRTC solution, while others use a fixed phone (SIP) telephony solution. And people can also individually switch between them, e.g., one day work at home and then one day in the office. The Agent experience(call controls) is the same for all of these, and recordings are handled by Gladly for all.
- Gladly webRTC
- SIP* Hard/Softphone
- Direct Dial
Not mentioned in the diagram, and this document is the Gladly IVR functionality. The Gladly IVR can be used with any of the options above.
Configuration options: who brings the dial tone? #
Gladly as the carrier: Porting a phone number into Gladly #
Porting phone numbers
Porting phone numbers in Gladly may incur a small Services fee, especially for international phone numbers.
You can port your phone numbers into Gladly, after which Gladly will become the carrier.
Porting numbers into Gladly and having Gladly be the carrier accounts for 90% of Customer implementations.
Please note that Gladly can coordinate with you at any point in the future in case you want to port your number Away from Gladly via a Services engagement.
In this case, Gladly will also host your IVR. See IVR steps below on how to configure IVR.
To port a number into Gladly:
Except for Twilio subaccount ports, ports cannot be scheduled for a specific day or time – so we typically recommend you fill out port paperwork two weeks before launch. Porting can usually take 2 – 3 weeks to coordinate between carriers for a North American number. Note that ports may not be available for certain international geographies, which the Gladly Support team can determine prior to your engagement with a Services representative.
See these porting instructions: https://connect.gladly.com/docs/call-forwarding-vs-porting#porting-your-numbers
Gladly as the carrier: Purchase new phone number via Gladly #
In this case, Gladly will also host your IVR. See IVR steps below on how to configure IVR.
The Voice phone number purchase process and configuration are completely self-service and can be completed in Gladly. See https://connect.gladly.com/docs/purchase-and-configure-voice-phone-numbers.
BYO carrier: Forward calls to Gladly over PSTN #
You can forward calls to Gladly from your existing phone number to a Gladly-provided phone number over PSTN.
Recall that forwarding incurs forwarding costs from both your carrier and Gladly’s carrier, so please budget appropriately.
In this case, you may choose to host your IVR on your own carrier and only forward to Gladly when a call needs to be connected to an Agent – or you may choose to forward calls to Gladly and have Gladly host your IVR.
See these instructions on how to forward calls to Gladly.
BYO Carrier: Forward calls via SIP #
SIP Forwarding Setup
SIP Forwarding Setup into Gladly requires a paid Professional Services engagement
Gladly also allows you to forward calls via SIP for individual phone numbers. This option is typically chosen when you would like to retain your current carrier. It is also subject to forwarding costs but is slightly less cost-intensive than number-to-number forwarding.
In this case, you may choose to host your IVR on your own carrier and only forward to Gladly when a call needs to be connected to an Agent – or you may choose to forward calls to Gladly and have Gladly host your IVR.
Please note that forwarding calls over SIP does involve development effort from your teams. If you are interested in forwarding calls over SIP to Gladly, please contact your Gladly implementations and sales teams for an estimate.
Below is a high-level overview of how SIP forwarding into Gladly works from your carrier:
- Determine testing infrastructure and number
- Gladly will provide you with a SIP endpoint, along with credentials.
- To forward calls into Gladly, call endpoint as described below. We recommend including the X-Gladly-Routing-Selector parameter so that Gladly can more intelligently route to a group of appropriate Agents.
From a step-by-step perspective:
- Work with your IT team to allow Twilio’s list of SIP IP addresses . If you are unsure which region you need to allow, please ask your Implementation Manager for the region
- Determine authentication strategy when forwarding calls into Gladly via SIP. Gladly requires you to choose one or both of:
- IP address allow list (Recommended): Send Gladly a list of IP addresses that Gladly should allow to receive forwarded calls
- SIP auth (Recommended): Gladly will send you the SIP authentication information over a secure repository
- Determine mediacodec used when forwarding calls to Gladly. The codec can be one of:
- G.711
- Opus (Recommended): Opus may be more intensive to transcode but delivers higher quality audio for less bandwidth to agents receiving the call
- Determine transport:
- TLS using SRTP (Recommended): Provides greater security but requires more configuration on your side
- RTP only
- Determine the list of phone numbers you will forward to Gladly
- For each phone number, determine who powers your IVR:
- Gladly (Recommended): This means you are forwarding all phone calls for your desired number to Gladly, and Gladly will power the IVR and the call queue
- You: This means that you own the IVR experience and only forward calls to Gladly once they need to reach an agent. If you utilize this option, please note that native Gladly capabilities (like IVR to SMS or IVR to Voicemail) won’t be accessible via your IVR. If this is the case, please send over your list of static alphanumeric X-Gladly-Routing-Selector that Gladly can configure. As noted above, X-Gladly-Routing-Selector corresponds to the different options/queues that customers are sent to after interacting with your IVR. You may not define ad-hoc/dynamic X-Gladly-Routing-Selector IDs – this must be a static list.
- For each phone number, Gladly will set up a corresponding SIP Entry Point and send the SIP Entry Point URL; see the example in the diagram above.
- Once set up, you can then start forwarding calls to Gladly. As noted in the diagram, please refer to the headers required (e.g.: X-Gladly-Caller-Id to represent the customer’s phone number, X-Gladly-Routing-Selector to represent the queue to send the customer to if you are choosing to power your own IVR)
TLS
Follow the below additional guide in order to set up SIP over TLS
- Tell your Gladly Services lead that you are working on forwarding calls to Gladly using SIP over TLS
- Forward calls to this URL structure:
- sip:+14158675309@your.domain;transport=tls?X-Gladly-Caller-Id=+12345678901&X-Gladly-Routing-Selector=topic
- In particular, adding the ;transport=tls in the URL
- Calls must be forwarded to port 5061 and not 5060
- Configure SDP
- Deactivate delayed SDP and ensure it is sent in the INVITE
- Use early offer for SDP
- Add the correct ciphers to your SDP: AES_CM_128_HMAC_SHA1_80 and AES_CM_128_HMAC_SHA1_32
- Configure Codecs: PCMU (media attribute in SDP: value = 0), DTMF (value=101)
- Verify the codec that nothing says non-secure RTCP
- Verify that media is coming across as RTP/SAVP (NOT RTP/AVP) → Secure Audio Video Profile
- Ideally, only include codecs supported by Twilio as well
- Smoke-testing: Ensure you can call from a phone through your PBX infrastructure and that the traffic can be routed to yourSIP phone via your SBC – this is the same route that calls will eventually take to get into Gladly
FAQs #
- I am hearing an “application error” message when trying to place my SIP call, or my SIP call is getting disconnected
- Check that you are sending the X-Gladly-Caller-Id and X-Gladly-Routing-Selector as headers
- Check that the phone number address in your SIP URL is in E.164 formatted and has been added to Gladly as an entry point
- Check that the X-Gladly-Routing-Selector header is set to a pre-configured routing selector
- Check that the X-Gladly-Caller-Id header is set to an E.164 formatted number
- Check that the SIP domain you are sending calls to is correct and corresponds to the credentials your Gladly representative has issued you
- Check that the SIP credentials you are using are correct/correspond to the credentials your Gladly representative has issued you
- If you are using TLS, ensure that Gladly has enabled “Secure Media” on your SIP domain
- If you have given Gladly a list of IP addresses to allow list, ensure the list is complete/comprehensive
- Check common SIP events:
- You send an INVITE to the right SIP URL
- You send an ACK event to acknowledge that Gladly has accepted the call when Gladly sends the 200 (OK) back to your INVITE
- You don’t send a BYE event to hang up the call too early
- My SIP call is coming through, but I am not able to hear the Agent and vice versa
- If you are using TLS, ensure you have followed the steps above (e.g., deactivate delayed SDP)
Configuration options: How is the call connected to an Agent? #
Receiving calls via webRTC to the browser #
99% of customers have Agents who receive webRTC (browser) calls in Gladly. To do this, please follow the instructions outlined in https://connect.gladly.com/docs/infrastructure-requirements
Receiving calls via SIP Phone #
This may be an option if you when:
- Require that Gladly integrate with an existing corporate telephony system whose phones are SIP-enabled.
- OR your VDI environment cannot be configured to support webRTC (please contact your Gladly implementations team to assist with testing and validation of VDI environments before considering this option)
Requirements
- Your SIP phone endpoint addresses must be publicly accessible without custom header or parameter requirements.
- Only a Team Manager or an Administrator may set the user’s SIP phone endpoint address. This setting can be modified in Settings > Users. In particular, you must specify th Station ID as the URL for the Agent’s unique SIP phone.
- Each Agent must have a unique SIP phone URL.
- Phones should not be configured to issue an answered notification unless an Agent picks up the phone to answer the call. Otherwise, calls may be falsely recognized as answered.
- Phones should not be configured to transition to Voicemail until after the 45-second, as a call banner is typically presented to an Agent. Otherwise, a call may be falsely recognized as answered.
Step-by-step guide
- Download SIP client on an Agent machine (e.g., Bria).
- Create an account for the Agent.
- Grab the account’s SIP address.
- Gladly will enable the SIP feature flag for your organization.
- In Gladly, navigate to the user’s page as an admin and find your Agent.
- Update your Agent’s station ID field to the SIP address.
- Save changes.
- Agent goes ready for voice and can start receiving calls on their SIP phone.
Considerations
- Finding the correct SIP client to utilize (we recommend Bria).
- Configuring Agent environments with their SIP clients.
- Managing Agent SIP client accounts.
- Note that this is also subject to SIP telephony fees.
Receiving calls via Direct Dial PSTN #
If webRTC or SIP is not an option, then Gladly can route calls to an Agent’s hard phone.
Step-by-step guide
- An Agent enters their phone number in their Gladly profile.
- An Agent will receive a call on this device when assigned a phone call or make outbound phone calls. Agent must pick up the phone call using their device.
- An Agent can use Gladly screen pop, screen controls via the browser to control the phone call.
Requirements
- Phone numbers must be publicly accessible to dial.
- Phone numbers should go directly to Agents and not be behind an IVR.
- Phones should not be configured to issue an answered notification unless an Agent picks up the phone to answer the call. Otherwise, a call may be falsely recognized as answered.
- Phones should not be configured to transition to Voicemail until after the 45-second, as a call banner is typically presented to an Agent. Otherwise, the call may be falsely recognized as answered.
Considerations
- Agents must have a publicly dial-able phone that is unique to them.
- Call to Agent involves an extra forwarding leg, which has telephony costs associated with it.
- Agents must turn off voicemail on their phone lines. Voicemails can register as false pick-ups, circumventing Gladly’s routing capabilities.
- Some phones (e.g., RingCentral) may have software installed that can be perceived as a pick-up. You must turn this feature off so that Gladly does not think an Agent has picked up the phone while it is ringing.
Configuration Options: Outbound calls, forwards via IVR, and transfers/conferences #
Ad-hoc/proactive outbound calls #
Ad-hoc outbound calls must be placed over the PSTN. When a call is connected to a Customer, the Agent may choose to connect via the options listed in the Configuration Options: How is the call connected to an Agent? section of this document.
Forwarding via Gladly IVR #
Calls forwarded via the Gladly IVR must be done over PSTN.
Transferring calls #
99% of Agents transferring calls to an external 3rd party from Gladly will do so over PSTN. In this case, no setup is required as this is functionality Gladly supports out-of-the-box.
Optional: Transfer calls to a SIP address
Gladly does provide the option for you to transfer calls to an external 3rd party over SIP, though this configuration will require a paid Services engagement to assist with.
If you are on Avaya or another proprietary system, you must set up a Session Border Controller (SBC) that will translate SIP calls to Avaya’s proprietary technology (e.g., configuring dial plans to map SIP addresses to Avaya phones), which Gladly can connect to.
Note that Gladly does not send a caller ID or any other information to the SIP address other than SIP auth credentials. Gladly also does not support SIP S but can support specifying a port in the SIP address being transferred to.
In terms of high-level setup:
- Send Gladly your SRV record so Gladly can add that into the Gladly environment if you are utilizing a domain name (e.g.: hello-world.com) to mask your SBC IP address when Agents are placing outbound transfers or if your SIP phone IP addresses are not exposed to the outside world.
- Create an Answer in Gladly with a list of outbound SIP addresses that Agents can use when placing outbound transfers (e.g.: sip://[email protected] corresponds to Store #54321)
Setting Up Your Gladly IVR and Queue Experience #
Each phone number in Gladly can be connected to a single IVR and single queue IVR experience
- Send Gladly your current IVR tree/diagram.
- Gladly will review and discuss with you any recommendations/optimizations.
- Gladly will create your IVR based on the IVR tree/diagram.
- Send Gladly your business hours and holiday dates to pre-configure closures.
- Send Gladly voice recordings for the IVR. If you don’t have access to your current recordings, you will need to record them. It is OK to use a phone, but be in a quiet room. Upload them in the Asana task.
- Gladly will configure the recordings in the IVR.
- You can subsequently view the IVR in Settings > IVR.