Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Simpler and easier means of communication has been important in every age of life. Man always wanted to make his life smart, easy and affordable. To achieve it, he is struggling hard. Communication is always playing pivotal role in any way whether it is for a country's economy, army, or any field. Communication is generally divided in two categories wired and wireless communication. Wired always restricted the communication to fixed location. On the other hand, Wireless made this restriction obsolete and helped in communicating anywhere at any time.

Then Internet revolution made a gigantic change in communications and made possible to connect to the web but still man wanted conversation to one another while moving around. Various ways up till now have been discovered to stay connected but they always had some limitation or disadvantages. The solution to these problems lies in VoWLAN, which gives us use of combined qualities of both VoIP and WLAN. The purpose of choosing this as our Final Year Project is to provide a cheap and healthy means of communication. The whole world is switching over to wireless in one or the other way. So why not contribute in something that would help the whole world to stay connected to one another.

  • Introduction to VoWLAN

VoWLAN or Voice Over Wireless Local Area Network utilizes the capabilities of Wireless Local Area Network beneficially. Where wireless LAN is usually employed for data connectivity having Mobile Internet Protocol, VoWLAN allows any voice to be transmitted over Internet to get connected to the world through web. VoWLAN is therefore a natural extension of VoIP or Voice Over Internet Protocol. VoIP, also known as IP telephony is the transmission of telephone calls over a data. So, while WLAN allows you to access the Internet, VoWLAN is the added feature that will enable you to make phone calls using this Mobile Internet access as well.

By now it is clear that VoWLAN comprises mainly of two technologies namely VoIP and Wireless LAN. We shall now study these technologies in a stricter manner. The two main technologies, WLAN and VoIP act as a backbone to VoWLAN. In order to develop a clear understanding both the above-mentioned technologies must be explained briefly.

1.3 Introduction to LAN

Local Area Networks (LANs) are computer networks ranging from a few computers in a single office to hundreds or even thousands of systems spread across several buildings. They function to link machines together and provide shared access to various devices. LANs can also be included into larger networks, such as larger LANs or Wide Area Networks (WANs), connecting many machines within an organization to each other and to the Internet.

  • Wireless LAN

A wireless LAN is simply a defined premises that doesn't rely on wired Ethernet cables. The advantage of using a WLAN is this that it adds flexibility to networking and communicaton. A WLAN allows user to roam around while keeping their communication machine on the go without even depending on Ethernet cables.

WLAN tries to provide all the features of wired LANs, but it will be without the wires. The only few noticeable differences to user end tends to be in speed and security of the data tranmission from transmitter to reciever. WLANs can cover areas ranging in size from a small office to a large campus, with neighborhood and city wide ranges still in progress for the future. Commonly, WLANs employ access points that provide access to the end users to communicate. Many companies are developing WLAN technology these days. WLAN communication is based on Packet Switching and exchanges information through Packets.

  • There are various types of WLAN catagoried by considering the area it can cover for the error proof noiseless communcation. There are few standards set for WLANs which are constructed on the bases of the frequency of transmission and the approximate ranges it can cover. For this purpose IEEE developed 802.11 in late 1990s. 802.11 aimed to offer bandwidth comparable to wired LAN access. There are mainly four types of standards of WLAN's namely A, B, G, N. frm which we will be employing G type for our project because of these following characteristics below,

1.4.1 802.11g

  • It is very close to 802.11b in certain aspects; it is having backwards compatiblity
  • It is having faster speed than 802.11b and supports up to 54Mbps
  • It also uses the same 2.4GHz frequency
  • It has slightly shorter range than 802.11b, but still better than 802.11a
  • Security Standards

Wireless 802.11g provides us basic security but as the range increases and becomes more wide, the security decreases and becomes more prone to errors which results in faulty reception.

The cost of 802.11g equiptment is low because it is now manufactured globally. The widespread applications of WLANs in homes and offices has ensured huge competition between wireless chipset manufacturers. Futhermore, the support of major vendors of Computers iniatiated WLAN products in laptops and various small electronic equiptments. WLANs are now so affordable that everyoneis interested to use this technology to get cheaply connected whether it is bussiness, office or home.

1.5 VoIP

VoIP or Voice Over Internet Protocol is basically a method for transmittion of voice in digital form with the help of Internet. VoIP is now considered to be highly efficient method because a lot of time has been invested in researching. SIP or (Session Initiation Protocol) is considered to be the backbone and is most widely used VoIP communication protocol. Organizations that utilize converged IP networks for voice or data interchange get reduced infrastructure and staff costs through the deployment of a single network. In addition, VoIP calls are tariff free.

1.5.1 SIP

Before discussing Session Initiation Protocol (SIP) we should look at what is Protocol? Protocols are basically some set of rules defined by the authority for the users and developers. These rules are defined so that everyone who is developing a software application should follow the steps so that his or her application becomes competable to all other apllications. The Session Initiation Protocol (SIP) is known as a Signalling Protocol which is used for establishing sessions in an IP network. A session could be a simple two-way telephone call or it could be a joint multi-media conference session. SIP is a considered to be a peer-to-peer protocol. As such it requires only a simple core network with intelligence distributed to the network edges, embedded at nodes.

1.6 Why VoIP and Wireless chosen together?

VoIP technology makes possible the delivery of applications that people require to do jobs and amuse themselves, while wireless enables them to use these applications wherever they choose. It is the bonding of these particular technologies that has the power to deliver “All the goods, Anytime Anywhere”.

We all know that we are currently experiencing a “Telecommunications Revolution” we know it so well that it has become a boom. A prevalent market approach of the companies competing in this rebellion has been in search of the “Killer App”. There has been much of the discussion about the search for a Killer App for the Internet, for broadband, or for cellular service. Like the famous Yeti says, “it is elusive and many doubt it stays”. It is supposed to be the one service that literally everybody would want, like the telephone and yet cheap to use!

