SIP实验报告
- 格式:doc
- 大小:52.00 KB
- 文档页数:9
SIP协议安全性测试研究与实现的开题报告一、选题背景及意义随着互联网的不断发展和普及,网络通信日益成为我们日常生活和工作中必不可少的一部分。
而VoIP技术的出现,则使得传统的电话通信方式发生了巨大变革,不仅节省了通信费用,而且还拥有更多的功能和应用。
SIP(Session Initiation Protocol)作为现代VoIP网络中的一种核心信令协议,其安全性问题已经成为当前亟待解决的课题。
SIP在通信过程中存在一些安全问题:1. 身份验证问题2. 数据加密问题3. 拒绝服务攻击问题等。
因此,对SIP协议的安全性进行研究,针对其中存在的安全问题进行分析和解决是十分必要的。
二、研究目标和内容目标:1. 研究SIP协议中存在的安全问题及其原因2. 探索SIP协议中存在的安全机制3. 分析SIP协议安全性测试的现状和瓶颈4. 设计并实现一套SIP协议安全测试工具内容:1. SIP协议的介绍和体系结构2. SIP协议中存在的安全问题及其原因的研究3. SIP协议的安全机制的研究4. SIP协议安全性测试的现状和瓶颈的分析5. 基于Python语言实现一套SIP协议安全测试工具三、研究方法和技术路线方法:1. 文献调研法2. 实验测试法3. 系统设计法技术路线:1. SIP协议安全性问题的研究2. SIP协议的安全机制研究3. SIP协议安全性测试工具的设计与实现四、预期成果1. 对SIP协议中的安全问题及其机制进行系统分析2. 设计并实现一套SIP协议安全测试工具3. 对工具的测试结果进行分析,为保障SIP协议的安全性提供一定的参考和支持五、研究难点和解决方案难点:1. SIP协议中存在的安全问题及其原因分析2. SIP协议安全性测试工具的设计与实现解决方案:1. 文献调研法和实验测试法相结合,全面深入地理解SIP协议中存在的安全问题及其原因2. 采用Python语言,在学习SIP协议的基础上,借助Python库实现SIP协议安全性测试工具的设计与实现六、进度安排第一阶段 (一个月):1. SIP协议的相关文献调研,熟悉SIP协议体系结构及其相关技术2. 分析SIP协议中存在的安全问题和机制,准备相关文献和数据第二阶段(两个月):1. 设计和实现SIP协议安全性测试的工具2. 对工具进行性能测试和安全性测试第三阶段(一个月):1. 对测试结果进行分析和总结2. 编写论文,准备答辩材料七、阶段性成果第一阶段:1. SIP协议体系结构和相关技术的文献综述2. SIP协议中存在的安全问题和机制的分析报告,共计5000字第二阶段:1. 基于Python的SIP协议安全性测试工具的设计和实现,代码及相关操作文档2. 工具性能测试和安全性测试报告第三阶段:1. 学位论文初稿2. 答辩材料注:以上仅为开题报告,具体研究方案和成果可能会有所变化。
通信⽹技术基础VOIP呼叫过程及SIP消息分析实验报告南京邮电⼤学实验报告实验名称VOIP呼叫过程及SIP消息分析课程名称____通信⽹技术基础______ 班级学号_____________姓名__________________开课时间 2011 /2012 学年,第⼆学期VOIP呼叫过程及SIP消息分析B09010501 王雅慧⼀、实验⽬的1、学习VOIP原理,了解PC-PC⽅式VOIP⽹络的构成、呼叫模式以及信令的过程。
2、学习使⽤Ethereal这种协议分析软件,⽤它来考察实际系统中传送的分组。
⼆、实验设备硬件部分:校园⽹、PC(带⽿麦)软件部分:SIP UA : 可从⽹上任选⼀款下载并安装,也可以选择⽼师提供的UA软件WinPcap 3.1(它是WIN32 平台上⽹络分析和捕获数据包的链接库,其功能相当于Linux/BSD/UNIX 平台下的Libpcap 库⽂件)Ethereal:0.10.14三、实验步骤下载并安装SIP UA,并做相应设置(域名、IP、端⼝等等),并记录进实验报告;也可以选择Windows Messenger或SKYPE,进⾏⽤户注册,并记录过程;通话,呼叫另⼀个⽤户的通话,记录通话过程中语⾳质量,包括延时和回声;安装WinPcap 3.1;安装并启动Ethereal,开始抓包(设置);重新呼叫另⼀个⽤户,开始通话;获取并分析SIP信令流和语⾳媒体流,记录在报告中,具体要求:(1) 分析并记录呼叫建⽴、呼叫忙、呼叫结束的信令过程。
(2) 分析媒体流(语⾳包):从捕获的数据单元中选⼀个RTP包进⾏分析。
四、实验过程记录和分析1、我选择的客户端是BOL SIPPhone,登录界⾯如图所⽰:2、通话的模式是直接路由,通话双⽅处于同⼀⼦⽹内部。
通话成功,语⾳略有延时和回声。
3、启动抓包⼯具,记录捕获的包的统计数据(见下图),并作简要说明。
这次⼀共抓了2077个包,其中TCP包178个,占8.6%UDP包178个,占总数的89.7%;ARP包29个,占1.4%。
1、实验要求
通过SIP软终端完成点到点方式的SIP语音呼叫和SIP短消息业务,使用Wireshark等抓包工具抓取SIP消息,对消息进行分析。
2、实验目的
通过本实验掌握SIP呼叫流程。
二、实验环境(实验设备)
1微型计算机一台
2软件SIP软终端
3耳机一副
4麦克风一个
三、实验原理及内容
第一部分:SIP语音呼叫和SIP消息分析。
第二部分:SIP短消息和SIP消息分析。
1、
2、过滤结果:
3、抓包分析:
4、绘制消息流程图:
5、保存SIP消息流程图,用文本打开:
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过本次SIP呼叫实验,我对SIPPhone有了一定的了解,初步懂得了使用Wireshark抓包和使用的流程。
还懂得了用文本查看抓包的结果。
我今后会进一步对这两个软件加深了了解。
五、指导教师评语
成绩:批阅人:日期:。
南京邮电大学实验报告实验名称VOIP呼叫过程及SIP消息分析 ________________________ _________________________ _________________________ _________________________课程名称通信网技术基础班级学号____________姓名开课时间 2011/2012 学年,第二学期一、 实验原理1.VOIP 网络构成2.用于网络电话呼叫的协议结构 SIP Voice MeadiaG.711/G.723.1 RTP/RTCP UDPIPEtherNet二、实验目的1、学习VOIP 原理,了解PC-PC 方式VOIP 网络的构成、呼SIP SERVERSIP SERVERSIP SERVER叫模式以及信令的过程。
2、学习使用Ethereal这种协议分析软件,用它来考察实际系统中传送的分组。
三、实验设备1.硬件部分:校园网、PC(带耳麦)2.软件部分:⏹SIP UA : 可从网上任选一款下载并安装,也可以选择老师提供的UA软件⏹WinPcap 3.1(它是WIN32 平台上网络分析和捕获数据包的链接库,其功能相当于Linux/BSD/UNIX平台下的Libpcap 库文件)⏹Ethereal:0.10.14四、实验步骤1.下载并安装SIP UA,并做相应设置(域名、IP、端口等等),并记录进实验报告;也可以选择Windows Messenger或SKYPE,进行用户注册,并记录过程;2.通话,呼叫另一个用户的通话,记录通话过程中语音质量,包括延时和回声;3.安装WinPcap 3.1;4.安装并启动Ethereal,开始抓包(设置);5.重新呼叫另一个用户,开始通话;6.获取并分析SIP信令流和语音媒体流,记录在报告中,具体要求:(1)分析并记录呼叫建立、呼叫忙、呼叫结束的信令过程。
分析媒体流(语音包):从捕获的数据单元中选一个RTP包进行分析。
一. 实验名称:IS-IS实验二. 实验设备:(在模拟平台)1.4台路由器2.若干线缆三. 网络拓朴:四. 预期要达到的实验结果:1.IS-IS多区域实现全网互通。
2.了解IS-IS多区域产生区域外次优路由的原因。
3.掌握IS-IS路由渗透的配置。
五. 配置思路步骤:(工程配置思想)1.根据拓扑图,互联链路、业务网段(用回环模拟)配置及测试。
2.根据区域及路由器类型配置IS-ISa)各路由器NET地址需配置正确。
b)将相应的接口加入到ISIS进程中。
c)根据情况修改RT2、RT3各接口级别。
d)配置完成后查看RT5和RT1的IP路由表,并测试RT5业务网段和RT1业务网段间的连通性3.修改RT3、RT5间链路开销为5(接口下:isis cost 5),修改RT1、RT3间链路开销为30,重新查看RT5和RT1的IP路由表,分析路由变化的原因,分析RT5业务网段去往RT1业务网段的转发路径是什么,并使用Tracert命令查看。
4. 在RT2、RT3上做路由渗透,然后查看RT5 IP路由表的变化,分析RT5业务网段去往RT1业务网段的转发路径是什么,并使用Tracert命令查看。
六. 实验调试过程:1.根据拓扑图,互联链路、业务网段(用回环模拟)配置及测试。
1)完成在RT5上的回环地址以及接口IP地址的配置。
[RT5]interface LoopBack 0[RT5-LoopBack0]ip address 172.16.0.1 32[RT5-LoopBack0]quit[RT5]interface LoopBack 1[RT5-LoopBack1]ip address 172.16.1.1 32[RT5-LoopBack1]quit[RT5]interface Ethernet 0/1/3[RT5-Ethernet0/1/3]ip address 10.1.1.13 30[RT5-Ethernet0/1/3]%Oct 14 18:13:07:792 2012 RT5 IFNET/4/UPDOWN:Line protocol on the interface Ethernet0/1/3 is UP[RT5-Ethernet0/1/3]quit[RT5]interface Ethernet 0/1/0[RT5-Ethernet0/1/0]ip address 10.1.1.9 30[RT5-Ethernet0/1/0]%Oct 14 18:13:34:16 2012 RT5 IFNET/4/UPDOWN:Line protocol on the interface Ethernet0/1/0 is UP[RT5-Ethernet0/1/0]quit2)完成RT3上接口IP配置并测试接口E0/1/2与RT5接口E0/1/3的连通性。
南京邮电大学综合实验(软交换)SIP注册实验姓名:学号:班级:日期:2013年10月13日内容与要求:设计流程①熟悉环境◊②用自己用户登入,SIP配置实验)◊③学习协议流程(至少包括注册、正常呼叫、对端忙、重定向)◊④学习消息参数(请求、相应消息所包含的头域,各个头中携带的参数)◊⑥选定程序设计题目设计实现方案◊⑦开源协议栈学习+ 题目实现◊⑧自己编程◊⑨测试◊综合实验程序设计(开源代码基础上)一、完善UA功能(使用SS1B测试)1、完整正常主叫信令流程2、完善UA配置、使用界面二、完成服务器部分功能(使用multiphone测试)3、注册服务器4、无状态代理服务器三、自拟题目综合实验(软交换)注意事项:1、关于资料实验室客户端有协议原文、技术手册、学习资料、开源代码、使用手册和例子。
其它资料需自己准备。
2、设计方案每组一个设计方案,建议题目中任选一个或自己拟定都可以,组中同学要有各自侧重点和分工。
3、编程语言编译器不限,VC 、BCB 、DELPHI 、.NET. 语言 c 、c++、delphi开源代码,实验室提供OSIP (C 语言编写),也可以自己下载其它开源代码SIP 架构:程序测试:下载VC++6.0更新SDK 获得这两个API 文件。
再编译osip2,eXosip2和 osipparser2得到加入到VC 和WINDOWS 的相应文件夹中,编译过程中需要以下2个库文件 界面如下:抓包显示注册,注销,呼叫以及挂断的消息。
文本的SIP 消息:思考题:软交换设备 设备名称 设备型号 数量 备注软交换控制设备 ZXSS10 SS1b 1 硬件5万用户容量,软件200线用户license, 480线中继license 中继信令合一网关 ZXMSG7200 1 16E1,2 条64K 信令 link UP10业务平台 UP10 1 Web 客户端和业务服务器合一 媒体服务器 Mes 1综合网管系统ZXNMS 011网管客户端和网管服务器合一,包含40个网管客户端License界 面 /配置数据UDP 通信模块协议消息解析业务流程控制SIP 终端(代理)2、什么叫状态机,给出SIP协议中一个状态机的例子,并说明。
sip协议原理分析及总结SIP协议学习总结1、SIP协议定义SIP(Session Initiation Protocol,即初始会话协议)是IETF提出的基于⽂本编码的IP电话/多媒体会议协议。
⽤于建⽴、修改并终⽌多媒体会话。
SIP 协议可⽤于发起会话,也可以⽤于邀请成员加⼊已经⽤其它⽅式建⽴的会话。
多媒体会话可以是点到点的话⾳通信或视频通信,也可以是多点参与的话⾳或视频会议等。
SIP协议透明地⽀持名字映射和重定向服务,便于实现ISDN,智能⽹以及个⼈移动业务。
SIP协议可以⽤多点控制单元(MCU)或全互连的⽅式代替组播发起多⽅呼叫。
与PSTN 相连的IP电话⽹关也可以⽤SIP协议来建⽴普通电话⽤户之间的呼叫。
SIP协议在IETF多媒体数据及控制体系协议栈结构的位置H.323SIP RTSP RSVP RTCPH.263 etc.RTP TCP UDPIPPPP Sonet AAL3/4AAL5ATM EthernetPPPV.34SIP协议⽀持多媒体通信的五个⽅⾯:◆⽤户定位:确定⽤于通信的终端系统;◆⽤户能⼒:确定通信媒体和媒体的使⽤参数;◆⽤户有效性:确定被叫加⼊通信的意愿;◆会话建⽴:建⽴主叫和被叫的呼叫参数;◆会话管理:包括呼叫转移和呼叫终⽌;SIP协议的结构SIP是⼀个分层的协议,也就是说SIP协议由⼀组相当⽆关的处理层次组成,这些层次之间只有松散的关系。
SIP最底层的是它的语法和编码层。
编码⽅式是采⽤扩展的Backus-Naur Form grammar (BNF范式)。
第⼆层是传输层。
它定义了⼀个客户端发送请求和接收应答的⽅式,以及⼀个服务器接收请求和发送应答的⽅式。
所有的SIP要素都包含⼀个通讯层。
第三层是事务层。
事务是SIP的基本组成部分。
⼀个事务是UAC向UAS发送的⼀个请求以及UAS向UAC发送的⼀系列应答。
事务层处理应⽤服务层的重发,匹配请求的应答,以及应⽤服务层的超时。
SiP仿真验证工具介绍我们即将开展许多新课题的硬件设计工作,其设计复杂度、工作频率、量化精度指标和电磁兼容性能要求较以往任务又有很大的提高,如何在很有限的时间内更有效的开展SiP 设计以达到更高的预期指标将是我们面临的一大难题,准确有效的仿真设计必不可缺!为此,我们系统评估了ANSYS公司的SiP仿真方案。
ANSYS公司是业界领先的电磁及热仿真解决方案提供商,公司所开发的Alinks,SIwave, HFSS, Designer, Q3D,Icepak等工具可以帮助工程师从设计初期开始就考虑信号完整性,电源完整性及热性能,得到有效的设计规则,并在设计的过程中,实时的仿真及验证设计的有效性,在生产前,可以通过软件提取各种通用模型,并在ANSYS公司的仿真平台上,进行系统级的电热耦合仿真,及时发现及规避各种问题。
下图是ANSYS公司SiP仿真流程。
1. 在设计前期,确定工艺可行性,是SiP成功的基础,这一点与IC设计类似。
ANSYS的三维模型参数提取工具Q3D和电路系统仿真工具Designer主要在设计前期,对SiP设计工艺进行评估,评估SiP互联寄生参数对信号和电源的影响。
SiP设计工艺包括单层或多层键合丝(Wire Bunding)、倒装片(Flip Chip)、叠片(PoP)等工艺,带来的互联寄生参数会对高速信号和敏感电源网络引起噪声,因此需要在设计前期进行仿真评估,利用Q3D模拟各种工艺条件下互联寄生参数,必要时导出模型到Designer中结合IC芯片模型仿真信号和电源噪声,在设计集成度与性能之间取得平衡。
2. 确定工艺和约束后,利用Cadence公司的SPB SiP设计软件,进行布局布线。
布局布线完成后,利用ANSYS专用的接口Alinks将SPB SiP设计数据完整的导入到ANSYS SIwave中进行后仿真。
在SIwave中,可以对关注的电源网络进行谐振分析、阻抗分析和直流压降分析,对关键网络和总线进行信号完整性分析——包括S参数提取和TDR阻抗分析,并将提取的模型导入到Designer当中,结合芯片的Spice和IBIS模型进行信号的过冲、串扰、同步开关噪声、时序和眼图分析。
sip测试方案一、引言SIP(Session Initiation Protocol,会话发起协议)是一种用于建立、修改和终止多媒体会话的通信协议。
SIP在VoIP(Voice over Internet Protocol,网络电话)通信领域有着广泛的应用,而为了确保SIP系统的稳定性和性能,测试方案的制定至关重要。
本文将介绍一个用于SIP 系统测试的方案,以确保系统的质量和可靠性。
二、测试目标SIP测试旨在验证系统是否符合设计要求,并评估其性能、扩展性和容错性。
具体测试目标如下:1. 验证SIP系统的功能是否完备,包括建立会话、修改会话和终止会话等基本功能。
2. 测试系统在高负载情况下的性能表现,包括承载能力、响应时间和资源利用率。
3. 检验系统的扩展性,验证系统在增加用户、呼叫和数据流量时的性能稳定性。
4. 测试系统的容错性,模拟异常场景,验证系统对错误和故障的处理能力。
5. 确保系统的安全性,包括鉴权、加密和防止恶意攻击的能力。
三、测试环境和工具1. 测试环境:搭建一个模拟的SIP网络环境,包括SIP服务器、SIP 客户端和SIP代理等组件。
2. 测试工具:使用性能测试工具、负载测试工具和异常场景模拟工具等,如JMeter、Loadrunner和SIPp等。
四、测试用例1. 建立会话功能测试:测试系统能否正常建立SIP会话,包括呼叫、接听和拒绝等功能。
2. 修改会话功能测试:测试系统能否正确处理SIP会话的修改请求,包括转接、静音和保持等功能。
3. 终止会话功能测试:测试系统能否正常终止SIP会话,并释放相关资源。
4. 高负载性能测试:通过模拟大量并发呼叫,测试系统在高负载情况下的性能表现,包括呼叫成功率、响应时间和资源利用率等指标。
5. 扩展性测试:逐步增加用户、呼叫和数据流量,测试系统在负载增加时的性能稳定性和资源消耗情况。
6. 容错性测试:模拟异常场景,如网络故障、服务器崩溃和异常请求等,验证系统对错误和故障的处理能力。
交换原理实验sip信令分析实验报告SIP终端之间双向的通信过程分析一.信令分析SIP(Session Initiation Protocol)是一个应用层的信令控制协议。
用于创建、修改和释放一个或多个参与者的会话。
这些会话可以好似Internet多媒体会议、IP电话或多媒体分发。
会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
SIP它既不是会话描述协议,也不提供会议控制功能。
为了描述消息内容的负载情况和特点,SIP 使用Internet 的会话描述协议(SDP) 来描述终端设备的特点。
SIP 自身也不提供服务质量(QoS),它与负责语音质量的资源预留协议(RSVP) 互操作。
它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS) 以及负责实时传输的RTP 等多个协议。
SIP网络的注册服务器需要维护一个用户的注册SIP地址到当前IP地址的映像。
注册服务器的主要功能是接受用户的注册请求。
同一个服务器也可以实现其他SIP功能(入代理服务)。
注册服务器需要知道用户的当前地址。
当用户在一个主机上登录时,客户端发出的第一个请求很可能就是REGISTER,用这个请求向服务器提供用户当前的地址信息,以保证SIP会话能够到达这个用户。
二.实验流程设定两个话机分别为A和B,话机A的号码和IP地址为80288和192.168.1.102,话机B的号码和IP地址为82888和192.168.1.128,代理服务器的地址为192.168.1.240。
完成基本配置后,实现电话机A和B都可以在软交换系统中注册成功。
使用电话机A拨打电话B,即在电话机A上拨打号码82888,在电话B接收到A的呼叫请求并振铃后,电话B摘机后再挂断电话,然后电话A再挂断电话。
首先用户终端A向用户终端B发起呼叫请求,用户终端A拨通B的号码。
第一部分SIP协议概述1 SIP协议简介SIP(会话发起协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。
因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现的NGN (下一代网络)系列协议中重要的一员。
Internet的许多应用程序都要求创建和管理会话,会话可以看成是相互联系的参与者之间的数据交换。
应用程序的实现因为参与者的行为而变得复杂:用户可以在终端节点之间移动,可以通过多种名字被访问到,也可以通过多种不同的媒体(有时可能是同时的)进行交流。
已经出现的许多协议都可以用来传送实时多媒体会话的数据例如视频、音频和文本信息。
SIP协议可以和这些协议协同工作使得internet的终端节点(被称为用户代理User Agent)可以和另外一个终端节点协商一种共享的会话特性。
SIP是一个用于建立、修改、结束单用户或多用户之间会话(这些会话包括了Internet 电话、多媒体发布和多媒体会议)的应用层控制协议。
它是一个基于ASCII的端到端的协议。
SIP协议独立于下层的传输协议而工作,也无需依赖于所建立的会话的类型。
SIP不是会话描述协议,也不提供会议控制功能。
SIP是一个可以和其他的IETF协议协同工作共同完成多媒体体系结构的一个组件。
该体系结构包含其他一些协议,例如用于传输实时数据和提供QoS反馈的实时传输协议(RTP)、用于控制传递媒体流的实时流协议(RTSP)、用于控制公用电话交换网网关(PSTN)的媒体网关控制协议(MEGACO)、描述终端设备的特点Internet的会话描述协议(SDP)。
SIP自身也不提供服务质量(QoS),它与负责语音质量的资源保留设置协议(RSVP)互操作,它还与若干个其他的协议进行协作,包括负责定位的轻型目录访问协议(LDAP),负责身份鉴定的远程身份验证拨入用户服务(RADIUS)。
因此,SIP应该和其他协议协同工作以提供给用户完全的服务。
《软交换系统实验》实验报告一实验室名称:现代通信网络实验室 实验日期: 年 月 日学 院(系) 信息院 专业、班级 通信0703姓名 丁俊杰成绩实验项目SIP 协议的认识及呼叫追踪分析实验 指导教师教师评语教师签名:年 月 日一、实验过程原始记录(数据、图表等) 1.设备配置实验记录设备名称 设备IP 地址 短号设置长号设置EIA2016设备 192.168.0.3 333 EIT200 SIP 电话 192.168.1.8328332.呼叫跟踪实验记录 (1)主叫信息 群号:1 短号:833 长号: (2)被叫信息 群号:1 短号:832 长号:(3)呼叫消息(包括:主叫方和被叫方与EIX 交互的信令消息) ① 创建连接 流水号 时间 方向类型端口号sip:832@192.168.0.3143-16:53:52:180call 10000 10000 IN IP4 192.168.0.132 INVITE audio 11944 RTP/AVP 4 18 8 0② 振铃,摘机 流水号 时间 方向 类型端口号 sip:833@192.168.0.3146-16:53:52:240call 10000 10000 IN IP4 192.168.0.132Ringingudio 8000RTP/AVP 4sip:832@192.168.0.3148-16:53:52:270 call 10000 10000 IN IP4 192.168.0.132ACK udio 8000 RTP/AVP 4③挂机流水号时间方向类型端口号sip:83 2@192. 168.0. 3 149-16:53:54:620call 1000010000 IN IP4192.168.0.132BYE audio 8000RTP/AVP 4①删除链接流水号时间方向类型端口号sip:83 2@192. 168.0. 3 151-16:53:54:620call 1000010000 IN IP4192.168.0.132BYE audio 8000RTP/AVP 4二、实验结果及分析呼叫流程图及说明:SIP HPONE A SOFTCO SIP PHONE B1 INVITE2 100Trying3 4074 ACK5 INVITE6 100Trying7 INVITE8 100 Trying9 180 Ringing10 180 Ringing11 200 OK12 200 OK13 ACK14 ACKConversation15 BYE16 200 OK17 BYE18 200 OKINVITE –通过邀请用户参与来发起一次呼叫.ACK - 请求用于证实UAC已收到对于INVITE请求的最终响应,和INVITE消息配套使用. BYE - USER AGENT用此方法指示释放呼叫.CANCEL -该方法用于取消一个尚未完成的请求,对于已完成的请求则无影响. REGISTER –客户使用该方法在服务器上登记列于To字段中的地址.OPTIONS –用于询问服务其能力.INFO –用于承载带外信息,如DTMF信息.用户 A 使用 SIP 电话。
实验五 与SIP 终端对接实验一、实验目的1、通过本实验,让学生了解配置与 SIP 终端对接的数据的配置。
2、在 SoftX3000 侧通过数据配置实现以下应用要求: 各用户之间实现互拨各用户之间实现视频电话和数据业务二、实验器材1、 SoftX3000 一台;2、 IAD (SIP 协议)20 台;3、 实验终端电脑 40 台;4、 电话机 20 部二、实验内容让学生了解配置与 SIP 终端对接后为用户提供多媒体业务:包括语音业务、数据业务、视频业 务等。
SIP 终端采用 SIP 协议接入 SoftX3000 典型组网如图所示Ip 地址:100.10.1.2SIP 协议 IAD 标识:iad18 IAD 标识: iad21 WAN 口:100.10.1.18 WAN 口:100.10.1.21 PORT 5060 PORT 506066360018 66360021三、实验步骤(一) 数据规划Soft X3000 IP 局域网用户A 用户B 终端 终端在配置 SoftX3000 侧的数据之前,应就 SoftX3000 与 SIP终端之间的以下主要对接参数进行规划。
序号对接参数项参数值1 SoftX3000 与 SIP 终端之间采用的通信协议SIP 协议2 SIP 协议的知名端口号50603 SoftX3000 的 IFMI 板的 IP 地址100.10.1.2/255.255.255.04 用户的注册用户名IAD21、IAD185 用户的注册密码66360018、663600216 用户的电话号码66360018、66360021(二)实验脚本1、基本数据已配置2、配置号码数据ADD LDNSET: LP=1, P=0, NC=K'86, AC=K'10, LDN="实验室 SIP-A",CONFIRM=Y;ADD CALLSRC: CSC=1, CSCNAME="实验室 SIP-A", LP=1,CONFIRM=Y;ADD DNSEG: LP=1, SDN=K'8780001, EDN=K'8780999,CONFIRM=Y;ADD CHGANA: CHA=1, CHGM=NCC, BNS=1,CONFIRM=Y;MOD CHGMODE: CHA=1, DAT=NORMAL, TS1="00&00", TA1="50", PA1=1, TB1="10", PB1=1, AGIO1=100, TS2="00&00",CONFIRM=Y;ADD CHGIDX: CHSC=1, RCHS=1, LOAD=ALL, BT=ALLBT, CODEC=ALL, CHA=1,CONFIRM=Y; ADD CNACLD: LP=1, PFX=K'878, MINL=7, MAXL=7, CHSC=1,CONFIRM=Y;3、配置 SIP 协议数据//设置 SIP 协议的全局配置信息SET SIPCFG:CONFIRM=Y;//设置处理 SIP 协议 MSGI 板(模块号为 211)的本地端口号SET SIPLP: MN=211, PORT=5061,CONFIRM=Y;说明:从 SIP 终端发到 SoftX3000 的第 1 个 SIP 消息中,此消息携带 SIP 知名端口5060。
一、实验目的1. 理解呼叫处理系统的基本原理和功能。
2. 掌握数字电路在呼叫处理系统中的应用。
3. 提高实际动手操作能力,培养分析问题和解决问题的能力。
4. 熟悉数码管显示、优先级处理等电路设计方法。
二、实验原理呼叫处理系统主要由呼叫输入模块、优先级处理模块、显示模块和存储模块组成。
本实验采用15个开关模拟5个病房的呼叫输入信号,其中5号病房的呼叫优先级最高。
当有多个呼叫信号同时发出时,系统将显示优先级最高的呼叫号,并存储低优先级的呼叫信号。
三、实验仪器与材料1. 数字电路实验箱2. 开关若干3. 数码管4. 指示灯若干5. 连接线若干6. 5V电源7. 示波器(可选)四、实验步骤1. 按照电路图连接呼叫输入模块,将15个开关分别连接到5个病房的呼叫输入端,其中5号病房的呼叫输入端连接到优先级最高的输入端。
2. 连接数码管和指示灯,数码管用于显示呼叫信号的号码,指示灯用于显示低优先级的呼叫号。
3. 连接存储模块,用于存储低优先级的呼叫信号。
4. 连接电源,确保电路正常工作。
5. 打开示波器(可选),观察信号波形。
6. 模拟病房呼叫,观察数码管显示和指示灯的状态。
五、实验结果与分析1. 当只有一个病房发出呼叫信号时,数码管显示该病房的呼叫号码,同时低优先级的呼叫信号被存储。
2. 当多个病房同时发出呼叫信号时,数码管显示优先级最高的呼叫号码,其他呼叫号码通过指示灯显示,低优先级的呼叫信号被存储。
3. 实验过程中,观察到存储模块能够正确存储低优先级的呼叫信号,且在5秒后呼叫声消失。
六、实验总结1. 通过本次实验,掌握了呼叫处理系统的基本原理和功能。
2. 熟悉了数字电路在呼叫处理系统中的应用,提高了实际动手操作能力。
3. 学会了数码管显示、优先级处理等电路设计方法。
4. 发现了在实验过程中存在的问题,如信号干扰、电路设计不合理等,并提出了相应的改进措施。
七、实验建议1. 在实验过程中,注意信号干扰问题,合理设计电路,提高系统的稳定性。
《交换技术基础》实验报告实验一:SIP呼叫实验二:SIP消息跟踪实验三:Web800实验四:删除配置数据班级学号姓名2011/2012学年第一学期实验一SIP呼叫实验一、实验内容通过中兴通讯软交换维护平台,配置有关局数据和用户数据,进行字冠分子,用Multiphone做呼入和呼出实验。
二、实验目的通过本实验掌握软交换系统的呼叫处理特点,掌握SIP呼叫流程。
三、主要仪器设备1微型计算机一台2软件中兴通讯统一网络管理平台3中兴通讯SS1B 一套4IAD 一部5耳机一副6麦克风一个四、实验步骤第一部分:登录客户端问题1:登录中兴通讯统一网络管理平台要经历哪些步骤?第二部分:SIP呼出问题2:以你配置的数据为例,说明要进行SIP呼出,需要配置哪些数据?它们的作用是什么?问题3:如何使用软终端进行呼出?第三部分:SIP呼入问题4:如何配置号码分析数据?问题5:实验中你如何配置Digmap模板,为什么这样配置?4-1实验二SIP消息跟踪一、实验内容用Multiphone进行呼叫,跟踪SIP消息,分析SIP消息流程。
二、实验目的通过本实验,要求掌握正常呼叫时的SIP消息流程。
三、主要仪器设备1微型计算机一台2软件中兴通讯统一网络管理平台3中兴通讯SS1B 一套4IAD 一部5耳机一副6麦克风一个四、实验步骤问题1:如何跟踪一次呼叫所涉及到的消息?问题2:如何保存跟踪到的消息?问题3:针对一次呼叫,请画出相应的软交换网络拓扑图,请画出本次呼叫的SIP消息流程,并对消息做出解释。
南京邮电大学综合实验(软交换)SIP注册实验姓名:学号:班级:日期:2013年10月13日内容与要求:设计流程①熟悉环境◊②用自己用户登入,SIP配置实验)◊③学习协议流程(至少包括注册、正常呼叫、对端忙、重定向)◊④学习消息参数(请求、相应消息所包含的头域,各个头中携带的参数)◊⑥选定程序设计题目设计实现方案◊⑦开源协议栈学习+ 题目实现◊⑧自己编程◊⑨测试◊综合实验程序设计(开源代码基础上)一、完善UA功能(使用SS1B测试)1、完整正常主叫信令流程2、完善UA配置、使用界面二、完成服务器部分功能(使用multiphone测试)3、注册服务器4、无状态代理服务器三、自拟题目综合实验(软交换)注意事项:1、关于资料实验室客户端有协议原文、技术手册、学习资料、开源代码、使用手册和例子。
其它资料需自己准备。
2、设计方案每组一个设计方案,建议题目中任选一个或自己拟定都可以,组中同学要有各自侧重点和分工。
3、编程语言编译器不限,VC 、BCB 、DELPHI 、.NET. 语言 c 、c++、delphi开源代码,实验室提供OSIP (C 语言编写),也可以自己下载其它开源代码SIP 架构:程序测试:下载VC++6.0更新SDK 获得这两个API 文件。
再编译osip2,eXosip2和 osipparser2得到加入到VC 和WINDOWS 的相应文件夹中,编译过程中需要以下2个库文件 界面如下:抓包显示注册,注销,呼叫以及挂断的消息。
文本的SIP 消息:思考题:软交换设备 设备名称 设备型号 数量 备注软交换控制设备 ZXSS10 SS1b 1 硬件5万用户容量,软件200线用户license, 480线中继license 中继信令合一网关 ZXMSG7200 1 16E1,2 条64K 信令 link UP10业务平台 UP10 1 Web 客户端和业务服务器合一 媒体服务器 Mes 1综合网管系统ZXNMS 011网管客户端和网管服务器合一,包含40个网管客户端License界 面 /配置数据UDP 通信模块协议消息解析业务流程控制SIP 终端(代理)2、什么叫状态机,给出SIP协议中一个状态机的例子,并说明。
SIP协议测试总结一:响应码定义1、响应(Response)1)1XX:临时响应,表示请求消息正在被处理。
2)2XX:成功响应,表示请求已被成功接收,完全理解并被接受。
3)3XX:重定向响应,表示需采取进一步以完成该请求。
4)4XX:客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。
5)5XX:服务器错误,表示服务器无法完成合法请求。
6)6XX:全局故障,表示任何服务器无法完成该请求。
100:临时响应,正在尝试180:振铃,UA收到INVITE请求之后用该响应通知用户,该响应也可以再发起一个本地回铃181:呼叫正在转发182:排队183:会话进行200:OK300网络协议不兼容:会话描述中的一个或多个网络协议不可用。
301网络地址格式不兼容:会话描述中的一个或多个地址格式不可用。
302传送协议不兼容:会话描述中的一个或多个传送协议不可用。
303带宽单位不兼容:会话描述中的一个或多个带宽度量单位不被理解。
304媒体类型不可用:对话描述中的一个或多个媒体类型不可用。
305媒体格式不兼容:对话描述中的一个或多个媒体格式不可用。
306媒体特征不被理解:对话描述中的一个或多个媒体特征不被支持。
307对话描述参数不被理解:除上述几种参数之外的参数不被理解。
330组播不可用:用户站点不支持组播。
331单播不可用:用户站点不支持单播通信(通常是由于防火墙的存在)。
370带宽不足:对话描述中定义的或者媒体定义的带宽超出可用带宽。
399混合告警:该告警表示用户存在的任意一种错误,收到该告警的系统不可以采取任何自动的动作401:未授权403:禁止404:未找到405:不允许的请求方法406:不接受407:代理服务器需要鉴权408:请求超时413:请求消息过大415:不支持的媒体类型414:Request-URI过长415:不支持媒体类型416:不支持的URI方案420:错误的扩展421:需要扩展支持423:间隔太短480:临时不可用481:呼叫/事务不存在482:检测到路由循环483:跳数太多484:地址不完整485:不明确486:正忙487:请求终止488:此处不接受493:无法解密501:不可实现502:错误网关503:业务不可使用504:服务器超时505:不支持版本513:消息过大600:忙603:拒绝604:用户不存在606:无法接受二:消息体定义Call-ID:头字段是用来将消息分组的唯一性标识From:头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。
南京邮电大学综合实验(软交换)SIP注册实验姓名:学号:班级:日期:2013年10月13日内容与要求:设计流程①熟悉环境◊②用自己用户登入,SIP配置实验)◊③学习协议流程(至少包括注册、正常呼叫、对端忙、重定向)◊④学习消息参数(请求、相应消息所包含的头域,各个头中携带的参数)◊⑥选定程序设计题目设计实现方案◊⑦开源协议栈学习+ 题目实现◊⑧自己编程◊⑨测试◊综合实验程序设计(开源代码基础上)一、完善UA功能(使用SS1B测试)1、完整正常主叫信令流程2、完善UA配置、使用界面二、完成服务器部分功能(使用multiphone测试)3、注册服务器4、无状态代理服务器三、自拟题目综合实验(软交换)注意事项:1、关于资料实验室客户端有协议原文、技术手册、学习资料、开源代码、使用手册和例子。
其它资料需自己准备。
2、设计方案每组一个设计方案,建议题目中任选一个或自己拟定都可以,组中同学要有各自侧重点和分工。
3、编程语言编译器不限,VC 、BCB 、DELPHI 、.NET. 语言 c 、c++、delphi开源代码,实验室提供OSIP (C 语言编写),也可以自己下载其它开源代码SIP 架构:程序测试:下载VC++6.0更新SDK 获得这两个API 文件。
再编译osip2,eXosip2和 osipparser2得到加入到VC 和WINDOWS 的相应文件夹中,编译过程中需要以下2个库文件 界面如下:抓包显示注册,注销,呼叫以及挂断的消息。
文本的SIP 消息:思考题:软交换设备 设备名称 设备型号 数量 备注软交换控制设备 ZXSS10 SS1b 1 硬件5万用户容量,软件200线用户license, 480线中继license 中继信令合一网关 ZXMSG7200 1 16E1,2 条64K 信令 link UP10业务平台 UP10 1 Web 客户端和业务服务器合一 媒体服务器 Mes 1综合网管系统ZXNMS 011网管客户端和网管服务器合一,包含40个网管客户端License界 面 /配置数据UDP 通信模块协议消息解析业务流程控制SIP 终端(代理)2、什么叫状态机,给出SIP协议中一个状态机的例子,并说明。
在开始一个线程的时候,就会开始一个状态机,当一个事件发生的时候,就会转到相应的状态上去。
如sip注册:(UA)空闲状态-----(发送注册信息)-→待机状态等待响应-----(收到成功响应)--→已注册状态| |(未收到响应) --(收到注册失败响应)-→空闲状态|空闲状态3、设计一个SIP终端或代理服务器,给出主要软件模块构成。
UAC UAS4、分析SIP相关开源代码,说明SIP消息处理的方法。
以纯文本的方式在UA与server之间按照固定顺序发送消息,根据消息进行相应处理。
附录#include <eXosip2/eXosip.h>#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <sys/types.h>/*void cb_rcv4xx(sipevent_t * se,transaction_t * tr);void cb_rcv4xx(sipevent_t * se,transaction_t * tr){printf("rcv 4xx msg do nothing");}*/intmain (int argc, char *argv[]){eXosip_event_t *je;osip_message_t *reg = NULL;osip_message_t *invite = NULL;osip_message_t *ack = NULL;osip_message_t *info = NULL;osip_message_t *message = NULL;FILE *writefile;int call_id, dialog_id;int i,flag;int flag1 = 1;int id;char *identity = "sip:@";char *registerer = "sip:";char *source_call = "sip:@";char *dest_call = "sip:@";char *con = "sip:";char command;char tmp[4096];char localip[128] = "";printf("r 向服务器注册\n\n");printf("c 取消注册\n\n");printf("i 发起呼叫请求\n\n");printf("h 挂断\n\n");printf("q 退出程序\n\n");printf("s 执行方法INFO\n\n");printf("m 执行方法MESSAGE\n\n");//初始化i = eXosip_init ();if (i != 0){printf (" Couldn't initialize eXosip!\n");return -1;}else{printf ("eXosip_init successfully!\n");}writefile = fopen("log.txt","w");osip_trace_initialize (8, writefile);OSIP_TRACE (osip_trace(__FILE__, __LINE__, OSIP_ERROR, NULL,"eXosip: already listening somewhere\n"));i = eXosip_listen_addr (IPPROTO_UDP, NULL, 5060, AF_INET, 0); // osip_setcb_rcv4xx(cf,&cb_rcv4xx);if (i != 0){eXosip_quit ();fprintf (stderr, "Couldn't initialize transport layer!\n");return -1;}flag = 1;while (flag){printf ("please input the comand:\n");fflush(stdin);scanf ("%c", &command);//getchar ();switch (command){case 'h':printf ("Holded !\n");eXosip_lock ();eXosip_call_terminate (call_id, dialog_id);eXosip_unlock ();break;case 'c':eXosip_lock ();i = eXosip_register_build_register (id, 0, ®);if (i < 0){eXosip_unlock ();printf("注销失败!\n");}else{eXosip_register_send_register (id, reg);printf("注销成功!\n");eXosip_unlock ();}break;case 's'://传输INFO方法eXosip_call_build_info (dialog_id, &info);snprintf (tmp , 4096,"hello,rainfish");osip_message_set_body (info, tmp, strlen(tmp));//格式可以任意设定,text/plain代表文本信息osip_message_set_content_type (info, "text/plain");eXosip_call_send_request (dialog_id, info);break;case 'm'://传输MESSAGE方法,也就是即时消息,和INFO方法相比,我认为主要区别,是MESSAGE不用建立连接,直接传输信息,而INFO必须//在建立INVITE的基础上传输。
printf ("the mothed :MESSAGE\n");eXosip_message_build_request (&message, "MESSAGE", dest_call, source_call, NULL); snprintf (tmp, 4096,"hello,rainfish");osip_message_set_body (message, tmp, strlen(tmp));//假设格式是xmlosip_message_set_content_type (message, "text/xml");eXosip_message_send_request (message);break;case 'q':eXosip_quit ();printf ("Exit the SIPphone!\n");flag = 0;break;case 'r':id=eXosip_register_build_initial_register(source_call, registerer, con,1000,®); eXosip_lock ();eXosip_clear_authentication_info(); //去除上次加入的错误认证信息//添加认证信息if (eXosip_add_authentication_info("", "", "1340", "md5", NULL)){printf("--Add_authentication_info failed\n");eXosip_unlock();return -4;}i = eXosip_register_send_register (id, reg) ;eXosip_unlock ();printf ("send reg commpleted!\n");flag1 = 1;while (flag1){// je = eXosip_event_wait (0, 200);je = eXosip_event_wait (0, 500);//协议栈带有此语句,具体作用未知eXosip_lock ();eXosip_default_action (je);eXosip_automatic_refresh ();eXosip_unlock ();if (je == NULL){printf ("No response or the time is over!\n");break;}switch (je->type){case EXOSIP_REGISTRATION_FAILURE:printf ("a 4xx rcved !\n");id=eXosip_register_build_register (je->rid, 2000, ®);i = eXosip_register_send_register (id, reg);printf("send a new regesiter\r\n");break;case EXOSIP_REGISTRATION_SUCCESS:printf("reg success!\r\n");break;default:printf("unexpect event %d",je->type);break;}eXosip_event_free (je);break;}break;case 'i':/* INVITE */i = eXosip_call_build_initial_invite (&invite, dest_call, source_call, NULL, "This si a call for a conversation");if (i != 0){printf ("Intial INVITE failed!\n");break;}//符合SDP格式,其中属性a是自定义格式,也就是说可以存放自己的信息,但是只能是两列,比如帐户信息//但是经测试,格式:v o t必不可少,原因未知,估计是协议栈在传输时需要检查的snprintf (tmp, 4096,"v=0\r\n""o=anonymous 0 0 IN IP4 ""t=1 10\r\n""a=username:rainfish\r\n""a=password:123\r\n");osip_message_set_body (invite, tmp, strlen(tmp));osip_message_set_content_type (invite, "application/sdp");eXosip_lock ();i = eXosip_call_send_initial_invite (invite);eXosip_unlock ();flag1 = 1;while (flag1){je = eXosip_event_wait (0, 200);if (je == NULL){printf ("No response or the time is over!\n");break;}switch (je->type){case EXOSIP_CALL_INVITE:printf ("a new invite reveived!\n");break;case EXOSIP_CALL_PROCEEDING:printf ("proceeding!\n");break;case EXOSIP_CALL_RINGING:printf ("ringing!\n");// call_id = je->cid;// dialog_id = je->did;printf ("call_id is %d, dialog_id is %d \n", je->cid, je->did);break;case EXOSIP_CALL_ANSWERED:printf ("ok! connected!\n");call_id = je->cid;dialog_id = je->did;printf ("call_id is %d, dialog_id is %d \n", je->cid, je->did);eXosip_call_build_ack (je->did, &ack);eXosip_call_send_ack (je->did, ack);flag1 = 0;break;case EXOSIP_CALL_CLOSED:printf ("the other sid closed!\n");break;case EXOSIP_CALL_ACK:printf ("ACK received!\n");break;default:printf ("other response!\n");break;}eXosip_event_free (je);}break;}}return (0); }。