Vous êtes sur la page 1sur 125

[Integrated VOIP System]

Author's Acknowledgments
We would like to thank ALLAH for helping us in our work and giving us patience till we finished. Then of course we would like to thank:

Dr. AHMED EL-SHAZLY


Who was more than a supervisor, he was like a father and spent alot of his time in helping us and and giving us advices from his long experience. Finally we thank every one who helped in this project.

[Integrated VOIP System]

Prepared By
ADNAN ADEL AMIN MOHAMMAD INAS ADEL YOSEF ELTIJANI OSMAN MOHAMMAD HANAFY ALI AHMED REFAT TWFIQ MOHAMMAD ADEL MORSY MOHAMMAD ABD EL-MAKSOUD MOHAMMAD IBRAHIM MEDHAT IBRAHIM AMGAD EHAB SCANDAR

[Integrated VOIP System]

TABLE OF CONTENTS
Chapter1: Voip Overview.......7 1.1 Brief history..............................................................................................................8 1.2 Advantages and disadvantages of VOIP...................................................................8 1.3 IP Networking Overview..........................................................................................9 1.4 Real-Time Voice in a Best-Effort IP Internetwork.................................................10 1.5 Packet Loss, Delay, and Jitter.................................................................................11 1.6 Consistent Throughput............................................................................................14 1.7 Reordering of Voice Packets...................................................................................16 1.8 Reliability and Availability.....................................................................................18 Chapter2: Major Voip Protocols...21 2.1 Overview........................................................................................................22 2.2 RTP and RTCP......................................................................................................24 2.2.1 Introduction.....................................................................................................24 2.2.2 RTP functions..................................................................................................24 2.2.3 RTP Protocol Architecture (Protocol layering)...............................................24 2.2.4 RTP Concepts and Terms....................................................................25 2.2.4.1 Sessions.....................................................................................................25 2.2.4.2 Synchronization sources............................................................................27 2.2.4.3 Mixers................................................................................................27 2.2.5 RTP Protocol Definition..................................................................................28 2.2.5.1 Fixed RTP Header Format.........................................................................28 2.2.5.2 Extended RTP Header Format...................................................................31 2.3 Reducing Header Overhead with CRTP...........................................................31 2.4 RTCP Packet Structure..........................................................................................32 2.4.1 RTCP Packet Types.........................................................................................33 2.4.2 Message Encapsulation....................................................................................36 2.5 CRTP Packet Components...............................................................................38 2.6 When to Use RTP Header Compression..........................................................38 Chapter3: Sip Protocol...40 3.1 Overview.........................................................................................................41 3.2 Components of SIP..........................................................................................42 3.3 SIP Messages...................................................................................................44 3.4 Status Codes....................................................................................................46 3.5 SIP Addressing................................................................................................47 3.6 Call Setup Models............................................................................................49 4

[Integrated VOIP System]


Chapter4: Networking Basics.53 4.1 Introduction to Networking.....................................................................................54 4.2 The OSI Model........................................................................................................54 4.3 The TCP/IP Protocol Suite......................................................................................58 4.4 The Internet Protocol (IP)........................................................................................61 4.5 IP Addresses............................................................................................................63 4.6 Transport Layer protocols.......................................................................................65 4.6.1 User Datagram Protocol (UDP)........................................................................65 4.6.2 Transmission Control Protocol (TCP)..............................................................66 4.7 Ethernet..69 4.8 Ethernet standards.70 4.9 Ethernet frames..70 4.10 Switches...72 4.11 Routers.73 Chapter5:Voip System Requirements75 5.1 Overview..................................................................................................................76 5.2 Objectives................................................................................................................76 5.3 Terminals.................................................................................................................76 5.4 PBX.........................................................................................................................76 5.4.1 Overview...........................................................................................................76 5.4.2 PBX System Components.................................................................................76 5.4.3 PBX functions...................................................................................................77 5.4.4 Hosted PBX systems.........................................................................................77 5.4.5 Mobile PBX......................................................................................................78 5.4.6 IP PBX..............................................................................................................78 5.5 Service....................................................................................................................78 5.6 Voip Gateways.......................................................................................................78 5.7 Server......................................................................................................................79 5.8 Block diagram of the overall system......................................................................79 5.9 Analog PBX...........................................................................................................80 5.10 COU(central office unit)......................................................................80 5.10.1 Ring Detector.................................................................................................80 5.10.2 Ring detector Circuit Schematic....................................................................80 5.10.3 Hook Switch..................................................................................................80 5.10.4 Hook switch Circuit Schematic.....................................................................81 5.10.5 Melody Player.....81 5.10.6 Melody player Circuit Schematic..................................................................81 5.11 SLIC (subscriber line interface card ) .................................................................81 5.11.1 Slic Circuit Schematic...................................................................................82 5.12 Switching Unit.....................................................................................................82 5.13 Tone Generator....................................................................................................82 5.13.1 Tone generator Circuit Schematic.................................................................82 5

[Integrated VOIP System]


5.14 Ring Generator.....................................................................................................83 5.15 DTMF Receiver (decoder) ..................................................................................83 5.15.1 How does it work? ........................................................................................83 5.15.2 Dtmf decoder Circuit Schematic....................................................................84 5.16 Power Supply.......................................................................................................84 5.16.1 Power supply circuit schematic......................................................................84 5.17 Software PBX.......................................................................................................85 5.18 Different Software Used as SoftPBX...................................................................85 5.19 Why using trixbox................................................................................................85 5.20 Software PBX Vs hardware PBX........................................................................86 Chapter6:System Configuration..87 6.1 Overview........................................................................................................88 6.2 Trixbox installation................................................................................................88 6.3 Trixbox Configuration...........................................................................................92 6.4 IP phone configuration..........................................................................................95 6.5 Softphone Configuration.......................................................................................98 APPENDIX.....103

[Integrated VOIP System]

About the book:


This book is written for anyone who wants to reduce or eliminate the toll charges by applying the voip system as an upgrading level for the computer network. And not only descriptions and dreams but also detailed practical procedure for applying the system .

[Integrated VOIP System]

Chapter 1 Voip Overview

[Integrated VOIP System]


1.1 Brief history The term VOIP was first used by the VOIP Forum (a group of major companies including Cisco, Vocalec and 3Com) to promote and develop the use of the International Telecommunications Unions (ITU) H.323 protocol. The forum also worked on the standardisation of directory services and the use of touch-tone standards for accessing voicemail. The ability to transfer voice over the internet, rather than the PSTN was first made possible in February 1995 when Vocaltec released its Internet Phone software. This software was designed to run on a standard personal computer (PC) equipped with a sound card, speakers, microphone, and modem. The software encoded and compressed the voice signal, converting it into IP packets then transmitted over the internet. However this PC-to-PC internet telephony only worked if both parties were using the Internet Phone software. Inherent in this technology were a number of severe limitations. For example, no formalised ringing protocols meant that it was necessary for both parties to pre-arrange the time of the call in order to be available to make the final connections themselves. Users also had to contend with the lack of any kind of directory service, poor quality, and frequent delays. Internet telephony has made a number of important advances since 1995. Many software developers now offer PC telephony software but, more importantly, gateway servers are emerging to act as an interface between the internet and the PSTN. Equipped with voice-processing cards, these gateway servers enable users to communicate via standard telephones over great distances without using the long distance telephone network. Voice over IP, or Voice over Internet Protocol to use the full title, is simply a means of making tel ephone calls over a data network instead of over the traditional analogue public switched telephone network (PSTN). The term VOIP describes the use of the Internet Protocol (IP) to transfer speech between two or more sites. Inherent in the term is the management of the protocol. In general, this means that the voice information is encoded into discrete digital packets and then transferred across an IP-based network. There are many advantages to this method of telephony, primarily the cost savings that can be made by avoiding the use of the traditional PSTN. In addition to cost savings, the digital nature of VOIP allows easy administration, the implementation of additional services such as voicemail, and a reduction in the physical cabling required for new installations. However, due to the distributed nature of the internet the Quality of Service (QoS) can often suffer, and there are still a number of technical issues affecting the widespread adoption of VOIP. 1.2 Advantages and disadvantages of VOIP VOIP offers a number of potential advantages and benefits to its users: reduced operating cost, including lower telecom charges (cheaper calls) flexibility reduced infrastructure Integrated services and greater user features.

The major advantage of VOIP is cost saving (although do not expect immediate cost savings due to the upgrading of existing infrastructure and systems implementation). In addition to the financial savings, there are a number of additional benefits; it is innately scalable, allowing the quick and easy addition of new terminals and connections. The voice data can be easily processed using a standard PC, allowing call monitoring, voicemail, and a range of other features to be implemented. 9

[Integrated VOIP System]


A single network topology can be put in place, requiring only network cabling to be installed in a building rather than both data and traditional telephone cabling. VOIP systems can also be configured using standard networking tools such as SNMP (simple network management protocol). A side benefit of VOIP is that many of the steps to full implementation are the same as the steps required to implement video conferencing and similar technologies. Whilst VOIP is not strictly speaking a subset of video conferencing there are many similarities, and a large number of products on the market implement both technologies in a single package. However, there are drawbacks: the network has to be fast, reliable and offer high quality of service Compatibility with existing firewalls and security devices may cause problems. (Firewalls need to be H.323 and possibly SIP compliant depending on the VOIP solution.)

1.3 IP Networking Overview This topic provides an overview of IP networking and some of the inherent challenges when conveying voice over an IP network.

IP is a connectionless network protocol. Connectionless networks generally do not participate in signaling. The concept of session establishment exists between end systems, although the connectionless network remains unaware of the virtual circuit (VC). IP resides at the network layer of the Open System Interconnection (OSI) protocol stack. Ther efore, it can transport IP packets over deterministic and nondeterministic Layer 2 protocols, such as Frame Relay or ATM. IP can be used to communicate across any set of interconnected networks and is equally suited to both LAN and WAN communication. 10

[Integrated VOIP System]


IP information is transferred in a sequence of datagrams. A message is sent as a series of datagrams that are reassembled into the completed message at the receiving location. Because a voice conversation that is transported in IP can be considered a continuous audio file, all packets must be received in sequence i mmediately and without interpacket variable delay. Traditionally, IP traffic transmits on a FIFO basis. Different packet types vary in size, allowing large file transfers to take advantage of the efficiency that is associated with larger packet sizes. FIFO queuing affects the way that voice packets transmit, causing delay and delay variation at the receiving end. UDP is the connectionless transport layer protocol used for VoIP. UDP is a simple protocol that exchanges datagrams without acknowledgments or guaranteed delivery. UDP requires that other protocols handle error processing and retransmission. The figure shows how packets may be received out of sequence or become completely lost at the receiving end. Example: IP Networking Due to the very nature of IP networking, voice packets sent across IP will be subject to certain transmission problems. These problems include jitter, delay, and packet ordering. In the figure, packets sent from the originating router on the left are in sequence and sent with predictable transmission intervals. As they traverse the IP network, the routing protocol may send some of the packets through one path, while other packets traverse a different path. As the packets arrive at the destination router on the right, they arrive with varying delays and out of sequence. These problems must be addressed with QoS mechanisms. 1.4 Real-Time Voice in a Best-Effort IP Internetwork This topic lists problems associated with implementation of real-time voice traffic in a best-effort IP internetwork. The traditional telephony network was originally designed to carry voice. The design of circuit switched calls provides a guaranteed path and a delay threshold between source and destination

The IP network was originally designed to carry data. Data networks were not designed to carry voice traffic. Although data traffic is best-effort traffic and can with stand some amount of delay, jitter, and loss, voice traffic is real-time traffic that requires a certain quality of service (QoS). In the absence of any special QoS parameters, a voice packet is treated as just another data packet. The user must have a well-engineered network, end to end, when running delay-sensitive applications such as VoIP. Fine-tuning the network to adequately support VoIP involves a series of protocols and features geared toward QoS. Example: Real-Time Voice Delivery Issues

11

[Integrated VOIP System]


In the IP network shown in the figure, voice packets that enter the network at a constant rate can reach the intended destination by a number of routes. Because each of these routes may have different delay characteristics, the arrival rate of the packets may vary. This condition is called jitter. Another effect of multiple routes is that voice packets can arrive out of order. The far-end voice-enabled router or gateway has to re-sort the packets and adjust the interpacket interval for a proper-sounding voice play out. Network transmission adds corruptive effects like noise, delay, echo, jitter, and packet loss to the speech signal. VoIP is susceptible to these network behaviors, which can degrade the voice application. If a VoIP network is to provide the same quality that users have come to expect from traditional telephony services, then the network must ensure that the delay in transmitting a voice packet across the network, and the associated jitter, does not exceed specific thresholds. 1.5 Packet Loss, Delay, and Jitter This topic discusses the causes of packet loss, end-to-end delay, and jitter delay in an IP internetwork.

