SIP 学习入门范例4.doc_第1页
SIP 学习入门范例4.doc_第2页
SIP 学习入门范例4.doc_第3页
SIP 学习入门范例4.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIP 学习入门范例 (4)四、SIP 状态和及时短消息范例 这个实例最简单的说法就是,利用 SIP 获取好友状态信息以及发送及时消息。我们经常用的 QQ 或MSN 就是这种方式。一方用户可以获取另一方用户状态信息。状态信息用来表示该用户目前的工作状态,例如:工作中、休息中等等。目前新版本的聊天工具还可以显示个人消息的能力。 在 SIP 协议中,规定可以使用 SUBSCRIBE 来请求状态或者改写状态,用 NOTIFY 获得状态信息。在本例中,Chebychev 希望和 Possion 通信。为了能够知道 Possion 的状态情况,Chebychev 通过发送 SUBSCRIBE 订阅 Possion 状态信息,消息内容如下: SUBSCRIBE sip: SIP/2.0Via SIP/2.0/TCP lecturehall21.academy.ru:5060;branch=z9hG4bK348471123Max-Forwards: 70To: M. Poisson From: P. L. Chebychev ;tag=21171Call-ID: 58dkfj34924lk34452k592520CSeq: 3412 SUBSCRIBEAllow-Events: presenceAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEContact: Event: presenceContent-Length: 0 Poisson 接收到 SUBSCRIBE 消息后,发送 202 Accepted 响应返回到 Chebychev SIP/2.0 202 AcceptedVia SIP/2.0/TCP lecturehall21.academy.ru:5060;branch=z9hG4bK348471123;received=To: M. Poisson ;tag=25140From: P. L. Chebychev ;tag=21171Call-ID: 58dkfj34924lk34452k592520CSeq: 3412 SUBSCRIBEAllow-Events: presenceAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEContact: Event: presenceExpires: 3600Content-Length: 0 之后,Possion 向 Chebychev 发送 NOTIFY消息,表示其当前状态 NOTIFY sip:pafnutylecturehall21.academy.ru SIP/2.0Via SIP/2.0/TCP :5060;branch=z9hG4bK4321Max-Forwards: 70To: P. L. Chebychev ;tag=21171From: M. Poisson ;tag=25140Call-ID: 58dkfj34924lk34452k592520CSeq: 1026 NOTIFYAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEAllow-Events: dialogContact: Subscription-State: active;expires=3600Event: presenceContent-Type: application/cpim-pidf+xmlContent-Length: 244 closed Chebychev 发送 200 OK 响应 NOTIFY SIP/2.0 200 OKVia SIP/2.0/TCP :5060;branch=z9hG4bK4321;received=To: P. L. Chebychev ;tag=21171From: M. Poisson ;tag=25140Call-ID: 58dkfj34924lk34452k592520CSeq: 1026 NOTIFYContent-Length: 0 之后,当 Poisson 登陆后,再次发送 NOTIFY 消息 NOTIFY sip:pafnutylecturehall21.academy.ru SIP/2.0Via SIP/2.0/TCP :5060;branch=z9hG4bK334241Max-Forwards: 70To: P. L. Chebychev ;tag=21171From: M. Poisson ;tag=25140Call-ID: 58dkfj34924lk34452k592520CSeq: 1027 NOTIFYAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEAllow-Events: presenceContact: Subscription-State: active;expires=1800Event: presenceContent-Type: application/cpim-pidf+xmlContent-Length: 325 open sip:;transport=tcp Chebychev 发 200 OK 确认 SIP/2.0 200 OKVia SIP/2.0/TCP :5060;branch=z9hG4bK334241;received=To: P. L. Chebychev ;tag=21171From: M. Poisson ;tag=25140Call-ID: 58dkfj34924lk34452k592520CSeq: 1027 NOTIFYContent-Length: 0 现在 Chebychev 已经知道 Possion 在线了,开始发送及时消息。 MESSAGE sip: SIP/2.0Via SIP/2.0/TCP lecturehall21.academy.ru:5060;branch=z9hG4bK3gtr2Max-Forwards: 70To: M. Poisson From: P. L. Chebychev ;tag=4542Call-ID: 9dkei93vjq1ei3CSeq: 15 MESSAGEAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEContent-Type: text/plainContent-Length: 9Hi There! 注意到这里,MESSAGE 是独立与会话的,它不属于任何会话。每个消息都含有一个新的 Call-ID 和 From tag。200 OK 用来确认收到该信息。 SIP/2.0 200 OKVia SIP/2.0/TCP lecturehall21.academy.ru:5060;branch=z9hG4bK3gtr2;received=To: M. Poisson ;tag=2321From: P. L. Chebychev ;tag=4542Call-ID: 9dkei93vjq1ei3CSeq: 15 MESSAGEContent-Length: 0 Possion 开始回复消息 MESSAGE sip:chebychevacademy.ru SIP/2.0Via SIP/2.0/TCP :5060;branch=z9hG4bK4526245Max-Forwards: 70To: P. L. Chebychev From: M. Poisson ;tag=14083Call-ID: lk34452k592520CSeq: 2321 MESSAGEAllow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGEContent-Type: text/plainContent-Length: 30Well, hello there to you, too! 收到消息后,发 200 OK SIP/2.0 200 OKVia SIP/2.0/T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论