Voice communication was, is and will always be Killing Application. We like to talk to each other in every now and then. Cellular system has been tremendously successful simply because it allows us to talk at every location, at any time. The question is “Did email reduced business calls?” well NO! People send number of emails and then call each other to sum it up, discuss and clarify the topic. We need to hear a person's voice live, to know for sure we got the full gist of the message. E-mail, Instant Messaging, Smoke Signals, Letters, Text Messaging, Voice Mails, Birthday Cards, Post-it Notes, Camera Phones etc they all are temporary substitutes for the real thing called Voice Communication.

VoIP technology with a combination of wireless is a mean to do voice communication better, meaning cheaper and more desirable to most people.

1.7 Disruptive Technologies in Action

A disruptive technology has the obvious potential to permanently modify the technical and economic dynamics of the market. Voice over Internet Protocol is just a right technology.

The potential of VoIP stems are as follows,

  • Voice communications is and will always be the Killer Application, the application that generates the most usage and revenue.
  • Internet Protocol is a Packet-Switched technology, not circuit switched. In a packet-switched network, the available bandwidth is shared among all the active users and not dedicated in any portion or to any specific user. This produces efficient bandwidth utilization, which is not possible in circuit-switched networks.
  • VoIP further conserves bandwidth through the efficient use of voice compression and silence suppression techniques.
  • As will be even clearer in later sections, bandwidth translates directly into dollars, which is why standards based wireless is also a disruptive technology.
  • Wireless boldly goes where no wire has gone before.
  • Wireless enables the delivery of services when and where the customer wants them.
  • Wireless enables the user mobility and the flexibility to work more conveniently and efficiently.
  • Wireless network infrastructure can be deployed more economically newly wired infrastructure.
  • Standards take wireless to a new plateau of feasibility. Wireless standards will;
  • Improve service quality through design compliance
  • Reduce cost through repetitive processes and higher demand
  • Increase competition among vendors
  • Provide an upgrade path to new products
  • Improve networking through interoperability
  • Provide a blue print for future development

1.8 The VoWLAN Global Market Power

The delivery of quality voice services via various networks and various service providers are challenging the current service models. The delivery of the multimedia, content-rich services were not previously available in a cheap affordable services offering for the mass market. Bandwidth-efficient systems will realize broader recognition, further more reduced production costs. Bandwidth efficiency enables the development of new services and applications that may function in a constrained environment.

VoWLAN will deliver services when and where the customer wants to be fulfilled the customer desire for plasticity and mobility. In other words, we get an affordable ever-present connectivity. VoWLAN standards will further lower the cost of deployment while providing a foundation for the development of security, Quality of Service and prepared support mechanisms previously efficient in wireless networks.

1.9 VoWLAN, Widely Adopted Technology

Studies indicate that the regular office employees spend 40% of their time away from their office desks. Therefore employees are using their cell phones instead of the company's huge wired phone set. One drive for adoption of a WLAN is to reduce the load on GSM cell phones. That means two voice mailboxes and two phone numbers for each worker, which is inefficient and cumbersome to manage for everyone. Employees with wireless VoIP systems have a single number for all calls and take their phones with them throughout the office or to inaccessible hot spots, hotels and other Wi-Fi networks.

Today there are numerous multinational corporations with offices, employees, clients, partners spread throughout the world.

VoIP and wireless both provides the operational cost savings that has enabled companies to hold policies that allow employees to work at home. The expansion of home businesses and the work at home is major profitable drivers for the changes now occurring in the corporate enterprise network. VoIP and wireless technology provide the capability to access all the systems and software programs that are necessary for the house worker to be a fruitful part of the company team.

Numerous wireless equipment manufacturers are working on the convergence of Wi-Fi and cellular systems. The corporate enterprise is their primary target market where it can have maximum potential customers. Motorola, Avaya and Proxim have collaborated to produce a product platform that offers enterprise customers a solution to mobile voice issues inherent in using wireless networks both inside and outside the office. “The Converged Mobility explanation” consists of WLAN communications equipment coupled with phones that support with GSM cellular connections included in a switching material. In basic terms, the policy provides full pbx functionality on a web-enabled cell phone.

It is widely acknowledged that there is a huge unused market for high-speed access voice communication that the traditional telephone companies does not provide. In the last year or so, the big mobile service company began conducting fixed access technology trials (Warid and Mobilink are the big movers in this ring while China Mobiles are also planning to move their attention towards it). They have the finance, the technical know-how and communications already is already present. We are not talking about just downloading web pages while driving on a road. The real goal is easy connectivity for all; people from every race, all businesses, anywhere at any time. They lack two critical elements for success that are adequate spectrum and service applications. The ability to play games, download music and send pictures while walking in the shopping areas does make a huge market business. The business for broadness is in the home and in the business office. If these players have their way, we will not need Wireless Corporate Enterprise Network.

1.10 Economical Assessment - Is this technology having a future Boom?

This is a question every good planning Engineer is concerned with. No one can answer to the question without a thorough opportunity assessment. Every business is unique to the company. With that in mind here are few impending businesses,

  • Improved productivity by extending effective working hours with remote access. Employees put there extra useful hours because their communication time will now be available to do work.
  • Improved productivity by creating a flexible workweek. A flexible schedule reduces extra holidays.
  • Process timesavings enabled by remote access for the field work force. Entrenched culture may resist this, and it would also require an engineering of work processes again, but the payoff can be gigantic.
  • Improved customer support. Improved in the sense of quicker response times and a more efficient process. Really good customer support can increase the sales.

CISCO has published the following money saving information regarding enterprises that have completed an initial VoIP deployment.

  • 63% met their user productivity targets.
  • 63% met their savings budget from centralized call processing.
  • 63% met their overall savings budget.
  • 63% met their savings budget from operating on only one network.
  • 58% met their system's administration savings budget.

The below following data is extracted from an Intel White Paper detailing its findings of the operational cost savings for a WLAN deployed in a company.

  • A WLAN supporting 32 users with a Total Cost of $20,000 would deliver a benefit of $300,000 over three years.
  • A WLAN supporting 150 users with a Total Cost of $60,000 would deliver a benefit of $1,000,000 over three years.
  • A WLAN supporting 180 users with a Total Cost of $400,000 would deliver a benefit of $5,000,000 over three years.