In traditional telephony networks, voice has a guaranteed delay across the network by strict bandwidth a ssociation with each voice stream. Configuring voice in a data network environment requires network services with low delay, minimal jitter, and minimal packet loss. Over the long term, packet loss, delay, and jitter will all affect voice quality, as follows:

12

[Integrated VOIP System]


Packet loss: The IP network may drop voice packets if the network quality is poor, if the network is congested, or if there is too much variable delay in the network. Codec algorithms can correct small amounts of loss, but too much loss can cause voice clipping and skips. The chief cause of packet loss is network congestion.

Delay: End-to-end delay is the time that it takes the sending endpoint to send the packet to the receiving endpoint. End-to-end delay consists of the following two components: Fixed network delay: You should examine fixed network delay during the initial design of the VoIP network. The International Telecommunication Union (ITU) standard G.114 states that a oneway delay budget of 150 ms is acceptable for high- quality voice. Research at Cisco Systems has shown that there is a negligible difference in voice quality scores using networks built with 200-ms delay budgets. Examples of fixed network delay include propagation delay of signals between the sending and receiving endpoints, voice encoding delay, and voice packetization time for various VoIP codecs. Variable network delay: Congested egress queues and serialization delays on network interfaces can cause variable packet delays. Serialization delay is a constant function of link speed and packet size. The larger the packet and the slower the link clocking speed, the greater the serialization delay. Although this ratio is known, it can be considered variable because a larger data packet can enter the egress queue at any time before a voice packet. If the voice packet must wait for the data packet to serialize, the delay incurred by the voice packet is its own serialization delay, plus the serialization delay of the data packet in front of it. 13

[Integrated VOIP System]

14

[Integrated VOIP System]


Jitter: Jitter is the variation between the expected arrival of a packet and when it is actually r eceived. To compensate for these delay variations between voice packets in a conversation, VoIP endpoints use jitter buffers to turn the delay variations into a constant value so that voice can be played out smoothly. Buffers can fill instantaneously, however, because network congestion can be encountered at any time within a network. This instantaneous buffer use can lead to a difference in delay times between packets in the same voice stream.

Example: Packet Loss, Delay, and Jitter Problems The effect of end-to-end packet loss, delay, and jitter can be heard as follows: The calling party says, .Good morning, how are you? With end-to-end delay, the called party hears, ...Good morning, how are you? With jitter, the called party hears, .Good..morning, how..are you? With packet loss, the called party hears, .Good m..ning, w are you? 1.6 Consistent Throughput This topic describes the methods that you can use to ensure consistent delivery and throughput of voice packets in an IP internetwork. Throughput is the actual amount of useful data that is transmitted from a source to a destination. The amount of data that is placed in the pipe at the originating end is not necessarily the same amount of data that comes out at the destination. The data stream may be affected by error conditions in the network; for 15

[Integrated VOIP System]


example, bits may be corrupted in transit, leaving the packet unusable. Packets may also be dropped during times of congestion, potentially forcing a retransmit, using twice the amount of bandwidth for that packet.

In the traditional telephony network, voice had guaranteed bandwidth associated with each voice stream. Cisco IOS software uses a number of techniques to reliably deliver real-time voice traffic across the modern data network. These techniques, which all work together to ensure consistent delivery and throughput of voice packets, include the following: Queuing: The act of holding packets so that they can be handled with a specific priority when lea ving the router interface. Queuing enables routers and switches to handle bursts of traffic, measure network congestion, prioritize traffic, and allocate bandwidth. Cisco routers offer several different queuing mechanisms that can be implemented based on traffic requirements. Low Latency Queuing (LLQ) is one of the newest Cisco queuing mechanisms. Congestion avoidance: Congestion avoidance techniques monitor network traffic loads. The aim is to anticipate and avoid congestion at common network and internetwork bottlenecks before it becomes a problem. These techniques provide preferential treatment under congestion situations for premium (priority) class traffic, such as voice. At the same time, these techniques maximize network throughput and capacity use and minimize packet loss and delay. Weighted random early detection (WRED) is one of the QoS congestion avoidance mechanisms used in Cisco IOS software. Header compression: In the IP environment, voice is carried in Real-Time Transport Protocol (RTP), which is carried in User Datagram Protocol (UDP), which is then put inside an IP packet. This constitutes 40 bytes of RTP/UDP/IP header. This header size is large when compared to the typical voice payload of 20 bytes. Compressed RTP (CRTP) reduces the headers to 2 bytes in most cases, thus saving considerable bandwidth and providing for better throughput. 16

[Integrated VOIP System]


Resource Reservation Protocol: Resource Reservation Protocol (RSVP) is a transport layer protocol that enables a network to provide differentiated levels of service to specific flows of data. Unlike routing protocols, RSVP is designed to manage flows of data rather than make decisions for each individual datagram. Data flows consist of discrete sessions between specific source and destination machines. Hosts use RSVP to request a QoS level from the network on behalf of an application data stream. Routers use RSVP to deliver QoS requests to other routers along the paths of the data stream. After an RSVP reservation is made, weighted fair queuing (WFQ) is the mechanism that actually delivers the queue space at each device. Voice calls in the IP environment can request RSVP service to provide guaranteed bandwidth for a voice call in a congested environment. Fragmentation: Fragmentation defines the maximum size for a data packet and is used in the voice environment to prevent excessive serialization delays. Serialization delay is the time that it takes to actually place the bits onto an interface; for example, a 1500-byte packet takes 187 ms to leave the router over a 64-kbps link. If a best-effort data packet of 1500 bytes is sent, real-time voice packets are queued until the large data packet is transmitted. This delay is unacceptable for voice traffic. However, if best-effort data packets are fragmented into smaller pieces, they can be interleaved with real-time (voice) packets. In this way, both voice and data packets can be carried together on low-speed links without causing excessive delay to the real-time voice traffic.

There are many QoS tools that can be used to ensure consistent throughput. When these mechanisms are employed, voice traffic on the network is assured priority and its delivery is more consistent. 1.7 Reordering of Voice Packets This topic describes how RTP ensures consistent delivery order of voice packets in an IP internetwork. In traditional telephony networks, voice samples are carried in an orderly manner through the use of timedivision multiplexing (TDM). Because the path is circuit-switched, the path between the source and destination is reserved for the duration of the call. All of the voice samples stay in order as they are transmitted across the wire. Because IP provides connectionless transport with the possibility of multiple paths between sites, voice packets cannot arrive out of order at the destination. Because voice rides in UDP/IP packets, there is no automatic reordering of packets.

17

[Integrated VOIP System]

RTP provides end-to-end delivery services for data that require real-time support, such as interactive voice and video. According to RFC 1889, the services provided by RTP include payload-type identification, sequence numbering, time stamping, and delivery monitoring.

18

[Integrated VOIP System]

Example: Reordering Voice Packets In the figure, RTP reorders the voice packets through the use of sequence numbers before playing them out to the user. The table illustrates the various stages of packet reordering by RTP.

1.8 Reliability and Availability

19

[Integrated VOIP System]


The traditional telephony network strives to provide 99.999 percent uptime to the user. This corresponds to 5.25 minutes per year of downtime. Many data networks cannot make the same claim. This topic describes methods that you can use to improve reliability and availability in data networks.

To provide telephony users the same or close to the same level of service as they experience with traditional telephony, the reliability and availability of the data network takes on new importance. Reliability is a measure of how resilient a network can be. Efforts to ensure reliability may include choosing hardware and software with a low mean time between failure, or installing redundant hardware and links. Availability is a measure of how accessible the network is to the users. When a user wants to make a call, for example, the network should be accessible to that user at any time a call is required. Efforts to ensure availability may include installing proactive network management to predict failures before they happen, and taking steps to correct problems in design of the network as it grows. When the data network goes down, it may not come back up for minutes or even hours. This delay is una cceptable for telephony users. Local users with network equipment, such as voice enabled routers, gateways, or switches for IP Phones, now find that their connectivity is terminated. Administrators must, therefore, provide an uninterruptible power supply (UPS) to these devices in addition to providing network availability. Previously, depending on the type of connection the user had, they received their power directly from the telephone company central office (CO) or through a UPS that was connected to their key switch or PBX in the event of a power outage. Now the network devices must have protected power to continue to function and provide power to the end devices. Network reliability comes from incorporating redundancy into the network design. In traditional telephony, switches have multiple redundant connections to other switches. If either a link or a switch becomes unavailable, the telephone company can route the call in different ways. This is why telephone companies can claim a high availability rate. High availability encompasses many areas of the network. In a fully redundant network, the 20

[Integrated VOIP System]


following components need to be duplicated: Servers and call managers Access layer devices, such as LAN switches Distribution layer devices, such as routers or multilayer switches Core layer devices, such as multilayer switches Interconnections, such as WAN links and public switched telephone network (PSTN) gateways, even through different providers Power supplies and UPSs

21

[Integrated VOIP System]

Chapter 2 Major VoIP Protocols

22

[Integrated VOIP System]


2.1 Overview This topic defines the major VoIP protocols and matches them with the seven layers of the OSI model.

The major VoIP protocols include the following: H.323: An ITU standard protocol for interactive conferencing. The ITU standard protocol was originally designed for multimedia in a connectionless environment, such as a LAN. The H.323 is an umbrella of standards that defines all aspects of synchronized voice, video, and data transmission. H.323 defines end-to-end call signaling.

MGCP: An emerging standard for PSTN gateway control or thin device control. Specified in RFC 2705, MGCP defines a protocol to control VoIP gateways connected to external call-control devices, referred to as call agents. MGCP provides the signaling capability for less expensive edge devices, such as gateways, that may not contain a full voice-signaling stack, such as H.323. In essence, any time an event such as off hook occurs at the voice port of a gateway, the voice port reports that event to the call agent. The call agent then signals that device to provide a service, such as dial-tone signaling. SIP: A detailed protocol that specifies the commands and responses to set up and tear down calls. It also details features such as security, proxy, and transport (TCP or UDP) services. SIP and its partner protocols, Session Announcement Protocol (SAP) and Session Description Protocol (SDP), provide announcements and information about multicast sessions to users on a network. SIP defines end-toend call signaling between devices. SIP is a text-based protocol that borrows many elements of HTTP, using the same transaction request and response model, and similar header and response

23

[Integrated VOIP System]


codes. It also adopts a modified form of the URL-addressing scheme used within e-mail that is based on Simple Mail Transfer Protocol (SMTP). RTP: An Internet Engineering Task Force (IETF) standard media-streaming protocol. RTP carries the voice payload across the network. RTP provides sequence numbers and time stamps for the orderly processing of voice packets. RTCP: Provides out-of-band control information for an RTP flow. Every RTP flow has a corresponding RTCP flow that reports statistics on the call. RTCP is used for QoS reporting. Example: VoIP and the OSI Model Successfully integrating connection-oriented voice traffic in a connectionless-oriented IP network requires enhancements to the signaling stack. In some ways, the user must make the connectionless network appear more connection-oriented. Applications such as Cisco IP Soft phone and Cisco Call Manager provide the interface for users to originate voice at their PCs or laptops and convert and compress it before passing it to the network. If a gateway is used, a standard telephone becomes the interface to users, so human speech is the application. Codecs define how the voice is compressed. The user can configure which codec to use or a codec is negotiated according to what is available.

24

[Integrated VOIP System]


One of the constants in VoIP implementation is that voice uses RTP inside of UDP to carry the payload across the network. Because IP voice packets can reach the destination out of order and unsynchronized, the packets must be reordered and resynchronized before playing them out to the user. Since UDP does not provide services such as sequence numbers or time stamps, RTP provides sequencing functionality. The variables in VoIP are the signaling methods used. H.323 and SIP define end-to-end call signaling methods. MGCP defines a method to separate the signaling function from the voice call function. MGCP uses a call agent to control signaling on behalf of the endpoint devices, such as gateways. The central control device participates in the call setup only. Voice traffic still flows directly from endpoint to endpoint. 2.2 RTP and RTCP RTP (version 2) is a real-time transport protocol that provides end-to-end delivery services to support applications transmitting real-time audio, over unicast and multicast network services.

2.2.1 Introduction RTP is defined in IETF RFC 1889, along with a profile for carrying audio and video over RTP in RFC 1890. RTP provides end-to-end delivery services, but it does not provide all of the functionality that is typically provided by a transport protocol. In fact, RTP typically runs on top of UDP to utilize its multiplexing and checksum services. Other transport protocols besides UDP can carry RTP as well. RTP does not: Provide any mechanism to guarantee quality-of-service, but relies on lower-layer services to do so. Guarantee delivery or prevent out-of-order delivery. 2.2.2 RTP functions Segmentation/reassembly done by UDP (or similar). Resequencing (if needed). Loss detection for quality estimation, recovery. Intra-media synchronization: remove delay jitter through playout buffer. Intra-media synchronization: drifting sampling clocks. Inter-media synchronization (lip sync between audio and video). Quality-of-service feedback and rate adaptation. Source identification. 2.2.3 RTP Protocol Architecture (Protocol layering)

