SIP协议基础学习

基本概念

  • UAC和UAS
  • UA:启动了SIP的设备(user agent)
  • UAC:UA的客户端(user agent client)
  • UAS:UA的服务端(user agent server)
  • UAC和UAS判断方法:一边来说发出sip请求的是UAC,而发出响应的是UAS。在一个流程中,一个设备可能既是sip消息的发出者又是接收者,因此它既是UAC又是UAS
  • B2BUA
  • Back to back UA:背靠背用户代理。指一个设备同时扮演UAC和UAS,在结束一个sip对话的同时,生成一个新的sip对话。
  • 对话(dialog)
  • dialog:简单讲是一次呼叫上下文,由Call-ID、from-tag、to-tag来确定一个对话。
  • 早期和最终对话:从主叫发出invite到收到针对180(被叫响铃),早期dialog建立。从主叫发出invite到收到针对invite的200响应(被叫摘机),最终dialog建立
  • 终结:早起对话由Cancel终结(取消呼叫),最终对话由bye(主叫或被叫挂断)终结
    生命周期:从主叫发出invite到挂机后的200响应
  • 事务

SIP是基于事务的协议,一次呼叫由多个事务组成。事务通过Cseq来标识。简单说,一个设备发出SIP请求,到收到该请求的最终响应(183、180是中间响应),视为一个事务。

  • invite事务和非invite事务:invite需要一个类似三次握手机制来保证会话双方确保事务的完整性,即request-response-ack。因此事务根据是否会为响应生成一个ack消息分为invite和非invite事务
  • ack消息属于一个特殊的例子,它不需要响应,单独构成一个事务
  • 一个对话包含多个事务
  • 会话

会话和SDP媒体流有关。

在这里插入图片描述

SIP消息构成

SIP消息分为请求和响应两类,一个请求及其对应的一个或多个响应构成一个SIP操作。其中SIP的请求方法标识出不同的操作类型。SIP是一种在IP网络中建立、修改和终止多媒体会话的应用层协议。

  • 构成

SIP消息运用了IP协议,是基于文本的协议,使用UTF-8字符集,结构同HTTP消息类似。
请求行/状态行 + 消息头 + 消息体

  • 请求行
  • 格式:Method(方法名)+ Request-URI(指示请求的用户或者服务的地址信息)+ SIP-Version(版本信息)+ CRLF
    举例:INVITE sip:bob@zte.com SIP/2.0 /r/n

sip请求类型

  • 状态行

格式:SIP-Version + Status-Code(状态码)+ Reason-Phrase(状态码含义)+ CRLF
举例:SIP/2.0 200 OK /r/n

sip响应状态码
常见sip响应状态码
更具体的sip协议解释

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值