1.10.1 The Insurance Industry

A recent IBM White Paper titled “How Mobility Improves the Core Insurance Claims Process” states that 50% of an insurance company's operating costs comes from claim processing. The paper proposes that the average claims for automobile damage can handle six new claims a day. In a company with 1,000 adjusters, if each of them could handle just one additional claim per week, the company could save some $2 million per year. The paper also includes how Wi-Fi technology, either in the form of readily available hot spots, could be used to have savings.

1.10.2 The Medical Industry

The Medical industry is looking to Wi-Fi for both increasing care and boosting effectiveness through enabling staff mobility. Which means that giving people real-time access to patient's information and test results while roaming in the hospital. But here access alone is not the only key to success. Delivering the data requires specialized applications that can present the information in a convenient format for wireless users having hand-held devices and access to medical databases would help doctors not only in electronically write prescriptions, but also research for drug interactions.

1.10.3 Radio Frequency Identification System (RIFD)

RIFD systems are likely to use Wi-Fi technology in the network of the tags communicates; it's a magic of standardization. It will be less costly and complex to interface a standardized wireless network technology with the many different inventory and process management systems present in the market. As big as it is, different Martz are just the tip of the opportunity. RIFD is a whole new gigantic market for WI-Fi, prospective for the entire retail industry.

1.10.4 Third World Nations

Basic telephony service is a unusual in many parts of the world. High-speed access and multimedia applications would sound like too much in such a place, but the fact is many countries are working forward building networks that will do just that because Bandwidth is the major reason in terms of wired objects, which surely is expensive. In terms of wireless objects, it is wide to use. Advancement of the educational communications is a main concern. Many wireless vendors and integrators are selling in third world nations because it is an easier market to enter. Cost elements such as a fully sophisticated Operational Support Systems are not necessary as they are in US and Western Europe.

1.10.5 IP-Enabled Call Centers

This is perhaps the most dynamic and interesting busines that directly outcome from the technology convergence driven be VoIP. It becomes very expensive for all the largest corporations to maintain their own Customer Care Centers. The need is to reduce operating costs led to the outsourcing of customer care functions to businesses with core ability in customer care. Call Center businesses also need to run more cost-efficiently. VoIP and the Internet enabled the interconnectivity and integration of people, services and functions in what may be termed as “ decaying building”. That is, they do not all have to be located in the same locality. They do even have to be located on the same continent.



This Chapter contains

  • Introduction to SIP (Session Initiation Protocol)
  • RTP, SDP
  • Voice Codecs

There are mainly three types of protocols and several standards that are playing major roles in the Voice over Internet Protocol (VoIP) products and services in deployment today. A basic considerate of the technical advantages and disadvantages of these protocols used mainly in our project are also discussed below,

  • SIP (Session Initiation Protocol)

Internet Engineering Task Force (IETF) is accountable in raising the standards of this suite; it is also referred to as the “Family” of protocols. SIP was developed taking into account Internet in mind. SIP family of protocols is lying on packet-switched technology, multiplexing techniques and accepts a wide variety of algorithms. SIP is normally deployed in applications, which needs less bandwidth preservation. Programmers because of its simplicity prefer SIP.

The SIP family includes following protocols'

  • RFC 2543 SIP: Session Initiation Protocol
  • RFC 2327 SDP: Session Description Protocol
  • Internet Draft SAP: Session Announcement Protocol

H.323 is also a protocol having almost same working but few major differences are there which are discussed below,

H.323 SIP

Transport ProtocolBoth TCP & UDP requires TCP OR UDP, any

Requires reliable transport reliable or un-

Reliable transport

Addressing Protocol Host addressing directlyAddress-neutral

Or aliases resolved byURL, including

Gatekeeperemail, phone, H.323


Multicast SupportSupported by anotherCaller can invite

H.323 specification setcalled party to join

Multicast sessions

Topology Gatekeeper routing, noSupport fully mesh

Loop detection ed, multicast and

MCU-Based confer-

ence calling & loop


ComplexityCall setup more complexSimplified call setup

Mobility Support LimitedSupports call

Reduction, call

Transfer and simi-

lar telephony.

AuthenticationNo user authenticationUser authentication

Via transport layer


Protocol EncodingH.323 uses Q.931 and SIP is a text based

ANS.1 encodingprotocol as HTTP

Connection StateH.323 calls can be expli-once established,

citly terminated or when a SIP call is indep-

the H.245 connection is endent of the SIP

torn down. Gatekeepersserver. A simple

monitor status for the callBYE command ter-

durationminates the call

Content DescriptionH.323 only supports H.245 SIP can use any

To negotiate mediasession descript-

Ion format. It is

Not limited to SDP

Instant MessagingNot SupportedFully Supported

Table-2.1 SOURCE: IP Telephony Demystified by Ken Camp

SIP is the preferred protocol for our project VoWLAN due to various following reasons,

  • SIP is a text-based coding
  • SIP has QoS development
  • SIP is an “Open” protocol
  • SIP greatly supports Mobility helpful in WLAN's
  • Setup and management is simpler
  • It has compatibility with a lot of voice coding algorithms
  • It is bandwidth efficient
  • SIP Functions

SIP is a very important protocol, which helps in exchanging signaling messages between clients and servers. Messages can have various functions, which are discussed below,

  • Registering Client with a Server

A SIP based communication system can be as simple as one client interacting with server or it can widely spread spanning several geographical locations. As the communication system go bigger, it becomes more composite and becomes harder to make them interacted and dynamic.

When a SIP based cellular phone client comes online. The client cellular phone device sends signaling message to the server to become registered with the Registration Server (RS). This helps in knowing the identification and location of the client. Registration is done frequently and is not everlasting; it expires many times as long as endpoints remain in contact. Sending Invitation to other clients to make session

