Differences between current version and predecessor to the previous major change of HowToVoIPHOWTO.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 5 | Last edited on Monday, October 25, 2004 5:01:14 am | by AristotlePagaltzis | |
Older page: | version 4 | Last edited on Thursday, December 11, 2003 5:29:21 pm | by ThePhantom | Revert |
@@ -1,1683 +1 @@
-
-VoIP-HOWTO
-
-
-
-----
-
-!!!VoIP Howto
-
-!!Roberto Arcomano berto@fatamorgana.comv 1.5 - June 2, 2002
-
-
-----
-''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
-
-****1.2 Copyright
-
-****1.3 Translations
-
-****1.4 Credits
-
-
-
-
-
-!!2. Background
-
-
-****2.1 The past
-
-****2.2 Yesterday
-
-****2.3 Today
-
-****2.4 The future
-
-
-
-
-
-!!3. Overview
-
-
-****3.1 What is VoIP?
-
-****3.2 How does it work?
-
-****3.3 What is the advantages using VoIP rather PSTN?
-
-****3.4 Then, why everybody doesn't use it yet?
-
-
-
-
-
-!!4. Technical info about VoIP
-
-
-****4.1 Overview on a VoIP connection
-
-****4.2 Analog to Digital Conversion
-
-****4.3 Compression Algorithms
-
-****4.4 RTP Real Time Transport Protocol
-
-****4.5 RSVP
-
-****4.6 Quality of Service (QoS)
-
-****4.7 H323 Signaling Protocol
-
-
-
-
-
-!!5. Requirement
-
-
-****5.1 Hardware requirement
-
-****5.2 Hardware accelerating cards
-
-****5.3 Hardware gateway cards
-
-****5.4 Software requirement
-
-****5.5 Gateway software
-
-****5.6 Gatekeeper software
-
-****5.7 Other software
-
-
-
-
-
-!!6. Cards setup
-
-
-****6.1 Quicknet !PhoneJack
-
-****6.2 Quicknet !LineJack
-
-****6.3 !VoiceTronix products
-
-
-
-
-
-!!7. Setup
-
-
-****7.1 Simple communication: IP to IP
-
-****7.2 Using names
-
-****7.3 Internet calling using a WINS server
-
-****7.4 A big problem: the masquering.
-
-****7.5 Using Linux
-
-****7.6 Setting up a gatekeeper
-
-****7.7 Setting up a gateway
-
-****7.8 Compatibility Matrix
-
-
-
-
-
-!!8. Bandwidth consideration
-
-
-
-
-!!9. Glossary
-
-
-
-
-!!10. Useful links
-
-
-****10.1 Open software link
-
-****10.2 Commercial link
-
-----
-
-!!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.
-
-
-Please send suggestions and critics to
-my email address
-!!1.2 Copyright
-
-
-
-Copyright (C) 2000,2001 Roberto Arcomano. This document is free; you can
-redistribute it and/or modify it under the terms of the GNU General Public
-License as published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version. This document is distributed
-in the hope that it will be useful, but
-
-
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-more details. You can get a copy of the GNU GPL
-here
-!!1.3 Translations
-
-
-
-If you want to translate this document you are free, you only have to:
-
-
-
-
-
-
-
-
-***#Check that another version of it doesn't already exist at your local LDP
-***#
-
-***#Maintain all 'Introduction' section (including 'Introduction', 'Copyright',
-'Translations', 'Credits').
-***#
-
-
-
-Warning! You don't have to translate TXT or HTML file, you have to modify
-LYX or SGML file, so that it is possible to convert it all other formats (TXT,
-HTML, RIFF, etc.).
-
-
-No need to ask me to translate! You just have to let me know (if you want)
-about your translation.
-
-
-Thank you for your translation!
-
-!!1.4 Credits
-
-
-
-Thanks to
-Fatamorgana Computers for hardware equipment and experimental opportunity.
-
-
-Thanks to
-Linux Documentation Project for publishing and uploading my document in a very quickly fashion.
-
-
-Thanks to
-David Price for his support.
-----
-
-!!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:
-
-
-
-
-
-***#First the ADC to convert analog voice to digital signals (bits)
-***#
-
-***#Now the bits have to be compressed in a good format for transmission: there
-is a number of protocols we'll see after.
-***#
-
-***#Here we have to insert our voice packets in data packets using a real-time
-protocol (typically RTP over UDP over IP)
-***#
-
-***#We need a signaling protocol to call users: ITU-T H323 does that.
-***#
-
-***#At RX we have to disassemble packets, extract datas, then convert them
-to analog voice signals and send them to sound card (or phone)
-***#
-
-***#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 RFCs
-1889 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 the
-RFC 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:
-
-
-
-
-
-***#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
-***#
-
-***#Queuing packets methods:
-
-
-***##FIFO (First in First Out), the more stupid method that allows passing packets
-in arrive order.
-***##
-
-***##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.
-***##
-
-***##CQ (Custom Queuing), users can decide priority.
-***##
-
-***##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.
-***##
-
-***##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.
-***##
-
-
-***#
-
-***#Shaping capability, that allows to limit the source to a fixed bandwidth
-in:
-
-
-***##download
-***##
-
-***##upload
-***##
-
-
-***#
-
-***#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:
-
-
-
-
-
-***#Terminals, clients that initialize VoIP connection. Although terminals
-could talk together without anyone else, we need some additional elements for
-a scalable vision.
-***#
-
-***#Gatekeepers, that essentially operate:
-
-
-***##address translation service, to use names instead IP addresses
-***##
-
-***##admission control, to allow or deny some hosts or some users
-***##
-
-***##bandwidth management
-***##
-
-
-***#
-
-***#Gateways, points of reference for conversion TCP/IP - PSTN.
-***#
-
-***#Multipoint Control Units (MCUs) to provide conference.
-***#
-
-***#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:
-
-
-
-
-
-***#PC 386 or more
-***#
-
-***#Sound card, full duplex capable
-***#
-
-***#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
-
-
-
-
-
-***#Quicknet !PhoneJack
-***#
-
-***#Quicknet !LineJack
-***#
-
-***#!VoiceTronix V4PCI
-***#
-
-***#!VoiceTronix VPB4
-***#
-
-***#!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:
-
-
-
-
-
-***#Win9x
-***#
-
-***#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:
-
-
-
-
-
-***#Opengatekeeper, you can download from
-opengatekeeper web site for Linux and Win9x.
-***#
-
-***#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.
-
-!Software installation
-
-
-Under Windows you have to install:
-
-
-
-
-
-***#Card driver
-***#
-
-***#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:
-
-
-
-
-
-***#enter an asterisk, then type an IP number (with asterisks in place of dot)
-with a # in the end
-***#
-
-***#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.
-***#
-
-***#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:
-
-
-
-
-
-***#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.
-***#
-
-***#Application
-openphone or
-ohphone.
-***#
-
-***#If you are a developer you can use
-SDK to create your own application (also
-for Windows).
-***#
-
-
-!Settings
-
-
-With Internet Switchboard (and with other application) you can:
-
-
-
-
-
-***#Change compression algorithm preferred
-***#
-
-***#Tune jitter delay
-***#
-
-***#Adjust volume
-***#
-
-***#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
-
-
-
-
-
-
-***#First download software
-here
-***#
-
-***#Untar it
-***#
-
-***#Modify 'src/vpbreglinux.cpp' according to file README
-***#
-
-***#type 'make'
-***#
-
-***#type 'make install'
-***#
-
-***#cd to src
-***#
-
-***#type 'insmod vpb.o'
-***#
-
-***#retrieve (from console of from 'dmesg' output command) major number, say
-MAJOR
-***#
-
-***#type 'mknod /dev/vpb0 c MAJOR ' where MAJOR is the above number
-***#
-
-***#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 (Win9x+Sound card) - - - B (Win9x+Sound card)
-192.168.1.1 - - - 192.168.1.2
-192.168.1.1 calls 192.168.1.2.
-
-
-
-A and B should:
-
-
-
-
-
-***#have Microsoft Netmeeting (or other software) installed and properly configured.
-***#
-
-***#have 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 Netmeeting active)
-using B IP address. Then B can answer to it if it wants. After accepting call,
-VoIP data packets start to pass.
-
-!!7.2 Using names
-
-
-
-If you use Microsoft Windows in a lan you can call the other side using
-NetBIOS name. NetBIOS is a protocol that can work (stand over) with NetBEUI
-low level protocol and also with TCP/IP. It is only need to call the "computer
-name" on the other side to make a connection.
-
-
-
-
-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 .
-
-!!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 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.5 Using Linux
-
-
-
-With Linux (as an h323 terminal) you can experiment everything done before.
-
-!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 Setting up a gatekeeper
-
-
-
-You can also experiment gatekeeper feature
-
-
-
-
-Example
-(Terminal H323) A - - -
-\
-(Terminal H323) B - - - D (Gatekeeper)
-/
-(Terminal H323) C - - -
-Gatekeeper configuration
-
-
-
-
-
-
-***#Hosts A,B and C have gatekeeper setting to point to D.
-***#
-
-***#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.
-***#
-
-***#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.7 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:
-
-
-
-
-
-***#driver for Linejack
-***#
-
-***#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.8 Compatibility Matrix
-
-
-
-First Matrix refers to:
-
-
-
-
-
-***#Software intercommunications (i.e. Netmeeting with !SwitchBoard)
-***#
-
-***#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. 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.
-----
-
-!!9. Glossary
-
-
-PSTN: Public Switched Telephone Network
-
-
-VoIP: Voice over Internet Protocol
-
-
-LAN: Local Area Network
-
-
-WAN: Wide Area Network
-
-
-TOS: Type Of Service
-
-
-ISP: Internet Service Provider
-
-
-RTP: Real Time Protocol
-
-
-RSVP: !ReSerVation Protocol
-
-
-QoS: Quality of Service
-----
-
-!!10. Useful links
-
-!!10.1 Open software link
-
-
-
-
-
-
-****
-Voxilla
-****
-
-****
-Linux Telephony
-****
-
-****
-Open H323 web site
-****
-
-****
-http://www.gnomemeeting.org/
-****
-
-****
-Speak Freely
-****
-
-****
-http://www.linphone.org
-****
-
-****
-http://osip.atosc.org
-****
-
-****
-http://www.gnu.org/software/bayonne
-****
-
-
-!!10.2 Commercial link
-
-
-
-
-
-
-****
-Fatamorgana Computers
-****
-
-****
-International Communication Union
-****
-
-****
-Voicetronix web site
-www.voicetronix.com.au
-****
-
-****
-Quicknet Web site
-www.quicknet.net
-****
-
-****
-Cisco Systems
-****
-
-****
-www.metropark.com
-****
-
-****
-www.nbxsoftware.com
-****
-
-
-
-
-
-
-
-----
-
-
-!!Also of possible interest
-
-* http://www.digium.com - This crowd produce a PCI PSTN gateway card, no idea at this point as to wether it works in New Zealand. Of more interest however is their PBX gateway software below
-* http://www.asterisk.org - This is an Opensource PBX gateway that supports VoIP <-> PSTN mappings as well as SIP, H.323 and a rather large number of codecs.
-* http://www.pingtel.com - A VoIP handset phone
-* http://www.snom.com - Another VoIP handset, this site is great tho, lots of VoIP resources. AND their phones use linux as the base OS !
-* http://www.sipcenter
.com/ - Everything you didn't want to know about SIP (Session Initiation Protocol)
-
-From the looks of things, the Quicknet LineJACK cards also work in New Zealand - they are currently being deployed by a crowd in christchurch, Telepermiting of these cards is unknown at this stage (waiting for a reply from the telepermit guys)
+Describe
[HowToVoIPHOWTO
] here.