VOIP实验.docx
- 文档编号:14554344
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:19
- 大小:1.11MB
VOIP实验.docx
《VOIP实验.docx》由会员分享,可在线阅读,更多相关《VOIP实验.docx(19页珍藏版)》请在冰点文库上搜索。
VOIP实验
课程名称:
计算机网络实验
实验名称:
VOIP实验
组号:
密码:
姓名:
学号:
日期:
2015年12月21日
1VOIP简介
VOIP(VoiceoverInternetProtocol)简而言之就是将模拟信号(Voice)数字化,以数据封包(DataPacket)的形式在IP网络(IPNetwork)上做实时传递。
VOIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。
VOIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息业务、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电话视频会议、电子商务、传真存储转发和各种信息的存储转发等。
图1-1分发模型
1.1VOIP原理
VOIP的基本原理是通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按TCP/IP标准进行打包,经过IP网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。
IP电话的核心与关键设备是IP网关,它把各地区电话区号映射为相应的地区网关IP地址。
这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、路由管理等功能。
在用户拨打长途电话时,网关根据电话区号数据库资料,确定相应网关的IP地址,并将此IP地址加入IP数据包中,同时选择最佳路由,以减少传输延时,IP数据包经Internet到达目的地的网关。
在一些Internet尚未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关通过长途电话网转接,实现通信业务。
VOIP(VoiceoverInternetProtocol)是一种以IP电话为主,并推出相应的增值业务的技术。
VOIP相对比较便宜。
为什么?
VOIP电话不过是互联网上的一种应用。
网络电话不受管制。
因此,从本质上说,VOIP电话与电子邮件,即时讯息或者网页没有什么不同,它们均能在经过了互联网连接的机器间进行传输。
这些机器可以是电脑,或者无线设备,比如手机或者掌上设备等等。
为什么VOIP服务有些要收钱,有些却免费?
VOIP服务不仅能够沟通VOIP用户,而且也可以和电话用户通话,比如使用传统固话网络以及无线手机网络的用户。
对这部分通话,VOIP服务商必须要给固话网络运营商以及无线通讯运营商支付通话费用。
这部分的收费就会转到VOIP用户头上。
网上的VOIP用户之间的通话可以是免费的。
使用VOIP,你需要做些什么?
你需要有互联网连接。
这可以是最基本的拨号上网服务,或者更理想的宽带服务,你的网络连接速度越快,VOIP的通话质量就越好。
例如,高速宽带连接能够令你一面打电话,一面上网冲浪。
你还需要VOIP软件。
用户可以选择一种VOIP软件安装至台式电脑或笔记本电脑上。
然后,电脑就可以进行网上通话了。
如果用户想要将自己的家庭电话转化为VOIP拨号系统,他需要适配器的帮助。
VOIP软件可以单独预装在一种名为“模拟电话适配器”(analogtelephoneadapter)的硬件设备中,模拟电话适配器主要安装于家庭电话与宽带调制解调器之间。
图1-2ip电话的四种形式
2009年的中国VOIP市场流量已到9950亿多分钟,而具有更强大实力的新VOIP服务供应商也会涌入市场。
无线VOIP在不久的将来会与传统无线通信实现并存和竞争的关系,而不是对传统无线通信的一种廉价替代物。
1.2VOIP关键技术
信令技术:
主要包括ITU-TH.323、IETF会话初始化协议SIP、MGCP和H.248(MeGaCo)。
媒体编码技术:
主要包括的G.711、G.723.1和G.729等多媒体压缩编码技术。
媒体实时传输技术:
主要采用实时传输协议RTP。
业务质量保障技术:
采用资源预留协议RSVP等。
网络传输技术:
主要是TCP和UDP。
在实验中主要运用到SIP协议,下面将详细介绍一下SIP(SessionInitiationProtocol)协议。
2SIP协议
2.1sip协议简介
SIP是一种在IP网络上进行多媒体通信的简便通用的信令协议,类似于HTTP的基于文本的协议。
SIP可以减少应用特别是高级应用的开发时间。
由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义。
SIP(SessionInitiationProtocol)是一个应用层的信令控制协议。
用于创建、修改和释放一个或多个参与者的会话。
这些会话可以是Internet多媒体会议[1]、IP电话或多媒体分发。
会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
SIP与负责语音质量的资源预留协议(RSVP)互操作。
它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS)以及负责实时传输的RTP等多个协议。
SIP的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。
有了这种灵活性,也就意味着SIP可以用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和Web会议。
SIP消息是基于文本的,因而易于读取和调试。
新服务的编程更加简单,对于设计人员而言更加直观。
SIP如同电子邮件客户机一样重用MIME类型描述,因此与会话相关的应用程序可以自动启动。
SIP重用几个现有的比较成熟的Internet服务和协议,如DNS、RTP、RSVP等。
不必再引入新服务对SIP基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。
对SIP的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。
网络中基于SIP的旧设备不会妨碍基于SIP的新服务。
例如,如果旧SIP实施不支持新的SIP应用所用的方法/标头,则会将其忽略。
SIP独立于传输层。
因此,底层传输可以是采用ATM的IP。
SIP使用用户数据报协议(UDP)以及传输控制协议(TCP),将独立于底层基础设施的用户灵活地连接起来。
SIP支持多设备功能调整和协商。
如果服务或会话启动了视频和语音,则仍然可以将语音传输到不支持视频的设备,也可以使用其他设备功能,如单向视频流传输功能。
通信提供商及其合作伙伴和用户越来越渴求新一代基于IP的服务。
如今有了SIP(SessionInitiationProtocol会话启动协议),一解燃眉之急。
SIP是不到十年前在计算机科学实验室诞生的一个想法。
它是第一个适合各种媒体内容而实现多用户会话的协议,如今已成了Internet工程任务组(IETF)的规范。
图2-1各协议示意图
RTP协议通常运行在UDP层之上,二者共同完成运输层的功能。
UDP提供复用及校验和服务,也就是通过分配不同的端口号传送多个RTP流。
协议规定,RTP流使用偶数(2n)端口号,相应的RTCP流使用相邻的奇数(2n+1)端口号。
因此,应用进程应在一对端口上接收RTP数据和RTCP控制数据,同时向另一对端口上接收RTP数据和RTCP控制数据。
RTP协议用以传送实时数据,可以用来传送声音和活动图像数据。
RTP分组由RTP头部和净荷数据组成;RTP分组由UDP包来进行传输,通常一个UDP包仅含一个RTP分组,若采用一定的封装方法,也可以包含多个RTP分组;其中的RTP净荷就是RTP传送的语音数据。
RTP分组Header的格式如下:
图2-2RTP分组Header的格式
RTP分组头部的各字段含义为:
(1)V:
RTP版本号。
为“10”。
(2)P:
填充指示位。
P为“1”时表示分组结尾含有1个或多个填充字节,其中这部分不属于有效载荷。
(3)X:
扩展指示位。
X为“1”时,则表示固定头部后还有一个扩展头部,这种情况较复杂,很少使用。
(4)CC:
CSRC计数。
指示固定头部后的CSRC的个数
(5)M:
由应用文档解释,通常不用。
(6)PT:
净荷类型。
表示RTP分组的净荷类型。
我们常用的有:
“0”:
G.711μ
“8”:
G.711A
“4”:
G.723.1
“18”:
G.729
(7)序号:
序号顾名思义就是表示RTP分组的次序。
初值为随机数,每发送一个增加1。
可供接收方检测分组丢失和恢复分组次序。
(8)时戳:
表示RTP分组第一个字节的取样时刻。
其初值为随机数,每个采用周期加1。
如果每次传送20ms的数据,由于音频的采样频率为8000Hz,即每20ms有160次采样,则每传送20ms的数据,时戳增加160。
(9)SSRC:
同步源标识(SynchronousSource)。
表示信号的同步源,其值应随机选择,以保证同一个RTP会话中任意两个同步源的SSRC标识不同。
(10)CSRC:
分信源(贡献源)标识(ContributingSource)。
识别该数据包中的有效载荷的贡献源。
换句话说,CSRC标识由混合器插入,其值就是组成复合信号的各个分信号的SSRC标识,用以标识各个组成分信号的信源。
RTP分组的头部最多可以包含15个CSRC标识,其数目由CC字段指明。
RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议上工作。
当应用程序开始一个RTP会话时将使用两个端口:
一个给RTP,一个给RTCP。
RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
RTCP和RTP一起提供流量控制和拥塞控制服务。
RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
RTSP多用于做视频服务器而SIP多用于做VOIP的服务器。
RTSP在体系结构上位于RTP和RTCP之上。
它使用TCP或RTP完成数据传输。
HTTP与RTSP相比。
HTTP传送HTML。
而RTP传送是多媒体数据。
H.261是1990年ITU-T制定的一个视频编码标准,属于视频编解码器。
SDP文本信息包括:
会话名称和意图;会话持续时间;构成会话的媒体;有关接收媒体的信息(地址等)。
点对点协议(PointtoPointProtocol)的缩写为PPP,是TCP/IP网络协议包的一个成员。
PPP是TCP/IP的扩展,它增加了两个额外的功能组:
(1)它可以通过串行接口传输TCP/IP包;
(2)它可以安全登录。
当使用作为公共电话系统的部分的串行接口时,必须要注意确保所有通信的真实性。
这个终端PPP集合了用户名字和密码安全。
因此,一个路由器或者服务器通过PPP接收到一个请求时,如果这个请求的来源是不安全的,这就需要授权。
这个授权是PPP的一部分。
因为它的通过串行接口路由TCP/IP包的能力和它的授权能力,ISP(Internet服务提供商)通常使用PPP来允许拨号用户连接到Internet。
AAL(ATMAdaptationLayer,ATM适配层):
标准协议的一个集合,用于适配用户业务。
AAL分为会聚子层(CS)和拆装子层(SCR)。
AAL有4种协议类型:
AAL1、AAL2、AAL3/AAL4和AAL5分别支持各种AAL业务类型。
AAL的目的是允许现有的协议和应用运行在ATM上。
为此AAL必须把上层的数据转换为ATM信元中的48B。
常见的通信协议(TCP/IP、以太网、令牌环网)采用的是变长分组,分组长度都要比ATM信元中的数据段大,但是AAL可以将这些较大的高层数据分组分割成能通过ATM网络传输的信元,或把从网络接收的信元重组成原始的数据分组。
AAL由两个子层组成,一个称为会聚子层(CS),另一个称为分段和重组子层(SAR)。
CS子层首先对高层数据进行分段并封装在CS-PDU(汇聚子层协议数据单元)中。
然后,SAR子层将CS-PDU分割成若干个相同大小(不大于48B)的数据段,使它能够封装在信元中。
2.2SIP网络类型
图2-3sip网络类型
2.3SIP代理服务器
图2-4sip代理服务器
3PJSIP(开源的SIP协议栈)介绍
PJSIP是一个开源的SIP协议库,它实现了SIP、SDP、RTP、STUN、TURN和ICE。
PJSIP作为基于SIP的一个多媒体通信框架提供了非常清晰的API,以及NAT穿越的功能。
PJSIP具有非常好的移植性,几乎支持现今所有系统:
从桌面系统、嵌入式系统到智能手机。
PJSIP同时支持语音、视频、状态呈现和即时通讯。
PJSIP具有非常完善的文档,对开发者非常友好。
PJSIP由BennyPrijono、PerryIsmangil在2005年创建,之后不久,NanangIzzuddin、SauwMing加入开发团队。
2006年成立TeluuLtd.,成为开发和维护PJSIP的公司。
PJSIP采用双License:
GPLv2以及商业许可证,开发者可以根据需要选择不同的License。
图3-1PJSIP简介
4实验步骤
4.1实验前准备工作
(1)操作系统:
Windows7专业版
(2)下载并安装DirectXSDK
(3)下载并安转MicrosoftVisualStudio环境(本组采用的是MicrosoftVisualStudio2008)
(4)去下载压缩文件“pjproject-1.12.zip”并解压
(5)在\pjproject-1.12\pjlib\include\pj下建立config_site.h文件(空文件)
(6)将\MicrosoftDirectX9.0SDK\Lib\x86的lib库复制到\pjproject-1.12\lib文件夹下
(7)将pjproject-1.12文件夹下的lib文件复制到pjproject-1.12\lib的文件夹下,方便使用
4.2编译
(1)打开vs,打开项目pjproject-1.12文件夹下的pjproject-vs8.sln
(2)在解决资源管理器中,将pjsua设为启动项目
(3)设置为平台的Win32,如下图4-1所示:
图4-1设置WIN32平台
(4)在工具->选项->项目和解决方案->vc++目录将用到的一些包含文件,库文件加到目标路径下,如下图4-2所示:
图4-2文件包含
(5)点击VS中debug或release即可完成编译过程。
4.3使用IVR
4.3.1启动SIP客户端
双击pjsua-i386-Win32-vc8-Debug.exe启动sip客户端程序。
如下图4-3所示:
图4-3启动程序
4.3.2呼叫IVR
按照提示输入开始呼叫IVR,输入m开始呼叫,然后输入IVR的SIP地址sip:
,即可建立连接,连接成功后会有语音提示。
如下图4-4所示:
图4-4建立连接
连接成功,如下图4-5所示:
:
图4-5建立连接成功
4.3.3注册
首先根据语音提示进行注册,注册步骤如下:
输入*
输入1,语音提示输入学号,如下图4-6所示:
图4-6选择注册
输入*(嘀声后再输入)
输入学号#,如下图4-7所示:
输入完成后IVR提示我的组号为3241,然后提示输入密码
输入*
输入123#,如下图4-8所示:
图4-8输入密码
最后IVR提示注册成功,挂机。
4.3.4登录
重新拨通IVR后根据语音提示选择2进行登录,IVR会提示在嘀声后输入“组号”,输入注册是获得的组号,然后IVR会提示嘀声后输入“密码”。
具体如下:
输入*
输入2,语音提示输入组号(嘀声后输入),如下图4-9所示:
图4-9选择登录
输入*
输入3421#,语音提示输入密码,如下图4-10所示:
图4-10输入组号
输入*
输入123#,如下图4-11所示:
图4-11输入密码
语音提示登录成功,如下图4-12所示:
图4-12登录成功提示
完成登录后可以进行以下操作:
1录音及回放;2回放录音;3查询本组同学的学号
4.3.5录音及回放
登录成功后根据语音提示选择1录音及回放,嘀声提示后输入*开始录音,录音结束后输入#结束,IVR会自动回放你的录音。
如下图4-13所示:
图4-13录音及回放
4.3.6回放录音
如果想重听刚才的录音,可以在登陆成功后根据语音提示输入*,再输入2重听。
如下图4-14所示:
图4-14回放录音
4.3.7查询本组同学的学号
登陆后根据语音提示输入*,再输入3查询本组同学的学号可以查询在本组注册的同学的学号。
如下图4-15所示:
图4-15查询本组同学学号
5实验总结
通过本次实验,让我对VIOIP,SIP的知识有了更进一步的了解,同时也深入接触了开源软件pjsip,以前自己从来没有接触这些方面的知识,在刚开始做这个实验的时候也不知道从哪里入手,然后通过结合老师所给的资料以及通过自己上网查阅资料,去图书馆借相应的书籍,然后慢慢的从中摸索门道。
做实验期间,自己遇见了各种各样的问题,诸如:
(1)刚开始加库文件config_site.h内容有点问题,导致编译了好多次都没成功,后来经过网上查阅资料,并和组内同学一起讨论,才发现问题并很好地解决了问题;
(2)在第一次注册的过程中,没有按要求(滴声后输入)输入密码,导致最后成功产生了组号,再次登录是却总是提示“您所输入的密码错误”等之类的错误,后来只能重新再注册;
(3)鉴于实验过程中,有时没有及时输入,会导致操作超时,而不得不重新输入,重新连接等问题。
虽然在实验过程中,遇见了各种各样的难题,但是我获益良多,不仅提升了自己在这些领域的知识,也培养了自己的学习能力,更让我明白了,应该以严谨地态度对待科学的问题,因为科学容不得半点马虎。
一分耕耘,一份收获,有所付出,必定会有所收获。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VOIP 实验