25

[Integrated VOIP System]


RTP is an application-level, datagram protocol Traditional transport services such as: Addressing, Segmentation/reassembly, Quality-of-service, and Delivery semantics

Are all provided by a lower level protocol

2.2.4 RTP Concepts and Terms 2.2.4.1 Sessions An RTP session is the sending and receiving of RTP data by a group of participants. For each participant a session is a (pair of) transport addresses used by a participant to communicate with the group. If multiple media types are communicated by the group, the transmission of each medium constitutes a session.

26

[Integrated VOIP System]

27

[Integrated VOIP System]


2.2.4.2 Synchronization sources Each source of RTP packets is called a synchronization source which identified by a unique, randomly chosen 32-bit ID (the SSRC). A host generating multiple streams within a single RTP session must use a different SSRC per stream.

A basic RTP message consists of Synchronization source identifier of sender. Sequence number. Timestamp. Media data unit(s).

2.2.4.3 Mixers An RTP mixer is an intermediate system that receives & combines packets of one or more RTP sessions into a new packet. Streams may be transcoded, special effects may be performed. A mixer will typically have to define synchronization relationships between streams. Resulting stream is multicast to a new group address.

28

[Integrated VOIP System]

Mixers are synchronization sources. Sources that are mixed together become contributing sources (CSRC).

2.2.5 RTP Protocol Definition

2.2.5.1 Fixed RTP Header Format The RTP header provides the timing information necessary to synchronize and display audio and video data and to determine whether packets have been lost or have arrived out of order. In addition, the header specifies the payload type, thus allowing multiple data and compression types. RTP is tailored to a specific application via auxiliary profile and payload format specifications. As an example, a payload format might specify what type of audio or video encoding is carried in the RTP packet. Encoded data can be compressed before delivery. 29

[Integrated VOIP System]

The first twelve octets are present in every RTP packet. The fields have the following meaning: Version (V): 2 bits This field identifies the version of RTP. The version defined by this specification is two (2). (The value 1 is used by the first draft version of RTP and the value 0 is used by the protocol initially implemented in the "vat" audio tool). Padding (P): 1 bit If the padding bit is set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding contains a count of how many padding octets should be ignored. Padding may be needed by some encryption algorithms with fixed block sizes or for carrying several RTP packets in a lower-layer protocol data unit. Extension (X): 1 bit: If the extension bit is set, the fixed header is followed by exactly one header extension. CSRC count (CS cnt): 4 bits The CSRC count contains the number of CSRC identifiers that follow the fixed header. Marker (M): 1 bit For voice packets, the marker bit indicates the beginning of a talk spurt. Beginning of talk spurts are good opportunities to adjust the play out delay at the receiver to compensate for differences between the sender and receiver clock rates as well as changes in the network delay jitter. Packets during a talk spurt need to be played out continuously, while listeners generally are not sensitive to slight variations in the durations of a pause.

30

[Integrated VOIP System]


Silence Suppression For applications which send no packets during silence, the first packet of a talk spurt (first packet after a silence period) is distinguished by setting the marker bit in the RTP data header. Applications without silence suppression set the bit to zero.

Payload type (PT): 7 bits This field identifies the format of the RTP payload and determines its interpretation by the application. A profile specifies a default static mapping of payload type codes to payload formats. Additional payload type codes may be defined dynamically through non-RTP means. An RTP sender emits a single RTP payload type at any given time; this field is not intended for multiplexing separate media streams. Sequence number: 16 bits The sequence number increments by one for each RTP data packet sent, and may be used by the receiver to detect packet loss and to restore packet sequence. The initial value of the sequence number is random (unpredictable) to make known-plaintext attacks on encryption more difficult, even if the source itself does not encrypt, because the packets may flow through a translator that does. Timestamp: 32 bits The timestamp reflects the sampling instant of the first octet in the RTP data packet. The sampling instant must be derived from a clock that increments monotonically and linearly in time to allow synchronization and jitter calculations. The clock frequency is dependent on the format of data carried as payload and is specified statically in the profile or payload format specification that defines the format. SSRC: 32 bits

31

[Integrated VOIP System]


The SSRC field identifies the synchronization source. This identifier is chosen randomly, with the intent that no two synchronization sources within the same RTP session will have the same SSRC identifier. Although the probability of multiple sources choosing the same identifier is low, all RTP implementations must be prepared to detect and resolve collisions. 2.2.5.2 Extended RTP Header Format

CSRC list: 0 to 15 items, 32 bits each The CSRC list identifies the contributing sources for the payload contained in this packet. The number of identifiers is given by the CC field. If there are more than 15 contributing sources, only 15 may be identified. CSRC identifiers are inserted by mixers, using the SSRC identifiers of contributing sources. For example, for audio packets the SSRC identifiers of all sources that were mixed together to create packets are listed, allowing correct talker indication at the receiver. 2.3 Reducing Header Overhead with CRTP RTCP is the control protocol that works in conjunction with RTP. Each participant in an RTP session periodically transmits RTCP control packets to all other participants. Feedback of information to the application can be used to control performance and for diagnostic purposes. RTCP performs the following four functions. Provide information to application: The primary function is to provide information to an application regarding the quality of data distribution. Each RTCP packet contains sender and/or receiver reports that report statistics useful to the application. These statistics include number of packets sent, nu m-

32

[Integrated VOIP System]


ber of packets lost, inter-arrival jitter, etc. This reception quality feedback will be useful for the sender, receivers, and third-party monitors. For example, the sender may modify its transmissions based on the feedback; receivers can determine whether problems are local, regional or global; network managers may use information in the RTCP packets to evaluate the performance of their networks for multicast distribution. Identify RTP source: RTCP carries a transport-level identifier for an RTP source, called the canonical name (CNAME). This CNAME is used to keep track of the participants in an RTP session. Receivers use the CNAME to associate multiple data streams from a given participant in a set of related RTP sessions, e.g., to synchronize audio and video. Control RTCP transmission interval: To prevent control traffic from overwhelming network resources and to allow RTP to scale up to a large number of session participants, control traffic is limited to at most 5 percent of the overall session traffic. This limit is enforced by adjusting the rate at which RTCP packets are transmitted as a function of the number of participants. Since each participant sends control packets to everyone else, each can keep track of the total number of participants and use this number to calculate the rate at which to send RTCP packets. Convey minimal session control information: As an optional function, RTCP can be used as a convenient method for conveying a minimal amount of information to all session participants. For example, RTCP might carry a personal name to identify a participant on the users display. This function might be useful in loosely controlled sessions where participants informally enter and leave the session. 2.4 RTCP Packet Structure Each RTCP packet begins with a fixed part similar to that of RTP data packets, followed by structured elements that may be of variable length according to the packet type but always end on a 32-bit boundary. Each individual RTCP packet in the compound packet may be processed independently with no requirements upon the order or combination of packets. However, in order to perform the functions of the protocol, the following constraints are imposed. Reception statistics (in SR or RR) should be sent as often as bandwidth constraints will allow to maximize the resolution of the statistics, therefore each periodically transmitted compound RTCP packet should include a report packet. New receivers need to receive the CNAME for a source as soon as possible to identify the source and to begin associating media for purposes such as lip-sync, so each compound RTCP packet should also include the SDES CNAME.

33

[Integrated VOIP System]

2.4.1 RTCP Packet Types RFC 1889 defines several RTCP packet types to carry a variety of control information:

34

[Integrated VOIP System]

RTCP Sender Reports (SR)

35

[Integrated VOIP System]


RTCP Receive Reports (RR)

36

[Integrated VOIP System]

2.4.2 Message Encapsulation

37

[Integrated VOIP System]


This topic describes how IP voice headers are compressed using CRTP.

Given the number of protocols that are necessary to transport voice over an IP network, the packet header can be large. You can use CRTP headers on a link-by-link basis to save bandwidth. Using CRTP compresses the IP/UDP/RTP header from 40 bytes to 2 bytes without UDP checksums and from 40 bytes to 4 bytes with UDP checksums. RTP header compression is especially beneficial when the RTP payload size is small; for example, with compressed audio payloads between 20 and 50 bytes. In addition, CRTP works on the premise that most of the fields in the IP/UDP/RTP header do not change, or that the change is predictable. Static fields include source and destination IP address, source and destination UDP port numbers, as well as many other fields in all three headers. For those fields where the change is predictable, the CRTP process is illustrated in the following table:

38

[Integrated VOIP System]


2.5 CRTP Packet Components In a packet voice environment when speech samples are framed every 20 ms, a payload of 20 bytes is generated. Without CRTP, the total packet size includes the following components: IP header (20 bytes) UDP header (8 bytes) RTP header (12 bytes) Payload (20 bytes) The header is twice the size of the payload: IP/UDP/RTP (20 + 8 + 12 = 40 bytes) versus payload (20 bytes). When generating packets every 20 ms on a slow link, the header consumes a large portion of bandwidth. In the figure, RTP header compression reduces the header to 2 bytes. The compressed header is one tenth of the payload size. 2.6 When to Use RTP Header Compression You must configure CRTP on a specific serial interface or sub-interface if you have any of these conditions: Narrowband links Slow links (less than 2 Mbps) Need to conserve bandwidth on a WAN interface

Compression works on a link-by-link basis and must be enabled for each link that fits these requirements. You must enable compression on both sides of the link for proper results. Enabling compression on both 39

[Integrated VOIP System]


ends of a low-bandwidth serial link can greatly reduce the network overhead if there is a significant volume of RTP traffic on that slow link. Example: Applying CRTP If you want the router to compress RTP packets, use the ip rtp header-compression command. The ip rtp header-compression command defaults to active mode when it is configured. However, this command provides a passive mode setting in instances where you want the router to compress RTP packets only if it has received compressed RTP on that interface. When applying to a Frame Relay interface, use the frame-relay ip rtp header-compression command. By default, the software supports a total of 16 RTP header compression connections on an interface. D epending on the traffic on the interface, you can change the number of header compression connections with the ip rtp compression-connections number command. Note Do not use CRTP if you have high-speed interfaces or links faster than 2 Mbps.

40

[Integrated VOIP System]

Chapter 3 Sip Protocol

41

[Integrated VOIP System]


3.1 Overview SIP provides another framework for establishing and maintaining VoIP calls. This topic describes SIP and its standards. SIP is a signaling and control protocol for the establishment, maintenance, and termination of multimedia sessions with one or more participants. SIP multimedia sessions include Internet telephone calls, multimedia conferences, and multimedia distribution. Session communications may be based on multicast, unicast, or both. SIP operates on the principle of session invitations. Through invitations, SIP initiates sessions or invites participants into established sessions. Descriptions of these sessions are advertised by any one of several means, including the SAP defined in RFC 2974, which incorporates a session description according to the Session Description Protocol (SDP) defined in RFC 2327.

SIP uses other IETF protocols to define other aspects of VoIP and multimedia sessions; for example, URLs for addressing, DNS for service location, and Telephony Routing over IP (TRIP) for call routing. SIP supports personal mobility and other Intelligent Network (IN) telephony subscriber services through name mapping and redirection services. Personal mobility allows a potential participant in a session to be identified by a unique personal number or name.

42

[Integrated VOIP System]


IN provides carriers with the ability to rapidly deploy new user services on platforms that are external to the switching fabric. Access to the external platforms is by way of an independent vendor and standard user interface. Calling-card services, 800 services, and local number portability are just three of these services. Multimedia sessions are established and terminated by the following services: User location services: Locate an end system User capabilities services: Select the media type and parameters User availability services: Determine the availability and desire for a party to participate Call setup services: Establish a session relationship between parties and manage call progress Call handling services: Transfer and terminate calls Although the IETF has made great progress in defining extensions that allow SIP to work with legacy voice networks, the primary motivation behind the protocol is to create an environment that supports nextgeneration communication models that use the Internet and Internet applications. SIP is described in IETF RFC 3261 (June 2002), which renders obsolete RFC 2543 (March 1999). 3.2 Components of SIP SIP is modeled on the interworking of user agents (UAs) and network servers. This topic describes the functional and physical components of a UA.

SIP is a peer-to-peer protocol. The peers in a session are called UAs. A UA consists of two functional components: 43

[Integrated VOIP System]


User agent client (UAC): A client application that initiates a SIP request. User agent server (UAS): A server application that contacts the user when a SIP invitation is received and then returns a response on behalf of the user to the invitation originator.