Once the client gets registered it becomes ready to create sessions then it can invite other users to have session and share data, video, voice and information in any form from each other. The Invitation is first send to server and the server determines how to route the invitation and see if the other user is also registered to the system or is on another system. Exchange the Terms and Conditions of a session

When the invitation process is performed then the server must inform the clients about the type of session offered. SIP is concerned only with the delivery of the message and not with the content. SIP uses SDP (Session Description Protocol) (RFC 2327). Establishment of Media streams

In voice calls, the media stream uses the protocol named Real-time Transport Protocol (RTP, RFC 1998). While the media stream is started, the stream can take the minimum distance route between the endpoints over the IP network. It is not must that it will flow through the server it is registered to! Termination of the session

When the information is exchanged and session is completed then the phone device “hangs up”. This first sends SIP BYE message to the devices I contact to tear down the media stream and becomes ready to create the session again.

2.1.2 SIP Call Flow and Exchanged Messages

The call flow for SIP session depends upon whether the SIP session is established directly between SIP user agents or a SIP server is located between SIP user agents. Figure below shows the typical call flow between two user agents, with each step explained separately, INVITE

First, user agent A sends an INVITE message to initiate a call. The INVITE contains an

SDP where user agent A will receive RTP. 100 Trying

User agent B then replies with the Trying having code (100), indicating that the call is being processed. At this point we start hearing the “Ring” at both user A and B. 200 OK

User agent B then replies with the OK having code (200), indicating that that user agent B has accepted the call. ACK

User agent A then replies to user agent B with an acknowledgement (ACK) message, indicating that user agent A received the final code from user agent B. RTP

The real-time information is then encapsulated in RTP packets. This RTCP/RTP canal consists two one-way paths. The first path may be established from the ringing phone to the caller with session descriptions involved. BYE

Either user agent A or user agent B can then send a BYE message to terminate the session. User agent B then sends an OK response code (200) to user agent A to indicate that the request is successful.

  • RTP

The Real-time Transport Protocol or RTP is a protocol defined for a identical packet transferring format for delivering audio and video over the Web. It was developed by the Audio-Video Transport Working Group of the IETF and was first used in 1996 as RFC 1889; it was made obsolete in 2003 and exchanged by RFC 3550.

  • SDP

Session Description Protocol or SDP is fixed for describin Media sessions for session announcements, session invitations, or other forms of media session initiations. SDP does not provide the content of the media form but simply provides a connection between two end points to allow them to convince on a media type and format.

2.4 WLAN 802.11g

Release Date June 2003

Frequency Data Rate 2.4 GHz

Data Rate 25 Mbit/s to 54 Mbit/s

Range (Indoor) ~30 meters to ~100 feet

The modulation format used in 802.11g is orthogonal frequency-division multiplexing (OFDM).

2.5 Voice Codec G.723

Sampling Rate 1 8 kHz

Bit Rate 5.3 Kbs / 6.3 Kbs

Frame Size 30 ms, 60 ms, or 90 ms

Encoding Algorithm CELP



This Chapter contains

  • Introduction to WLAN
  • WLAN Devices

Wireless Local Area Network (WLAN) is a system that does not includes wires like customary LAN. WLAN is supple and inherits all the features of wired system. Although there is a trade off in coverage but it provides mobility in its exposure area without having wires in hand. Coverage of WLAN varies from organization to large cities.

In 1991, the first time IEEE 802.11 group initiated defining the principles for Wireless Local Area networks. In 1999, WLAN service was introduced to civilians in New York City.

3.1 Types of WLAN

There are generally four types of wireless Local Area Network,

3.1.1 WLAN for small business and private home

This is a commonly used central type of WLAN and gives,

  • The access points are few that can be one or two.
  • Area can be about 100 to 200 feet.
  • It uses equipment normally manufactured everywhere and is available in all parts of the world.

3.1.2 Enterprise class Wireless LAN

This type is not used in offices or homes. It consists of access points and routers of greater range then the above type. It provides greater mobility as well. The main features of Enterprise class WLAN are as follows,

  • Better security concerns.
  • Authentication is possible.
  • Remote management can be used.
  • Integration tools are present with existing networks.
  • Access point have better coverage and able to work together for greater mobility and coverage.

3.1.3 Wireless MAN

The combination of many enterprise class networks is called Wireless MAN. MAN stands for Metropolitan Area Network. It can provide coverage up to boundaries of a city. It also permits a user to access all access points.

The main features of WMAN are as under,

  • WMAN can be used for Internet Service Providing.
  • It gives a new start to different technologies.
  • It has various designs of configurations and deployments.

3.1.4 Wireless Wide Area Network

It provides connection to end users of different geographical location. There are very few companies, which are deploying this technology to provide connectivity to there subscribers. Main features of this type are,

  • It has a better data rate that is 50 to 144 kbps.
  • It uses cellular technology for transmission to provide maximum coverage.
  • It has greater speed then dial up connections.

3.2 Advantages and Disadvantages of WLAN

These days WLAN is very favorable by every one and almost all new computers are equipped with wireless technology. Few of the advantages of WLAN are described below,

  • Access of user to network from any location.
  • It provides mobility to user and in these days most business places and restaurants provide facility to there customers.
  • The cost for this is very little.
  • It increases productivity of any business if employs are facilitated with this technology.
  • Its deployment is very easy then wired network and cost of deployment is also less.
  • Wireless network can provide service to increased number of users.
  • Although its equipment is costly but its cost is not greater then wired network in terms of labor to run a wired network.

Although WLAN has many advantages over wired network but there are few

disadvantages as well which are explained below,

  • Security

WLAN serves all computers in its coverage area so security is a very big issue. Any one can access the network by using high quality antennas from a remarkable distance, so those who want to locate and crack network can do that.

  • Range

The range of single access point is very less so for increased range additional access points are needed. The increased number of access point tends to increase in cost. WiMAX provides greater range then a WLAN but it's an upcoming technology and is different from wireless LAN.

  • Reliability

