



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5月7日SIP 学习入门范例 (1)学习 SIP 协议最快捷的方法是通过范例来学习,因此我从 Understand SIP 上找了4个最简单呼叫过程来分析。通过对这些流程图以及每个呼叫所包含的消息体文本分析,尽快熟悉 SIP 呼叫原理。 PS. 如果有什么地方说明不妥,请告诉我 一、基本 SIP 会话建立范例 下面的流程图显示出最简单的 SIP 呼叫流程。它由两个呼叫终端组成(其实真正的系统并没有这么简单),呼叫终端可以为 SIP 电话机或者具备 SIP 功能的手机等终端设备。在这里我们假设它是能够连接到 IP 网的终端设备,并且它们已经知道对方的 IP 地址。 PS. 因为这是第一节,每个字段我们讲得会比较详细,后面章节如何字段意义差不多,我们将会省略。对于某些常用的,有重要意义的字段,我们还将在专门的地方说明。 INVITE 主叫方Tesla首先发起 INVITE 消息到被叫方Marconi。INVITE 消息包含会话类型和一些呼叫所必须的参数。会话类型可能是单纯的语音,也可能是网络会议所用的多媒体视频,还可能是游戏会话。下面是消息体范例,我们来详细分析各个字段的意义: INVITE sip: SIP/2.0 请求方法、请求地址(RequestURI)、SIP 版本号(目前都是 SIP/2.0) 请求地址一般就是被叫方地址,跟 MSN 中好友 eMail 地址类似Via: SIP/2.0/UDP :5060;branch=z9hG4bKfw19b SIP 版本号(2.0)、传输类型(UDP)、呼叫地址、 branch是一随机码,它被看作传输标识Via 字段中地址是消息发送方或代理转发方设备地址,一般由主机地址和端口号组成 传输类型可以为 UDP、TCP、TLS、SCTPMax-Forwards: 70 最大跳跃数,就是经过 SIP 服务器的跳跃次数,主要是防止循环跳跃 每尽管一台代理服务器,该整数减一To: G. Marconi From: Nikola Tesla ;tag=76341 表示请求消息的发送方和目标方 如果里面有用户名标签,地址要求用尖括号包起来 对于 INVITE 消息,可以在 From 字段中包含 tag,它也是个随机码Call-ID: 123456789 呼叫ID是由本地设备生成的,全局唯一值。每次呼叫该值唯一不变 对于用户代理发送 INVITE 消息,本地将生成 From tag 和 Call-ID 全局唯一码,被叫方代理则生成 To tag 全局唯一码。这三个随机码做为整个对话中对话标识(dialog indentifier)在通话双方使用。CSeq: 1 INVITE CSeq,又叫命令队列(Command Seqence),每发送一个新的请求,该数自动加1*以上几个字段是所有 SIP 消息体所必须的,其它头字段有些是可选的,有些在特定请求也是必须Subject: About That Power Outage.Contact: Contact 是 INVITE 消息所必须的,它用来路由到被叫设备地址,也称为用户代理(UA)Content-Type: application/sdpContent-Length: 158 最后两位附属字段说明消息体类型以及字段长度 v=0 SDP版本号,目前都是 0o=Tesla 2890844526 2890844526 IN IP4 主叫源地址,类型等s=Phone Call 主题c=IN IP4 03 连接t=0 0 时间戳m=audio 49170 RTP/AVP 0 媒体a=rtpmap:0 PCMU/8000 媒体属性 从上面 SDP 消息体我们可以得出下面信息 连接 IP 地址:03 媒体格式:audio 端口号:49170 媒体传输类型:RTP 媒体编码:PCM u Law 采样率:8000 Hz 180 Ringing 当被叫方接收到 INVITE 请求消息后,将回复 180 Ringing。顾名思义,就是发回铃音,提示主叫方电话已连接上了,正等待被叫应答。被叫方接收到 INVITE 消息后也会发生响铃或者其它有呼入提示,这由被叫方设定(我们可以把它想象成我们自己设定手机铃声)。对于 180 响应又被称为“消息及时响应”,它是一种用来测试被叫状态的一种响应。因此它所包含的信息不多,具体 180 响应消息如下: SIP/2.0 180 RingingVia: SIP/2.0/UDP :5060;branch=z9hG4bKfw19b;received=03 这里增加一个 received 参数,标识接收方 IP 地址To: G. Marconi ;tag=a53e42 上已提到,To tag 做为被叫方标识From: Nikola Tesla ;tag=76341要求很发送方 From tag 一致Call-ID: 123456789CSeq: 1 INVITEContact: Content-Length: 0 对于 180 Ringing 响应,基本上就是将 INVITE 的 Via、To、From、Call-ID 和 CSeq 内容复制过来,对于首行标出 SIP 版本号,响应代码(180)和动作原因(reason phrase) 注意这里 From 和 To 地址,因为它们用来指定呼叫方向,因此这里的 200 OK 响应并没有将地址对调,仍然保持原样。一点不同的是 To 头字段添加了由被叫方 Marconi 生成的 tag 标识 200 Ok 被叫响铃后,如果被叫用户 Marconi 接起电话,则发出 200 OK 响应。这个响应除了做为接通指示之外,还有一个功能是用来指定被叫允许的连接媒体格式,让主叫方确认是否可以接收该媒体。消息体如下: SIP/2.0 200 OKVia: SIP/2.0/UDP :5060;branch=z9hG4bKfw19b;received=03To: G. Marconi ;tag=a53e42From: Nikola Tesla ;tag=76341Call-ID: 123456789CSeq: 1 INVITEContact: Content-Type: application/sdpContent-Length: 155 头字段部分基本同上v=0o=Marconi 2890844528 2890844528 IN IP4 s=Phone Callc=IN IP4 03t=0 0m=audio 60000 RTP/AVP 0a=rtpmap:0 PCMU/8000 从上面 SDP 消息体我们可以得出下面信息 终端 IP 地址:03 媒体格式:audio 端口号:60000 媒体传输类型:RTP 媒体编码:PCM u Law 采样率:8000 Hz ACK 通话前最后一步是主叫方确认 200 OK响应。该项确认证明连接被允许,即将使用另一种协议开始媒体连接。这另一种协议是上面在 SDP 消息段中所协商好的 RTP 格式。该 ACK 响应内容如下: ACK sip: SIP/2.0Via: SIP/2.0/UDP :5060;branch=z9hG4bK321gMax-Forwards: 70To: G. Marconi ;tag=a53e42From: Nikola Tesla ;tag=76341Call-ID: 123456789CSeq: 1 ACKContent-Length: 0 BYE 通话完毕后,由被叫方 Marconi 首先挂机,发送 BYE 请求命令。注意这回由 Marconi 做为主叫方了,因此 Via 字段和 From、To 与 INVITE 字段有所不同。其实也就是倒置。 BYE sip: SIP/2.0Via: SIP/2.0/UDP :5060;branch=z9hG4bK392kfMax-Forwards: 70To: Nikola Tesla ;tag=76341From: G. Marconi ;tag=a53e42Call-ID: 123456789CSeq: 1 BYEContent-Length: 0 200 OK BYE 之后,要求被叫方发 200 Ok 确认,也就是让主叫知道被叫已经知道你挂断了。(注意这里所说的主被叫角色已经倒过来了)打个比方,通话之后,有一方要求挂机,另一方需要知道它已经挂机了。 SIP/2.0 200 OKVia: SIP/2.0/UDP :5060;branch=z9hG4bK392kf;received=03To: Nikola Tesla ;tag=7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点详解人教版八年级物理上册第5章透镜及其应用专项测评试题(含详解)
- 公安事业编考试题及答案
- 长沙教师教育学知识培训课件
- 消防维保国考题库及参考答案详解【典型题】
- 国考行测题库结构带答案详解
- 计算机国考题库附答案详解(轻巧夺冠)
- 许昌国考常识题库附参考答案详解(培优)
- 国考行测题库比例含答案详解【轻巧夺冠】
- 焊工国考题库及完整答案详解(历年真题)
- 国考题库及答案详解一套
- 火灾原因分析及事故案例
- 技术开发合同补充协议
- 纪委委员工作职责
- 口腔执业医师助理资格考试模拟试卷带答案
- 关于成立公司双重预防体系领导小组的通知
- 中小学教师职称评审讲课答辩英语学科全英答辩题目汇编(带汉语翻译)
- 【公开课课件】二年级下册写话《彩虹色的花》绘本写话
- 12345职能部门培训
- 房屋招租招标文件
- 北师大版五年级数学上册《第二单元》测试卷及答案
- 2024年网络安全知识竞赛考试题库500题(含答案)
评论
0/150
提交评论