Typically, a SIP UA can function as a UAC or a UAS during a session, but not both in the same session. Whether the endpoint functions as a UAC or a UAS depends on the UA that initiated the request: the initiating UA uses a UAC and the terminating UA uses a UAS. From an architectural standpoint, the physical components of a SIP network are grouped into the following two categories: User agents: SIP user agents include the following devices: IP telephone: Acts as a UAS or UAC on a session-by-session basis. Software telephones and Cisco Systems SIP IP Phones initiate SIP requests and respond to requests. Gateway: Acts as a UAS or UAC and provides call control support. Gateways provide many services, the most common being a translation function between SIP user agents and other terminal types. This function includes translation between transmission formats and between communications procedures. A gateway translates between audio and video signals and performs call setup and clearing on both the IP side and the SCN side.

SIP servers: SIP servers include the following types: Proxy server: Intermediate component that receives SIP requests from a client, then forwards the requests on behalf of the client to the next SIP server in the network. The next server can be another proxy server or a UAS. Proxy servers can provide functions such as authentication, authorization, network access control, routing, reliable request transmissions, and security. Redirect server: Provides a UA with information about the next server that the UA should contact. The server can be another network server or a UA. The UA redirects the invitation to the server identified by the redirect server. Registrar server: Requests from UACs for registration of their current location. Registrar servers are often located near or even collocated with other network servers, most often a location server. Location server: An abstraction of a service providing address resolution services to SIP proxy or redirect servers. A location server embodies mechanisms to resolve addresses. These mechanisms can include a database of registrations or access to commonly used resolution tools such as finger, rwhois, Lightweight Directory Access Protocol (LDAP), or operating-systemdependent mechanisms. A registrar server can be modeled as one subcomponent of a location server; the registrar server is partly responsible for populating a database associated with the location server.

Example: SIP Applications

44

[Integrated VOIP System]


Leaders in the communications industry are developing new products and services that rely on SIP, and they are offering attractive new communications services to their customers. Microsoft recently added support for SIP clients in core product offerings Windows XP and Windows Messenger a step that will proliferate SIP clients on personal computers worldwide. SIP is gaining momentum in every market, and carriers that have deployed SIP in their networks include interexchange carriers such as WorldCom and Genuity, telephony application service providers and communications service providers such as Talking Nets and Tell Me, alternate carriers such as Vonage, Internet telephony service providers such as delta three, and advanced service providers such as Microsoft all Cisco customers. Cisco is enabling the advance of new communications services with a complete SIP-enabled portfolio, including proxy servers, packet voice gateways, call control and signaling, IP Phones, and firewalls. These products are available today. Only Cisco is dedicated to providing\ ubiquitous and seamless protocol interoperability in its packet-telephony solutions. Cisco solutions support a variety of call control and standard protocols, including H.323, MGCP, and SIP, which can coexist in the same customer network. 3.3 SIP Messages Communication between SIP components uses a request and response message model. This topic describes the types, use, and structure of these messages.

SIP communication involves the following two messages: Request from a client to a server: Consists of a request line, header lines, and a message body Response from a server to a client: Consists of a status line, header lines, and a message body

45

[Integrated VOIP System]


All SIP messages are text-based and modeled on RFC 822, Standard for ARPA Internet Text Messages, and RFC 2068, Hypertext Transfer Protocol . HTTP/1.1. SIP defines four types of headers: a general header, an entity header, a request header, and a response header. The first two appear on both message types. The latter two are specific to request and response, respectively.

In the request line, SIP uses a .method. to indicate the action to be taken by the responding component (usually a server). The following request methods indicate the action that the responding component should take: INVITE: A client originates the INVITE method to indicate that the server is invited to participate in a session. An invitation includes a description of the session parameters. ACK: A client originates the ACK method to indicate that the client has received a response to its earlier invitation. BYE: A client or server originates the BYE method to initiate call termination. CANCEL: A client or server originates the CANCEL method to interrupt any requests currently in progress. CANCEL is not used to terminate active sessions.

46

[Integrated VOIP System]


OPTIONS: A client uses the OPTIONS method to solicit capabilities information from a server. This method is used to confirm cached information about a UA or to check the ability of a UA to accept an incoming call. REGISTER: A UA uses the REGISTER method to provide information to a network server. Registrations have a finite life and must be renewed periodically. This prevents the use of stale information when a UA moves.

SIP response messages are sent in response to a request and indicate the outcome of request interpretation and execution. Responses take one of three basic positions: success, failure, or provisional. A status code reflects the outcome of the request. 3.4 Status Codes The following response messages indicate the status of a request: 1xx.Informational: Provisional response. Indicates that the request is still being processed. 2xx.Successful: Indicates that the requested action is complete and successful. 3xx.Redirection: Indicates that the requestor requires further action; for example, a redirect server responds with .moved. to advise the client to redirect its invitation.

47

[Integrated VOIP System]


4xx.Client error: Fatal response. Indicates that the client request is flawed or impossible to complete. 5xx.Server error: Fatal response. Indicates that the request is valid but the server failed to complete it. 6xx.Global failure: Fatal response. Indicates that the request cannot be fulfilled by any server.

3.5 SIP Addressing To obtain the IP address of a SIP UAS or a network server, a UAC performs address resolution of a user identifier. This topic describes address formats, address registration, and address resolution.

An address in SIP is defined in the syntax for a URL with sip: or sips: (for secure SIP connections) as the URL type. SIP URLs are used in SIP messages to identify the originator, the current destination, the final recipient, and any contact party. When two UAs communicate directly with each other, the current destination and final recipient URLs are the same. However, the current destination and the final recipient are different if a proxy or redirect server is used. An address consists of an optional user ID, a host description, and optional parameters to qualify the a ddress more precisely. The host description may be a domain name or an IP address. A password is associated with the user ID, and a port number is associated with the host description. Example: SIP Addressing Variants

48

[Integrated VOIP System]


The figure provides examples of SIP addresses. In the example sip:14085551234@gateway.com; user=phone, the user=phone parameter is required to indicate that the user part of the address is a telephone number. Without the user=phone parameter, the user ID is taken literally as a numeric string. The 14085559876 in the URL sip:14085559876@10.1.1.1 is an example of a numeric user ID. In the same example, the password changed is defined for the user.

A SIP address is acquired in several ways: by interacting with a user, by caching information from an earlier session, or by interacting with a network server. For a network server to assist, it must recognize the endpoints in the network. This knowledge is abstracted to reside in a location server and is dynamically acquired by its registrar server.

49

[Integrated VOIP System]

To contribute to this dynamic knowledge, an endpoint registers its user addresses with a registrar server. The figure illustrates a REGISTER mode request to a registrar server. To resolve an address, a UA uses a variety of internal mechanisms such as a local host table, DNS lookup, finger, rwhois, or LDAP, or it leaves that responsibility to a network server. A network server uses any of the tools available to a UA or interacts through a nonstandard interface with a location server. The figure illustrates a SIP proxy server resolving the address by using the services of a location server. 3.6 Call Setup Models If a UAC recognizes the destination UAS, the client communicates directly with the server. In situations in which the client is unable to establish a direct relationship, the client solicits the assistance of a network server. This topic illustrates three interworking models for call setup: direct, using a proxy server, and u sing a redirect server.

50

[Integrated VOIP System]

When a UA recognizes the address of a terminating endpoint from cached information, or has the capacity to resolve it by some internal mechanism, the UAC may initiate direct (UAC-to- UAS) call setup procedures. Direct setup is the fastest and most efficient of the call setup procedures. However, direct setup has some disadvantages. It relies on cached information or internal mechanisms to resolve addresses, which can become outdated if the destination is mobile. In addition, if the UA must keep information on a large number of destinations, management of the data can become prohibitive. This makes the direct method nonscalable. Direct call setup proceeds as follows: The originating UAC sends an invitation (INVITE) to the UAS of the recipient. The message i ncludes an endpoint description of the UAC and SDP. If the UAS of the recipient determines that the call parameters are acceptable, it responds positively to the originator UAC. The originating UAC issues an ACK. At this point, the UAC and UAS have all the information that is required to establish RTP sessions between them.

51

[Integrated VOIP System]

The proxy server procedure is transparent to a UA. The proxy server intercepts and forwards an invitation to the destination UA on behalf of the originator. llac fo tnemeganam dna lortnoc gnizilartnec yb dohtem tcerid eht fo seussi eht ot sdnopser revres yxorp A si AU eht ot tifeneb ehT . ytilibapac noitulos er sserdda etad -ot -pu dna cimanyd erom a gnidivorp dna putes eht htiw etacinummoc llits nac tey , AU noitanitsed eht fo setanidrooc eht nrael ot deen ton seod ti taht gnigassem erom seriuqer revres yxorp a gnisu taht era dohtem siht fo segatnavdasid ehT . AU noitanitsed gnihsilbatse fo elbapacni si AU eht , sliaf revres yxorp eht fI . revres yxorp eht no ycnedneped a setaerc d na . snoisses nwo sti When a proxy server is used, the call setup procedure is as follows: The originating UAC sends an invitation (INVITE) to the proxy server. The proxy server, if required, consults the location server to determine the path to the recipient and its IP address. The proxy server sends the invitation to the UAS of the recipient. If the UAS of the recipient determines that the call parameters are acceptable, it responds positively to the proxy server. The proxy server responds to the originating UAC. The originating UAC issues an ACK. The proxy server forwards the ACK to the recipient UAS. The UAC and UAS now have all the information required to establish RTP sessions. 52

[Integrated VOIP System]

A redirect server is programmed to discover a path to the destination. Instead of forwarding the invitation to the destination, the redirect server reports back to a UA with the destination coordinates that the UA should try next. A redirect server offers many of the advantages of the proxy server. However, the number of messages involved in redirection is fewer than with the proxy server procedure. The UA has a heavier workload because it must initiate the subsequent invitation. When a redirect server is used, the call setup procedure is as follows: 1. The originating UAC sends an invitation (INVITE) to the redirect server. 2. The redirect server, if required, consults the location server to determine the path to the recipient and its IP address. 3. The redirect server returns a .moved. response to the originating UAC with the IP address obtained from the location server. 4. The originating UAC acknowledges the redirection. 5. The originating UAC sends an invitation to the remote UAS. 6. If the UAS of the recipient determines that the call parameters are acceptable, it responds positively to the UAC. 7. The originating UAC issues an acknowledgment. The UAC and UAS now have all the information required to establish RTP sessions between them.

53

[Integrated VOIP System]

Chapter 4 Networking basics

54

[Integrated VOIP System]


4.1 Introduction to Networking In the early days of computing, there were mainframe computers. These computers were large and centrally located, usually in a very cold and climate-controlled environment. Although processing was performed on the mainframe, the average user did not walk up to it and start an application. Instead, he or she would sit at a terminal that was connected to the mainframe by some type of cabling. This terminal, located in a remote location, was the gateway to the processing power of the mainframe. The terminal performed very little work on its own. In fact, it merely displayed data on the monitor and processed keystrokes to send back to the mainframe. For this reason, these terminals were often called dumb terminals. As time progressed, more and more users were connecting to the mainframe computer through the terminals. This increased the load on the mainframe, thereby slowing productivity. The mainframe computers were continually being enhanced and upgraded to keep up with the processing demand. Technology started producing smarter terminals to decrease the load on the mainframe. When the personal computer (PC) became a reality in the late 1980s, the paradigm began to shift. PCs could connect to the mainframe in place of the dumb terminals, but more importantly, they could process data on their own. The PC revolution began, and the increasing importance of the home and office computer was realized. As PCs began to work in conjunction with the mainframe, new technology was required to efficiently connect them. Local Area Networks, or LANs, became the term used to describe the way in which computers were connected together to share data. LANs were implemented in a business using technologies such as Ethernet and Token Ring to connect computers together using Network Interface Cards, or NICs. LAN connectivity became a new industry market, and new businesses worldwide started operations. As more and more LANs became operational, it became necessary to link these networks together across floors, buildings, cities, and even countries; hence, the introduction of the Wide Area Network, or WAN. A WAN is a means of connecting LANs together across a distance boundary. Typical WAN connectivity was accomplished through phone lines. Today, computers throughout the world are connected through WANs, LANs, and various combinations of the two. Perhaps the most well-known network is the Internet. The means of connecting all these networks together to achieve a desired goal is called internetworking. 4.2 The OSI Model A network protocol is an agreed-upon format for transmitting data between two devices. However, data communication systems are so complex that it is very difficult to use a single protocol to handle all transmission tasks and problems. It therefore makes sense to use the divide-and conquer strategy, i.e. to split a problem into several smaller problems and resolve each of them individually. In 1983, the International Standard Organization (ISO) created the Open System Interconnect (OSI) reference model. ISO is an international organization composed of national standards bodies from over 75 countries. The OSI model is made up of seven functional layers, with each layer providing a distinct functionality. Table 1 summarizes the functionalities of the OSI layers. taught as the foundation for this knowledge. 55