Reliability of the network depends on the coverage area of network and interference through different sources. Microwave is a major cause of interference to WLAN, so servers are not connected wirelessly to network.

  • Speed

The speed of wireless LAN is less then a traditional wired networks. TCP causes performance issues for wireless network. A DSL speed offered by mobile companies is less then wireless LAN speed, so wireless can perform better then other wireless technologies. To achieve the speed of 100 to 200 mbps a new standard 802.11n is almost complete. This will provide greater speed and security.

3.3 WLAN Standards

The most popular wireless LAN standards are 802.11a,b and g and also known as Wi-Fi standard. There are also few new standards to increase speed, ensure availability and increased coverage area.

The most common standards today used in business and home access points are 802.11a,b and g. Explanation of each and difference between them is given below,

3.3.1 802.11a

It is the 1st standard having a very short range. Its range is about 60 to 100 feet radius. The operating frequency is 5 GHz. It has advantage over 802.11b of handling more connections at a time. Interference to its signals is very less and performance becomes better. Its signal penetration is very less.

3.3.2 802.11b

This standard has range advantage over 802.11a and in ideal cases its range is 300 feet. The range after tests is about 70 to 150 feet .Its frequency of operation is 2.4 GHz and due to this low frequency its penetration power is greater then802.11a. Its hardware is not very costly. At this frequency interference is very considerable and its performance is not so good that of 802.11a. In some special cases this technology is not considered good.

3.3.3 802.11g

This is in use now days. It has backward compatibility with 802.11b and has many familiar features. Its speed is greater then 802.11b. Its frequency of operation is also 2.4GHz and can penetrate into barriers. The range of 802.11g is less then 802,11b and is measured to be 65 to 120 feet radius. This also faces the problem of interference.

3.4 WLAN devices

3.4.1 Access point

Linksys WAP54G is an access point by Linksys and is capable of adopting Wi-Fi standards. This is the first user level device and provides sharing of Internet to computers by 802.11b/g. To increase the functionality of router its code is available to programmers. WAP54G also works with 802.11b devices but at slower speed. It can also work with mixed devices of both 802.11b and g but at lower speed. This is very easy to install access points and sufficient information material is available with the package.

3.4.2 WIP-300 Wireless IP phone

The phone shown below is an IP phone, which is designed to work with wireless network. With this phone one can make calls at very low cost. The frequency at which it operates is 2.4GHz and uses 802.11g. It can be easily configured.

3.4.3 X-Lite - Soft Phone

X-Lite is free soft phone for use in PC's. It has almost all features that an IP phone can have. Its configuration with SIP accounts is very easy. The figure shown below gives the user interface of phone. We used this soft phone in our project work and found it similar to other Wireless phones. This phone can store the log information of all calls made by user, received or missed calls.

The configuration procedure of phone is very simple and example is given below. We can register phone by entering the information in table as we configure SIP account in configuration file sip.conf in Asterisk soft exchange. After providing the required information we click OK button and registration will be complete after this process. On phone display one will receive registration information and if there is any error then an error message will appear on screen.

If someone faces registration problem then should again check SIP account he made in sip.conf and again enter correct information. After successful completion of registration of phone calls can be established and all configured features can be utilized.

3.4.4 Wire Shark

A university graduating student named Gerald Combs in year 1998 wrote Wireshark. Now many programmers are working on this program but Gerald is responsible for maintaining the code. The name wire shark was given to software in June 2006 due to restrictions of Eternal trademark owner.

Wire shark is software for capturing packets of data on a network and decoding them for further use. It is also called protocol analyzer. It has ability of capturing packets of live network traffic as well as decoding an existing file. Wire Shark can be used for

  • Handling issues to network by captured packets.
  • Intrusion detection of network by captured data.
  • For analysis by taking log of traffic on network.

The attackers can also use Wire Shark for the purpose if

  • Getting user accounts information.
  • Mapping of network.
  • Getting secret information

This software is also available for other operating systems such as UNIX and Linux etc. this software need privileges of super user for best performance.



This Chapter contains

  • Introduction to Asteriskâ Open Source Pbx
  • Configuration files
  • Configuration examples
  • Call Features
  • Asterisk Commands

As it is clear from the name of this chapter, we will discuss (not very deeply) that how to configure asterisk for various call features. Shortly speaking asterisk provides more than single method to configure. For example we can edit C files of asterisk. We can define rules in configuration files as well as we can configure asterisk from command line interface (CLI). Asterisk supports mainly all of the call features used in modern telephony, today. We can also define our own call features since there are approx. Hundred and fifty functions defined in asterisk, which can help us in transfer call flow, terminate call, answer call, defining a variable, assigning values to those variables, mathematics functions which can add subtract, go to any extension and many more. We have to define a rule from these functions, for an extension, in a configuration file. We can make our own configuration file. That file can be included to any predefined asterisk configuration file. Mainly this chapter deals with those methods, which can be used to define/modify a call feature, through editing a configuration file.

Before going into the details of configuration we should have a brief introduction of few of asterisk commands, which are used in configuration files.

4.1 Introduction to Asteriskâ Open Source Coded Pbx

Telecommunication is possibly the last major industry that has remained intact by the open source rebellion. Major telecommunication system manufacturers are still building ridiculously expensive, incompatible systems, running complicated, ancient code on impressively engineered yet obsolete hardware.

Asterisk is nullifying all the above statements, which was initiated by Mark Spencer in 2001. Asterisk is an Open Source PBX and telephony tool. It is, in a sense, middle way between Internet and telephony, and Internet and telephony applications at the top. The Asterisk Open Source PBX is urbanized and tested first and foremost on the GNU/Linux O.S. Asterisk can be installed on Linux by following the major steps, which are given in the README file in the package.

4.2 Asterisk Commands (known as applications)

4.2.1. Answer()

Answers an incoming call, connection is built or call is picked up. It needs no argument to be passed. Normally, but not necessary, all dial plan applications has first priority of answering a call.

4.2.2 Wait(time)

It waits for a specific time in second. Normally used in IVR. Where we want user to wait some time.

