From fae363c7a05dc76ad80ca6795fe0ddb6ca1c8c27 Mon Sep 17 00:00:00 2001 From: binh <> Date: Mon, 17 Jan 2005 13:19:28 +0000 Subject: [PATCH] Removed VoIP-Serving.xml Binh. --- .../docbook/Linux-Networking/VoIP-Serving.xml | 1120 ----------------- 1 file changed, 1120 deletions(-) delete mode 100644 LDP/guide/docbook/Linux-Networking/VoIP-Serving.xml diff --git a/LDP/guide/docbook/Linux-Networking/VoIP-Serving.xml b/LDP/guide/docbook/Linux-Networking/VoIP-Serving.xml deleted file mode 100644 index 794ef026..00000000 --- a/LDP/guide/docbook/Linux-Networking/VoIP-Serving.xml +++ /dev/null @@ -1,1120 +0,0 @@ - - -VoIP - - -Voice Over IP is a new communication means that let you telephone with -Internet at almost null cost. How this is possible, what systems are -used, what is the standard, all that is covered by this Howto. Web -site http://www.fatamorgana.com/bertolinux contains latest version of this document. - - - 1. Introduction - - 1.1. Introduction - - This document explains about VoIP systems. Recent happenings like - Internet diffusion at low cost, new integration of dedicated voice - compression processors, have changed common user requirements allowing - VoIP standards to diffuse. This howto tries to define some basic lines - of VoIP architecture. - - 2. Background - - 2.1. The past - - More than 30 years ago Internet didn't exist. Interactive - communications were only made by telephone at PSTN line cost. - - Data exchange was expansive (for a long distance) and no one had been - thinking to video interactions (there was only television that is not - interactive, as known). - - 2.2. Yesterday - - Few years ago we saw appearing some interesting things: PCs to large - masses, new technologies to communicate like cellular phones and - finally the great net: Internet; people begun to communicate with new - services like email, chat, etc. and business reborned with the web - allowing people buy with a "click". - - 2.3. Today - - Today we can see a real revolution in communication world: everybody - begins to use PCs and Internet for job and free time to communicate - each other, to exchange data (like images, sounds, documents) and, - sometimes, to talk each other using applications like Netmeeting or - Internet Phone. Particularly starts to diffusing a common idea that - could be the future and that can allow real-time vocal communication: - VoIP. - - 2.4. The future - - We cannot know what is the future, but we can try to image it with - many computers, Internet almost everywhere at high speed and people - talking (audio and video) in a real time fashion. We only need to know - what will be the means to do this: UMTS, VoIP (with video extension) - or other? Anyway we can notice that Internet has grown very much in - the last years, it is free (at least as international means) and could - be the right communication media for future. - - 3. Overview - - 3.1. What is VoIP? - - VoIP stands for 'V'oice 'o'ver 'I'nternet 'P'rotocol. As the term says - VoIP tries to let go voice (mainly human) through IP packets and, in - definitive through Internet. VoIP can use accelerating hardware to - achieve this purpose and can also be used in a PC environment. - - 3.2. How does it work? - - Many years ago we discovered that sending a signal to a remote - destination could have be done also in a digital fashion: before - sending it we have to digitalize it with an ADC (analog to digital - converter), transmit it, and at the end transform it again in analog - format with DAC (digital to analog converter) to use it. - - VoIP works like that, digitalizing voice in data packets, sending them - and reconverting them in voice at destination. - - - Digital format can be better controlled: we can compress it, route it, - convert it to a new better format, and so on; also we saw that digital - signal is more noise tolerant than the analog one (see GSM vs TACS). - - TCP/IP networks are made of IP packets containing a header (to control - communication) and a payload to transport data: VoIP use it to go - across the network and come to destination. - - - Voice (source) - - ADC - - - - Internet - - - DAC - - Voice (dest) - - - - 3.3. What is the advantages using VoIP rather PSTN? - - When you are using PSTN line, you typically pay for time used to a - PSTN line manager company: more time you stay at phone and more you'll - pay. In addition you couldn't talk with other that one person at a - time. - - In opposite with VoIP mechanism you can talk all the time with every - person you want (the needed is that other person is also connected to - Internet at the same time), as far as you want (money independent) - and, in addition, you can talk with many people at the same time. - - - If you're still not persuaded you can consider that, at the same time, - you can exchange data with people are you talking with, sending - images, graphs and videos. - - 3.4. Then, why everybody doesn't use it yet? - - Unfortunately we have to report some problem with the integration - between VoIP architecture and Internet. As you can easy imagine, voice - data communication must be a real time stream (you couldn't speak, - wait for many seconds, then hear other side answering): this is in - contrast with the Internet heterogeneous architecture that can be made - of many routers (machines that route packets), about 20-30 or more and - can have a very high round trip time (RTT), so we need to modify - something to get it properly working. - - In next sections we'll try to understand how to solve this great - problem. In general we know that is very difficult to guarantee a - bandwidth in Internet for VoIP application. - - 4. Technical info about VoIP - - Here we see some important info about VoIP, needed to understand it. - - 4.1. Overview on a VoIP connection - - To setup a VoIP communication we need: - - - 1. First the ADC to convert analog voice to digital signals (bits) - - 2. Now the bits have to be compressed in a good format for - transmission: there is a number of protocols we'll see after. - - 3. Here we have to insert our voice packets in data packets using a - real-time protocol (typically RTP over UDP over IP) - - 4. We need a signaling protocol to call users: ITU-T H323 does that. - - 5. At RX we have to disassemble packets, extract datas, then convert - them to analog voice signals and send them to sound card (or phone) - 6. All that must be done in a real time fashion cause we cannot - waiting for too long for a vocal answer! (see QoS section) - - - - Base architecture - - Voice )) ADC - Compression Algorithm - Assembling RTP in TCP/IP ----- - ----> | - <---- | - Voice (( DAC - Decompress. Algorithm - Disass. RTP from TCP/IP ----- - - - - 4.2. Analog to Digital Conversion - - This is made by hardware, typically by card integrated ADC. - - Today every sound card allows you convert with 16 bit a band of 22050 - Hz (for sampling it you need a freq of 44100 Hz for Nyquist Principle) - obtaining a throughput of 2 bytes * 44100 (samples per second) = 88200 - Bytes/s, 176.4 kBytes/s for stereo stream. - - For VoIP we needn't such a throughput (176kBytes/s) to send voice - packet: next we'll see other coding used for it. - - 4.3. Compression Algorithms - - Now that we have digital data we may convert it to a standard format - that could be quickly transmitted. - - - PCM, Pulse Code Modulation, Standard ITU-T G.711 - - - - · Voice bandwidth is 4 kHz, so sampling bandwidth has to be 8 kHz - (for Nyquist). - - · We represent each sample with 8 bit (having 256 possible values). - - · Throughput is 8000 Hz *8 bit = 64 kbit/s, as a typical digital - phone line. - - · In real application mu-law (North America) and a-law (Europe) - variants are used which code analog signal a logarithmic scale - using 12 or 13 bits instead of 8 bits (see Standard ITU-T G.711). - - - ADPCM, Adaptive differential PCM, Standard ITU-T G.726 - - - - It converts only the difference between the actual and the previous - voice packet requiring 32 kbps (see Standard ITU-T G.726). - - - LD-CELP, Standard ITU-T G.728 - CS-ACELP, Standard ITU-T G.729 and G.729a - MP-MLQ, Standard ITU-T G.723.1, 6.3kbps, Truespeech - ACELP, Standard ITU-T G.723.1, 5.3kbps, Truespeech - LPC-10, able to reach 2.5 kbps!! - - - - This last protocols are the most important cause can guarantee a very - low minimal band using source coding; also G.723.1 codecs have a very - high MOS (Mean Opinion Score, used to measure voice fidelity) but - attention to elaboration performance required by them, up to 26 MIPS! - - 4.4. RTP Real Time Transport Protocol - - Now we have the raw data and we want to encapsulate it into TCP/IP - stack. We follow the structure: - - - VoIP data packets - RTP - UDP - IP - I,II layers - - - - VoIP data packets live in RTP (Real-Time Transport Protocol) packets - which are inside UDP-IP packets. - - Firstly, VoIP doesn't use TCP because it is too heavy for real time - applications, so instead a UDP (datagram) is used. - - Secondly, UDP has no control over the order in which packets arrive at - the destination or how long it takes them to get there (datagram - concept). Both of these are very important to overall voice quality - (how well you can understand what the other person is saying) and - conversation quality (how easy it is to carry out a conversation). - RTP solves the problem enabling the receiver to put the packets back - into the correct order and not wait too long for packets that have - either lost their way or are taking too long to arrive (we don't need - every single voice packet, but we need a continuous flow of many of - them and ordered). - - - Real Time Transport Protocol - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |V=2|P|X| CC |M| PT | sequence number | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | timestamp | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | synchronization source (SSRC) identifier | - +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - | contributing source (CSRC) identifiers | - | .... | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - - - Where: - - - · V indicates the version of RTP used - - · P indicates the padding, a byte not used at bottom packet to reach - the parity packet dimension - - · X is the presence of the header extension - - · CC field is the number of CSRC identifiers following the fixed - header. CSRC field are used, for example, in conference case. - · M is a marker bit - - · PT payload type - - For a complete description of RTP protocol and all its applications - see relative RFCs1889 and 1890 - . - - 4.5. RSVP - - There are also other protocols used in VoIP, like RSVP, that can - manage Quality of Service (QoS). - - RSVP is a signaling protocol that requests a certain amount of - bandwidth and latency in every network hop that supports it. - - For detailed info about RSVP see theRFC 2205 - - - 4.6. Quality of Service (QoS) - - We said many times that VoIP applications require a real-time data - streaming cause we expect an interactive data voice exchange. - - - Unfortunately, TCP/IP cannot guarantee this kind of purpose, it just - make a "best effort" to do it. So we need to introduce tricks and - policies that could manage the packet flow in EVERY router we cross. - - So here are: - - - 1. TOS field in IP protocol to describe type of service: high values - indicate low urgency while more and more low values bring us more - and more real-time urgency - - 2. Queuing packets methods: - - a. FIFO (First in First Out), the more stupid method that allows - passing packets in arrive order. - - b. WFQ (Weighted Fair Queuing), consisting in a fair passing of - packets (for example, FTP cannot consume all available - bandwidth), depending on kind of data flow, typically one packet - for UDP and one for TCP in a fair fashion. - - c. CQ (Custom Queuing), users can decide priority. - - d. PQ (Priority Queuing), there is a number (typically 4) of queues - with a priority level each one: first, packets in the first - queue are sent, then (when first queue is empty) starts sending - from the second one and so on. - - e. CB-WFQ (Class Based Weighted Fair Queuing), like WFQ but, in - addition, we have classes concept (up to 64) and the bandwidth - value associated for each one. - - 3. Shaping capability, that allows to limit the source to a fixed - bandwidth in: - - a. download - - b. upload - - 4. Congestion Avoidance, like RED (Random Early Detection). - - For an exhaustive information about QoS see Differentiated Services - at IETF. - - 4.7. H323 Signaling Protocol - - H323 protocol is used, for example, by Microsoft Netmeeting to make - VoIP calls. - - This protocol allow a variety of elements talking each other: - - - 1. Terminals, clients that initialize VoIP connection. Although - terminals could talk together without anyone else, we need some - additional elements for a scalable vision. - - 2. Gatekeepers, that essentially operate: - - a. address translation service, to use names instead IP addresses - - b. admission control, to allow or deny some hosts or some users - - c. bandwidth management - - 3. Gateways, points of reference for conversion TCP/IP - PSTN. - - 4. Multipoint Control Units (MCUs) to provide conference. - - 5. Proxies Server also are used. - - h323 allows not only VoIP but also video and data communications. - - Concerning VoIP, h323 can carry audio codecs G.711, G.722, G.723, - G.728 and G.729 while for video it supports h261 and h263. - - More info about h323 is available at Openh323 Standards - , at this h323 web site - and at its standard - description: ITU H-series Recommendations - . - - You can find it implemented in various application software like - Microsoft Netmeeting , Net2Phone - , DialPad , ... and - also in freeware products you can find at Openh323 Web Site - . - - 5. Requirement - - 5.1. Hardware requirement - - To create a little VoIP system you need the following hardware: - - - 1. PC 386 or more - - 2. Sound card, full duplex capable - - 3. a network card or connection to internet or other kind of interface - to allow communication between 2 PCs - - All that has to be present twice to simulate a standard communication. - - The tool above are the minimal requirement for a VoIP connection: next - we'll see that we should (and in Internet we must) use more hardware - to do the same in a real situation. - - Sound card has be full duplex unless we couldn't hear anything while - speaking! - - As additional you can use hardware cards (see next) able to manage - data stream in a compressed format (see Par 4.3). - - 5.2. Hardware accelerating cards - - We can use special cards with hardware accelerating capability. Two - of them (and also the only ones directly managed by the Linux kernel - at this moment) are the - - - 1. Quicknet PhoneJack - - 2. Quicknet LineJack - - 3. VoiceTronix V4PCI - - 4. VoiceTronix VPB4 - - 5. VoiceTronix VPB8L - - Quicknet PhoneJack is a sound card that can use standard algorithms to - compress audio stream like G723.1 (section 4.3) down to 4.1 Kbps rate. - - It can be connected directly to a phone (POTS port) or a couple mic- - speaker. - - It has a ISA or PCI connector bus. - - Quicknet LineJack works like PhoneJack with some addition features - (see next). - - VoiceTronix V4PCI is a PCI card pretty like Quicknet LineJack but with - 4 phone ports - - VoiceTronix VPB4 is a ISA card equivalent to V4PCI. - - VoiceTronix VPB8L is a logging card with 8 ports. - - For more info see Quicknet web site and - VoiceTronix web site - - 5.3. Hardware gateway cards - - Quicknet LineJack and VoiceTronix cards can be connected to a PSTN - line allowing VoIP gateway feature. - - Then you'll need a software to manage it (see after). - - 5.4. Software requirement - - We can choose what O.S. to use: - - - 1. Win9x - - 2. Linux - - Under Win9x we have Microsoft Netmeeting, Internet Phone, DialPad or - others or Internet Switchboard (from Quicknet web site - ) for Quicknet cards. - - Warning!!: Latest Quicknet cards using Swithboard (older version too) - NEED to be connected to Internet to get working for managing - Microtelco account (not free of charge), so if you plan to remain - isolated from Internet you need to install OpenH323 software - . - - For VoiceTronix cards you can find software at VoiceTronix web site - - - Under Linux we have free software GnomeMeeting - , a clone of Microsoft Netmeeting, while - in console mode we use (also free software) applications from OpenH323 - web site: simph323 or ohphone that can also - work with Quicknet accelerating hardware. - - Attention: all Openh323 source code has to be compiled in a user - directory (if not it is necessary to change some environment - variable). You are warned that compiling time could be very high and - you could need a lot of RAM to make it in a decent time. - - 5.5. Gateway software - - To manage gateway feature (join TCP/IP VoIP to PSTN lines) you need - some kind of software like this: - - - · Internet SwitchBoard (only when connected - to Internet) for Windows systems also acting as a h323 terminal; - - · PSTNGw for Linux and Windows systems you download from OpenH323 - . - - 5.6. Gatekeeper software - - You can choose as gatekeeper: - - - 1. Opengatekeeper, you can download from opengatekeeper web site - for Linux and Win9x. - - 2. Openh323 Gatekeeper (GK) from here - . - - 5.7. Other software - - In addition I report some useful software h323 compliant: - - - · Phonepatch, able to solve problems behind a NAT firewall. It simply - allows users (external or internal) calling from a web page (which - is reachable from even external and internal users): when web - application understands the remote host is ready, it calls (h323) - the source telling it all is ok and communication can be - established. Phonepatch is a proprietary software (with also a - demo version for no more than 3 minutes long conversations) you - download from here . - - 6. Cards setup - - Here we see how to configure special hardware card in Linux and - Windows environment. - - 6.1. Quicknet PhoneJack - - As we saw, Quicknet Phonejack is a sound card with VoIP accelerating - capability. It supports: - - - · G.711 normal and mu/A-law, G.728-9, G.723.1 (TrueSpeech) and LPC10. - - · Phone connector (to allow calling directly from your phone) or - - · Mic & speaker jacks. - - Quicknet PhoneJack is a ISA (or PCI) card to install into your Pc box. - It can work without an IRQ. - - 6.1.1. Software installation - - Under Windows you have to install: - - - 1. Card driver - - 2. Internet Switchboard application (working only with Internet, using - newer Quicknet cards) - - all downloadable from Quicknet web site - - After Switchboard has been installed, you need to register to Quicknet - to obtain full capability of your card. - - When you pick up the phone Internet Switchboard wakes up and waits for - your calling number (directly entered from your phone), you can: - - - 1. enter an asterisk, then type an IP number (with asterisks in place - of dot) with a # in the end - - 2. type directly a PSTN phone number (with international prefix) to - call a classic phone user. In this case you need a registration to - a gateway manager to which pay for time. - - 3. enter directly a quick dial number (up to 2 digits) you have - previously stored which make a call (IP or PSTN). - - Internet Swichboard is h323 compatible, so if you can use, for - example, Microsoft Netmeeting at the other end to talk. - - Warning!! Internet Switchboard NEED to be connected to Internet when - used with newer Quicknet cards - - In place of Internet Switchboard you can use openh323 application - openphone (using GUI) or ohphone - (command line). - - Under Linux you have to install: - - - 1. Card driver, from Quicknet web site . - After downloaded you have to compile it (you must have a - /usr/src/linux soft or hard link to your Linux source directory): - type make for instructions. - - 2. Application openphone or - ohphone . - - 3. If you are a developer you can use SDK - to create your own - application (also for Windows). - - - - 6.1.2. Settings - - With Internet Switchboard (and with other application) you can: - - - 1. Change compression algorithm preferred - - 2. Tune jitter delay - - 3. Adjust volume - - 4. Adjust echo cancellation level. - - 6.2. Quicknet LineJack - - This card is very similar to the previous, it supports also gateway - feature. - - We only notice that we have to download - PSTNGx application (for Linux and - Windows) or we use Internet Switchboard to gateway feature. - - 6.3. VoiceTronix products - - - 1. First download software here - - 2. Untar it - - 3. Modify 'src/vpbreglinux.cpp' according to file README - - 4. type 'make' - - 5. type 'make install' - - 6. cd to src - - 7. type 'insmod vpb.o' - - 8. retrieve (from console of from 'dmesg' output command) major - number, say MAJOR - - 9. type 'mknod /dev/vpb0 c MAJOR 0' where MAJOR is the above number - - 10. - cd to unittest and type './echo' - - Follow README file for more help. - - I personally haven't tested VoiceTronix products so please contact - VoiceTronix web site for support. - - 7. Setup - - In this chapter we try to setup VoIP system, simple at first, then - more and more complex. - - 7.1. Simple communication: IP to IP - - - - A (Sound card) - - - B (Sound card) - - 192.168.1.1 - - - 192.168.1.2 - - - 192.168.1.1 calls 192.168.1.2 and viceversa. - - - - A and B should have - - - 1. an application like Microsoft Netmeeting, Internet Switchboard, - Openh323 (under Windows environment) or Ohphone, Gnomemeeting - (under Linux), installed and properly configured. - - 2. a network card or other kind of TCP/IP interface to talk each - other. - - In this kind of view A can make a H323 call to B (if B has server side - application active) using B IP address. Then B can answer to it if it - wants. After accepting call, VoIP data packets start to flow. - - 7.2. Using names - - Under Microsoft Windows a NetBIOS name can be used instead of an IP - address. - - - A - - - B - - 192.168.1.1 - - - 192.168.1.2 - - John - - - Alice - - - John calls Alice. - - - - This is possible cause John call request to Alice is converted to IP - calling by the NetBIOS protocol. - - The above 2 examples are very easy to implement but aren't scalable. - - - In a more big view such as Internet it is impossible to use direct - calling cause, usually, the callers don't know the destination IP - address. Furthermore NetBIOS naming feature cannot work cause it uses - broadcast messages, which typically don't pass ISP routers . - - You can also use DNS to solve name in IP address: for example you can - call ''box.domain.com''. - - 7.3. Internet calling using a WINS server - - The NetBIOS name calling idea can be implemented also in a Internet - environment, using a WINS server: NetBIOS clients can be configured to - use a WINS server to resolve names. - - PCs using the same WINS server will be able to make direct calling - between them. - - - - A (WINS Server is S) - - - - I - - - - B (WINS Server is S) - N - T - E - - - - - S (WINS Server) - C (WINS Server is S) - - - - R - N - E - - - - D (WINS Server is S) - T - - Internet communication - - - - A, B, C and D are in different subnets, but they can call each other - in a NetBIOS name calling fashion. The needed is that all are using S - as WINS Server. - - Note: WINS server hasn't very high performance cause it use NetBIOS - feature and should only be used for joining few subnets. - - 7.4. ILS server - - ILS is a kind of server which allows you to solve your name during an - H323 calling: when you start VoIP application you first register to - ILS server using a name, then everyone will be able to see you using - that name (if he uses same Server ILS!). - - 7.5. A big problem: the masquering. - - A problem of few IPs is commonly solved using the so called masquering - (also NAT, network address translation): there is only 1 IP public - address (that Internet can directly "see"), the others machines are - "masqueraded" using all this IP. - - - - A - - - - - B - - - Router with NAT - - - Internet - - C - - - - - - This doesn't work - - - - In the example A,B and C can navigate, pinging, using mail and news - services with Internet people, but they CANNOT make a VoIP call. This - because H323 protocol send IP address at application level, so the - answer will never arrive to source (that is using a private IP - address). - - Solutions: - - - · there is a Linux module that modifies H323 packets avoiding this - problem. You can download the module here - . To - install it you have to copy it to source directory specified, - modify Makefile and go compiling and installing module with - "modprobe ip_masq_h323". Unfortunately this module cannot work with - ohphone software at this moment (I don't know why). - - - - A - - - Router with NAT - - B - - - + - - - Internet - - C - - - ip_masq_h323 module - - - This works - - - - · There is a application program that also solves this problem: for - more see ``Par 5.7'' - - - - A - - - - - B - - - PhonePatch - - - Internet - - C - - - - - - This works - - - - 7.6. Open Source applications - - 7.6.1. Ohphone Sintax - - Sintax is: - - "ohphone -l|--listen [options]" - - "ohphone [options]... address" - - - · "-l", listen to standard port (1720) - - · "address", mean that we don't wait for a call, but we connect to - "address" host - - · "-n", "--no-gatekeeper", this is ok if we haven't a gatekeeper - - · "-q num", "--quicknet num", it uses Quicknet card, device - /dev/phone(num) - - · "-s device", "--sound device", it uses /dev/device sound device. - - · "-j delay", "--jitter delay", it change delay buffer to "delay". - - Also, when you start ohphone, you can give command to the interpreter - directly (like decrease AEC, Automatic Echo Cancellation). - - 7.6.2. Gnomemeeting - - Gnomemeeting is an application using GUI interface to make call using - VoIP. It is very simple to use and allows you to use ILS server, chat - and other things. - - 7.7. Setting up a gatekeeper - - You can also experiment gatekeeper feature - - Example - - (Terminal H323) A - - - - \ - (Terminal H323) B - - - D (Gatekeeper) - / - (Terminal H323) C - - - - - Gatekeeper configuration - - - - 1. Hosts A,B and C have gatekeeper setting to point to D. - - 2. At start time each host tells D own address and own name (also with - aliases) which could be used by a caller to reach it. - - 3. When a terminal asks D for an host, D answers with right IP - address, so communication can be established. - - We have to notice that the Gatekeeper is able only to solve name in IP - address, it couldn't join hosts that aren't reachable each other (at - IP level), in other words it couldn't act as a NAT router. - - You can find gatekeeper code here : - openh323 library is also required. - - Program has only to be launch with -d (as daemon) or -x (execute) - parameter. - - In addition you can use a config file (.ini) you find here - . - - 7.8. Setting up a gateway - - As we said, gateway is an entity that can join VoIP to PSTN lines - allowing us to made call from Internet to a classic telephone. So, in - addition, we need a card that could manage PSTN lines: Quicknet - LineJack does it. - - From OpenH323 web site we download: - - - 1. driver for Linejack - - 2. PSTNGw application to create our gateway. - - If executable doesn't work you need to download source code and - openh323 library , then install all - in a home user directory. - - After that you only need to launch PSTNGw to start your H323 gateway. - - 7.9. Compatibility Matrix - - First Matrix refers to: - - - 1. Software intercommunications (i.e. Netmeeting with SwitchBoard) - - 2. Software/Driver/Hardware talking (i.e. Netmeeting can use a - PhoneJACK card). - - - - _____________________________________________________________________________________________________________________ - | | Netmeeting |SwitchBoard | Simph323 | OhPhone | LinPhone |Speak-Freely|HW PhoneJACK|HW LineJACK | - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - | Netmeeting | V V V V X X V V - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - |SwitchBoard | V V V V X X V V - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - | Simph323 | V V V V X X X X - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - | OhPhone | V V V V X X V V - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - | LinPhone | X X X X V X X X - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - |SpeakFreely | X X X X X V X X - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - |HW PhoneJACK| V V X V X X _ _ - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - |HW LineJACK | V V X V X X _ _ - |____________|____________|____________|____________|____________|_____________|____________|____________|____________| - - - - Second Matrix refers to Gateway softwares that manage LineJACK card. - - - ___________________________________________________________ - | |HW LineJACK GW| SwitchBoard | PSTNGW | - |______________|______________|______________|______________| - |HW LineJACK GW| _ | V | V | - |______________|______________|______________|______________| - | SwitchBoard | V | _ | _ | - |______________|______________|______________|______________| - | PSTNGW | V | _ | _ | - |______________|______________|______________|______________| - - - - Notation: - - - · V : Works - - · X : Doesn't Work - - · -- : Doesn't care - - 8. Communications using PSTN line - - 8.1. Overview - - VoIP becomes very interesting when you start to use PSTN lines to call - other people in the world, directly to their home telephone. - - 8.2. Scenario - - A typical application is like that: - - - Home telephone1 -- (PSTN) -- PC1 -- (Internet) -- PC2 -- (PSTN) -- Home telephone2 - - - - 1. Home Telephone1 make a calls to PC1 phone number (using PSTN line, - I mean classic telephone line). - 2. PC1 answer to it. - - 3. Home telephone1 must tell PC1 what gateway use (PC2 in this case) - by giving the IP address (from DTMF keyboard) and/or what number - call (in this case Home telephone2). - - 4. After that PC1 will start to make an H323 call to PC2, then it will - pass Home telephone2 to PC2 to make it call it throught PSTN line. - - 5. Home telephone2 answers to call and communication between Home - telephone1 and Home telephone2 begins. - - 8.3. What can be changed in this configuration? - - - 1. You may use a PBX to select many lines to access many PC1 gateway - (for example one to call within your state, one to go accross - Europe, and so on...): typically you don't have to change this, - cause cost is always the same. - - 2. You can select (after called your PC1 gateway) every PC2 you want - (for example a PC2 living in England to call an English person so - that you'd pay only intra-country costs). - - So your decision will be taken considering PSTN line costs. In fact - what VoIP does is the convert this: - - - Home Telephone1 --- (PSTN) --- Home Telephone2 - PSTN great distance calling cost - - - - into this: - - - Home Telephone1 --- (PSTN) --- PC1 + - PC2 ---- (PSTN) --- Home Telephone2 = - -------------------------------------- - 2 PSTN short distance calling costs - - - - To save money you need that: - - - 2 PSTN short distance calling costs < PSTN great distance calling cost - - - - Typically "short distance calling" refers to a "city cal" while "great - distance calling" can be an "intercontinental call"! - - 9. Bandwidth consideration - - From all we said before we noticed that we still have not solved - problems about bandwidth, how to create a real time streaming of data. - - We know we couldn't find a solution unless we enable a right real-time - manager protocol in each router we cross, so what do we can do? - - First we try to use a very (as more as possible) high rate compression - algorithms (like LPC10 which only consumes a 2.5 kbps bandwidth, about - 313 bytes/s). - - - Then we starts classify our packets, in TOS field, with the most high - priority level, so every router help us having urgently. - - Important: all that is not sufficient to guarantee our conversation - would always be ok, but without an great infrastructure managing - shaping, bandwidth reservation and so on, it is not possible to do it, - TCP/IP is not a real time protocol. - - A possible solution could be starts with little WAN at guaranteed - bandwidth and get larger step by step. - - We finally have to notice a thing: also the so called guaranteed - services like PSTN line could not manage all clients they have: for - example a GSM call is not able to manage more that some hundred or - some thousand of clients. - - Anyway for a starting service, limited to few users, VoIP can be a - valid alternative to classic PSTN service. - - 11. Useful links - - 11.1. Open software link - - - · Voxilla - - · Linux Telephony - - · Open H323 web site - - · http://www.gnomemeeting.org/ - - · Speak Freely - - · http://www.linphone.org - - · http://www.fsf.org/software/osip - - · http://www.gnu.org/software/bayonne - - - 11.2. Commercial link - - - · Fatamorgana Computers - - · International Communication Union - - · Voicetronix web site - - · Quicknet Web site - - · Cisco Systems - - · www.metropark.com - - · www.nbxsoftware.com - -