[[TracNav]] = The Broadband Phone Network = The DTG Broadband Phone Network is a thin-client device network consisting of one server and approximately 50 thin-client devices situated throughtout the lab (one per desk and a couple of common areas). The devices provide simple application (e.g. calculator), personalisation (e.g. contact lists) and VoIP functionality to other phones within the network. [[Image(bbphone.png, align=right)]] == System Overview == The system is structured in a client/server fashion. The server runs an embedded frame-buffer for each connected client which is synchronised with the client over a [http://www.realvnc.com VNC] TCP stream. Likewise, input events (via the touchscreen) travel from client to server as feedback into application state. VoIP is standard SIP based signalling with RTP based audio transport. == Hardware == * Server(s): A standard x86 PC with 1GB of RAM running the server software * Client(s): An ARM SA1100 based machine with 32MB of RAM, 8MB flash ROM, touchscreen, 16-bit sound card, 10Mbps ethernet running a modified version of the Linux kernel. == Software == === Applications === * Server(s): The main server side component is a heavily modifed version of [http://www.trolltech.com/products/qtopia Qtopia 1.7] running on a base of [http://www.trolltech.com/products/qt QT 2.3.7]. Coupled with this are a set of utility programs for connection, management and remote logging. Bindings are available for CORBA and in particular the [wiki:BatSystemMain Bat System]. * Client(s): Run a custom VNC client and some software to forward console logs to the server. === VoIP === * Server(s): Run the SIP Server with which all clients register. Does all VoIP maintenance, mainly: * Keeping track of registered phones: * Marking phones as offline [after prompting them to reregister] * Tracking phone calls * Inititating phone calls between clients [[Image(call.png, align=right)]] * Client(s): Run their own VoIP client and connect on a peer-to-peer basis for the duration of phone calls. Synchronisation between clients and servers is maintained via the periodic exchange of control messages. == Papers == 1. Ripduman Sohan, Andy Harter and Andy Hopper. TiCL: A Server Architecture For Thin-Client Networks. CUED TR-493. September 2004. [http://www.cl.cam.ac.uk/Research/DTG/~rss39/bbphone/cued.f-infeng.tr-493.pdf.gz download] == Hacking The Phone == For information on how to write applications for the phone, look [wiki:local/BBPhoneProgramming here] (local access required).