- 07 Nov 2024
- 11 Minutes to read
- Print
- DarkLight
Technical Prerequisites
- Updated on 07 Nov 2024
- 11 Minutes to read
- Print
- DarkLight
The information in this document is subject to periodic changes and applies to the latest version of our products. Natterbox has made all reasonable efforts to ensure that this information is accurate at the time of publication.
General Requirements
The Customer should be aware that the ability to manage quality parameters of third party IP Data Lines is beyond the control of Natterbox, and Natterbox is therefore unable to make any guarantees on call quality for voice traffic which is utilising those third party IP Data Lines, including roaming users who may be utilising WIFI Hotspots, 3G, etc
Web browsers
We support the following browsers:
Google Chrome™ - most recent stable version
Microsoft Edge - most recent stable version
Mozilla® Firefox® - most recent stable version
Note: the Natterbox webphone uses the WebRTC protocol that is not supported on mobile device browsers (such as for Android or iOS).
For all browsers you must enable the following:
Cookies
JavaScript
TLS 1.2 or later
Web storage (both session and local storage if using CTI)
Processor and Memory
Your processor speed and RAM must meet the recommended specification for your operating system. Minimum requirements as advised by Salesforce are:
4GB RAM (Recommend 8GB)
2GB available for Salesforce browser tabs (Recommend 4GB)
Keep in mind that 32-bit systems are subject to memory limitations. To take full advantage of the added RAM, use 64-bit versions of both the Operating System and the browser.
Screen Resolution
1024 x 768 pixels
Firewall
Outbound Ports
The following firewall ports must be opened for outbound traffic:
TCP 80 (HTTP)
TCP 443 (HTTPS)
TCP / UDP 53 (DNS)
Due to recent changes in Google Chrome regarding third party storage partitioning, we have made changes to how Salesforce CTI and Natterbox Webphone communicate. Our new secure communication method works off WebRTC DataChannel.
Due to this, our customers may need to adjust their firewall settings to allow localhost-localhost communication using UDP. Please ensure your IT team have configured this on any firewall(s) you use. After making this change, users may see a dialogue box to allow popups again. This should only need to be allowed for the first time after the change has been made
Websockets
Websockets must be allowed through your firewall. This can be performed by whitelisting the domains listed in the web filters section below.
You can perform a basic test to see if websockets work on your network here.
Web Filters
Web filtering systems can inhibit the connection between the CTI and the Natterbox servers. This will cause the CTI to work slower and fail to update correctly. This is usually a symptom of SSL scanning being performed by the web filtering system. It is recommended that the following domains are whitelisted from SSL scanning:
https://*.natterbox.net
wss://*.natterbox.net
wss://webphone*.natterbox.net:10062
wss://websockets.redmatter.pub/user
wss://webphone.redmatter.com:10062 - required for customers who started using Natterbox prior to March 2024
https://webphone.redmatter.com - required for customers who started using Natterbox prior to March 2024
Salesforce Requirements
Minimum Versions
Enterprise edition
Unlimited edition
Performance edition
Account and Licenses
The Natterbox managed packages (Natterbox and Call Center) require a single OAuth connection to establish the API connection between Salesforce and Natterbox.
It is mandatory that this is a System Administrator account with full read/write access to all objects. It must have View All Custom Settings Enabled and must have API Enabled.
Note: De-activating the connected OAuth account will result in data being unable to be queried from / stored to salesforce, including all reporting data.
All users requiring access to the CTI will require a full Salesforce license. Users with a community license may use the Natterbox Communities CTI however this is not available ‘out of the box’.
‘Non Salesforce Users’ that do not require Standard Salesforce functionality will still need to be added to Salesforce with ‘Chatter Free’ licenses.
Profiles
As of a Salesforce critical update in January 2020, custom settings are no longer accessible by non Administrator profiles. As such, profiles that will be using the Natterbox CTI will require the ‘View all Custom Settings’ permission to be enabled.
Session Settings
Sessions must not be locked to the IP address from which they originated. For more information about this and other sessions settings, see Salesforce help.
If you are enforcing IP login ranges on Salesforce, the Natterbox IP Addresses should be added to the list of allowed ranges on the Salesforce profile and on 'Network Access' under setup.
It is recommended that ‘session timeout value’ is set to 8 hours and that ‘force logout on session timeout’ is enabled.
Security Settings
Clickjack protection for Visualforce pages must be disabled.
CTI users must have View all Custom Settings enabled on their Salesforce Profile
API Calls
Your organization and users / profiles must be enabled for API access. You must also operate within the API request limits set by Salesforce for your account.
Each read and write to and from Salesforce makes one API call. As a rule of thumb, each phone call (loading the CTI, querying the record details, popping the record then storing the activity and call reporting record) will use 5 API calls. This does not take into consideration any other routing policy salesforce queries or stores.
Any changes to Natterbox settings (availability, user settings, policy changes etc) will also use an API call.
Data Requirements
You must have enough Salesforce data storage available within your account. For information about data storage limits in Salesforce, see Salesforce help.
The Salesforce embedded Natterbox telephony platform uses multiple custom objects to control your global telephony routing and to store call data for reporting. Each custom object record costs 2KB against your data storage limit.
Natterbox & Telephony Administration
Each user, group, phone number and call routing policy will require at least one record in salesforce.
As a very high level estimate to account for different settings records, for every user within your org, you should reserve 50KB of data storage. So an account with 50 users will need 2.5MB of data storage.
Call & Phone Event Reporting
Every call generates a call reporting record that contains all call information. Each record is 2KB against your data storage limit. The activity created by the user via the CTI will also be 2KB. These objects will remain in Salesforce until you delete them.
If your account completed 2000 calls every day and every call was logged correctly with the CTI, this would be 8MB against your data storage limit daily.
In addition to the above, there are also the following records created which should also be taken into consideration against your data limits:
Hourly Call Processing - a 2KB record is created every hour per user, giving historic call data for that hour. (50 users x 24 = 2.5MB per day)
Phone Event Reporting - a 2KB record is created every time a user fails to answer a call, whether or not another agent answered the call.
Availability Logs (Contact Center only) - a 2KB record is created every time a user changes their Availability state. (50 users x average 20 changes per day = 2MB per day)
Call Queue Logs (Contact Center only) - a 2KB record is created every hour per call queue, giving historic call data for that hour. (20 call queues x 24 = 1MB per day)
An average contact center with 50 users taking 2000 inbound calls into call queues would therefore use around 15MB of Salesforce data storage per day.
Insight
In order to calculate how much data Insight will consume you will need to obtain the following pieces of information :
How many Insight Categories are configured
The amount of calls produced per day
How many of the calls are expected to be triggering Insight (we assume a usual case is about 40%, but it’s entirely dependent of how the Categories are configured)
Expected amount of Categories to trigger on a single call (we assume this will equate to half the total amount of configured Categories, again this entirely depends on the Category configuration)
Whether you’re recording and analysing both sides/legs of a call or not
This is determined by the configuration of the Record & Analyze component within the Routing Policies
Note that a single Insight call record with no call Categories associated with it consumes 4KB and an additional 2KB per Category triggered.
Storage calculator :
1. Calculate the amount of calls you expect to trigger Insight
{Expected Daily Call Volume} * {Expected Insight hit rate (percentage)} = {Expected amount of calls to trigger Insight}
2. Calculate the average size of an Insight call record
{Expected Category triggers per call} * {2 (KB) per Category triggered} + {4 (KB) Insight call record size} = {Expected data usage for an average Insight call record}
3. Times these values together to calculate the expected data usage of Insight
{Expected data usage for average Insight call record} * {Expected amount of calls to trigger Insight} = {Expected daily data usage of Insight (KB)}
Then if you’re recording and analysing BOTH legs of the call, times this value by two
{{Expected data usage for average Insight call record} * {Expected amount of calls to trigger Insight}} * 2 = {Expected daily data usage of Insight (KB)}
Example:
Assuming the typical Insight hit rate will sit at around 40%, and that the amount of Categories triggered per call will be roughly half the total amount of configured Categories, a typical example would like this :
6000 Expected Daily calls * Expected Insight hit rate of 40% = 2400 Calls expected to trigger Insight
((30 Configured Categories / 2) * 2KB) + 4KB = 34KB Expected daily data usage of Insight
34KB x 2400 = 81600KB / 8.16MB Expected daily data usage of Insight
Then if both legs are being analysed it would be 16.32MB Expected daily data usage of Insight
Prompt Studio
If you’re using Prompt Studio and you’re retrieving responses from the AI you will also have to factor this into your calculations as each result back from the AI is stored within it’s own record (AI Prompt), so it’s an additional 2KB per enabled prompt.
Storage calculator :
Times expected daily call volume by the amount of prompts enabled.
{Daily Call Volume} * {2 (KB) * number of enabled prompts} + {4 (KB) Insight call record size} = {Expected data usage for an average Insight call record}
Then if you’re recording and analysing BOTH legs of the call, times this value by two
{{Daily Call Volume} * {2 (KB) * number of enabled prompts} + {4 (KB) Insight call record size}} * 2 = {Expected data usage for an average Insight call record}
Number Format
Telephone numbers within Salesforce should be in E.164 format which includes the country code at the beginning (prefixed with +), with no spaces and no special characters. They are limited to a maximum of 15 digits.
Phone numbers will include:
a + sign to indicate that the number is international
a country code, such as 44 (UK), 1 (US), 61 (AU), 49 (DE).
a region code, such as 203 or 217 (remove any leading digits, usually a zero, if applicable)
the subscriber number, such as 654321
Note: Phone numbers must be a Salesforce ‘Phone’ field.
While the Natterbox CTI will make every effort to normalise phone numbers for Click to dial and record popping, the above format is required for querying Salesforce data as part of dynamic call routing policies.
You can use the below validation rule on phone fields in salesforce to ensure users enter the number correctly. Replace ‘PhoneField’ with the API name of the field: NOT( OR( ISBLANK(PhoneField), REGEX(PhoneField,"^\\+[1-9][0-9]*"))) |
---|
Telephony
Over the Top (OTT) Connectivity
A direct dial-in (DDI) number is required for each user. This may be on an existing private branch exchange (PBX), another landline number, or a mobile number.
Ensure that each number is set up for basic voice communication only. You should disable voicemail, welcome and other messages, hunt groups and forwarding.
Voice over IP (VoIP)
General Settings
Internet Connectivity
With all Natterbox VoIP solutions, your network (meaning to the edge of your network) must meet the following requirements
Bandwidth: 100 kilobits per second (kbps) per concurrent call
Latency (round trip time): < 100ms
Jitter: < 20ms
Packet loss: <1%
End users should use a wired Ethernet connection as opposed to Wi-Fi (not including users on Freedom Mobile)
Firewall / Router Configuration
The following firewall ports must be opened for outbound traffic:
UDP 5000 to 64000 (RTP/STUN)
UDP 5060, 3479 (STUN)
Note: due to configuration, some users may see STUN requests on ports 18000 to 30000 as STUN can be used in RTP
SIP ALG must be disabled on any network equipment.
Load Balancing
Public IP addresses should be static where possible.
Load balancing Natterbox voice traffic across multiple ISP’s and/or IP’s is not supported as it will result in call connection / audio issues.
Yealink, Softphone or 3rd Party SIP device Specific Settings
If using IP telephony you must also ensure your IP network has the following configuration in addition to the general requirements:
The following firewall ports must be opened for outbound traffic:
TCP / UDP 5060, 5050, 5061 (SIP)
Webphone Specific Settings
If using the Natterbox webphone, you must also ensure your IP network has the following configuration.
The following firewall ports must be opened for outbound traffic:
TCP 10062 (WebRTC/Websocket)
UDP 5000 to 64000 (RTP/STUN)
EDNS must be supported on local hardware.
Your firewalls should allow UDP to and from the public internet for the browsers that will be using the Webphone.
Natterbox IP Addresses
While it is not recommended that the local firewall and edge devices are locked down to Natterbox IP addresses, it may be that customers with restrictions already in place may need to open up their firewalls to Natterbox IP addresses. For this purpose, the Natterbox IP ranges are below:
185.185.76.0/22 (185.185.76.0 - 185.185.79.255)
5.180.188.0/22 (5.180.188.0 - 5.180.191.255)
103.73.186.0/23 (103.73.186.0 - 103.73.187.255)
2a0f:a0c0::/31
84.45.30.0/24 (84.45.30.0 - 84.45.30.255)
54.228.110.191
79.125.121.120
52.71.103.102
35.156.148.166
52.16.243.39
52.208.62.60
34.254.106.49
18.202.74.215
If you are restricting IPs on Salesforce, the IP addresses above should also be added to the list of allowed ranges on the Salesforce profile and on the Network Access section under setup.
The following IPs only need to be whitelisted if your organisation uses Yealink deskphones
20.19.104.34
20.85.145.227
20.19.96.56
20.242.144.0
20.242.144.1
51.11.241.228