Network Requirements
For an optimal experience with the Sharpen platform, it is necessary that your network is configured within the requirements covered below.
Infrastructure Overview
Codecs
Sharpen supports G.711 ulaw for voice interactions. The use of other codecs may result in an interruption to service.
Examples of potential failures include…
Inbound tie line from a “Bring Your Own” carrier is sending calls to Sharpen with a non G.711 ulaw codec
External transfers to carriers not accepting G.711 ulaw
Ports and Protocols
It is important to make sure the following ports/protocols are free to communicate with our environment.
Due to the dynamic nature of Sharpen infrastructure, whitelisting is not recommended. The following items may be changed without advance notice.
Domains, Protocols, and Ports
Access to these domains need to be open regardless of the isolation zone (IZ0,IZ1) in which your account is built. These include some supporting services and libraries which allow Sharpen to run as designed.
Domain | Protocol/Port | Purpose |
---|---|---|
*.s3.amazonaws.com | TCP: 443 | Long-term audio and image file storage |
stun.l.google.com | UDP: 19302 | WebRTC STUN server |
stun1.l.google.com | UDP: 19302 | WebRTC STUN server |
stun2.l.google.com | UDP: 19302 | WebRTC STUN server |
stun3.l.google.com | UDP: 19302 | WebRTC STUN server |
stun4.l.google.com | UDP: 19302 | WebRTC STUN server |
*.yealink.com | TCP: 443 | Yealink auto-provisioning |
*.ckeditor.com | TCP: 443 | Visual editor/UI library |
*.loggly.com | TCP: 443 | Logging |
*.ingest.io | TCP: 443 | Client logging |
*.chameleon.io | TCP: 443 | Application enablement |
*.gstatic.com | TCP: 443 | Font library |
*.googleapis.com | TCP: 443 | Font library |
*.fortawesome.com | TCP: 443 | Font library |
*.fontawesome.com | TCP: 443 | Font library |
Isolation Zone Domains, Protocols, and Ports
Access to these domains should be open with respect to which isolation zone your account is built in.
Isolation Zone 0 | Your users login to http://app.sharpencx.com
Domain | Protocol/Port | Purpose |
---|---|---|
*.sharpencx.com | TCP: 443,8089,8090 | App |
*.sharpen.cx | TCP: 443 | Supplemental app domain |
*.cx.shpn.co | TCP: 443 | CX and VCX |
*.sipvbx.com | UDP: 5060 | SIP registration and signaling |
*.fathomvoice.com | TCP: 80,443,9002 | Provisioning, API, webRTC registration |
Isolation Zone 1 | Your users login to http://app.iz1.sharpen.cx
Domain | Protocol/Port | Purpose |
---|---|---|
*.iz1.sharpen.cx | TCP: 80,443,8089,8090,9002 | Provisioning, app, webRTC registration |
*.cx-iz1.shpn.co | TCP: 443 | CX and VCX |
If whitelisting by IP is necessary, the following ranges/addresses apply. NOTE: *IPs subject to change.
Voice Protocols
SIP (Session Initiation Protocol)
5060 UDP (Desk phone) and 9002 TCP (Webrtc) Traffic - this is the call setup/signaling information about the call, such as phone 1 is calling phone 2 on server XYZ.
10000-20000 UDP Traffic - this is the Real-time Transfer Protocol (RTP) stream where actual packets of voice data are transmitted. This is the audio of the call.
While at rest, the phones only send 5060 UDP data as a ‘keep alive’ method for Network Address Translation (NAT), during this period there is no RTP traffic. Once a phone call is made and audio established, RTP traffic is sent from the phone to our servers.
WebRTC
WebRTC is an HTML5 specification which can be used to facilitate real-time media communications (video and audio) between browsers and other audio endpoints. The Sharpen Q phone built into the Sharpen Q application leverages WebRTC, allowing for seamless integration to the platform within the browser. *See “Ports and Protocols” above to make sure you have the proper ports open.
Prioritization
Use Quality of Service to maintain prioritization
Configuring Quality of Service (QoS) can help to maintain traffic priority across the network. It is beneficial to tag your voice traffic with the appropriate tags, so it can be prioritized anywhere in the network in the event of saturation. This will help to prevent any audio issues caused by voice and data competing for the same bandwidth over your internet connection.
Use traffic shaping to offer voice traffic the necessary bandwidth
Due to potential contention of competing data on your network, it is important to ensure that your voice traffic has enough bandwidth to operate. As such, traffic shaping rules can be implemented to allow voice traffic to use additional bandwidth, or even limit other types of traffic to prioritize voice traffic.
QoS Settings
Protocol | Port Range | Priority |
---|---|---|
UDP | 10000-20000 | DSCP 46 - EF |
UDP | 5060-5081 | DSCP 46 - EF |
Network Performance
Uninterrupted, consistent network performance is required for a good experience with the Sharpen platform. Due to the inherent nature of Voice interactions to be real-time, we need consistency in the underlying network. Otherwise, users may experience dropped calls, choppy call quality, latency, or an overall slow experience.
Guidelines for optimal performance
Chrome by default blocks port 5060, which is what Sharpen’s speedtest uses. Flags need to be set when Chrome is launched. Instructions for Windows, Mac, and Linux can be found here.
Run this basic speed test to obtain your download, upload, latency, and jitter results.
<150ms latency to *.sipvbx.com (example: us1-webrtc-11.sipvbx.com for east coast US, or us2-webrtc-02.sipvbx.com for west coast US)
Average latency variation < 30ms
High variation represents interruption to your connection. This may be a result of competing network traffic, or general hardware/network instability
While high latency on its own simply means delay, latency variation typically comes coupled with packet loss, which will mean dropped calls and/or choppy audio
>10Mb/s internet connection
While voice itself is a fairly light operation, we recommend having enough bandwidth to handle all your operations. This value is more of a guideline, rather than a requirement. Most important is making sure your collection of tools, including Sharpen, have sufficient bandwidth.
The best way to determine bandwidth needs is to sample your tool set usage, and extrapolate from there.
Sharpen bandwidth utilization can vary widely based on how it is used some base-line examples of usage are as follows
Sharpen Q page load for single agent logged into 4 queues
~350 KB transferred
~7 MB page resources
1 minute outbound call from Sharpen Q
~125 KB transferred
~1 MB page resources
Reporting/Insights (10 reports) page load
~150 KB transferred
~ 8 MB page resources
< 1% packet loss
For a positive experience, voice requires minimal packet loss. If packets are dropped, it will interrupt the audio stream. You may experience disruptive delay or choppy audio. Enough packet loss will cause dropped calls.
< 30ms jitter
Jitter is the variation in delay of packets. Having high jitter will also cause poor call quality.