[Integrated VOIP System]


How Does a Model Work? Before defining how a model works, we must clarify one thing. The OSI model defines what each layer should doit does not tell you how to do it. This allows developers the freedom to choose the best method they can design. The OSI model is divided into seven layers. Figure 1 lists the name and order of each layer. Notice that the bottom layer is identified as the first layer.

It is important to remember the order of the layers in the OSI model. Doing so creates a better understanding of the network data flow. It is also needed to pass an exam. Many acrostics can be used to remember the order, but possibly the most common is Each layer is separated, or encapsulated, from each other layer. This means that each layer can function on its own. Each layer thinks it is talking

directly to the same layer on the remote computer (see Figure 12) through a virtual link. Furthermore, each layer can only communicate with the layers above and below it. In fact, the layer doesnt know that

56

[Integrated VOIP System]


any other layers even exist. For example, notice in Figure 13 that the Transport layer can communicate only with the Network and the Session layers.

Finally, the flow of data starts at the Application layer of the sending computer, flows down the layers, across the wire to the receiving computer, and then back up the layers to the Application layer (see Figure 4).

57

[Integrated VOIP System]

58

[Integrated VOIP System]


Each layer has a specific function for which it is responsible. Although the layers start at the bottom, we will examine the layers starting at the top.

Data Encapsulation Using the OSI Model As we read through the description of the OSI layers, a question may arise: Since there may be more than one application using more than one communication partner using more than one protocol, how does the data get to its destination correctly?

4.3 The TCP/IP Protocol Suite The TCP/IP protocol suite, also referred to as the Internet protocol suite, is the set of communications protocols that implements the protocol stack on which the Internet and most commercial networks run. It is named after the two most important protocols in the suite: the Transmission Control Protocol (TCP) and the Internet Protocol (IP). The TCP/IP protocol suitelike the OSI reference modelis defined as a set of layers. Upper layers are logically closer to the user and deal with more abstract data, relying on lower layer protocols to translate data into forms that are transmitted physically over the network. From the above figure, it is clear that: The Application layer in TCP/IP roughly corresponds to the Application, Presentation and Session layers (i.e. Layers 7, 6 and 5 respectively) in OSI. The Transport layer in TCP/IP corresponds to the Transport layer (i.e. Layer 4) in OSI. The Internet layer in TCP/IP corresponds to the Network layer (i.e. Layer 3) in OSI. The Network Interface layer in TCP/IP corresponds to the Data Link layer (i.e. Layers 2) in OSI. The Hardware layer in TCP/IP corresponds to the Physical layer (i.e. Layers 1) in OSI.

59

[Integrated VOIP System]

Some people combine the Network Interface and Hardware layers when talking about TCP/IP, and therefore TCP/IP has only four layers in that case. Also, be aware that networking people tend to use terms like Layer 2 and Layer 3 instead of Data Link layer and Network layer respectively. So when they talk about a Layer 3 protocol, what they mean is a protocol that functions at the Network layer in OSI.

Application Layer The application layer of the TCP/IP model corresponds to the application layer of the OSI reference model. Some well known examples of application level entities within the TCP/IP domain are: FTP/Telnet/SSH HTTP/Secure HTTP (SHTTP) POP3/SMTP SNMP Transport Layer The transport layer of the TCP/IP model maps fairly closely to the transport layer of the OSI model. Two commonly used transport layer entities are TCP and User Datagram Protocol (UDP) Internet Layer 60

[Integrated VOIP System]


The Internet layer of the TCP/IP model maps to the network layer of the OSI model. Consequently, the Internet layer is sometimes referred to as the network layer. The primary component of the Internet layer is the Internet Protocol (IP).Many of the TCP/IP routing protocols are also classified as part of the Internet layer. Network Access Layer The lowest layer of the TCP/IP protocol stack is the network access layer. The network access layer contains two sub layers, the media access control (MAC) sub layer and the physical sub layer. The MAC sub layer aligns closely with the data link layer of the OSI model, and is sometimes referred to by that name. The physical sub layer aligns with the physical layer of the OSI model. Note: Some references divide the TCP/IP model into 5 layers, with the MAC and physical layers occupying the lowest two layers. Examples of the network access layer include: Ethernet Wireless Fidelity (Wi-FI)/WiMAX PPP, PPP over Ethernet (PPPoE) ATM/Frame Relay

61

[Integrated VOIP System]


4.4 The Internet Protocol (IP) IP is a datagram-oriented protocol, treating each packet independently. This means each packet must contain complete addressing information. Also, IP makes no attempt to determine if packets reach their destination or to take corrective action if they do not. Nor does IP checksum the contents of a packet, only the IP header. IP provides several services:

Addressing. IP headers contain 32-bit addresses which identify the sending and receiving hosts. These addresses are used by intermediate routers to select a path through the network for the packet. Fragmentation. IP packets may be split, or fragmented, into smaller packets. This permits a large packet to travel across a network which can only handle smaller packets. IP fragments and reassembles packets transparently. Packet timeouts. Each IP packet contains a Time to Live (TTL) field, which is decremented every time a router handles the packet. If TTL reaches zero, the packet is discarded, preventing packets from running in circles forever and flooding a network. Type of Service. IP supports traffic prioritization by allowing packets to be labeled with an abstract type of service. Options. IP provides several optional features, allowing a packet's sender to set requirements on the path it takes through the network (source routing), trace the route a packet takes (record route), and label packets with security features.

IP defines the format of the packets and how to handle them when sending or receiving. The form of the packets is called an IP datagram as shown in the following figure.

Version: 4 bits The Version field indicates the format of the internet header. This course describes version 4. IHL: 4 bits Internet Header Length is the length of the internet header in 32 bit words, and thus points to the beginning of the data. Note that the minimum value for a correct header is 5.

62

[Integrated VOIP System]


Type of Service: 8 bits The Type of Service provides an indication of the abstract parameters of the quality of service desired. These parameters are to be used to guide the selection of the actual service parameters when transmitting a datagram through a particular network. Total Length: 16 bits Total Length is the length of the datagram, measured in octets, including internet header and data. This field allows the length of a datagram to be up to 65,535 octets. Such long datagrams are impractical for most hosts and networks. All hosts must be prepared to accept datagrams of up to 576 octets (whether they arrive whole or in fragments). It is recommended that hosts only send datagrams larger than 576 octets if they have assurance that the destination is prepared to accept the larger datagrams. Identification: 16 bits An identifying value assigned by the sender to aid in assembling the fragments of a datagram. Flags: 3 bits Various Control Flags Fragment Offset: 13 bits This field indicates where in the datagram this fragment belongs. The fragment offset is measured in units of 8 octets (64 bits). The first fragment has offset zero. Time to Live: 8 bits This field indicates the maximum time the datagram is allowed to remain in the internet system. If this field contains the value zero, then the datagram must be destroyed. This field is modified in internet header processing. The time is measured in units of seconds, but since every module that processes a datagram must decrease the TTL by at least one even if it process the datagram in less than a second Protocol: 8 bits This field indicates the next level protocol used in the data portion of the internet datagram. The values for various protocols are specified in "Assigned Numbers". Header Checksum: 16 bits A checksum on the header only. Since some header fields change (e.g., time to live), this is recomputed and verified at each point that the internet header is processed. Source Address: 32 bits The source address. Destination Address: 32 bits The destination address. Options: variable 63

[Integrated VOIP System]


The options may appear or not in datagrams. They must be implemented by all IP modules (host and gateways). What is optional is their transmission in any particular datagram, not their implementation. In some environments the security option may be required in all datagrams. 4.5 IP Addresses Each networked computer is assigned a physical address, which takes different forms on different networks. For ETHERNET networks, the physical address is a 6 byte numeric (or 12 digit hexadecimal) value (e.g. 080BF0AFDC09). Each computers Ethernet address is unique, and corresponds to the a ddress of the physical network card installed in the computer. Internet addresses are logical addresses, and are independent of any particular hardware or network component. The TCP/IP protocol implements a logical network numbering, stored in configuration files, which a machine identifies itself as. This logical numbering is important in sending information to other users at other networks, or accessing machines remotely. Internet addresses are logical addresses, and are independent of any particular hardware or network component. It consists of a 4 byte (32-bit) numeric value which identifies the network number and the device number on the network. The 4 byte IP a ddress is represented in dotted decimal notation, where each byte represents a value between 0 and 255, e.g., 127.46.6.11 When a computer wants to exchange data with another computer using TCP/IP, it first translates the destination IP address into a physical address in order to send packets to other computers on the network (this is called address resolution). The IP logical numbering is comprised of a network number and a local number. For sites connected to the Internet (a global computer network of universities, databases, companies and US defense sites), the network portion is assigned by applying to a company responsible for maintaining the Internet Domain Names. The construction of an IP address is divided into three classes. Which class is used by an organization depends upon the maximum number of work stations that is required by that organization. Each node or computer using TCP/IP within the organization MUST HAVE a unique host part of the IP address. Class A Addressing

first byte specifies the network portion remaining bytes specify the host portion the highest order bit of the network byte is always 0 network values of 0 and 127 are reserved there are 126 class A networks there are more than 16 million host values for each class A network

64

[Integrated VOIP System]

Class B Addressing

the first two bytes specify the network portion the last two bytes specify the host portion the highest order bits 6 and 7 of the network portion are 10 there are more than 16 thousand class B networks there are 65 thousand nodes in each class B network

Class C Addressing

the first three bytes specify the network portion the last byte specifies the host portion the highest order bits 5, 6 and 7 of the network portion are 110 there are more than 2 million class C networks there are 254 nodes in each class C network

Reserved IP Addresses The following IP addresses are reserved for special purposes, and must NOT be assigned to any host.

Network Addresses : The host portion is set to all zero's (129.47.0.0) Broadcast Address : The host portion is set to all one's (129.47.255.255) Loop back Addresses : 127.0.0.0 and 127.0.0.1

Private IP Addresses

65

[Integrated VOIP System]


Network hosts that do not need to have their addresses visible on the public Internet can be a ssigned private IP address. There are four address ranges that are reserved for private networking use only. These addresses can not be used to route data outside of a private network. The following are the four IP address ranges reserved for private networks: 10.0.0.010.255.255.255 172.16.0.0172.31.255.255 192.168.0.0192.168.255.255 169.254.0.0169.254.255.255

4.6 Transport Layer protocols Within the TCP/IP protocol suite, the two most common transport layer entities are the UDP and the TCP. 4.6.1 User Datagram Protocol (UDP) The User Datagram Protocol is very simple. The PDU used by UDP is called a datagram. Datagrams are considered unreliable, in that there is no guarantee datagrams will be received in the correct order, if at all. If reliability of the information transmitted is needed, UDP should not be used. While UDP is unreliable, the lack of error checking and correction make UDP fast and efficient for many less data intensive or time sensitive applications, such as the Domain Name Service (DNS), the Simple Network Management Protocol (SNMP), and the Dynamic Host Configuration Protocol (DHCP) and the Routing Information Protocol (RIP). UDP is also well suited for streaming video. Basic Protocol Operation The UPD protocol is simple in operation. When invoked by the application layer, the UDP protocol performs the following operations: 1. Encapsulates the user data into UDP datagrams 2. Passes the datagram to the IP layer for transmission At the opposite end, the UDP datagram is passed up to UDP from the IP layer. UDP then removes the user data from the datagram and presents it upward to the application layer. Ports A port is a number that identifies the application using the UDP service. It can be thought of as an address for applications. For example, the application level protocols used for e-mail, POP3 and SMTP, are assigned standard port numbers. The port number is used by the UDP client on the receiving end to know what application to pass user data to. The UDP Packet Structure The UDP packet structure is illustrated in Figure. It consists of 5 fields, some of which are optional:

66

[Integrated VOIP System]


Source Portthe sending application. This is an optional field. Destination Portthe target application at the receiving end. Lengththe length of the entire packet. ChecksumOptional field used to perform basic error correction on the packet. Datathe user data to be transmitted.

4.6.2 Transmission Control Protocol (TCP) In the TCP/IP protocol suite, TCP is the intermediate layer between IP below it, and an application above it. Using TCP, applications on networked hosts can establish reliable connections to one another. The pr otocol guarantees in-order delivery of data from the sender to the receiver. Basic Protocol Operation The Transmission Control Protocol is connection-oriented, meaning user data is not exchanged between TCP peers until a connection is established between the two end points. This connection exists for the duration of the data transmission. TCP connections have three phases: 1. Connection establishment 2. Data transfer 3. Connection termination Connection Establishment To establish a connection, TCP uses a 3-way handshake. Before a client attempts to connect with a server, the server must first bind to a port to open it up for connections. This is called a passive open. Once the passive open is established, a client may initiate an active open. The server then sends an acknowledgement to the client. At this point, both the client and server have received an acknowledgement of the connection. Data Transfer A few key features set TCP apart from UDP: Error-free data transfer Ordered-data transfer Retransmission of lost packets Discarding of duplicate packets 67

