|
目录
第一章 序论……………………………………………………………4
1- 1 研究动机…………………………………………………………..4
1- 2 专题目标…………………………………………………………..5
1- 3 开发环境与设备…………………………………………………..6
第二章 SIP 与 VOCAL System……………….……………………….7
2- 1 SIP…………..……………………………………………………..7
2-1.1 SIP 是什么?……………………………………………..7
2-1.2 SIP 的架构………………………………………………..7
2-1.3 SIP 的优点………………………………………………..8
2-1.4 SIP 发展现况……………………………………………..9
2- 2 VOCAL System…..………………………………………………10
2-2.1 VOCAL是什么?…………………………………………10
2-2.2 VOCAL 软件架构…………………………………………10
第三章 硬件环境……………………………………………………..12
3- 1 PC…………………………………………………………………12
3- 2 PDA………………………………………………….…………….13
第四章 软件环境……………………………………………….…….14
4- 1 系统………………………………….…………………………...14
4.1-1 PC Windows…………………………….………………...14
4.1-2 PC Linux………………………….………………………14
4.1-3 PDA Linux……………………………….……………….15
4- 2 开发工具………………………………….……………………..17
4.2-1 Cross Compiler……………………………………….…..17
4.2-2 QT / Embedded…………………………………….…….18
4.2-3 TCL / TK / Expect……………………………….……….19
第五章 实作部分………………………………………………...…...21
5-1 架设 SIP server………………………………………………...….21
5-2 编译 UA…………..……………………………………………….23
5.2-1 PC Windows UA…………………………..………….…..23
5.2-2 PC Linux UA………………………….…………………..23
5.2-3 PDA Linux UA……………………………………………23
5-3 操作 VOCAL Server 与 UA ……………………………...……..25
5-4 为 UA 加上图形接口与照片显示功能……………………….…27
第六章 心得…………………………………………………………..29
参考数据………………………………………………………………..31
第一章 序论
1- 1 研究动机
在现代的社会中,人们对通讯的需求永无止境,许多人手机账单动辄上万,实在是一笔不小的负担,而长途电话的高费率,更是令人烦恼。另一方面,计算机网络迅速普及,加上 IPv6 的发展,未来 All IP 的世界已经可以预见。也因为如此,结合计算机网络与语音通讯的 VoIP 是目前大家相当有兴趣的一个研究领域,而 SIP (Session initiation protocol)正是这个领域中很有潜力的一个通讯协议。而这个专题,正是希望藉由亲手安装一套 SIP 语音通讯软件,阅读相关文件,并尝试为它增加新的功能,来了解 SIP。
1- 2 专题目标
我将架设一套 VOCAL 系统的 SIP server,并且分别在 PC Windows、PC Linux、PDA Linux 三种不同的平台下 compile 并安装它的 Client。另外为这个 Client 建立 GUI 接口,并且加上照片显示的功能。
1- 3 开发环境与设备
PC x 2
iPAQ 3630 PDA
iPAQ 传输底座(Serial x 1,USB x 1)
iPAQ CF 背夹
Symbol Spectrum24 CF wireless card
第二章 SIP 与 VOCAL System
2- 1 SIP
2-1.1 SIP 是什么?
SIP 为 Session Initiation Protocol 的缩写。它是一种“应用层”的通讯协议,用于“建立”“变更”“结束”多媒体通讯交谈与对话,并不负责实际上的语音传输。由于它是以类似 HTTP 的纯文字沟通,所以架构比较简单,是目前较流行的 VoIP 通讯协议。
2-1.2 SIP 的架构
SIP 主要由三个元建构成:
1. User Agent:也就是 Client 端,负责发出 SIP 要求,并且拥有唯一的 SIP 号码。
2. Registry Server:负责纪录各个 SIP 号码及其对应的 IP 位置。
3. Proxy Server:负责接受 UA 的要求,并向 Registry Server索取所需要的数据,在回传给 UA。
当一个 UA 起始时,它必须先向 Registry Server 注册它的 IP 与 SIP number,这个 SIP number 使用 URI 的形式方便记忆,如此一来打电话的人只需要知道对方的 URI 号码即可,而不需要知道对方的 IP,因为 IP 可能会变动,但是 SIP number 则不会变。
当要进行对话时,呼叫端 UA 向 Proxy Server 发出 INVITE 的要求,Proxy Server 向 Register Server 查询得知对方的 IP 后,便将此要求 forward 给对方,对方收到后,便响应一个 OK 给 Proxy Server,Proxy Server 在将这个 OK forward 给呼叫端,呼叫端再响应一个 ACK 给对方,此时两边的联机就已经建立起来了,media stream 可以直接以 IP 作传输。
2-1.3 SIP 的优点
SIP 主要有三个优点:
1. 创新
SIP 不同于 H.323,它使用了 text-base 的沟通方式,使开发只更容易了解,并且可以在同一个联机中传递多样化的信息。另外它建立于应用层中,使得许多现有的应用软件可以在不作太大修改的状况下套用 SIP。
2. 可延展性
SIP 只有在起始通讯连结时需要呼叫 Server 端,在连结建立以后,则是 peer-to-peer 的传输,如此一来大大的减低中央主机的负荷,达到降低成本的目的。另外 SIP 也是一个简单与高效率的通讯协议,它总共只有 5 个呼叫和 8 个响应,在建立连结方面,SIP 更比 H.323 少掉了 50% 的讯息传递。
3. 容易开发
SIP 使用标准 URI 做位置,采用 text-base 的讯息传输,建立与 application level,以及简单的错误讯息,都显示出其易于开发的特性,使得许多的厂商与学术单位投入研发,数据取得也相当容易。
2-1.4 SIP 的发展
SIP 简单极容易开发的特性,使得众多厂商投入研发,包括微软、CISCO 等,都有软硬件产品问世,将来除了语音的通话外,更可以结合影像、图形、数据的传递。再配合计算机无线网络与 All IP 的发展,人们将可以以一个 SIP 号码走遍天下,完全达到通讯行动化的目的。
2- 2 VOCAL System
2-2.1 VOCAL 是什么?
VOCAL 是 Vovida Open Communication Application Library 的缩写,它是由 Vovida.ORG 组织所开发的一套 open source 软件,主要着力于使 VoIP 的产品更容易市场化。VOCAL 提供社群软件何工具来建立已经存在的或是新的 VoIP 应用软件及服务。VOCAL System 包括 SIP based Redirect Server、Feature Server、Provisioning Server 、Marshal Proxy 等部分。
2-2.2 VOCAL 软件架构
VOCAL 包含了 SIP 部分以及语音通讯的部分,还有一个用来管理系统的 Provisioning Server,下页的图就是整个 VOCAL System 的架构:
VOCAL System:VOCAL 是一个 IP base 的 call phone system,使用了多种痛训协议,包括现在热门的 SIP。
GUI:VOCAL 包含了一个 Web base 接口的管理系统,以及一个 JAVA 的 client 接口。
IP Phone:VOCAL system 中最重要的就是一个语音通讯软件,它跟 SIP 的 User Agent 结合在一起,User 透过 UA 就可以透过 IP 网络拨接电话。
Marshal Server:对应到 SIP 的 Register Server。
Feature Server:对应到 SIP 的 Proxy Server。
Provisioning Server:用来管理整个 VOCAL System 的 Service 以及使用者的注册事宜。
第三章 硬件环境
3- 1 PC
这个专题是要尝试在各个不同平台上建构 VOCAL 通讯系统,所以我准备了三台一般的 PC 来安装不同的操作系统:
PC 1:
这台计算机主要用来编译测试 Windows 版的 VOCAL UA,并且以远程登入操作另外两台(Linux)与 PDA(Linux)。另外要将 Linux 系统安装于 PDA 上也要靠这台计算机。
接上 iPAQ serial 底座与 iPAQ USB 底座。
PC 2:
这台计算机主要拿来编译测试 Linux 版的 VOCAL UA,另外撰写与编译 Linux 版软件与 PDA 版软件也使用这台。
PC 3:
这台计算机拿来安装 VOCAL Server。
3- 2 PDA
为了展示 SIP 于行动设备上的通化能力,我准备了一台 iPAQ 3630 PDA,并将 VOCAL UA 移植到上面。
IPAQ 3630 PDA 的规格如下:
Intel Strong ARM CPU ( 206Mhz )< |