4.2.3 Dial(SIP/ user name)

Dials a call to specified user name. Where incoming call is only be from sip protocol channel. It can be other protocol rather then sip. There are also other possible syntaxes of writing dial command. The syntax defined here is the simplest one. There are also other configuring options like dialing time, information about transfer etc.

4.2.4 Background(voice path)

Plays a background sound where voice path is given. It plays a sound and at the same time it is waiting for extension to be dialed. Another similar application is playback() but it only plays a track doesn't wait for any extension to be dialed. There is another application, which plays sound track, but it plays mp3 sounds. It needs mpg123 to be installed in Linux.

4.2.5 Hangup()

Puts call to an end, need no argument. Usually all dial plans are ended with hangup application.

4.2.6 Set(${Variable} = Value)

This is a simple application, which sets a value of a variable. ${variable} is syntax of defining the variable in asterisk. Now this variable can perform any mathematical operation with other variable.

4.2.7 Record(file name,file format,silence,max duration,options)

Records audio from the channel into the given filename/file path (we can give file name and asterisk stores that file to specific location or we can also change its address like /root/test file). It overwrites file if that file is already exist.

After having a quick look on to these commands we should under stand the purpose of some of the important predefined configuration files.

4.3 Configuration Files

Since we have made an exchange for IP network only, Therefore, we will not define ZAPTEL configuration here, which is most important configuration if IP exchange is to be connected to a PSTN network.

4.3.1 Asterisk.conf

Asterisk reads the asterisk.conf (main configuration file) at start-up and locates the other configuration files from the configuration in that file. Normally we don't require configuring this file because when we write make samples at installation time it gathers your system information and make this file. This file contains important directories in [directories] context.

This file also contains a context [options]. Which contains startup options. For example starting verbosity level. We can turn debugging on or off at startup.

4.3.2 Sip.conf

In Sip.conf we define all sip options for asterisk. Users are defined here, There authentication, contexts are defined here so that we should know that which user can access which groups of users. So, This file is to add more and more users and their service profiles. Many of the sip related configurations are configured here in sip.conf.

Sample definition of user:

[2828] ;User name = 2828

type=friend;type can be friend, peer

host=dynamic ;from which end system this user can ;log in

secret=2828 ;password for authentication purpose

dtmfmode=rfc2833 ;dtmf mode can be inband or rfc2833 ;standard

[email protected] ;used for voice mail will be ;explained later

context=main ;this is context definition

callerid="USER A" <2828>;for caller id purposes,user 2828 ;has been given a name USER A

4.3.3 Extensions.conf

This file is used to define dial plan. Dial plan define rules that how to handle call. What should be the response when user dials a particular extension? We make IVRs in extensions.conf. We define different contexts in this file, which define that whether a user can access an extension, or not. Since those contexts are defined for users in sip.conf. Now, if for example context is my context for a user A defined in sip.conf. All extensions defined in context [my context] in extensions.conf can be accessed by user A. Dial plan

Dial Plan consists of four concepts, which are contexts, extensions, priorities, and applications.

  • Contexts: Context is groups of extensions used for different purposes. It disallows extensions defined in one context to interact with extensions defined in other contexts. There fore extensions in one context are completely isolated from extensions in other contexts. Unless interaction is allowed through some command like include “any other context”. This has many advantages, e.g. there are two companies sharing an asterisk server. If voice menus of both of the companies are placed in the same companies the users of both companies can access their non-related voice menu, which is undesired. Then we can also keep some extra extensions in any special context, which is only assigned, to a VIP person. That person can have more rights then any other. Or we can group users by using this context. There is also other method of such grouping but grouping through context is simpler to understand. To understand this lets have another example, an Asterisk server is running in a company. And we are desired to give rights to Administrator that he can pick any parked call and none of the other officer can pick the parked call. Then we can make any context such as [Administrator]. We include all other extensions in that context, like include “all other contexts”. And define extensions, which can pick a parked call there. Now the administrator can pick a parked call as well he can access all other extensions, which can be accessed by other employs of that company.
  • Extensions: In telecommunication the word extension, means a numeric number, which is assigned to a line, which rings a particular phone. In Asterisk it define a series of steps (normally defined in extensions.conf ) executed by server when any client dials that extension. The syntax for an extension is EXTEN followed by '=' and '>' signs making arrow, followed by name, priorities and applications.
  • Priorities: Each extension can have series of steps to be followed in priorities starting from 1 to infinity. When an extension is dialed asterisk checks its first priority and executes that application, then it checks next priority and executes its application. Asterisk's extension can have unnumbered priorities. If we defined the first priority (1) then we can set all next priorities “n”. Which definitely means an increment to the previous priority. For example after priority 1 “n” mean 2, after 2nd priority “n” meas 3.
  • Applications: These are the workhorses of dialplan. Each application perform a specific function such as playing any sound on current channel, hangup the call, accept an incomming call, jumping to another priority, Doing no operation and goto the next priority, record sound from that channel, dial a user etc. We give arguments to these applications but some of these do not need any argument. Applications are the commands explained in start of this chapter such as answer(), hangup(), background(). Sample Dial plan:

Suppose we have defined two users in sip.conf, 2828 and 2275. Both have context = main.

In extensions.conf we will add these lines.


exten => 2828,1,Answer

exten => 2828,2,Dial(SIP/2828)

exten => 2828,3,Hangup

Above we have defined extensions in a manner

exten => extension number, priority , Command

In above example if user B dials 2828 from his phone then extension 2828 will first answer. Then it will dial user 2828. After the call has finished it will hangup.

Note that asterisk is not sequence dependent. It is priority dependent; it executes command with descending priority sequence. We can also define the above procedure as below and the execution sequence will remain same as above


exten => 2828,3,Hangup

exten => 2828,1,Answer

exten => 2828,2,Dial(SIP/2828)

We can make this procedure more controlled like this.


exten => 2828,1,Answer

exten => 2828,2,Dial(SIP/2828,30)

exten => 2828,3,Hangup

