Cloud Telecomputers – Android Implementation
Building a touchscreen Android-based IP Smartphone for the business desk brings all the benefits of open source Linux, combined with the programming tools and open API of Android. Choosing the Cloud development platform for your “Phone of the Future” gets you access to thousands of trained Android/Linux programmers, continuous new Android applications, and great programming and debugging tools.
The initial hardware implementation of Glass consists of an 8-inch, 24-bit color display with 800×600 resolution, a touchscreen, a handset and a speakerphone. Telephony is provided using either a VoIP service or through a standard POTS phone line. Optional telephony can be implemented via a GSM radio or WiMax.
Cloud reference hardware designs (shown above) use TI OMAP and AudioCodes processors. Cloud software can be ported to other hardware configurations and processors, including those with a GSM radio or WiMax for the media connection.
On our PCB, we have two SoC’s that make up two independent computers, each complete with its own SoC, Flash, RAM and peripherals. We used two computer chips so that we could avail ourselves of a proven, tested SIP stack and have excess processing power for future applications on the main OMAP processor.
The first computer is connected to the LCD display and touchscreen; it runs the GUI of the device which takes care of user interaction. This is the computer running Android that will enable partners to implement future applications via the Android API.
The second computer is the VoIP processor. It has Ethernet and audio (microphone, handset, speaker). This computer performs all the VoIP functions. It has a DSP running voice codecs and echo-canceling software. It also has a SIP stack. The two computers are connected by an internal IP network; all communication between the two is over the IP network.
Connections and Interfaces
Internet connectivity – users can connect phones to their LAN via a 100MB wired Ethernet port or via WiFi. The phone includes a two-port Ethernet switch so that offices with only one Ethernet port can connect the phone to their LAN, and then their PC to the phone.
USB ports – two USB ports are available, including a USB device port for connecting the phone to a computer and a USB host port to which USB devices can be connected. The USB device port allows the phone to take advantage of standard desktop computer functions such as Outlook synchronization, screen sharing and other PC applications.
RJ-11 – This is a standard analog FXO port for connecting to POTS phone lines, where the user wants to continue to use a standard telephone service. A high-speed internet connection and USB connection to a PC are still recommended, however, to avail the user of all Cloud phone data features and applications.
Power over Ethernet (POE) – the system includes POE to eliminate the need for an additional wire and power supply. If POE is not available, a standard power adapter is included.
Headset jacks – An RJ-11 headset jack and a 2.5 mm headset jack are available for use with third-party accessories.
VoIP Processor Commands
We have developed a “telephony server” application that runs on the VoIP processor and is remotely callable over the internal IP network. This means that it will accept commands over TCP/IP, such as “make call”, and also send event notifications asynchronously to the GUI processor, such as “incoming call.”
Corresponding to this telephony server is a “telephony client” application running on the GUI processor which controls and communicates with the telephony server. This telephony client will expose an API for integrating into Android. Android runs on the GUI processor and uses the telephony client application to control/communicate with the telephony server application on the VoIP processor. Our VoIP stack is not just a SIP stack, but handles call states and multiple calls. It also has functions for call handling, transfer, conference, etc.
The VoIP stack is able to provide all the SIP/SDP related functions, such as asynchronous callback handling and SIP registration, call initiation, etc. The VoIP system includes a media stack (RTP/RTCP modules). Both the signaling and data path are handled by the VoIP stack. Only requests and notifications have to be implemented in Android.
This architecture has the advantage that the VoIP processing and functionality of the telephony client/server are already available and independently testable. Also, during development you can run the Android Emulator on your desktop and simply connect to the VoIP processor’s IP address, which will be supplied to the Telephony Client in its configuration file.
All drivers for the LCD, network, audio, etc. are supported for the hardware and are part of the build.
For additional technology information, please email firstname.lastname@example.org.