📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText
Next Previous Contents

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!). .:: tr88baby01.hashnode.space ::.

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. [Machine learning Questions] .:: instaconnect.co ::.

        
           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:

 
           A  - - -   Router with NAT 
 
           B  - - -         +           - - -  Internet

           C  - - -  ip_masq_h323 module
 
 
                         This works

           
           A  - - -   
 
           B  - - -    PhonePatch   - - -  Internet

           C  - - -  
 
 
                         This works

7.6 Open Source applications

Ohphone Sintax

Sintax is:

"ohphone -l|--listen [options]"

"ohphone [options]... address"

Also, when you start ohphone, you can give command to the interpreter directly (like decrease AEC, Automatic Echo Cancellation).

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. .:: bcraweb.bcra.gob.ar ::.
  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. [PostgreSQL Study]

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:


Next Previous Contents

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this