Study and installation of a VOIP service on ipaq in Linux environment



Similar documents
Performance of Host Identity Protocol on Nokia Internet Tablet

Traditional Telephony IP Telephony Voice, Data, Video Integration. Media Convergence. IP Router Server IP Router. Video Distribution Fax

Example of Standard API

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

File Transfers. Contents

Embedded Software Development

CT LANforge-FIRE VoIP Call Generator

Volume SYSLOG JUNCTION. User s Guide. User s Guide

Mobile Operating Systems. Week I

Ways to Use USB in Embedded Systems

HP SkyRoom Frequently Asked Questions

Network Projector Operation Guide

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

Network Attached Storage. Jinfeng Yang Oct/19/2015

CT LANforge WiFIRE Chromebook a/b/g/n WiFi Traffic Generator with 128 Virtual STA Interfaces

4. H.323 Components. VOIP, Version 1.6e T.O.P. BusinessInteractive GmbH Page 1 of 19

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

Comparing Free Virtualization Products

Tera Term Telnet. Introduction

Multimedia Systems Hardware & Software THETOPPERSWAY.COM

FWS WiTDM Series KWA-O8800-I User Manual

Cisco IPICS Push-to-Talk Management Center

VoIP support on Qtopia. Vladimir Minenko, Ph.D.

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

EPSON Scan Server & EPSON TWAIN Pro Network

Internet Desktop Video Conferencing

Downsizing : Client/Server Computing Joe Wang, The Upjohn Company, Kalamazoo, MI (616)

ALL-AIO-2321P ZERO CLIENT

Table of Contents Introduction and System Requirements 9 Installing VMware Server 35

Audio Video Conferencing 1 Introduction Low-end: Medium: High-end:

Introduction to UNIX and SFTP

Introduction To Computer Networking

January 2002

Upon completion of this chapter, you will able to answer the following questions:

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Chapter 5: System Software: Operating Systems and Utility Programs

LOCKSS on LINUX. CentOS6 Installation Manual 08/22/2013

A More Secure and Cost-Effective Replacement for Modems

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

NFS File Sharing. Peter Lo. CP582 Peter Lo

CSE 265: System and Network Administration

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Sage ERP Accpac Online

SAN Conceptual and Design Basics

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Aculab digital network access cards

Building Applications Using Micro Focus COBOL

CheckPoint FireWall-1 Version 3.0 Highlights Contents

Chapter 2. Basic Concepts Linux Workstation. 2.1 Types of Hosts

Enhanced Diagnostics Improve Performance, Configurability, and Usability

VOICE OVER IP AND NETWORK CONVERGENCE

Outline: Operating Systems

Embedded Linux development training 4 days session

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Site Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08

NetSupport Manager v11

presentation Our customers & Partners AE

Cross-channel protection GSelector s exclusive cross-station protection prevents the same song from playing at the same time across your stations.

Remote Access Server - Dial-Out User s Guide

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Detection of Promiscuous Nodes Using ARP Packets

DEVICE DRIVERS AND TERRUPTS SERVICE MECHANISM Lesson-14: Device types, Physical and Virtual device functions

A Real Time, Object Oriented Fieldbus Management System

Computer Networks/DV2 Lab

Computers: Tools for an Information Age

How To Set Up Foglight Nms For A Proof Of Concept

Linux Driver Devices. Why, When, Which, How?

System i and System p. Customer service, support, and troubleshooting

File Transfers. Contents

Measure wireless network performance using testing tool iperf

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Danware introduces NetOp Remote Control in version 7.01 replacing version 7.0 as the shipping version.

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Mobile Operating Systems Lesson 05 Windows CE Part 1

CHAPTER 15: Operating Systems: An Overview

An Introduction to VoIP Protocols

Back Office Recorder 4iP Installation Guide Intelligent Recording Limited

DCS110 CATVisor COMMANDER

Stateful Inspection Technology

This chapter describes the specifications of the embedded Ethernet function for Series 16i/18i/21i/160i/180i/210i/160is/180is/210is B.

TCP/IP Network Communication in Physical Access Control

Exhibit n.2: The layers of a hierarchical network

GEVPlayer. Quick Start Guide

Remote Annex. Quick Start for Windows. Read before installing and using Remote Annex Software Release 4.2

Network Simulation Traffic, Paths and Impairment

Using VMware Player. VMware Player. What Is VMware Player?

Network Station - Thin Client Computing - Overview

WEB CONFIGURATION. Configuring and monitoring your VIP-101T from web browser. PLANET VIP-101T Web Configuration Guide

LEASED-LINE REPLACEMENT

Transcription:

