Google Cloud Messaging (commonly referred to as GCM, also known as "Push Notifications") is a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System.

Thirdlane Connect uses GCM to save resources, and in particular battery life, and deliver chat messages, and "call" Thirdlane Connect users on Android devices even when Thirdlane Connect application is in the background or the device is "asleep".

Thirdlane server sends this "wake-up notification" each time a user is called while appearing to be offline, If Thirdlane Connect does not "wake-up" after a predefined amount of time after notification from Thirdlane server, we consider it to be "truly" offline, and the call goes to the "unavailable" destination. We make a few attempts to wake up the device before considering it to be "truly" offline. The number of attempts and delay between each attempt can be configured in Thirdlane Communications Manager

In order to start using GCM in Thirdlane Connect, you need to obtain your GCM Sender ID, and API Key from Google. We recommend to do this before any users with Thirdlane Connect on Android devices connect to your system.

Obtaining GCM Sender ID and API Key from Google

1. Login with your Google account, and go to Google Developer Console: https://console.developers.google.com/apis/library. After Login click "Project -> Create project"

.
create_project_gcm.png

2. Name your project any way you like, click on "Show Advanced options" and select location closest to your users and your Thirdlane server. Click "Create" to create the project.

create_project_gcm_2.png

3. Make sure your project is selected, navigate to the "Library" section, type "gcm" in the search box, then click on "Goggle Cloud Messaging"

create_project_gcm_4.png

4. Click "Enable"

create_project_gcm_5.png

5. Click "Create Credentials"

create_project_gcm_6.png

6. Make sure Goggle Cloud Messaging is selected in the dropdown, and click “What credentials do I need?”.

create_project_gcm_9.png

7. You will now have your GCM API key, which you will use later.

Note: We recommend to click "Restrict key", and enter public IP address of yours server for security reasons.
create_project_gcm_7.png

8. Navigate to "Project Settings", via dropdown menu near the avatar at the top right of the screen and copy Project Number which will be using as your "Sender ID"

create_project_gcm_8.png

Configure Thirdlane to use GCM

1. Login to Communications Manager

2. Navigate to "System Management -> System Settings -> Cloud Messaging"

3. Enter API Key and Project Number (Sender ID ) that you have created using Google Developer Console, and save.

create_project_gcm_10.png

If you had any Android devices connected recently, or you have changed the API Key or Sender ID, Thirdlane Connect should be restarted, (logged out, and logged in again).

In order for GCM to work, both the device running Thirdlane Connect and Thirdlane server MUST be able to access TCP port 433 at android.googleapis.com

If needed, you can change the number of device wake-up attempts, and the delay between the attempts via "System Management -> Telephony Settings -> Global Dialplan Variables"

Thirdlane default values for the device wake-up attempts, and delay between the attempts are:

TL_GCM_MAX_ATTEMPTS: 6

TL_GCM_ATTEMPTS_INTERVAL: 4

This means that system will send special notification and then check 6 times with an interval of 4 seconds for the dialed device to wake up and be ready to receive a call.