您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 交换原理实验sip信令分析实验报告
SIP终端之间双向的通信过程分析一.信令分析SIP(SessionInitiationProtocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似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的号码。UserAgentA请求首先到达的是ProxyServer,ProxyServer接受到终端A的呼叫请求,但是可能代理服务器A自己也不知道SIP用户B所在的位置,它就会将请求发送给位置服务器,通过位置服务器查找出SIP用户B的位置。三.抓包分析1.电话机A发起呼叫请求,发送到软交换服务器Source:A192.168.1.102destination:proxy192.168.1.240可以从上图观察到,电话机A192.168.1.102发起呼叫请求,发送到软交换服务器IP地址192.168.1.240处。信令如图所示。在SIP信息的头部Via字段定义SIP事务的下层传输协议,即SIP协议版本为2.0,并且表示了消息将要被发送的位置,即82888@192.168.1.128。Call-ID表示一个UA发送的请求消息和接收的响应消息分组的唯一标识。Call-ID中的主机为全局定义域名全局可选路IP,本地标识由在主机范围内的唯一标识,主机IP为192.168.1.102。Contact头字段指定了一个SIPURL,后续的请求可以通过它来连接到当前的UA,实际上写的就是主叫的SIPURL,这里的应为80288@192.168.1.240。Max-forward头字段限定了一个请求消息在到达目的地前允许经过的最大跳数,也结合这里的数值就是说中间最多有70个代理服务器。From和To字段分别表示请求发起方的逻辑标识和请求消息的逻辑接受者。这里的From字段为80288@192.168.1.240,表示从号码为80288,代理服务器IP地址192.168.1.240处发起,To地段为82888@192.168.1.240,表示发送到号码为82888,代理服务器IP地址为192.168.1.240处接收。Cseq字段用于标识事务并对事物进行标识。这里的请求序列号为1,是一个随机生成的数,在同一个呼叫中,每一个新的请求消息的数据都会加1。在Contact-Type字段中指出可消息体的类型,这里的消息体类型为SDP,所以Content-Type头部字段为“Content-Type:applicaton/sdp”。2.软交换服务器回复电话机A鉴权响应软交换服务器回复电话机A一个鉴权响应,要求呼叫用户进行鉴权。如图所示。Source:proxy192.168.1.240destination:A192.168.1.102Status-Code为407,在Via头字段中显示的协议版本号2.0,并且表明了消息将要被发往的地址为192.168.1.102:5060,branch参数标识有当前请求所建立的事务。From和To字段分别表示请求发起方的逻辑标识和请求消息的逻辑接受者。这里的From字段为82088@192.168.1.240,表示从号码为82088,代理服务器IP地址192.168.1.240处发起,To地段为82888@192.168.1.240,表示发送到号码为82888,代理服务器IP地址为192.168.1.240处接收。3.电话机A回复代理服务器的鉴权要求电话机A在接收到代理服务器的鉴权要求后,回复代理服务器一个ACK确认相应。Source:A192.168.1.102destination:proxy192.168.1.240不同于其他相应消息,这里的Cseq字段中的请求方法为ACK,并且序号为2,在之前的请求基础上加上1。终端电话机A根据407消息中的鉴权信息,如nonce值等信息,重新生成注册信息,发送给服务器。4.代理服务器尝试呼叫电话机B代理服务器接收到电话机A发来的鉴权信息后,验证通过,给被叫电话机B发送呼叫请求,并同时给电话机A发送一个试呼(Trying)消息,表示正在尝试对SIPURL为82888@192.168.1.240电话机B进行呼叫。如图为代理服务器尝试呼叫电话机B。Source:proxy192.168.1.240destination:A192.168.1.1285.代理服务器给电话机A试呼(Trying)消息,表示正在尝试对电话机B进行呼叫如图为代理服务器给电话机A发送一个试呼响应。Source:proxy192.168.1.240destination:A192.168.1.1026.电话机B给代理服务器发送振铃响应当电话机B接收到代理服务器的呼叫请求后,接收代理服务器的请求后,给代理服务器发送一个被叫振铃响应,表示被叫用户已经得到代理服务器的请求,正在振铃提示被叫用户。Source:proxy192.168.1.128destination:A192.168.1.2407.代理服务器B的振铃响应发送给电话A代理服务器在接收到电话用户B发来的振铃相应后立即将消息发送给电话A,表示在线路上双方的通话已经没有任何的问题,等待的就是电话B的摘机相应。Source:proxy192.168.1.240destinationA192.168.1.1028.电话机B用户摘机发送给服务器在察觉到电话振铃之后,电话B的用户摘机,这样就表示电话用户B接收电话用户A的请求。Source:proxy192.168.1.128destination:A192.168.1.2409.代理服务器接收到电话机B的应答后,将电话机B的响应发送给电话A代理服务器接收到电话B的应答之后马上将电话B的响应发送给电话A,表示电话B接收了电话A的呼叫请求,呼叫双方可以通话了。Source:proxy192.168.1.240destination:A192.168.1.102电话A在接收到代理服务器发来的确认可以通话的信息后,电话A通过代理服务器给电话B发送一个确认信息。表示已经接收到可以通话的信息,并确认自己现在已经准备好,可以通话了。10.电话机B接收到代理发来的确认消息后,进入会话状态在电话B接收到代理发来的确认消息后,双方就进入会话状态,通过RTP数据包放在UDP包中传送。Source:proxy192.168.1.240destination:A192.168.1.12811.电话B机向代理服务器发送BYE请求Source:proxy192.168.1.128destination:A192.168.1.24012.代理服务器将BYE请求转发给话机A代理服务器在接收到话机B的BYE请求后,将BYE请求转发给话机A,过程如图所示。Source:proxy192.168.1.240destination:A192.168.1.10213.话机A回复B的BYE请求200(OK)响应话机A收到代理服务器发来的话机B的BYE请求后,通过中间代理服务器回复B一个200(OK)响应。Source:A192.168.1.102destination:proxy192.168.1.24014.话机B确认话机A已收到自己的BYE请求话机B在接收到中间代理服务器发送的200(OK)响应后,确认话机A已收到自己的BYE请求。Source:A192.168.1.240destination:proxy192.168.1.128
本文标题:交换原理实验sip信令分析实验报告
链接地址:https://www.777doc.com/doc-2743351 .html