到目前该工作还没有进展。源于 OpenBTS 用户注册表的依存关联性,如果该文件不存在便会导致故障。该问题的解决估计可通过网络配置文件。

在 Range 内部,运行 BTS 多站网络是日常的工作,一个 2-BTS 网络环境是移动及手持设备的标准的开发环境。这是公共开发版的缺陷。这将在后面讨论。

BTS 多站网络

随着构建网络技能的成熟,连接多个并发 OpenBTS 便会成为需求之一。这实现起来不是很难。简而言之,每个 OpenBTS 节点运行在独立的机器上,然后同处于中心机器的 SIP 鉴权服务器、PBX 及 Smqueue 短息服务器相联系(这些不不必处于同一机器上)。下面文档将阐述该构建的必须的配置。

初始化 - Initial Requirements

首先,前面的初级安装不支持安全、网络化的 VoIP 通信。因此需要进一步安装 Asterisk Real-TimeFreeSWITCH

其次,应当将每个配置文件(诸如:OpenBTS.db)迁移到运行该服务的机器上。请注意从现在便有多个不同的 OpenBTS.db 文件,每个 BTS 各有一个。另外,所有的服务(除 PBX)的配置文件理应处于 /etc/OpenBTS 下。

系统原理图 - System Diagram

配置 - Configuration

需要将缺省的配置数据库指向运行该服务的机器。如下列:

  • PBX (Asterisk)- 192.168.1.0:5060
  • smqueue - 192.168.1.0:5063
  • sipauthserve - 192.168.1.0: 5064
  • OpenBTS (1st BTS) - 192.168.1.1:5062
  • OpenBTS (2nd BTS) -192.168.1.2:5062

PBX

Asterisk

幸运的是 Asterisk 在此无需被重新配置,如若需要经过网络读取用户注册表的话,情况便不是这样了。

FreeSWITCH

安装 FreeSwitch 须知悉 smqueue 的位置以便转发 SIP 信息。要做到这点,需更改 (FS ROOT)/conf/vars.xml 到 smqueue 的网络位置如下:

<X-PRE-PROCESS cmd="set" data="smqueue_port=5063"/>
<X-PRE-PROCESS cmd="set" data="smqueue_host=192.168.1.0"/>

smqueue

/etc/OpenBTS/smqueue.db 有多项参数需配置指向各个服务所处的网络位置

  • Asterisk.address -> 192.168.1.0  PBX 的网络位置
  • SIP.myIP2 -> 192.168.1.0 Smqueue 的外部相向的 IP 的位置
  • SIP.Proxy.Registration -> 192.168.1.0:5064 sipauthserve 的网络位置

sipauthserve

庆幸的是, SIP 鉴权服务器(sipauthserve)是被动服务。所以它无需知道其它服务所处的位置。

OpenBTS

运行一个并发多站的 BTS 不是一件容易的事情。每个 BTS 不仅需要被配置地知悉各个网络服务的位置,而且还需被配置不能干扰附近的 BTS 服务。

网络配置

安装每个 OpenBTS 都需(在 /etc/OpenBTS/OpenBTS.db 处) 配置 smqueue、sipauthserve、及 PBX 服务。这些工作可以通过 sqlite3 客户端或者 OpenBTS 命令行command-line interface)来完成。

  • SIP.Local.IP -> 192.168.1.1 (or .2)  - OpenBTS 被安装的 IP 位置
  • SIP.Proxy.Registration -> 192.168.1.0:5064 - sipauthserve 的 IP/Port
  • SIP.Proxy.SMS -> 192.168.1.0:5063  - smqueue (或 FreeSWITCH) 的 IP/Port
  • SIP.Proxy.Speech -> 192.168.1.0:5060 - PBX 的 IP/Port

BTS 配置

源于需要将两种以上的 BTS 配置都放置到网络上。首先确保下面这些参数对所有的 BTS 必须相同:


  • GSM.Identity.MCC - 移动国家码
  • GSM.Identity.MNC - 移动网络码
  • GSM.Identity.BSIC.NCC - 移动网络色码必须相对其它网络具有唯一性。
  • GSM.CellSelection.NCCsPermitted - BTS 允许的网络色码应当包含上面。

下面这些参数却不能相同。

  • GSM.CellSelection.BSIC.BCC - BTS 色码。 必须相对其它 BTS 具有唯一性。
  • GSM.Identity.LAC - 位置码。必须相对其它 BTS 具有唯一性。
  • GSM.Identity.CID - 蜂窝码。 必须相对其它 BTS 具有唯一性。

诊断 - Debugging

出错是肯定的。对于网络配置,请使用工具诸如 [ wireshark] 来跟踪






注:multiBTS(原文出处,翻译整理仅供参考!)