Creating your own Compass supported softphone app for mobile phones

Compass supports softphones based on Cloud Softphone. You can create your own app, including your own logo and settings. When everything is set up, users can configure their softphone by downloading the Cloud Softphone app and simply scanning a QR code on the Compass phone status page.

Introduction

Please have a look at https://www.cloudsoftphone.com first. It tells everything you need to know about the general features of the Cloud Softphone. This document describes the layout and configuration of the Cloud Softphone.

Partners who are using Compass via any reseller or distributor can always create their own Cloud Softphone account. After creating the account, you will be logged in and will be shown a dashboard (https://providers.cloudsoftphone.com). From this dashboard you can do several things:

  1. Create or Duplicate / Read(View) / Update all Cloud Softphone apps. (To Delete an app, click on the app title in the dashboard and make a comment in the support box on the end of the page)
  2. Watch video tutorial, download the latest Android/iOS apps en view the latest news.
  3. Open an app for more details: Click on the app title. URL will look like this https://providers.cloudsoftphone.com/record/detail/XXXX (Where XXXX is a variable for that app)

Other Visible information
Name: Any random name that’s visible in the dashboard of the Cloud softphone configuration dashboard (Can be changed anytime)
Owner: Company name of the Cloud softphone configuration dashboard
Cloud ID: Unique identifier that’s embedded in the provisioning template (cannot be changed after going live)
Description: Notes field (Can be changed anytime)

Opened app
When opening an app, you will be able to

  1. Edit application name
  2. View settings for current Live version, Edit settings for the editable copy or Edit settings for an app that’s not live yet.
  3. View provisioning for QR for android/ios apps, Pricing, Actions: (Make an Editable copy if you want to make changes to the live version (Don’t use the duplicate feature on the main dashboard & Pause / Cancel review), Billing and payments in progress, Latest 3 invoices, Latest 3 usage periods (users).
  4. Comments

Known issues

  • In Cloud Softphone 1.9.19 and up, DTMF in combination with Opus codec might not work. Using the dialpad to navigate IVRs won't work. Workaround: select other codecs, such as G.722, GSM, G.711 mu-law and G.711 A-law, preferably in that order.

How to launch your own Softphone App ?

  1. Create an account on https://www.cloudsoftphone.com.
  2. Decide wether you want to use our template or build from scratch. Depending on your choice, use the steps below to setup your app.
  3. Pay and launch the app
  4. Explain your users how to login and distribute phone credentials or QR codes

Good to know

  • Multiple SIP accounts or identities are not supported. The first identity is being used when logging in.
  • Phone credentials are stored on the Acrobits server to enable push notifications and save battery life.
  • Multiple SIP domains should be possible, but are not tested yet. We use one app per SIP domain.
  • We use OPUS as audio codec from the app to the Compass server. Compass transforms this codec to another codec if parties don’t support this codec.
  • Acrobits documentation can be found here: https://doc.acrobits.net and https://doc.acrobits.net/cloudsoftphone/faq.html
  • Android and iPhone behave differently regarding network settings. Please see the section Making a New App > Phone Settings
  • (Android) Issue found by Cloudsoftphone: When setting network constraint to Mobile data only, android is still using SDP over wifi. As of writing (28-10-2018) this hasn’t been resolved yet. Please contact Cloudsoftphone to get the recent status about this issue.
  • (Android) Issue found by IPerity: (Android) When setting network constraint to Mobile data only and when wifi is connected the account won't register. After wifi is enabled it’s registered again.
  • (Android) There seems to be another bug on Android where the pressed keys are not cleared. Expectation is that this will be fixed soon.

Using our app template as a starting point

Below you will find the steps to configure the Cloud Softphone following the configuration we made. But you can also get an copy of our app (which has the same settings). This saves you some time editing, and you have the confidence you get the exact same settings of the app as tested by us. To do this:

  1. Create an account on https://www.cloudsoftphone.com.
  2. Send an email to support@iperity.com stating your reseller/distributor, SIP Domain and your Cloud Softphone account email address.
  3. We will create a copy with the correct SIP domain and ask Cloud Softphone support to transfer the copy to your account.
  4. You edit the design (see section further down below)
  5. You pay and push it to live.
  6. Read below (Section: Logging in into the Softphone app) how to login.

Creating a new app from scratch

The first screen asks for a feature set. Choose the Full-Featured app. All other (higher) feature sets should also work, but we didn’t test it yet.
After selecting a feature set, we need to select the features we want.

Picture1.pngPicture2.png

Selecting the right features

Below you will find the features we selected in our (working) app. It’s important to note, that some other features can be enabled and used in conjunctions with Compass, but we didn’t test it ourselves. The configurator shows the exact total one-time price, monthly price and price per user for the chosen features. These cost must be paid by the account holder and cannot be paid as an in app subscription.


General
✓ The App (Cannot be unchecked)

Extra features
✓ Business Features
𐄂 Contacts from CardDAV server (Can be used separate from Compass)
𐄂 Contacts from Web Service (Can be used separate from Compass)
𐄂 Contacts from Office 365 account (Can be used separate from Compass)
𐄂 Custom Tab with Web View (Can be used separate from Compass)
✓ Voicemail
𐄂 Video Calls
✓ Secure Calls via SDES (optional, requires TLS transport protocol)
𐄂 Web Callback (Not supported on Compass)
𐄂 Callthrough (Not supported on Compass)
𐄂 Balance checker (Not supported on Compass)
𐄂 Rate checker (Not supported on Compass)
𐄂 Push Token Reporter (Not supported on Compass)
𐄂 Unlimited subdomains (Can be used, but not tested)
𐄂 Custom Account Forms (Can be used, but not tested)
𐄂 Location Reporting (Can be used separate from Compass)

✓ Incoming Calls via PUSH service
✓ Using Acrobits PUSH servers
𐄂 Using your own PUSH servers (Can be used separate from Compass)

𐄂 SMS/IM (Not supported on Compass)


𐄂 Rich Messaging (Not supported on Compass)


ZRTP (Not supported on Compass)
✓ Off
𐄂 ZRTP - High Security
𐄂 ZRTP - Ultra High Security

App professional designs
✓ App design done by provider himself through Cloud Softphone Portal Theme Editor
𐄂 Acrobits professional designs
𐄂 Acrobits professional designs with logo

𐄂 Digital Marketing
✓ No digital marketing

External Provisioning (Can be used, but not tested)
𐄂 External Provisioning API

Provisioning options & settings
Basic
Name of the service: Same as application name
Domain: Registrar/proxy URL (can be found in every phone in compass).
Example UDP transport protocol: sip.demo.iperity.com
Example TCP transport protocol: sips.demo.iperity.com
Transport protocol: TLS (with sip: addresses) or UDP (unencrypted)
Note: TLS requires Secure Calls via SDES is enabled as a feature.
For TLS only: SRTP for outgoing calls: Required
For TLS only: SRTP for incoming calls: Required
Use CallKit on iOS:
Enable Busy Lamp Field: 𐄂
CallKit display name: Choose your own name. Preferably the name of your app.
Android native dialer integration: Enabled
SIP registration required for outgoing calls to work:
Incoming calls for iPhone and Android: Push
Allow end users to change incoming call settings: 𐄂
Proxy: Keep empty
Voicemail Number: 1233
Expires: 3600

High Security settings
Leave as default

Legal
The URL of your EULA document
Please put here the url pointing to your EULA. Here more information can be found about the GDPR implementation: https://doc.acrobits.net/cloudsoftphone/gdpr.html?

New account screen
Can be leaved empty

Edit account screen
Can be leaved empty

Contact Sources
Contact Sources: Phone Address Book
Contact Matching Order: Contacts, Smart Contacts, Quick Dial, SIP Display Name

Dial Actions
Dial Action on single fingertap: Auto Call
Dial Action on long press of finger: Show Options
Android native dialer integration - Dial Action: Voice Call
CallKit Dial Action: Auto Call
Dial Action on 3D touch: Show Options
Custom Dial Actions: Leave empty

Location
Location policy for calls: None
Location policy for SIP registration: None

Rate the App
You can set your own preferences

Tabs
Tab Order: History, Keypad, Contacts
Initial tabs: Keypad

Audio codec preferences when using WiFi
Codec order when using WiFi
✓ OPUS Wideband
✓ OPUS Narrowband
✓ G.722
✓ GSM-FR
✓ G.711 u-Law
✓ G.711 a-Law
𐄂 G.729 A
𐄂 iLBC
Preferred packetization on WiFi: 20ms

Audio codec preferences when using Mobile data
Codec order when using mobile data
✓ OPUS Wideband
✓ OPUS Narrowband
✓ G.722
✓ GSM-FR
✓ G.711 u-Law
✓ G.711 a-Law
𐄂 G.729 A
𐄂 iLBC
Preferred packetization when using mobile data: 20ms

NAT traversal
Method: Auto
STUN/TURN server: 𐄂
Use public IP in Contact: 𐄂
Send keep-alives: 𐄂
Keepalive period: 30

Phone settings

The app has hundreds of settings, the vast majority never touched by end users. Pretty much every preference is configurable, but only the common ones are in the portal. (So most of these settings are not visible and not configurable in the Cloud Softphone portal).
Preferences are also not provisionable (by external provisioning feature). If you want one changed from the default, you would need to contact Cloud Softphone.

Advanced account settings can be provisioned via external provisioning (a feature that must be enabled). Or can be enabled manually by Cloud Softphone (if you don’t have the feature enabled). See the provisionable settings here: https://doc.acrobits.net/cloudsoftphone/account.html. Below settings are advisable to have set and we did this for our app template.

Non standard settings on iOS
Network
Network constraint: Mobile Data
Network priorities for RTP: Prefer Mobile Data
Network Change Strategy: If Needed.
Other
Start video automatically: off 
Visibility: HIDE

Non standard settings on Android
Network
Network constraint: Any Network
Network priorities for RTP: Prefer Mobile Data
Network Change Strategy: If Needed.
Other
Start video automatically: off.
Visibility:
HIDE

NOTE ON NETWORK SETTINGS:
The reason we set the app mobile data only as much as possible, is that we are not dependent anymore on the WiFi network configuration which might block VoIP or is unstable.
The reason the settings between iOS and Android are different is because when an android device is set to use mobile data only and is connected with wifi the registration will not come through. (Issue/Bug)

Only show the below settings
Many, settings can be hidden, as the don’t provide any value for a non tech user. We decided to only show below settings.
Account
Username
Password
General settings
Preferences
Ringtones > Standard
Sound
Echo suppression ✓
Speaker phone echo suppression ✓
Handset echo suppression ✓
Noise suppression ✓
Mic volume boost (0%)
Play volume boost (0%)
Keypad volume (70%)
Auto speakerphone mode > Video Calls
Bluetooth support ✓
Log SIP Traffic
Information
About
Usage
ACTIVATION
Reset Application

iPhone design

Basic Customization
Set all variables to preferred design (advised)
Detailed configuration
You can leave all settings by default
N/A > Messaging page
Set all variables to preferred design
About page
About image: upload your own image. Example: see below
Ringtones
Upload ringtones (optional)

Android design

Basic Customization
Number Field Text Color
Badge Background Color
Selected Tab Color
Leave rest of the settings unchanged
N/A > Messaging page
Set all variables to preferred design
About page
About image: upload your own image. Example:

Picture1.png

Have more questions? Submit a request

0 Comments

Article is closed for comments.