Mobile Elements Client

⌘K
  1. Home
  2. Programmable Voice
  3. Mobile Elements Client
  4. Mobile Elements Client

Mobile Elements Client

Brief Overview

Mobile Elements is a VoIP mobile application which runs on Android, iOS and Universal Windows platforms. This application has been built using Xamarin forms cross platform development environment which is a built-in feature in Visual Studio. The Mobile Elements application supports outbound and inbound calling facility using the Voice Elements server platform. Some screenshots of application pages in Android target platform is shown below.

Mobile Elements - Splash Screen

Splash Screen

Mobile Elements - Login

Login

Mobile Elements - Main Page Tabs

Main Page Tabs

Mobile Elements - Recent Call

Recent Call

Mobile Elements - Settings

Settings

Mobile Elements - Dialing A Number

Dialing a Number

What do you need?

You’ll want to contact support@inventivelabs.com and let them know that you are interested in creating a Mobile application.

They will set you up with a demo account so that you can connect to our cloud based servers and provide you a Username, Password and CustomerId.

How it works

In order to run the application on your devices, you need to do the following steps.

  • Download the Mobile Elements server and client projects from <Link> and open the two solutions in Visual Studio.
  • See the below sections Outbound Calling and Inbound Calling in this page in order to build and configure your client application for outbound and inbound calls.
  • Once you are able to run the application on your device, then you need to register your application with the assigned username and password. See the The Login Page screenshot. This is just a one time registration, but you can change your credentials from the Settings page. These credentials get validated by the server every time you open the application. You need to make sure that your Internet service is available all the time.
  • You need to wait until you receive a status as Registration Ok on the Main page your application. See the above screenshot The Main Page With Tabs for the confirmation message.
  • You can also check for your recent call list in the Recent tab of your Main page.
  • In case you face any issues in running the application, you need to email the logs to the support team from the Settings page. It will automatically attach the log file.

Outbound Calling

  • The Mobile Elements solution has six different folders which includes shared project, Android, iOS, UWP, Windows and Windows phone. Currently, the outbound calls are supported only in Android, iOS and UWP target platforms. All these projects have to be compiled and executed individually. To enable your outbound calling feature, you need to configure few parameters in “UserCredential.cs” file in the client shared project. See platform specific pages below for more details. Set the URI and host of your server application in order to open the web socket for outbound calls.
  • Whenever the user places an outbound call, the web socket is opened to connect the server application. The call credentials are sent to the server application through this socket. Then the call details are sent to the Voice Elements server platform from the server application. The two lines are routed to establish the outbound call for the user.
  • Below are the two screenshots of the outbound call page and the keypad during the outbound call. These screenshots are taken from the running Mobile Elements application in an Android device.

 

Mobile Elements - Outbound

Outbound Call Page

Mobile Elements - On Call Keypad

On Call Keypad

Mobile Elements - Outbound Call Block Diagram

Outbound Call Block Diagram

Inbound Calling

  • The Mobile Elements application works with the push notification services on different platforms to support the inbound calling feature. In order to establish an inbound call, first you need to contact support@inventivelabs.com. They will assign your receiving device with a phone number. Currently, the inbound calling is supported only in Android and UWP target platforms.
  • Before you start, you need to create and configure your project details in GCM/WNS/APNS cloud services. To enable the inbound calling, you need to set the flag ENABLE_REGISTRATION as a conditional compilation symbol in build options inside the platform specific projects and you are also required to configure few parameters in “UserCredential.cs” file in the client shared project. See platform specific pages below for more information.
  • The client application request the GCM/WNS/APNS cloud services for a registration token/device token/channel URI during the launch of application on your device. This device token is sent to the server application through a web socket for further communication. The device token and the username are stored at the server application and the username is validated.
  • Whenever an inbound call arrives at Voice Elements server platform through the carrier services, the server application is informed by the Voice Elements server. Then the server application sends the push notification to the could services using the device id and other secret/application keys. Then the cloud services send the push message to the client application.
  • When the client application receives the push notification, it launches a page to answer the inbound call. Once the call is answered, a web socket is opened to route and establish the inbound call. An global unique identifier is used for each call.
  • Below is a screenshot of inbound call page in a running Mobile Elements application on Android device.
Mobile Elements - Inbound Calls

Inbound Calls

Mobile Elements - Inbound Call Block Diagram

Known Issues

Common Issues

  • If the keypad page is opened during the call, then the numbers dialed over there are not passed to the ongoing call.
  • If the user rejects the call without answering in case of an inbound call, then the call never gets disconnected from the calling side.

Android Platform Specific Issues

  • Multiple missed calls from a single number are not supported.

UWP Platform Specific Issues

  • Missed calls are not supported.
  • If the application is running and minimized, then the notification wont be visible until the application is maximized.
  • The caller id is not shown in case of a toast notification.
  • You need to configure Mail Box of Windows 10, in order to email the logs from the Mobile Elements application.

iOS Platform Specific Issues

  • Inbound calls through push notifications are not supported in iOS target platform.
  • Splash screen is not working in iOS.
Was this article helpful to you? No Yes 13

How can we help?