SIP的会话构成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SIP的会话构成相关的知识,希望对你有一定的参考价值。

参考技术A

SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。这些系统通过传输包括了 SDP 协议(用于定义消息的内容和特点)的消息来完成 SIP 会话。下面概括性地介绍各个 SIP 组件及其在此过程中的作用。 SIP 重定向服务器允许 SIP 代理服务器将 SIP 会话邀请信息定向到外部域。SIP 重定向服务器可以与 SIP 注册服务器和 SIP 代理服务器同在一个硬件上。
SIP通过以下逻辑功能来完成通信: 用户定位功能:确定参与通信的终端用户位置。 用户通信能力协商功能:确定参与通信的媒体终端类型和具体参数。 用户是否参与交互功能:确定某个终端是否加入某个特定会话中。 建立呼叫和控制呼叫功能:包括向被叫“振铃”、确定主叫和被叫的呼叫参数、呼叫重定向、呼叫转移、终止呼叫等。 以下几个情景说明 SIP 组件之间如何进行协调以在同一域和不同域中的 UA 之间建立 SIP 会话:
在同一域中建立 SIP 会话
下图说明了在预订同一个 ISP 从而使用同一域的两个用户之间建立 SIP 会话的过程。用户 A 使用 SIP 电话。用户 B 有一台 PC,运行支持语音和视频的软客户程序。加电后,两个用户都在 ISP 网络中的 SIP 代理服务器上注册了他们的空闲情况和 IP 地址。用户 A 发起此呼叫,告诉 SIP 代理服务器要联系用户 B。然后,SIP 代理服务器向 SIP 注册服务器发出请求,要求提供用户 B 的 IP 地址,并收到用户 B 的 IP 地址。SIP 代理服务器转发用户 A 与用户 B 进行通信的邀请信息(使用 SDP),包括用户 A 要使用的媒体。用户 B 通知 SIP 代理服务器可以接受用户 A 的邀请,且已做好接收消息的准备。SIP 代理服务器将此消息传达给用户 A,从而建立 SIP 会话。然后,用户创建一个点到点 RTP 连接,实现用户间的交互通信。
1.呼叫用户 B
2.查询B 在哪里
3.响应B 的 SIP 地址
4.呼叫
5.响应
6.响应
7. 多媒体通道已建立
在不同的域中建立 SIP 会话
本情景与第一种情景的不同之处如下。用户 A 邀请正在使用多媒体手持设备的用户 B 进行 SIP 会话时,域 A 中的 SIP 代理服务器辨别出用户 B 不在同一域中。然后,SIP 代理服务器在 SIP 重定向服务器上查询用户 B 的 IP 地址。SIP 重定向服务器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向服务器将用户 B 的联系信息反馈给 SIP 代理服务器,该服务器再将 SIP 会话邀请信息转发给域 B 中的 SIP 代理服务器。域 B 中的 SIP 代理服务器将用户 A 的邀请信息发送给用户 B。用户 B 再沿邀请信息经由的同一路径转发接受邀请的信息。
1. 呼叫用户 B
2. 询问B 中的用户
3. 响应
4. 呼叫域 B 的 SIP 代理
5. 查询B 在哪里
6. 用户 B 的地址
7. 代理呼叫
8. 响应
9. 响应
10.响应
11.多媒体通道已建立
无缝、灵活、可扩展:展望 SIP 未来
SIP 能够连接使用任何 IP 网络(有线 LAN 和 WAN、公共 Internet 骨干网、移动 2.5G、3G 和 Wi-Fi)和任何 IP 设备(电话、PC、PDA、移动手持设备)的用户,从而出现了众多利润丰厚的新商机,改进了企业和用户的通信方式。基于 SIP 的应用(如 VOIP、多媒体会议、push-to-talk(按键通话)、定位服务、在线信息和 IM)即使单独使用,也会为服务提供商、ISV、网络设备供应商和开发商提供许多新的商机。不过,SIP 的根本价值在于它能够将这些功能组合起来,形成各种更大规模的无缝通信服务。
使用 SIP,服务提供商及其合作伙伴可以定制和提供基于 SIP 的组合服务,使用户可以在单个通信会话中使用会议、Web 控制、在线信息、IM 等服务。实际上,服务提供商可以创建一个满足多个最终用户需求的灵活应用程序组合,而不是安装和支持依赖于终端设备有限特定功能或类型的单一分散的应用程序。
通过在单一、开放的标准 SIP 应用架构下合并基于 IP 的通信服务,服务提供商可以大大降低为用户设计和部署基于 IP 的新的创新性托管服务的成本。它是 SIP 可扩展性促进本行业和市场发展的强大动力,是我们所有人的希望所在。

sip消息 sip请求

sip消息大致被分为sip请求和sip响应

sip请求是由客户端发给服务器激活一个sip操作的消息。RFC3261定义了六种sip请求

1,INVITE--INVITE消息表明接收用户或服务器被邀请加入一个会话。也可以使用这种方式来修改先前建立会话的特性。INVITE消息体可能包含要建立或修改媒体会话的描述,使用SDP编码。INVITE的成功响应(200ok响应)表明了被叫方愿意参与会话。

2,ACK--ACK请求确认UAC(USER AGENT CLIENT)已经接收到了INVITE请求的最终响应。ACK只与INVITE一起使用。ACK用于结束一个200OK响应。前一个代理或UAC为其他最终响应发送ACK。如果INVITE请求中不含有会话描述信息,ACK可以包含一个最终会话描述的信息实体。

3,OPTIONS--UA使用OPTIONS请求向UAS(USER AGENT SERVER)查询它的功能。如果UAS可以向用户递送会话,则响应UAS的功能集。

4,BYE--UA使用BYE请求终结一个先前建立的会话。

5,CANCEL--CANCEL请求使UAC和网络服务器取消一个正在进行的请求,如INVITE。这不会影响UAC已经发送最终相应的请求。

6,REGISTER--客户端使用REGISTER请求注册它目前的位置信息。

以上是关于SIP的会话构成的主要内容,如果未能解决你的问题,请参考以下文章

sip会话流程以及sip介绍

sip会话流程以及sip介绍

SIP 会话跟踪

sip是啥

sip消息 sip请求

SIP包的分析