下一页 上一页 目录

7. 设置

在本章中,我们尝试设置 VoIP 系统,首先从简单的开始,然后逐渐变得更复杂。

7.1 简单通信:IP 到 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 和 B 应该具备

  1. 类似 Microsoft Netmeeting、Internet Switchboard、Openh323(在 Windows 环境下)或 Ohphone、Gnomemeeting(在 Linux 下)的应用程序,并已正确安装和配置。
  2. 网卡或其他类型的 TCP/IP 接口,以便互相通信。

在这种情况下,A 可以使用 B 的 IP 地址向 B 发起 H323 呼叫(如果 B 启用了服务器端应用程序)。然后,B 可以根据需要接听呼叫。接受呼叫后,VoIP 数据包开始流动。

7.2 使用名称

在 Microsoft Windows 下,可以使用 NetBIOS 名称代替 IP 地址。

          A            -  -  -             B 
 
     192.168.1.1       -  -  -        192.168.1.2
   
        John           -  -  -           Alice

             
                    John calls Alice.

这是可能的,因为 John 对 Alice 的呼叫请求通过 NetBIOS 协议转换为 IP 呼叫。

以上两个示例非常容易实现,但缺乏可扩展性。

在更宏大的视角下,例如互联网,不可能使用直接呼叫,因为通常呼叫者不知道目标 IP 地址。此外,NetBIOS 命名功能也无法工作,因为它使用广播消息,而广播消息通常无法通过 ISP 路由器。

您也可以使用 DNS 将名称解析为 IP 地址:例如,您可以呼叫 ''box.domain.com''。

7.3 使用 WINS 服务器进行互联网呼叫

NetBIOS 名称呼叫的想法也可以在互联网环境中使用 WINS 服务器来实现:NetBIOS 客户端可以配置为使用 WINS 服务器来解析名称。

使用相同 WINS 服务器的 PC 将能够彼此之间进行直接呼叫。

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 和 D 位于不同的子网中,但他们可以以 NetBIOS 名称呼叫的方式互相呼叫。 需要的是所有人都使用 S 作为 WINS 服务器。

注意:WINS 服务器的性能不是很高,因为它使用 NetBIOS 功能,并且应仅用于连接少量子网。

7.4 ILS 服务器

ILS 是一种服务器,允许您在 H323 呼叫期间解析您的名称:当您启动 VoIP 应用程序时,您首先使用一个名称注册到 ILS 服务器,然后每个人都将能够使用该名称看到您(如果他使用相同的 ILS 服务器!)。

7.5 一个大问题:地址伪装。

少量 IP 地址的问题通常通过所谓的地址伪装(也称为 NAT,网络地址转换)来解决:只有一个公共 IP 地址(互联网可以直接“看到”),其他机器都使用这个 IP 进行“地址伪装”。

        
           A  - - -

           B  - - -   Router with NAT  - - -  Internet

           C  - - -
     
                     
                       This doesn't work

在示例中,A、B 和 C 可以与互联网用户进行浏览、ping、使用邮件和新闻服务,但他们无法进行 VoIP 呼叫。 这是因为 H323 协议在应用层发送 IP 地址,因此响应永远不会到达源地址(即使用私有 IP 地址的地址)。

解决方案

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

           C  - - -  ip_masq_h323 module
 
 
                         This works

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

           C  - - -  
 
 
                         This works

7.6 开源应用程序

Ohphone 语法

语法是

"ohphone -l|--listen [选项]"

"ohphone [选项]... 地址"

此外,当您启动 ohphone 时,您可以直接向解释器发出命令(例如减少 AEC,自动回声消除)。

Gnomemeeting

Gnomemeeting 是一个使用 GUI 界面进行 VoIP 呼叫的应用程序。 它非常易于使用,并允许您使用 ILS 服务器、聊天和其他功能。

7.7 设置网守

您也可以尝试网守功能

Example
  
        (Terminal H323) A  - - -    
                                 \
        (Terminal H323) B  - -  - D (Gatekeeper)
                                 /
        (Terminal H323) C  - - -  
               
                   Gatekeeper configuration

  1. 主机 A、B 和 C 的网守设置都指向 D。
  2. 在启动时,每个主机都会告诉 D 自己的地址和名称(以及别名),呼叫者可以使用这些信息来联系它。
  3. 当终端向 D 请求主机时,D 会回复正确的 IP 地址,从而可以建立通信。

我们必须注意到,网守只能将名称解析为 IP 地址,它无法连接彼此不可达的主机(在 IP 层面上),换句话说,它不能充当 NAT 路由器。

您可以在此处找到网守代码:还需要 openh323 库

程序只需要使用 -d(作为守护进程)或 -x(执行)参数启动。

此外,您可以使用配置文件 (.ini),您可以在此处找到它。

7.8 设置网关

正如我们所说,网关是一个可以将 VoIP 连接到 PSTN 线路的实体,从而允许我们从互联网呼叫传统电话。 因此,此外,我们需要一块可以管理 PSTN 线路的卡:Quicknet LineJack 可以做到这一点。

OpenH323 网站,我们下载

  1. Linejack 驱动程序
  2. PSTNGw 应用程序来创建我们的网关。

如果可执行文件不起作用,您需要下载源代码和 openh323 库,然后将所有内容安装在用户主目录中。

之后,您只需要启动 PSTNGw 即可启动您的 H323 网关。

7.9 兼容性矩阵

第一个矩阵指的是

  1. 软件互通(例如 Netmeeting 与 SwitchBoard)
  2. 软件/驱动程序/硬件通信(例如 Netmeeting 可以使用 PhoneJACK 卡)。

 _____________________________________________________________________________________________________________________
|            | 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            _            _
|____________|____________|____________|____________|____________|_____________|____________|____________|____________|
 

第二个矩阵指的是管理 LineJACK 卡的网关软件。

 ___________________________________________________________
|              |HW LineJACK GW| SwitchBoard  |    PSTNGW    |
|______________|______________|______________|______________|
|HW LineJACK GW|      _       |      V       |       V      |
|______________|______________|______________|______________|
| SwitchBoard  |      V       |      _       |       _      |
|______________|______________|______________|______________|
|    PSTNGW    |      V       |      _       |       _      |  
|______________|______________|______________|______________|

符号


下一页 上一页 目录