About
Developed by controlspace.co
This project was built using cloud technologies.
On the front end it's using the Bootstrap framework from Twitter. It's easy and simple to use and surely removed much of the design work needed for the initial development.
On the server side, the solution was to use AWS Elastic Beanstalk, running on Tomcat 8 Java application severs and using MongoDB as the persistent layer.
Telecommunication services are provided via Twilio
Known Issues
- Device Timeout: Google Clould Messaging sometimes can delay message delivery resulting in timeouts. Click here for more info
*If you are experiencing these kind of issues you can always download GCM Wifi Fix App from Google Play Store
- Audio quality might suffer some hiccups depending on the network although Twilio is rolling out support for Global Network Traversal Service - "Low-latency, cost-effective, reliable STUN and TURN capabilities distributed across five continents"
- Incoming calls and voicemails might not recognize the caller id due to limitations of the operator or the twilio service. This means that some incoming calls will be coming from a blocked number! (Work in progress)
- When forwarding calls, some operators do not provide Twilio the whole information about the call including which number is forwarding the call (ForwardedFrom). If this happens with your operator you cannot use this service to receive incoming calls.




Android Application Permissions Explained
Yelo Phone requires a fairly large amount of permissions to the user, and this is why the application needs it:
CALL_PHONE - Access Call Forwarding functionality
C2D_MESSAGE - Google Cloud Messaging
INTERNET - Full Internet Access to communicate to server
MANAGE_ACCOUNTS - Create Google account if necessary
GET_ACCOUNTS - Access Google accounts
USE_CREDENTIALS - Use Google account credentials to identify user
READ_CONTACTS - Access Address Book
WRITE_CONTACTS - Set Favorites / add Test Voicemail contact
SEND_SMS - Send SMS
RECEIVE_SMS - Receive SMS
WAKE_LOCK - Keep phone awake
READ_CALL_LOG - Access call Log
WRITE_CALL_LOG - Update call Log
READ_PHONE_STATE - Incoming call notifications
MODIFY_PHONE_STATE - Auto reject calls when roaming
ACCESS_COARSE_LOCATION - Access current location of device
ACCESS_WIFI_STATE - Access current wifi state (on/off)
CHANGE_WIFI_STATE - Change current wifi state (on/off)
ACCESS_NETWORK_STATE - Access current mobile network state (on/off)
CHANGE_NETWORK_STATE - Change current mobile network state (on/off)
RECEIVE_BOOT_COMPLETED - Start application after reboot (configurable)
VIBRATE - Vibrate on incoming calls
RECORD_AUDIO - necessary to make calls, record voicemail greetingsq
MODIFY_AUDIO_SETTINGS - necessary to mute and put speakers on
WRITE_EXTERNAL_STORAGE - Cache and tsemporary storage for downloaded files
ADD_VOICEMAIL - Add new voicemails
AUTHENTICATE_ACCOUNTS - Create Yelo accout on device
READ_SYNC_SETTINGS - Sync Contacts
WRITE_SYNC_SETTINGS - Update Sync properties
BILLING - In-app Purchases