Now it dials extension 2828 for 30 seconds if 2828 doesn't respond then it will simply hangup.

4.3.4 Features.conf

Features.conf, which is also sometimes called parking.conf, contains configuration about call parking and call transfer. It also contains capability of defining new features. This file contain following options to be configured. Parkext, parkpos, context, max. Parking time, ADSI parking option and button mapping for blind transfer, attend transfer etc.

Park extension is the extension to be dial for call parking. Park positions are those parking lots at which calls are parked and we can dial those extensions to pick up the call. Context is to be included in extensions.conf.

4.3.5 Queues.conf

Queues.conf is used in call queuing, which is explained in detail in this chapter. Call queuing provides the basic functionality of any call center. User may want to talk with the agents of any company and there are limited agents in a company so there is need for call to be queued in order to provide service to each and every user/client.

In the [general] context we make configurations for all queues. Persistent Members

First configuration is for Persistent Members. Default configuration for persistent member is yes. This is because if persistent members are equal to yes then each queue member is stored in astdb. When asterisk is restarted each member will be read. Musiconhold

This parameter is to be configured for music on hold.

Suppose a queue member, which is added to 2 or 3 queues. Now at attending the call he may be told that for which queue he is attending the call. Announce = sound plays the sound present at /var/lib/asterisk/sounds/ as sound's for the member. Strategy

This configured strategies for distribution of calls to queue members. The strategies are following Ringall

This is very simple strategy for ringing agents. Server rings all members available at that time and connect the queued call to that member who answers first. RoundRobin

Roundrobin rings each available agent, turn by turn. It rings in rank order so it always ring highest ranked agent first. This situation is suitable when we want highest ranked agent to attend all the calls and low ranked agents would attend least possible calls. LeastRecent

Rings to agent, which is least, recently engaged with caller. So this strategy takes into account the workload of an agent. FewestCalls

In this strategy asterisk rings that agent who has attended fewest calls. This does not take into account the actual workload or the time duration of calls but consider a fake workload, which is in the form of attended calls. Random

Calls an agent randomly. rrmemory

This cycles the call to agents keeping track of the agent who received the last possible call. This is to ensure the presence of the agent. Since the agent who has attended the last call is more likely to be present then any one else.

4.3.6 Agents.conf

In above topic we have seen how user can get connected to a call-center agent. Now those agents are to be defined in a separate file. Don't confuse agents.conf with queues.conf. We have to define an extension for the purpose of queuing in extenstions.conf , we set the behavior of that queue in queues.conf , finally we define the agents in agents.conf and set their properties there. So the configuration of this file is directly related to queues.conf. We define our agents in agents.conf and call those agents in queues.conf, in as many queues as we wish. And once we configured our queues now we call the queue in our dial plan through extensions.conf. The method of defining our agents is very simple. We will show our configurations as an example, later in this chapter. Now we shall see some of the agents.conf configurations. For example the first configuration of agents.conf is same as queues.conf which is in [general] context and persistent = yes||no. The results are also same and default configuration is yes.

The next section is of [agents]. In this section we define agents and their configurations. The configuration is applied to all agents defined. Unless we differentiate our agent by defining it in another section rather then in agents (section). In agents section we configure agents for Recordagentcalls

This configuration is to configure server for recordings of agents' calls. If it is set yes then agents' calls are recorded. Autologoff

For how much time (in seconds) agent's phones has to ring with no answer, the agent will be logged off. Autologoffunavail

agent is automatically log out if chanUNAVAIL signal is found by server. Or he is logout if unavailable. Recordformat

Default call record format is wav. We can change it to wav, wav49 and gsm. Endcall

This is to set weather an agent can hangup a call by * button or not. Wrapuptime

When an agent finishes the call he will be considered available after the wrapuptime (milliseconds). Musiconhold

Defines the music-on-hold for agents. Accepted argument is music on hold class.

Upto this we have seen the basics of configuration files. After having a quick look of a few of configuration files let's move towards our configurations, which we made in our final year project. There are also a few other configuration files. Roughly speaking every call feature will contain its configuration file in asterisk. By call feature we mean that call feature which is offered free of cost, with asterisk software. About 60 default configuration files are there with asterisk. We can make our own. It requires very detailed study to seek the functionality of every configuration file. So we have told you the function of only six configuration files. The rest of configuration files are very difficult to understand and also beyond the scope of this chapter, which deals with the basic configuration of asterisk.

4.4 Call Features

4.4.1 Call recording and IVR Scripts

How We made a user in sip.conf because it is necessary to understand an extension and a user configuration altogether. Sip.conf

[2828] ; user name 2828






callerid="saad" <2828>

IMPORTANT: it is important to note that i have given context of user 2828 that is MAIN. It is very useful feature; context contains all services, which is provided to user 2828.

user 2828 can access all extensions in extensions.conf which is given under context [main]

if we want that user 2828 can access an extension present in context [test] we have to write simple script that is

include =>test Extensions.conf Script of Call recording:


Exten => r,1,Wait(3)

Exten => r,2,Record(/root/recording:gsm)

Exten => r,3,Wait(3)

Exten => r,4,Background(/root/recording)

Exten => r,5,Wait(3)

Exten => r,6,Hangup Script of IVR


include => mytest; so that user 2828 can access context ; my test,ivr , subivr

include => ivr; if v don't add this include directive ;then it cant access those

;three contexts


exten => 10,1,Wait(2)

exten => 10,2,Answer

exten => 10,n,Set(TIMEOUT(digit)=5)

exten => 10,n,Set(TIMEOUT(response)=10)

exten => 10,n,Background(demo-instruct)

exten => 10,n,WaitExten

exten => 1,1,Background(demo-thanks)

exten => 1,2,Hangup()

exten => 2,1,Goto(subivr,2,1)

exten => 600,1,Goto(myechotest,600,1)


exten => 2,1,Wait(2)

exten => 2,2,Background(demo-moreinfo)

exten => 2,3,Goto(ivr,10,1)


exten => 600,1,Background(demo-echotest)