Study and installation of a VOIP service on ipaq in Linux environment Volkan Altuntas Chaba Ballo Olivier Dole Jean-Romain Gotteland ENSEIRB 2002

Summary 1. Introduction 2. Presentation a. ipaq s characteristics b. use of Linux as operating system c. Interests of using a PC as workstation 3. VoIP s software a. Requirements b. Chosen application and reasons for this choice 4. ipaq a. Communication between ipaq and PC b. NFS c. Tasks done on PC d. Cross-compilation of software 5. Conclusion 6. Bibliography

1. Introduction Our project is a part of Compose s project. This study s aim is to develop a programmable platform for multimedia communications. The chosen platform is the ipaq H3660 from Motorola. Our study is to implement a VoIP service on ipaq. 2. Presentation a. ipaq s characteristics ipaq is a PDA. Its cpu is an Intel StrongAMR, rhythmic at 206 MHz. It has 64 Mo RAM and 16 Mo ROM flash. The operating system is installed on flash memory. Applications set up by user, will be stored on RAM memory. It has a TFT colour display, speaker and microphone, and its battery can supply power up to 12 hours. b. use of Linux as operating system The used operating system is Linux distribution Familiar. It is adjusted to ipaq because of its light X11 graphic interface. Moreover, unlike Windows from Microsoft, Linux is not under copyrigth and source code is free.

c. Interests of using PC as workstation We use a PC as workstation. This choice has been done because ipaq is not powerful enough for compiling the application code. So PC and ipaq are connected by a serial link and cross compiler s use enables us to compile application code on our workstation in a language understood by ipaq, that is to say by its cpu. 3. VoIP s software a. Requirements The chosen service for validating programmable platform is a phone service: voice over IP. In one hand, we had to list all VoIP offers as ipaq s characteristics were considered. Indeed, software had to be compatible with Linux Familiar and only occupy a bit space as it only left 5 Mo free. In the other hand, there was need to have access to software s sources in order they can be modified by adding new elements for example. Moreover, new elements implementation would be eased by an API. b. Chosen application and reasons for this choice RAT has been chosen because it met constraints and it was Mr Escrig group s study subject. Moreover, Motorola s research team has generated executables for ipaq and their download is available on the web what enables us to see the result to obtain and to test RAT. Robust Audio Tool (RAT) is an open-source audio conferencing and streaming application that allows users to participate in audio conferences over the internet. This can be between two participants directly, or between a group of participants on a common multicast group. RAT requires no special features for point-to-point communication, just a network connection and a soundcard. For multiparty conferencing, RAT uses

IP multicast and therefore all participants must reside on a multicast capable network. RAT is based on IETF standards, using RTP above UDP/IP as its transport protocol. RAT features a range of different rates and quality codecs, receiver based loss concealment to mask packet losses, and sender based channel coding in the form of redundant audio transmission. It offers better sound quality relative to the network conditions than most audio tools available. It also features encryption so you can keep your conversations private. RAT runs on a range of platforms: FreeBSD, HP-UX, IRIX, Linux, NetBSD, Solaris, SunOS, and Windows 95/NT. RAT is just an audio application, it does not perform call services like user location, and neither does it listen to session announcements to discover advertised multicast sessions 4. ipaq a. Communication between ipaq and PC Minicom application is the main tool which enables us to communicate with our ipaq. This application uses a file transfer protocol, called Kermit. Indeed, by using Kermit, a link can be established between two equipments, similar or not, and so connexion parameters can be configured. Moreover, connexion can be configured through Minicom s user interface. Thus, main commands can be used as logging on ipaq or transferring data between ipaq and our workstation. The final step was to establish a PPP connexion between the ipaq and our workstation what enables us to have all the TCP/IP protocols stack which is necessary to run RAT. This establishment is done in order to do all the necessary tasks for the project s achievement. Indeed, these protocols allow us to run different commands such as a VoIP application s transfer to ipaq and to check that this application works by testing it. As a matter of fact, RAT is a piece of software which cannot run alone; I mean that RAT needs that other hosts are present on network to communicate with someone. As a comparison, a phone is useful only if it is connected to a network where other phones are connected too.

