sip协议

来源:互联网 发布:json rpc rest 区别 编辑:程序博客网 时间:2024/05/22 18:10

它不定义要建立的会话的类型,而只定义应该如何管理会话

SIP消息是基于文本的

SIP 独立于传输层

用来为运营商网络构建基于 SIP 的应用程序以及 SIP 软件。网络设备供应商 (NEV) 正在开发支持 SIP 信令和服务的硬件

如今,有众多 IP 电话、用户代理、网络代理服务器、VOIP网关、媒体服务器和应用服务器都在使用 SIP。

尽管 SIP 使用自己独特的用户代理和服务器

SIP 能够在多台 PC 和电话上完成网络消息,模拟 Internet 建立会话。

SIP协议是一个Client/Sever协议,因此SIP消息分两种:请求消息和响应消息。请求消息是SIP客户端为了激活特定操作而发给服务器端的消息

常用的SIP请求消息如下:

  • INVITE:表示主叫用户发起会话请求,邀请其他用户加入一个会话。也可以用在呼叫建立后用于更新会话(此时该INVITE又称为Re-invite)。
  • ACK:客户端向服务器端证实它已经收到了对INVITE请求的最终响应。
  • PRACK:表示对1xx响应消息的确认请求消息。
  • BYE:表示终止一个已经建立的呼叫。
  • CANCEL:表示在收到对请求的最终响应之前取消该请求,对于已完成的请求则无影响。
  • REGISTER:表示客户端向SIP服务器端注册列在To字段中的地址信息。
  • OPTIONS:表示查询被叫的相关信息和功能。
SIP协议中的响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。
常用的一些响应消息:
  • 100试呼叫(Trying)
  • 180振铃(Ringing)
  • 181呼叫正在前转(Call is Being Forwarded)
  • 200成功响应(OK)
  • 302临时迁移(Moved Temporarily)
  • 400错误请求(Bad Request)
  • 401未授权(Unauthorized)
  • 403禁止(Forbidden)
  • 404用户不存在(Not Found)
  • 408请求超时(Request Timeout)
  • 480暂时无人接听(Temporarily Unavailable)
  • 486线路忙(Busy Here)
  • 504服务器超时(Server Time-out)
  • 600全忙(Busy Everywhere)
基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标准规范风格,其优越性已在过去的实践中得到了充分的证明(如今广为流行的邮件协议SMTP就是 这样的一个例子)。

SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单。





0 0
原创粉丝点击