exten => 600,2,Echo

exten => 600,3,Echo

exten => 600,4,Wait(10)

exten => 600,5,Goto(ivr,10,1) TRACES OF RECORDING AND IVR ON TERMINAL

recording and listening of sound

[[email protected] ~]# asterisk

[[email protected] ~]# asterisk -vvvvvvr

Asterisk 1.4.14, Copyright (C) 1999 - 2007 Digium, Inc. and others.

Created by Mark Spencer <[email protected]>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.


== Parsing '/etc/asterisk/asterisk.conf': Found

== Parsing '/etc/asterisk/extconfig.conf': Found

Connected to Asterisk 1.4.14 currently running on localhost (pid = 4074)

Verbosity was 0 and is now 6

-- Executing [[email protected]:1] Wait("SIP/2828-09e24e68", "3") in new stack

-- Executing [[email protected]:2] Record("SIP/2828-09e24e68", "/root/recording:gsm") in new stack

-- <SIP/2828-09e24e68> Playing 'beep' (language 'en')

-- Executing [[email protected]:3] Wait("SIP/2828-09e24e68", "3") in new stack

-- Executing [[email protected]:4] BackGround("SIP/2828-09e24e68", "/root/recording") in new stack

-- <SIP/2828-09e24e68> Playing '/root/recording' (language 'en')

-- Executing [[email protected]:5] Wait("SIP/2828-09e24e68", "3") in new stack

-- Executing [[email protected]:6] Hangup("SIP/2828-09e24e68", "") in new stack

== Spawn extension (mytest, r, 6) exited non-zero on 'SIP/2828-09e24e68'


IVR Messages

[[email protected] ~]# asterisk

[[email protected] ~]# asterisk -vvvvvvr

Asterisk 1.4.14, Copyright (C) 1999 - 2007 Digium, Inc. and others.

Created by Mark Spencer <[email protected]>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.


== Parsing '/etc/asterisk/asterisk.conf': Found

== Parsing '/etc/asterisk/extconfig.conf': Found

Connected to Asterisk 1.4.14 currently running on localhost (pid = 6471)

Verbosity was 0 and is now 6

-- Executing [[email protected]:1] Wait("SIP/2828-09aa3ef8", "2") in new stack

-- Executing [[email protected]:2] Answer("SIP/2828-09aa3ef8", "") in new stack

-- Executing [[email protected]:3] Set("SIP/2828-09aa3ef8", "TIMEOUT(digit)=5") in new stack

-- Digit timeout set to 5

-- Executing [[email protected]:4] Set("SIP/2828-09aa3ef8", "TIMEOUT(response)=10") in new stack

-- Response timeout set to 10

-- Executing [[email protected]:5] BackGround("SIP/2828-09aa3ef8", "demo-instruct") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-instruct' (language 'en')

== CDR updated on SIP/2828-09aa3ef8

-- Executing [[email protected]:1] Goto("SIP/2828-09aa3ef8", "subivr|2|1") in new stack

-- Goto (subivr,2,1)

-- Executing [[email protected]:1] Wait("SIP/2828-09aa3ef8", "2") in new stack

-- Executing [[email protected]:2] BackGround("SIP/2828-09aa3ef8", "demo-moreinfo") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-moreinfo' (language 'en')

-- Executing [[email protected]:3] Goto("SIP/2828-09aa3ef8", "ivr|10|1") in new stack

-- Goto (ivr,10,1)

-- Executing [[email protected]:1] Wait("SIP/2828-09aa3ef8", "2") in new stack

-- Executing [[email protected]:2] Answer("SIP/2828-09aa3ef8", "") in new stack

-- Executing [[email protected]:3] Set("SIP/2828-09aa3ef8", "TIMEOUT(digit)=5") in new stack

-- Digit timeout set to 5

-- Executing [[email protected]:4] Set("SIP/2828-09aa3ef8", "TIMEOUT(response)=10") in new stack

-- Response timeout set to 10

-- Executing [[email protected]:5] BackGround("SIP/2828-09aa3ef8", "demo-instruct") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-instruct' (language 'en')

== CDR updated on SIP/2828-09aa3ef8

-- Executing [[email protected]:1] Goto("SIP/2828-09aa3ef8", "myechotest|600|1") in new stack

-- Goto (myechotest,600,1)

-- Executing [[email protected]:1] BackGround("SIP/2828-09aa3ef8", "demo-echotest") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-echotest' (language 'en')

-- Executing [[email protected]:2] Echo("SIP/2828-09aa3ef8", "") in new stack

-- Executing [[email protected]:3] Echo("SIP/2828-09aa3ef8", "") in new stack

-- Executing [[email protected]:4] Wait("SIP/2828-09aa3ef8", "10") in new stack

-- Executing [[email protected]:5] Goto("SIP/2828-09aa3ef8", "ivr|10|1") in new stack

-- Goto (ivr,10,1)

-- Executing [[email protected]:1] Wait("SIP/2828-09aa3ef8", "2") in new stack

-- Executing [[email protected]:2] Answer("SIP/2828-09aa3ef8", "") in new stack

-- Executing [[email protected]:3] Set("SIP/2828-09aa3ef8", "TIMEOUT(digit)=5") in new stack

-- Digit timeout set to 5

-- Executing [[email protected]:4] Set("SIP/2828-09aa3ef8", "TIMEOUT(response)=10") in new stack

-- Response timeout set to 10

-- Executing [[email protected]:5] BackGround("SIP/2828-09aa3ef8", "demo-instruct") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-instruct' (language 'en')

== CDR updated on SIP/2828-09aa3ef8

-- Executing [[email protected]:1] BackGround("SIP/2828-09aa3ef8", "demo-thanks") in new stack

-- <SIP/2828-09aa3ef8> Playing 'demo-thanks' (language 'en')

-- Executing [[email protected]:2] Hangup("SIP/2828-09aa3ef8", "") in new stack

== Spawn extension (ivr, 1, 2) exited non-zero on 'SIP/2828-09aa3ef8'