[Integrated VOIP System]


Congestion throttling

Error Free Data Transfer Error-free data transfer is guaranteed by TCP. It does this by calculating a 16-bit checksum over the TCP packet (header and data). At the receiving end, if the checksum does not match the contents of the packet, it is discarded. Because the sending side does not receive an acknowledgement of the discarded packet, it is retransmitted. Ordered-Data Transfer Streams of data called segments are used by TCP peers to speak to each other. The segments can be quite large, so TCP breaks up the segments into smaller units of data. These units are encapsulated in the TCP packet that is passed to the IP protocol. Each unit of data is assigned a sequence number, which becomes part of the TCP packet. At the receiving end, the TCP module uses the sequence numbers in the packet to reconstruct the user data in the correct order. Retransmission of Lost Packets When transmitting large amounts of data, it is not unusual for some information to get lost along the way. In order to guarantee reliable transfer of data, TCP requires an acknowledgement of each packet it sends. This acknowledgement is sent by the TCP module at the receiving host. If an acknowledgement is not received within a specified time period, it will be retransmitted. Discarding Duplicate Packets The TCP client retransmits packets that it determines to be lost. The TCP module at the receive side may eventually receive packets that were considered to be lost after the sending side has retransmitted the data. This may result in the receiving end receiving two or more copies of the same packet. The receiving end TCP module uses the unique sequence numbers in the packet to determine if data duplication has occurred and discards any packets it determines to be duplicates. Congestion Throttling The final property of TCP is congestion throttling or flow control. The goal is for TCP to be able to send data to the receiving end at the fastest rate possible, without overwhelming it. When TCP first begins transmitting data to the far end, it sets a timer. The timer determines how long the sender should wait for a packet to be acknowledged before retransmitting it. If all packets are received well before the timer expires, TCP will incrementally increase the transmission speed, until packets begin to become unacknowledged during the time out period. When a significant number of packets have to be retransmitted, TCP slows down the rate at which it sends data to the other end. Connection Termination The connection termination phase uses, at most, a four-way handshake, with each side of the connection terminating independently. When an end point wishes to stop its half of the connection, it transmits a special packet with a flag indicating it is finished. The other end acknowledges the flag. A typical connection termination includes this two-phase handshake from both ends of the connection.

68

[Integrated VOIP System]


TCP Sockets Transmission Control Protocol is connection-oriented. A virtual connection is first created then maintained through the duration of data transfer. The end points of the connection between TCP peers are called sockets. A socket is identified by a combination of the source host address and port together with the destination host address and port. Arriving T CP data packets are identified as belonging to a specific TCP connection by its socket. From a logical standpoint, TCP peers communicate directly with each other over the socket connection. In reality, reading and writing packets to a socket is how TCP interfaces with the IP layer below it. TCP Packet Structure A TCP packet consists of two sections, header and data. All fields may not be used in every transmi ssion. A flag field is used to indicate the type of transmission the packet represents and how the packet should be interpreted. The header consists of 11 fields, of which 10 are required: Source portidentifies the sending application. Destination portidentifies the destination application. Sequence numberUsed for assembling segmented data in the proper order at the receiving end. Acknowledgement numberthe sequence number the sender (the receiving end) expects next. Data offsetthe size of the TCP header, it is also the offset from the start of the TCP packet to the data portion. ReservedReserved for future use, should be set to zero. Flags (also known as control bits)contains 6 1-bit flags: - URGUrgent pointer field is significant. - ACKAcknowledgement field is significant. - PSHPush function. - RSTReset the connection. - SYNSynchronize sequence numbers. - FINNo more data from sender. Windowthe number of bytes the sender is willing to receive starting from the acknowledgement field value. Checksumused for error-checking of the header and data. Urgent pointerif the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte. OptionsAdditional header fields (called options) may follow the urgent pointer. Datathe contents of this field are the user data being transmitted between two application level entities.

69

[Integrated VOIP System]

4.7 Ethernet Ethernet is a family of network access layer frame-based computer networking technologies. As a network access layer standard, it defines: A common addressing format A means of accessing and sharing the network media Several wiring and signaling standards Ethernet at the MAC Sub layer At the MAC sub layer, Ethernet peers communicate by exchanging frames, which encapsulate the Internet layer datagram. Ethernet frames are transmitted in the network using globally unique 48-bit physical layer addresses. The MAC address, as it is known, typically comes programmed into an Ethernet device by the manufacturer. A portion of the MAC address is a manufacturer identifier, assigned by the IEE E registration authority. The remaining portion is assigned by the manufacturer. Generally speaking, any device directly connected to an Ethernet LAN must have a MAC address, particularly if it operates above the physical sub layer. This includes computers, routers, network printers, network attached storage devices, and so forth. Accessing the Physical Medium Originally, Ethernet used a single shared coax attached to every device on a network. A scheme known as Carrier Sense Multiple Access with Collision Detection (CSMA/CD) was developed to govern the way the computers on the network shared the channel. CSMA/CD makes the following assumptions: 70

[Integrated VOIP System]


1. An Ethernet device will be able to sense if another device is using the medium by detecting a carrier signal. 2. Two Ethernet devices may inadvertently use the medium at the same time, causing frame collisions, requiring a retransmission of the collided frames. An Ethernet device will be able to detect these frame collisions. When one computer on an Ethernet LAN is required to transmit information, it uses the following algorithm. Main Procedure 1. Ethernet has a frame ready for transmission. 2. The Ethernet device listens to see if any other device is using the channel. If the medium is not idle, it waits for a period called the inter-frame gap. 3. The Ethernet device starts transmission. 4. Did a frame collision occur? If so, invoke the collision procedure. 5. Frame transmission ends successfully. Collision Detected Procedure 1. Continue transmission until minimum packet time is reached (jam signal) to ensure that all receivers detect the collision. 2. If the maximum number of transmission attempts has been reached, abort the transmission. 3. Calculate and wait a random back-off period. 4. Retry the main procedure. Modern Ethernet networks still use CSMA/CD to govern access to the transmission medium, at the sub network level. 4.8 Ethernet Standards Ethernet was originally developed by the Xerox corporation in the 1970s. In 1980, the Digital Equi pment Corporation (DEC), Intel, and Xerox (DIX) released the DIX Ethernet standard. That same year, the Institute of Electrical and Electronics Engineers (IEEE) commissioned a committee to develop open network standards. In 1985, this committee published the portion of the standard pertaining to Ethernet (based on the DIX standard)IEEE 802.3 Carrier Sense Multiple Access with Collision Detection Access Method and Physical Layer Specifications. Even though the IEEE title does not mention Ethernet, the name had caught on, and IEEE 802.3 was and is referred to as the Ethernet standard. There are very subtle differences between the DIX Ethernet frame format and the 802.3 frame format. While the DIX frame is the most commonly deployed, both frames can coexist at the physical level. 4.9 Ethernet Frames Ethernet frames consist of 3 portions: header, payload, and trailer.

71

[Integrated VOIP System]

Header Preamble7-bit sequence used for synchronizing receiver to transmitter. (10Mb/s Ethernet). Start Frame Delimiter8-bit sequence (10101011). Destination AddressDestination MAC address. Source AddressSource MAC address. Typeindicates the protocol sending the frame (DIX only). LengthIndicates the length of data field (number of LLC data bytes) (IEEE 802.3 only). Payload Logical Link Control (LLC)governs the assembly of data at the data link (Layer 2) level. DataPayload contained in a field between 46 bytes to just over 1500 bytes in length. Pad0 bits added to the data field if there are fewer than 46 bytes of data in that field.

Trailer Cyclical Redundancy Check (CRC)Detects DIXonly transmission errors. Frame Check Sequence (FCS)Detects transmission errors and provides quality of service at receiving end. Ethernet Versions Ethernet has evolved significantly since the original thick-coax 10 Mb/s network of the 1980s. Several different versions of the Ethernet standard are in use today. Fast Ethernet IEEE 802.3u is commonly referred to as Fast Ethernet or 100Base-T. Because Fast Ethernet offers a choice of 10 or 100 Mb/s bandwidth, the standard also allows for equipment that can auto negotiate the two speeds. Fast Ethernet can be cabled over either twisted-pair or fiber optic cables. Gigabit Ethernet Gigabit Ethernet works much the same way as 10 Mb/s and100 Mb/s Ethernet, only faster. It uses the same frame format, full duplex, and flow control methods. Additionally, it takes advantage of CSMA/CD when in half-duplex mode, and it supports Simple Network Management Protocol (SNMP) tools. Gigabit Ethernet takes advantage of jumbo frames to reduce the frame rate to the end host. Jumbo frames are between 64 and 9215 bytes. Gigabit Ethernet can be transmitted over twisted pair cables or optical fiber. 10 Gigabit Ethernet The operation of 10 Gigabit Ethernet (IEE 802.3ae) is similar to that of lower speed Ethernet networks. It maintains the IEEE 802.3 Ethernet frame size and format which preserves layer 3 and higher protocols. 72

[Integrated VOIP System]


However, 10 Gigabit Ethernet only operates over point-to-point links in full-duplex mode, eliminating the need for CSMA/CD. Additionally, it uses only fiber optical cable at the physical layer. 4.10 Switches Switches operate at Layer 2 (Data Link Layer) of the OSI model. Unlike hubs, switches are capable of i nspecting the data frames as they are received, determining the source and destination MAC addresses of that frame, and forwarding the frame to the appropriate switch port. By delivering data frames only to the connected device that it was intended for, network switches conserve network bandwidth and offer generally better performance than hubs. Figure 2 shows three PCs connected to a switch.

When the PCs transmit data frames, the switch record the source MAC address and port number in a table called the MAC address table. The MAC address table on the switch in Figure 2 may look like this:

73

[Integrated VOIP System]


When the switch receives a frame with the destination MAC address bb-bb-bb-bb-bb-bb (i.e. for PC B), instead of copying the frame to all ports, it looks up the MAC address table and finds that the host with the MAC address bb-bb-bb-bb-bb-bb (i.e. PC B) is located on port 3, and therefore forwards the frame only to port 3. When a new host is plugged into the switch, its MAC address is not in the MAC address table until it transmits the first frame. If a frame is sent to this new host before its MAC address and port number are recorded in the MAC address table, the switch will copy the frame to all ports except the port through which the frame entered the switch. When the new host replies, however, its MAC address and port nu mber will be recorded in the MAC address table, and subsequent frames for the new host will only be copied to its switch port. Compared to hubs, hosts connected to switches receive less unnecessary frames. The end result is that the hosts have better performance because they receive and therefore need to check fewer frames on average. Remember a host on a network needs to check every single frame to see if the frame is for it. Therefore the fewer the frames a host needs to check, the less busy it is. Switches in general do not understand IP addresses because they are Layer 2 devices. However manageable switches or managed switches do understand IP addresses but only for management purposes. 4.11 Routers Routers operate at Layer 3 (Network Layer) of the OSI model. A router must examine each packets Layer 3 header before making a routing decision. Figure 3 shows an example in which a router connects a co mpanys LAN to the Internet and a trusted partners network. The router in Figure 3 has three network interfaces: two serial and one Ethernet. Serial Interface 1 is connected to the Internet Serial Interface 2 is connected to a trusted partners network. Ethernet Interface 1 is connected to the companys LAN. The routing table on the router would look like this:

74

[Integrated VOIP System]

When the router receives a packet for the 192.168.0.0 network, it would route the packet to the companys LAN via Ethernet Interface 1. Similarly when the router receives a packet for the 10.0.0.0 network, it would route the packet to the trusted partners network via Serial Interface 2. When the router receives a packet for a network other than 192.168.0.0 and 10.0.0.0, it would route the packet to the Internet via Serial Interface 1. Layer 3 routing is generally performed by microprocessor-based engines, which require CPU cycles to examine each packets Layer 3 header. This can become a bottleneck due to a latency of packet examination and processing.

75

[Integrated VOIP System]

Chapter 5 Voip System Requirements

76

[Integrated VOIP System]


