欢迎来到天天文库
浏览记录
ID:9777944
大小:44.50 KB
页数:4页
时间:2018-05-08
《sip 学习入门范例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、5月7日SIP学习入门范例(1)学习SIP协议最快捷的方法是通过范例来学习,因此我从UnderstandSIP上找了4个最简单呼叫过程来分析。通过对这些流程图以及每个呼叫所包含的消息体文本分析,尽快熟悉SIP呼叫原理。PS.如果有什么地方说明不妥,请告诉我一、基本SIP会话建立范例下面的流程图显示出最简单的SIP呼叫流程。它由两个呼叫终端组成(其实真正的系统并没有这么简单),呼叫终端可以为SIP电话机或者具备SIP功能的手机等终端设备。在这里我们假设它是能够连接到IP网的终端设备,并且它们已经知道对方的IP地址。PS.因为这是第一节,每个字段我们
2、讲得会比较详细,后面章节如何字段意义差不多,我们将会省略。对于某些常用的,有重要意义的字段,我们还将在专门的地方说明。INVITE主叫方Tesla首先发起INVITE消息到被叫方Marconi。INVITE消息包含会话类型和一些呼叫所必须的参数。会话类型可能是单纯的语音,也可能是网络会议所用的多媒体视频,还可能是游戏会话。下面是消息体范例,我们来详细分析各个字段的意义:INVITEsip:marconi@radio.orgSIP/2.0 <= 请求方法、请求地址(Request-URI)、SIP版本号(目前都是SIP/2.0) <
3、=请求地址一般就是被叫方地址,跟MSN中好友eMail地址类似Via:SIP/2.0/UDPlab.high-voltage.org:5060;branch=z9hG4bKfw19b <=SIP版本号(2.0)、传输类型(UDP)、呼叫地址、 <=branch是一随机码,它被看作传输标识 <=Via字段中地址是消息发送方或代理转发方设备地址,一般由主机地址和端口号组成 <=传输类型可以为UDP、TCP、TLS、SCTPMax-Forwards:70 <=最大跳跃数,就是经过SIP服务器的跳跃次数,主要
4、是防止循环跳跃 <=每尽管一台代理服务器,该整数减一To:G.MarconiFrom:NikolaTesla;tag=76341 <=表示请求消息的发送方和目标方 <=如果里面有用户名标签,地址要求用尖括号包起来 <=对于INVITE消息,可以在From字段中包含tag,它也是个随机码Call-ID:123456789@lab.high-voltage.org <=呼叫ID是由本地设备生成的,全局唯一值。每
5、次呼叫该值唯一不变 <=对于用户代理发送INVITE消息,本地将生成Fromtag和Call-ID全局唯一码,被叫方代理则生成Totag全局唯一码。这三个随机码做为整个对话中对话标识(dialogindentifier)在通话双方使用。CSeq:1INVITE <=CSeq,又叫命令队列(CommandSeqence),每发送一个新的请求,该数自动加1* 以上几个字段是所有SIP消息体所必须的,其它头字段有些是可选的,有些在特定请求也是必须Subject:AboutThatPowerOutage...Contact:6、tesla@lab.high-voltage.org> <=Contact是INVITE消息所必须的,它用来路由到被叫设备地址,也称为用户代理(UA)Content-Type:application/sdpContent-Length:158 <=最后两位附属字段说明消息体类型以及字段长度v=0 <=SDP版本号,目前都是0o=Tesla28908445262890844526INIP4lab.high-voltage.org <=主叫源地址,类型等s=PhoneCall <=主题c=INIP4100.101.102.103 7、 <=连接t=00 <=时间戳m=audio49170RTP/AVP0 <=媒体a=rtpmap:0PCMU/8000 <=媒体属性 <=从上面SDP消息体我们可以得出下面信息 <=连接IP地址:100.101.102.103 <=媒体格式:audio <=端口号:49170 <=媒体传输类型:RTP <=媒体编码:PCMuLaw <=采样率:8000Hz180Ringing当被叫方接收到INVITE请求消息后,将回复180Ringing。顾名思义,就是发回铃8、音,提示主叫方电话已连接上了,正等待被叫应答。被叫方接收到INVITE消息后也会发生响铃或者其它有呼入提示,这由被叫方设定(我们可以把它
6、tesla@lab.high-voltage.org> <=Contact是INVITE消息所必须的,它用来路由到被叫设备地址,也称为用户代理(UA)Content-Type:application/sdpContent-Length:158 <=最后两位附属字段说明消息体类型以及字段长度v=0 <=SDP版本号,目前都是0o=Tesla28908445262890844526INIP4lab.high-voltage.org <=主叫源地址,类型等s=PhoneCall <=主题c=INIP4100.101.102.103
7、 <=连接t=00 <=时间戳m=audio49170RTP/AVP0 <=媒体a=rtpmap:0PCMU/8000 <=媒体属性 <=从上面SDP消息体我们可以得出下面信息 <=连接IP地址:100.101.102.103 <=媒体格式:audio <=端口号:49170 <=媒体传输类型:RTP <=媒体编码:PCMuLaw <=采样率:8000Hz180Ringing当被叫方接收到INVITE请求消息后,将回复180Ringing。顾名思义,就是发回铃
8、音,提示主叫方电话已连接上了,正等待被叫应答。被叫方接收到INVITE消息后也会发生响铃或者其它有呼入提示,这由被叫方设定(我们可以把它
此文档下载收益归作者所有