Overview
Users can make calls from Playbooks either using a cell phone or softphone number configured as their agent phone (phone-based calling) or directly from Google Chrome using a headset connected to their computer (computer-based calling). For more information, you can refer to the article How the Agent and Client Leg Works with your Phone.
Computer-Based Calling
Computer-based Calling utilizes the open internet to connect the Agent Leg of a call, in contrast to the traditional telephone network. In other words, WebRTC enabled application is being used as agent leg. In this case, Google Chrome itself is the WebRTC enabled application.
It requires:
- A modern computer with speakers or headphones and a microphone
- Chrome web browser
- Sufficient internet bandwidth - Computer-based calling uses 100 kbps internet bandwidth. This amount is accounted for in the 1 mbps Playbooks requires for typical use. If you have the proper bandwidth to run Playbooks, you should be able to make Computer-based calls without any usage issues.
Additionally, latency (RTT) should be less than 200 ms and Jitter should be less than 30 ms for reasonable audio quality.
- Additional Network configuration if your company is restricting traffic from outside domains and IPs
When Computer-based Calling is enabled and a call is initiated in Playbooks, the web browser will activate your microphone and speakers. At this point, the Agent Leg has been connected. Next, Playbooks will use the traditional phone network (PSTN) to call the prospect to establish the Client Leg. That means, you’ll hear ringing from your speakers or headphones and be able to speak as soon as your contact answers the call. When the call is finished, you’ll click the red END button, just like you would with regular telephony, and the client leg will be disconnected.
Computer-based Calling must be enabled for each Playbooks org. Contact Support to request the option to be enabled.
<supportagent>
To enabled Computer-based calling, you need to find the customer's org in Provision UI and enable the Web RTC option.
</supportagent>
Once Computer-based Calling function has been enabled, Playbooks Administrators can enable “Computer Based Calling” and/or “Phone Based Calling” for the entire team using team permission groups. Phone-based calling or Computer-based calling can be assigned to users through the Playbooks Manager’s app. User’s must have Permission for the assigned calling preference before they’ll be able to use it to place calls. Managers should make sure the user has been granted the proper permission for whichever calling preferences is being assigned.
Users can change their own Calling Preferences to whatever option(s) they have permissions for from the Playbooks extension. When they go to select their Calling Preference, the drop-down menu only shows those option(s) with one exception. If manager changes their user’s call preferences to an option they don’t have the ability to switch to on their own, the user momentarily see both calling preference options when they go to change their calling preference back. Once they switch to the calling preference they have access to, they will no longer see the other option in the drop-down menu. This is purposeful and expected function.
To illustrate this, imagine the manager changed their user’s call preferences to Computer-based Calling. Now the user is going to switch back to Phone-based calling. When the rep changes their Calling Preference, they see both Computer-based Calling and Phone-based Calling as selection options. They select Phone-based Calling and save. If the user later goes to try to change their Calling Preference back to Computer-based Calling, they will no longer have that as a selection option in their Calling Preferences.
Click to Call feature
With this feature, you will be able to click a prospect’s phone number inside your CRM and connect with them via phone through your Playbooks Chrome extension. The idea behind enabling Click-to-Call is to easily dial prospects by clicking on their phone numbers in your CRM. Despite the fact that using Click-to-Call may be convenient, Playbooks users often find that making phone calls through a play is the most beneficial because they can plan their approach. This feature works directly with phone numbers that are not marked as "Bad numbers" (which means that all numbers that are going to be called using this feature must be compliant with E.164 standard).
Considerations:
Click-to-Call might not work properly due to setting or extension conflicts. Usually, these issues can be resolved by clearing out or adjusting settings. For example, there are multiple reasons that the phone numbers in CRM aren’t hyperlinked.
- The Calling Territory setting prioritizes which country format the phone numbers will take when changed by Playbooks. If you don’t have any Calling Territories set, Playbooks could potentially format numbers incorrectly and prevent Click-to-Call from working. Establish Calling Territories with priority set for the countries you call most.
- Another cause of this issue could be due to a conflict between another dialer and Playbooks. Removing or clearing out call center settings on the impacted team members’ User Detail pages should resolve the issue.
Chrome has its own direct calling feature. The feature should be live in Chrome Beta 78 by default. You can switch on the feature manually if need be.
Important Information When Facing Issues with Computer-Based Calling
Users may report issues that they are not able to make calls or do not hear anything when making calls using computer-based calling, or that calls are still going to agent phone after switching to computer-based calling.
- When using Computer-based calling, you must allow Google to access your microphone to be able to make web calls. The pop-up might state that Google is going to use both camera and microphone, but the camera will not be accessed. If Google’s access to your microphone is ever blocked, Playbooks will notify you Google’s access to your microphone has been blocked.
- Additionally, when switching from Phone-based calling to Computer-based calling users may need to clear cache and log in again to Playbooks; otherwise, they may encounter an issue that calls are still going to their agent number (i.e. cell phone).
- Keep in mind the browser tab you initiated the call in needs to stay open during the call. Closing the tab or refreshing the tab causes the call to disconnect.
- Do not confuse cases when you are using a softphone application (MS Teams, Bria, etc.) to make calls from your computer with the Computer-Based calling preference - you should use the phone-based calling option in such cases and enter your phone number as the Agent Number in Playbooks, as such applications are still using VoIP phone numbers, which will be called by Playbooks to establish agent leg.
Call Recording
Once you start a call, you will see a red icon at the top of your browser. Even though this icon indicates Google is recording, it is NOT. This icon simply means that the microphone is being used to pick up your voice. Computer-based calls still follow whatever call recording settings your organization has enabled.
How is traffic secured?
Twilio signaling takes place over the websocket. This is over WSS (TLS) to port 443 using TLS 1.2.
Media traffic is passed via UDP, using DTLS-SRTP (AES_CM_128_HMAC_SHA1_80) for encryption.
VPN Considerations
When using a NAT (Network Address Translation), the user’s browser will communicate with the nearest available STUN (Session Traversal Utilities for NAT) server to their physical network location. VPN users, however, will connect to the edge nearest the VPN network’s physical location, which may not be optimal for users in very different geo-locations and may cause poor audio quality. Also, to avoid inadvertently having no audio if a different edge ends up resolving, it is prudent to allow traffic to all the IPs listed in the table listed in the Network Configuration section for STUN Connections on VPN networks.
If users are still experiencing issues due to VPN settings, we recommend setting up a split tunnel where computer-based calling traffic is excluded from the VPN. This will need to be done by the IT team that manages the VPN traffic, as setup will be unique to each environment.
Global Low Latency (GLL) Requirements
GLL is an AWS Route53 feature that resolves a hostname to the edge location with the least latency. However, in order for GLL to give accurate results, the intermediate DNS must:
- Support RFC 7871 – Client Subnet in DNS Queries
- Reside in the same edge as the Client endpoint. For example, a host in the US configured with a VPN to Europe or configured with a DNS server that resides in Europe will result in connecting that host to Twilio edge in Europe
If the intermediate DNS does not support RFC 7871 and the upstream DNS IP address is an Anycast address e.g. 8.8.8.8 then there is no guarantee Route53 will accurately determine the best edge to connect to.
To determine if your DNS supports GLL, use the dig command as follows:
dig edns-client-sub.net TXT
Or using nslookup:
nslookup -type=txt edns-client-sub.net
A DNS server that supports this RFC will have ecs set to True and contains an ecs_payload object:
Example:
edns-client-sub.net. 30 IN TXT “{‘ecs_payload’:{‘family’:’1′,’optcode’:’0x08′,’cc’:’US’,’ip’:’34.225.44.0′,’mask’:’24’,’scope’:’0′},‘ecs’:
‘True’,’ts’:’1588973397.05′,’recursive’:{‘cc’:’US’,’srcip’:’208.69.32.67′,’sport’:’11807′}}”
A server that does not support this RFC will have ecs set to False.
Example:
edns-client-sub.net. 0 IN TXT “{‘ecs’:’False’,’ts’:’1588973475.23′,’recursive’:{‘cc’:’US’,’srcip’:’76.96.15.65′,’sport’:’54989′}}”
Network Configuration
Playbooks uses Twilio’s Programmable Voice Infrastructure for all Computer-Based Calling. Therefore, organizations wishing to use this feature will need to allow Twilio’s Signaling and Media traffic in order to send and receive audio through the firewall. Furthermore, for best QoS (Quality of Service), we recommend this traffic to be prioritized on local network.
The specifications below detail connectivity requirements to Signaling gateways and Media servers.
Protocol | Purpose | Source IP | Source Port † | Destination | Destination Port | |
---|---|---|---|---|---|---|
Twilio Client JS | ||||||
Secure TLS connection to Twilio signaling Gateway | TCP | Signaling | ANY | ANY | chunderw-gll.twilio.com | 443 |
Secure TLS connection to Twilio signaling Gateway | TCP | Signaling | ANY | ANY | chunderw-vpc-gll.twilio.com | 443 |
Secure TLS Connection to Twilio Regional Signaling gateways | TCP | Signaling | ANY | ANY | chunderw-vpc-gll-{region}.twilio.com
{Where region is one of: au1, br1, de1, ie1, jp1, sg1, us1} |
443 |
Secure TLS Insights logging gateway | TCP | Signaling | ANY | ANY | eventgw.twilio.com | 443 |
Secure Media (ICE/STUN/SRTP) Edge Locations | ||||||
sydney (au1) | UDP | Media | ANY | ANY | 54.252.254.64 – 54.252.254.127, 3.104.90.0 – 3.104.90.255 |
10,000 – 20,000 |
sydney (au1) | TCP & UDP | STUN Connection | ANY | ANY | 13.210.2.128 – 13.210.2.159, 54.252.254.64 – 54.252.254.127, 3.25.42.128 – 3.25.42.255 |
443, 3478 (TCP and UDP), 5349 TCP |
sao-paulo (br1) | UDP | Media | ANY | ANY | 177.71.206.192 – 177.71.206.255, 18.228.249.0 – 18.228.249.255 |
10,000 – 20,000 |
sao-paulo (br1) | TCP & UDP | STUN Connection | ANY | ANY | 18.231.105.32 – 18.231.105.63, 177.71.206.192 – 177.71.206.255, 18.230.125.0 – 18.230.125.127 |
443, 3478 (TCP and UDP), 5349 TCP |
dublin (ie1) | UDP | Media | ANY | ANY | 54.171.127.192 – 54.171.127.255, 52.215.127.0 – 52.215.127.255 |
10,000 – 20,000 |
dublin (ie1) | TCP & UDP | STUN Connection | ANY | ANY | 52.215.253.0 – 52.215.253.63, 54.171.127.192 – 54.171.127.255, 52.215.127.0 – 52.215.127.255, 3.249.63.128 – 3.249.63.255 |
443, 3478 (TCP and UDP), 5349 TCP |
frankfurt (de1) | UDP | Media | ANY | ANY | 35.156.191.128 – 35.156.191.255, 3.122.181.0 – 3.122.181.255 |
10,000 – 20,000 |
frankfurt (de1) | TCP & UDP | STUN Connection | ANY | ANY | 52.59.186.0 – 52.59.186.31, 18.195.48.224 – 18.195.48.255, 18.156.18.128 – 18.156.18.255 |
443, 3478 (TCP and UDP), 5349 TCP |
tokyo (jp1) | UDP | Media | ANY | ANY | 54.65.63.192 – 54.65.63.255, 3.112.80.0 – 3.112.80.255 |
10,000 – 20,000 |
tokyo (jp1) | TCP & UDP | STUN Connection | ANY | ANY | 13.115.244.0 – 13.115.244.31, 54.65.63.192 – 54.65.63.255, 18.180.220.128 – 18.180.220.255 |
443, 3478 (TCP and UDP), 5349 TCP |
singapore (sg1) | UDP | Media | ANY | ANY | 54.169.127.128 – 54.169.127.191, 3.1.77.0 – 3.1.77.255 |
10,000 – 20,000 |
singapore (sg1) | TCP & UDP | STUN Connection | ANY | ANY | 13.229.255.0 – 13.229.255.31, 54.169.127.128 – 54.169.127.191, 18.141.157.128 – 18.141.157.255 |
443, 3478 (TCP and UDP), 5349 TCP |
india (in1) | TCP & UDP | STUN Connection | ANY | ANY | 52.66.193.96 – 52.66.193.127, 52.66.194.0 – 52.66.194.63, 3.7.35.128 – 3.7.35.255 |
443, 3478 (TCP and UDP), 5349 TCP |
ashburn (us1) | UDP | Media | ANY | ANY | 54.172.60.0 – 54.172.61.255, 34.203.250.0 – 34.203.251.255 |
10,000 – 20,000 |
ashburn (us1) | TCP & UDP | STUN Connection | ANY | ANY | 34.203.254.0 – 34.203.254.255, 54.172.60.0 – 54.172.61.255, 34.203.250.0 – 34.203.251.255, 3.235.111.128 – 3.235.111.255 |
443, 3478 (TCP and UDP), 5349 TCP |
oregon (us2) | TCP & UDP | STUN Connection | ANY | ANY | 34.216.110.128 – 34.216.110.159, 54.244.51.0 – 54.244.51.255, 44.234.69.0 – 44.234.69.127 |
443, 3478 (TCP and UDP), 5349 TCP |
roaming (gll) | UDP | Media | ANY | ANY | Playbooks uses roaming (GLL) location. This requires networks to allow all IP addresses listed above. See additional GLL Requirements below. | 10,000 – 20,000 |
Because Playbooks will initiate the agent leg connections, not Twilio, your firewall needs to allow outgoing TCP and UDP traffic and allow return traffic in response. Therefore, your firewall should not allow externally initiated connections into the network.
Comments
0 comments
Please sign in to leave a comment.