5.1 overview This part describes the requirements and arranges that should be done to implement a voip practical system. 5.2 Objectives Upon completing this part, you will gain the power to construct and build a voip network that meets your needs and requirements. and to move from the theoretic part to the real part. System Components: 5.3 Terminals : By every measure the easiest of the components to understand and to evaluate. When it comes down to it, a phone is one of the most well understood pieces of technology in the world. Everyone knows the basics, how to dial, how to answer and the protocols for using it. In the business environment most potential users even understand the common mechanisms for using most of the advanced features: voicemail, transferring calls, conferencing, hold, menu systems, etc. Any phone has to conform to these standards as well as provide any additional functionality that a VoIP system may provide. In fact, many VoIP systems make most of their functionality available through in-call menus that mean that a phone on the desk really just needs the standard 12 buttons on a dial pad, a handset to talk to and a way to plug it in. But most phones offer a range of additional buttons to control options, some kind of display to show nu mbers dialed and caller ID, a speakerphone and mute capability and volume controls. These should be regarded as a bare minimum for the desktop phone in any new phone system. 5.4 PBX: PBX is nothing except a telephone exchange or telephone switch which is a system of electronic components that connects telephone calls, PBXs are also referred to as: PABX - private automatic branch exchange. EPABX - electronic private automatic branch exchange. Technically, a PBX system uses a live operator to route calls, whereas PABXs are modern systems that do so automatically. 5.4.1 Overview: PBXs make connections among the internal telephones of a private organization usually a particular business or office and also connect them to the public switched telephone network (PSTN) via trunk lines. Initially, the primary advantage of PBXs was cost savings on internal phone calls: handling the circuit switching locally reduced charges for local phone service. 5.4.2 PBX System Components: A PBX will often include: 77

[Integrated VOIP System]


The PBXs internal switching network. Microcontroller or microcomputer for arbitrary data processing, control and logic. Logic cards, switching and control cards, power cards and related devices that facilitate PBX operation. Stations or telephone sets, sometimes called lines. Outside Telco trunks that deliver signals to (and carry them from) the PBX. Console or switchboard allows the operator to control incoming calls. Uninterruptible Power Supply (UPS) consisting of sensors, power switches and batteries. Interconnecting wiring. Cabinets, closets, vaults and other housings.