b. NFS Sometimes it is wishable that two different machines share disk space. That is why there is network file system (NFS), the easiest way of sharing files and resources across a network. NFS is the way of working with files on a remote machine as if they are on your local. Thus, the use of such a service may considerably increase the ipaq's memory storage capacities by mounting a pc's part of disk space as network file system. NFS is a great solution not only for the large available memory which is provided with the use of it, but also because it allows us not to load a program from pc to ipaq each time a test is required for the program, furthermore only 624Ko are currently available on ipaq. Let us see how NFS works. NFS is the most known service using remote procedure call (RPC). As an example, let us say a server machine, named tiger, keeps all $HOME files in the directory /home. From your local machine, you would issue the command: mount -t nfs tiger:/home /home (figure NFS_2.jpg) According to this command, mount will try to connect the rpc.mount daemon on server tiger via RPC. The server will check if the request is permitted to mount /home from your local machine, and return a file handle that in turn may be used to serve all requests to files below /home. If the request is not allowed, the corresponding diagnostic message will be seen. When a user on your local machine tries to access a file on NFS, the kernel makes an RPC call to the NFS daemon, usually rpc.nfsd, using as parameters the name of the file, user and group ID. Thus the server, tiger, can prevent unauthorized access before sending the file handle.

c. Tasks done on PC Since ppp link is established, ipaq can easily communicate with other hosts through network. As a matter of fact, protocols like TCP/IP enable communications between pc and ipaq to occur. For example X protocol uses TCP/IP to transmit information between server and client and so allows the ipaq to manage a screen of its own on another host using the same protocol to manage his own display. Running an X program like rxvt on the ipaq with display set to the host provides many advantages but drawbacks too. The interest of such an operation lies in having a large screen to work and using a physical keyboard to edit command or text. Of course, in such case, ipaq s processor and operating system monitor the process, moreover the ppp link's pass-band is quite narrow due to the serial link that is why the application runs slower than usual. These drawbacks can really become annoying when a networking application is ran because such an application requires a wider pass-band and so cannot run correctly. Nonetheless the issue of the pass-band can be solved by connecting the ipaq to a 10Mbit/s WLAN (Wireless Local Area Network) thanks to a PCMCIA extension card. d. Cross-compilation of software In order to adjust RAT software to ipaq, cross compilation is required. Cross compilation principle is easy to understand: if sources of the piece of software to port are compiled with a common compiler, an executable will be generated for the processor of the pc. Whereas compiling them with a cross compiler for ipaq will generate an executable for the ipaq. Most software running on the ipaq are written in C. Of course, C program's behaviour depends on the architecture on which the program is run. Its

modes, behaviour can depend on particularities of operating system, compiler, libraries, and CPU. Nevertheless problems may occur, for example the name of a file representing a device may differ between OS. Endianless issues are interesting to understand how a processor interprets instructions generated by compilation. There are two basic memory layouts used by most computers, designated big endian and little endian. On big endian machines, the most significant byte of an object in memory is stored at the most significant address. Conversely, on little endian machine, the least significant byte is stored at the address closest to zero. For example: int x = 0xaabbccdd unsigned char b = (unsigned char*)&x On a big endian machine, b would receive the most significant byte of x, 0xaa. On little endian machine, b would receive the least significant byte of x: 0xdd. The pc architecture is little endian. Many ARM processors support both and Linux distribution on the ipaq is little endian. Endians problems can arise when sharing binary data between machines of different endianness. RAT's executables have been downloaded on Motorola's web site. In fact this part was easier than expecting. Before trying cross compilation, we thought that many problems could occur, for example filenames of some devices could differ from Linux for pc to ipaq, or some graphical difficulties could emerge. As regards devices, audio device filename is /dev/dsp on pc and /dev/sound/dsp on ipaq, nonetheless ipaq has a file named /dev/dsp which is a link to /dev/sound/dsp and which solves any possible problem. Another fear was that RAT is a graphical application and so a problem of display during cross compilation could have happened due to a missing library or something like that. In fact, by compiling exactly like for the Linux version expecting that Makefile has been modified (name of compiler and path where to find some libraries), few problems have been encountered. A tricky point was about the executable named tcl2c, as a matter of fact this programs gets a tcl's script to transform it into C code. This executable is created and then run during compilation, and so cross compilation if the piece of software is cross compiled, so to run correctly, this program has to be compiled with a compiler and not with a cross compiler. Because if cross compilation is used to generate tcl2c, pc will not be able to continue cross-compiling as soon as tcl2c will be required. Indeed tcl2c will be an executable for ipaq and cross compilation will run on pc. 5. Conclusion As a conclusion, few tests have been done for RAT on ipaq. The reasons are that pass band is quite narrow due to the serial link which twists voice signal and so reduces voice s quality. Moreover, the workstation is not equipped with audio output and input like speakers or microphone, therefore tests were run at home. That is why it would be interesting to connect ipaq with a wireless local area network ( WLAN ) in order to complete tests and to have a real mobility.

6. Bibliography ipaq s characteristics www.compaq.com/products/handhelds/pocketpc/ Connection between pc and ipaq handhelds.org RAT internet2.motlabs.com/ipaq/index.htm NFS Starting share files with NFS www.linuxjournal.com (January 2002)