5.4.3 PBX functions: Functionally, the PBX performs four main call processing duties: Establishing connections (circuits) between the telephone sets of two users (e.g. mapping a dialed number to a physical phone, ensuring the phone isn't already busy) Maintaining such connections as long as the users require them (i.e. channeling voice signals between the users) Disconnecting those connections as per the user's requirement Providing information for accounting purposes (e.g. metering calls) In addition to these basic functions, PBXs offer many other calling features and capabilities, with different manufacturers : Auto dialing. Automatic ring back. Call forwarding on busy or absence. Call waiting. Conference call. Music on hold. Voice mail. Welcome Message. Speed Dialing. 5.4.4 Hosted PBX systems: A hosted PBX system delivers PBX functionality as a service, available over the Public Switched Telephone Network (PSTN) and/or the internet Hosted PBXs are typically provided by the telephone company, using equipment located in the premises of the telephone company's exchange. This means the customer organization doesn't need to buy or install PBX equipment and the telephone company can use the same switching equipment to service multiple PBX hosting accounts. Instead of buying PBX equipment, users contract for PBX services from a hosted PBX service pr ovider. The first hosted PBX service was very feature-rich compared to most premise-based systems of the time. In fact, some PBX functions, such as follow-me calling, appeared in a hosted service before they became available in hardware PBX equipment Today, it is possible to get hosted PBX service that includes far more features than were available from the first systems of this class, or to contract with companies that provide less functionality for simple needs. 78

[Integrated VOIP System]


5.4.5 Mobile PBX: A mobile PBX is a hosted PBX service that extends fixed-line PBX functionality to mobile devices such as cellular handsets, smart phones and PDA phones by provisioning them as extensions. Mobile PBX services also can include fixed-line phones. Mobile PBX systems are different from other hosted PBX systems that simply forward data or calls to mobile phones by allowing the mobile phone itself, through the use of buttons, keys and other input devices, to control PBX phone functions and to manage communications without having to call into the system first. 5.4.6 IP-PBX: An IP PBX handles voice signals under Internet protocol, bringing benefits for computer telephony integration (CTI). An IP-PBX can exist as physical hardware, or can carry out its functions virtually, performing the call-routing activities of the traditional PBX or key system as a software system. The virtual version is also called a "Soft PBX". An IP PBX phone system is sometimes called a VoIP phone system and uses the same protocol an office computer network runs on. The internet protocol (IP) transmits data between the PBX and phone or any other device such as a soft phone, PDA, Mobile Phone, Microsoft Exchange, PSTN Gateway, PSTN PCI Cards and SIP trunk providers. A PBX (Private Branch Exchange) is the system which controls calls within your office, with functionality like voicemail, hunt groups, auto attendants (virtual receptionist) and conference rooms. 5.5 Service: The final piece of the puzzle is service. No matter what you do, somebody has to provide broadband Internet access and termination of telephone calls into and out of the PSTN. And that somebody is your service provider. It may also be the same company that runs your PBX or sold you your PBX, or it may be a third party, but whichever it is, the services it provides and the support it gives you are critical to your new phone system. 5.6 Voip Gateways: These devices connect VoIP networks to the PSTN system, allowing calls between VoIP phones and PSTN Or mobile phones. Gateways perform compression and decompression of voice transmissions, as well as call routing. VoIP gateways may interface with gatekeepers, soft switches, or other external controllers, and can incorporate features such as network management and accounting. And good example for voip gateways. An ATA allows users to use a regular analog telephone to make VoIP calls. It has an RJ-11 port (for a regular phone line) into which users can plug an ordinary telephone handset. It also has an Ethernet port by which users can connect it to the local network. The ATA communicates with the VoIP server, using a standard VoIP protocol such as SIP, H.323, or IAX. The ATA converts the analog signals of the phone to digital data so it can go over the Internet. Another name for an ATA is VoIP router.

79

[Integrated VOIP System]


5.7 Server: The server provides management and administrative functions to support the routing of calls across the network .in a system based on H.323 ,the server is known as gatekeeper . In a SIP/SDP , the server is a SIP server. In a system based on MGCP or MEGACO , the server is a call agent. 5.8 System overall block diagram

80

[Integrated VOIP System]


5.9 Analog PBX: Hardware analog PBX components: COU. SLIC. Switching Unit. Tone Generator. Ring Generator. DTMF Receiver. Power Supply.

5.10 COU(central office unit): Public telephone lines connected to traditional PBX systems are commonly referred to as "CO-lines". Over the years that PBX systems have been used. The cou includes many basic circuits for the telephone exchange system which are: Ring detector circuit Hook switch (dial pulse) circuit. Melody player and holding circuit. 5.10.1 Ring Detector: This stage converts the incoming bell signals into pulses. These pulses are counted by Timer1 in the micro controller. The system hold the (Outer) call after two bells, two bells have 37 pulses. The ring circuit must provide electrical isolation between telephone line and modem electronics. This ring isolation is usually done using one optoisolator circuit, The optoisolator output can be easily connected to digital electronics, but the optoisolator input side needs more electronics: one capacitor for not letting DC to pass through optoisolator, one resistor to limit the current passing through optoisolator LED and one reverse connected diode in parallel with optoisolator LED to prevent negative voltages from damaging the LED. This is the basic ring detection circuit. 5.10.2 Ring detector Circuit Schematic:

5.10.3 Hook Switch: 81

[Integrated VOIP System]


The hook switch part is the circuit that provides a dial pulse in the telephone when the speaker is off-hook and the user is making or receiving a call and opens the circuit between the co-line and telephone when the speaker is on hook.. 5.10.4 Hook switch Circuit Schematic:

5.10.5 Melody Player : This circuit is used to record a special short msg or melody to be played if the hold circuit is to be used ,then the melody is transmitted to holding circuit through C10. 5.10.6 Melody player Circuit Schematic:

5.11 SLIC (subscriber line interface card ): The slic is the interface unit between the PBX unit and the extensions. this unit is required to detect every status from an usual telephone set for the Controlling circuit ( telephone exchange ) also it provides the ringing control to the extensions.

82

[Integrated VOIP System]


5.11.1 Slic Circuit Schematic:

5.12 Switching Unit: the function of the switching unit is to organize the calls handling between subscribers whatever the calling party was from extension to extension(intercom) or from extension to external call and vice versa. In our case the switching unit is computized and integrated at the microcontroller chip . The microcontroller is the basic and only controller for all the exchange operations at that may occur in the PBX. It controls many functions such as: Intercom calls. Call transfer. call forwarding Msg or music in hold. 5.13 Tone Generator: Tone generator is responsible for producing the different required tones at different cases such as dial tone which means that the telephone is ready to make a call and the busy tone which means that the called party is not available for making a connection now. this stage is based on the CD4093 NAND chip where gate A oscillates at high frequency and gate B oscillates at a different low frequency then a third gate say C AND the output of A or B to produce different tones . One for dial and other for busy. 5.13.1 Tone generator Circuit Schematic: 83

[Integrated VOIP System]

5.14 Ring Generator: Ring generator is the part of the system that is used to provide ringing for any telephone instrument. The circuit rings the phone in a completely realistic manner until someone answers. The problem is the ringer needs a high AC voltage to make a satisfactory ring which is done by the bell voltage transformer which Boost up the signal to the desired output signal depending on the transformer voltage. 5.15 DTMF Receiver (decoder): DTMF acronym stands for dual tone multi frequency. The DTMF decoder recognizes sequences of DTMF tones from a standard touch tone phone. 5.15.1 How does it work? When you press the buttons on the keypad, a connection is made that generates two tones at the same time. A "Row" tone and a "Column" tone. These two tones identify the key you pressed to any equipment you are controlling.

84

[Integrated VOIP System]

When you press the digit 1 on the keypad, you generate the tones 1209 Hz and 697 Hz. Pressing the digit 2 will generate the tones 1336 Hz and 697 Hz. Sure, the tone 697 is the same for both digits, but it take two tones to make a digit. 5.15.2 Dtmf decoder Circuit Schematic:

5.16 Power Supply : Power supply unit is a unit that provides different supply voltages for all different electronics in the system where there is the microcontroller which needs 5v DC supply ,also 12v DC required for all analog electronics and relays. And the 55v AC for the ringing voltage. 5.16.1 Power supply circuit schematic:

85

[Integrated VOIP System]

5.17 Software PBX: An IP-PBX can exist as physical hardware, or can carry out its functions virtually, performing the callrouting activities of the traditional PBX or key system as a software system. The virtual version is also called a "Soft PBX". 5.18 Different Software Used as SoftPBX: There are alot of companies that provides software pbx , they are almost the same .it defers only in the system requirements such as operating system (windows , Linux,...) , VOIP used protocol and some extra not basic pbx features such as voice mail , call recording ....etc. This software are: 3CX. Trixbox. Axon. Pbxnsip. Brekeke.

5.19 Why using trixbox: Key Features: . Support for many Call features such as Call Recording, Call Transfer, Call Waiting and Caller ID Contains many codecs supported such as ADPCM, G.711 , G.726 and iLBC Includes most of Protocols such as H.323, SIP, MGCP, and IAX (Inter-Asterisk Exchange) Purchase cost dramatically lower than a traditional hardware PBX Scaleable - Unlimited extensions and phone lines. No proprietary expansion modules needed! Web based configuration & status indication - Easy phone system management! Reduce long distance and inter office call costs No more expensive proprietary system phones - Use standard SIP phones Eliminate the phone wiring and make moving offices easier

86

[Integrated VOIP System]


5.20 Software PBX Vs hardware PBX: So now we have two choices for the PBX either a software or hardware . To know which one to use we need to know the properties of each one: Hardware PBX: Software PBX: General purpose platform. Lower cost, scalable hardware. Proprietary software. Standards-based. Not Guaranteed QoS Proprietary platform: Nortel, Avaya,... Proprietary software,phones,interfaces. Generally more expensive. Guaranteed QoS

So now you have the measures that make you able to decide which one to use dependant on your needs.

87

[Integrated VOIP System]

Chapter 6 System Configuration

88

[Integrated VOIP System]


6.1 Overview This section describes the basic configuration of the system components that have to be configured to make a properly built voip system. 6.2 Trixbox installation After you have completed the download, Burn the ISO image that you have just downloaded to a blank CD. Ensure that your PC will boot from the CD. If necessary change the BIOS settings to enable this. Boot your Trixbox PC with the CD in the CD Drive and press enter. After a few seconds, the following screen will be displayed.You press F2 to see the various options. However, it is not really necessary. Just press [Enter] to start the installation.

Press the Enter key to start the installation. After initial system detection, you will be asked to select the type of keyboard that you will be using. Use your cursor keys to navigate the keyboard types and use the Tab key to move the focus to the OK or BACK option. Select the appropriate keyboard.Selected US and move the focus to OK and hit [Enter].

89

[Integrated VOIP System]

After system hardware probing is completed, you will be asked to select the Time Zone you are in.

Use your cursor arrow keys to navigate to the appropriate time zone. Use the TAB key to move the focus to OK and hit [Enter] to accept . Next you will be asked to enter your root password (remember this password).

90

[Integrated VOIP System]

After entering and confirming your password, installation will now commence by first formatting the Hard Disk/s. From this point it will take about 30-45 minutes for the installation to be completed and ready for the configuration stage. During this stage, you will see screens similar to the following. Linux and the required files are being installed. All you do is, wait for it to finish.

After Linux is loaded the CD will eject. Take the CD out and wait for the system to reboot. When it reboots, you will be presented with the following screen.

91

[Integrated VOIP System]

After a moment, it will continue and you will see lots of lines of codes. This process will take a while because it is building Asterisk. When Asterisk build is complete, it will reboot itself. Once rebooted, Trixbox is ready for you to continue configuring and make changes to the system default.

92

[Integrated VOIP System]


6.3 Trixbox Configuration
Now, using your browser, you can connect to http://ipaddress/ (e.g. http:10.0.0.156) to configure Trixbox.

Create Extensions To create extensions, select the type of trunk e.g. SIP, IAX2, ZAP or Custom, is done from the Create Extension menu illustrated below:

We need to create a few SIP extensions. Therefore you should select Generic SIP Device from the device drop-down list then click Submit. The illustration below is where you create the extension. You will notice a few fields that you will need to populate. The important ones are: User Extension: 100 (thats the extension number I gave for reception) Secret: 100 (for simplicity, I used the extension number as the secret password)

93

[Integrated VOIP System]


I left the rest of the fields at their default values. Submit when done.

94

[Integrated VOIP System]

Click on the red bar on the top of the screen after every time you have submitted a new extension.

95

[Integrated VOIP System]


6.4 IP phone configuration
Open your web Browser Enter your IP address directed to port 9999. for example enter is as: http://10.0.0.6:9999 then select Enter on your keyboard

You will be presented with a log in dialog box. Leave this box blank and select OK to proceed to the DPH-120s web configuration interface.

Select SIP SETTINGS on the left menu. Enter the Registrar Server Domain Name/IP address as 10.0.0.156 Change the Authentication expire time from 3600 >> 240. Select Submit at the bottom of the screen to save this setting.

96

[Integrated VOIP System]

Select SIP ACCOUNT SETTINGS from the menu on the left The Default Account should be set as Account 1 Enter your log in details with your go talk VoIP account details Similarly enter your password Select Submit at the bottom of the screen to save this setting. At this point the DPH-120s will register and show the go talk VOIP username on the display screen of the phone. If all settings are correctly entered, registration will take around 10-30 seconds

97

[Integrated VOIP System]


Select the Restart button to save all settings after changes have been made The device is ready to use when you can see your go talk username displayed on the screen of the DPH-120s.

98

[Integrated VOIP System]


6.5 Softphone Configuration Start X-Lite. If this is the first time you have used X-Lite then the "Sip Accounts" screen will appear. Otherwise, click on the Menu button and choose "Sip Account Settings"

99

[Integrated VOIP System]

Click on the Add button to open the Properties screen. Enter the following fields:

100

[Integrated VOIP System]

101

[Integrated VOIP System]

102

[Integrated VOIP System]

103

[Integrated VOIP System]

Appendix

104

[Integrated VOIP System]

105

[Integrated VOIP System]

106

[Integrated VOIP System]

107

[Integrated VOIP System]

The main MCU module PCB Pattern.

108

[Integrated VOIP System]

The main MCU module

The CO-line PCB pattern. 109

The CO-line Component layout.

[Integrated VOIP System]

The Slic Module PCB pattern.

The Slic Module component layout.

Power supply PCB pattern.

Power supply component layout.

110

[Integrated VOIP System]

111

[Integrated VOIP System]

112

[Integrated VOIP System]

113

[Integrated VOIP System]

114

[Integrated VOIP System]

115

[Integrated VOIP System]

116

[Integrated VOIP System]

117

[Integrated VOIP System]

118

[Integrated VOIP System]


MIE Competition. (IEEE Competition). Tiba Com 4-04. What is the MIE? Made In Egypt is an IEEE GOLD program founded in 2005 and aims to orienting Research and Development activities in the Egyptian universities to tackle real needs and problems and develop prototypes for new products with the signature Made In Egypt (MIE). Made In Egypt (MIE) MIE is a competition that aims to bridge the gap between university researchers, professionals and business community towards a better impact on our societies. The competition aims at orienting Research and Development activities in Egypt to tackle real needs and problems, foster business-oriented results and develop prototypes for new products with the signature "Made In Egypt". Made In Egypt (MIE) Competition is organized by IEEE Egypt GOLD Section "Graduates Of Last Decade". Overview This category is for Undergraduate students in their final graduation year at any governmental/private faculty of Engineering or Computer Science can participate with their graduation projects. Basic Rules Team Formation: Participants should form teams of minimum of 2. Sponsorship Details: o Having a sponsor is a must to continue in the competition phases. o Sponsors Can be: 1-Industry Entities. 2-Private business companies. 3-Governmental Organizations. MIE vision and objectives Our slogan this year is "ThinkPlanAct" as we believe that to achieve any of your goals firstly you should think about what you want to do plan for achieving this goalstart acting and working to achieve your goal. The competition aims at orienting Research and Development activities in Egypt to tackle real needs and problems, foster business-oriented results and develop prototypes for new products with the signature "Made In Egypt". Competition Schedule: The MIE competition starts in August 2008 where teams will pass through phases starting by a summer training camp and ending with the competition finals in August 2009. The competition phases are as follows: Activity. Applying and Selection. Summer Training. Market Research and Sponsor Engagement Phase. Submit Final Idea (1st Filtration Point). 119 Date. 20th June 2008 1st August 2008. 16th August 2008 - 20th August 2008. 30th August 2008 4th December 2008. 4th December 2008. Done. Yes. Yes. Yes. Yes.

[Integrated VOIP System]


Concept Development and System Level Design. Mid Year Training. Submit 1st Report. Detailed Design and Testing Phase. Submit Final Report (2nd Filtration Point). Finals (Prototype is ready). December 2008 March 2009. 30th January 2009 1st February 2009. 7th February 2009. March 2009 July 2009. 23rd May 2009. 1st August 2009. Yes. Yes. Yes. Yes. Yes. Stand by to it.

Applying and Selection Students from each team should go to the registration page and fill the competition application form then submit the application electronically. The MIE Committee will select the team who will continue in the competition phases based on the info included in the application form. Summer Training The selected 350 students will attended a summer training camp in Cairo or Tanta with accommodation support. The training will include soft skills, business skills and technical training. The training represents an orientation phase for teams to help in enhancing their entrepreneurial skills to take their innovations into market. The training topics are: ## 1 Training Topics

Communication and Presentation Skills Learn how to communicate and show your ideas professionally with different stakeholders in 1-to-1 and Panel situations (sponsors, judgesetc). 2 Teamwork Create a team that can work together effectively, understand each others, handle conflicts and survive united to the end. Negotiation Skills Negotiate with sponsors and different stakeholders targeting a Win-Win deal. 6 Thinking Hats Utilizing a variety of approaches within thinking and problem solving, thus servicing the needs of all individuals concerned. Entrepreneurship Get the vision and spirit of Entrepreneurship and know how to be an entrepreneur.

120

[Integrated VOIP System]


Fundamentals of Marketing Understand basic marketing concepts and customer/market needs. Create innovative ideas, added values and competitive edges. Industry Analysis & Competitive Strategy Understanding market analysis and how to reflect research and analysis result on developed product/service. Business Writing Articulate your ideas clearly and effectively through abstracts and proposals to get a winning deal and communicate professionally with sponsors and different stakeholders using different types of writing. Project Management Learn how to plan the project time plan, allocate resources (Human, financial, toolsetc) and plan for different risks. Intellectual Property (IP) and Copyrights Know the concept and importance of IP and learn how to protect your innovations through a set of best practices. Product Design and Development Learn how to get into a professional product development lifecycle starting from product planning and gathering customer needs until making your prototype. How to get a sponsor Learn how to get in contact with potential sponsors and how to present your project idea effectively to get a winning deal.

10

11

12

Market Research and Sponsor Engagement Phase Teams should study the market and make a market research with the target of having a project idea that satisfies real need, put an initial technical design and get a sponsor for this idea. At the end of this phase every team must have a sponsor and apply a full proposal containing project details, company information and sponsorship deal to continue to next MIE phases. You have 2 scenarios to get a sponsor for your project; either to contact sponsors on your own or send to one or more of the companies in contact with MIE. In both cases, the sponsor should send to MIE sponsorship confirmation email with the final proposal attached. Submit Final Idea (1st Filtration Point) The final proposal consists of:

121

[Integrated VOIP System]


1. Project Info Form: It shows the project technical and business aspects. 2. Sponsor Info Form: It shows sponsor company information. This is to be filled by the sponsor. 3. IUL form: It helps in shaping the relation between the team and the sponsor by defining the sponsorship deal. It also shows some general terms for the sponsorship deal. The IUL Form should be filled and accepted by all the 3 involved parties, Supervisor, Sponsor and the Team. To make it easy for the sponsor and the supervisor, its highly recommended that you fill it first then review it with them till both of them accept it. Make sure that you add all required contacts correctly. The filtration will be based on the final proposal. Itll cover these main points: Sponsorship Deal o You must have a sponsor by this time and must have submitted all the required forms. o The sponsorship deal will be examined to make sure its a true deal and represents an added value for the Team and/or the Sponsor. Project proposal o Technical Approach. o Business Vision. Concept Development and System Level Design In this stage each team should generate different design concepts for their project and find an integral solution for any problem related to the project. Teams should refer to the book Product Design and Development for more information about this stage. Mid Year Training In this training there will be seminars to attend with topics suitable to this stage: ## 1 2 3 4 Training Topics Training Topics Public Speaking Business Planning Technical Writing How to start your own business

5 Entrepreneurship and Business Networks There will be also an evaluation meeting at the same time as: o Teams will present their projects, the progress they have achieved, problems that they overcame and problems that still exist to the committee and to other teams. o You will be evaluated by the committee and get advised for the problems either in the team management or in the project progress. Submit 1st Report This is mainly concentrating on the market research phase. It represents a very informative and useful source for you during this period. It's very important to read the Product Design and Development Book

122

[Integrated VOIP System]


and apply it practically in your research. This report will guide you through the book and will be very supportive for you through this phase. You should start working on this report during the market research phase to make best use of it. Dont postpone it till last days. Detailed Design and Testing Phase Teams should finish complete specifications of the product materials, geometry, purchased partsetc and prepare the process plan for the fabrication and assembly of the project, and more. Also should finish prototype forming and evaluation on several copies before yielding the real product. Submit Final Report (2nd Filtration Point) This report will cover the technical design and the prototyping issues. Itll be very useful to guide you to reach a strong design and get used to make technical design documents. The filtration will be based on your projects technical and business aspects in more details. Qualified teams will make it to the MIE Finals. Finals (Prototype is ready) Judging Panels The teams will present their projects to judges panel: There will be 2 judges in your projects fields; one will judge it from the technical and other from business points of views. The Judges will have your projects abstracts and reports to have a clear picture about the project. Us in MIE Our code is Tiba com 4-04, We had Succeeded all this Stages & We waiting to finals MIE to select the best five (5) Teams to connect to Made In Arab (MIR). Sponsor with Us. 1. Thebes Academy. 2. Triple A. 3. Jelecom- Egypt A.D Panasonic. 4. LEGEND Technologies. 5. ASK PC. Under the Supervision of: 6. Dr\Ahmed El-shazly (Chair man of electronics & Communication in Thebes Academy). 7. Eng\Ahmed Abaas (Telecom Egypt). 8. Eng\Tamer Saleh. 9. Eng\Michael Nasif (faculty of Engineering Shobra). We are :-

ADNAN ADEL AMIN MOHAMMAD ENAS ADEL YOSEF EL TIGANY OTHMAN MOHAMMAD HANAFY ALI

123

[Integrated VOIP System]


AHMED REFAT TWFIQ MOHAMMAD ADEL MORSY MOHAMMAD ABD EL-MAKSOUD MOHAMMAD IBRAHIM MEDHAT IBRAHIM AMGAD EHAB SCANDAR

124

[Integrated VOIP System]

References [1] Trixbox made easy by Barrie Dempster and Kerry Garrison [2] Trixbox without tears by Ben Sharif [3] Cisco press at Cisco.com [4] Triple a Training Company [5] VoIP for Dummies by Timothy Kelly [5]www.wikipedia.com

125

Vous aimerez peut-être aussi