SIP是什么?

InteropNet实验室白皮书。

SIP是会话发起协议。在IP和传统电话中,网络工程师总是对语音通话的两个不同阶段做出明确区分。第一阶段是“呼叫设置”,包括让两个电话通话所需的所有细节。一旦通话设置完毕,手机就会进入通话的“数据传输”阶段,使用完全不同的协议系列在两部手机之间实际移动语音包。在VoIP世界中,SIP是一种运行于应用层的呼叫建立协议。您可能也听说过具有类似功能的国际电联协议H.323。

SIP是一种非常灵活的协议,具有很大的深度。它被设计成一种通用的方式,在参与者群体之间建立实时多媒体会议。例如,除了简单的电话呼叫外,SIP还可以用于设置视频和音频多播会议或即时消息会议。在本文档中,我们将重点讨论SIP对VoIP的功能,以及它如何设置调用,然后使用RTP(实时传输协议)在电话之间实际发送语音数据。

SIP还具有很大的广度,因为它不仅仅处理呼叫设置。下表从VoIP的角度展示了SIP的5个主要功能。

函数

描述

用户位置和注册

终端(电话)通知SIP代理其位置;SIP确定哪些端点将参与呼叫。

用户可用性

终端使用SIP来确定他们是否“应答”一个呼叫。

用户功能

终端使用SIP来协商媒体功能,例如就相互支持的语音编解码器达成一致。

会议设置

SIP告诉终端它的电话应该“振铃”;SIP用于对主叫和被叫使用的会话属性达成一致。

会话管理

SIP协议主要用于呼叫转移、终止呼叫以及在通话中更改呼叫参数(如增加三方会议)。

关于SIP的一个美妙之处是,它是基于HTTP中使用的请求/响应模型的基于文本的协议。这使得调试变得很容易,因为消息很容易构造(如果您是开发人员),也很容易看到(如果您是网络管理员)。与H.323相比,SIP是一种非常简单的协议。然而,它有足够强大的功能来模拟一个非常复杂的传统电话PBX的行为。

SIP可以运行于IPv4和IPv6,它可以使用TCP或UDP。不过,最常见的实现使用IPv4和UDP。这将最小化开销,从而提高性能。

尽管两个SIP设备可以直接彼此通信,但它们通常将使用一个充当SIP代理的中间系统。请注意,SIP代理只参与SIP消息——一旦呼叫建立起来,电话将直接向对方发送语音流量,而不涉及代理。SIP代理在卸载任务和简化端站电话的实现方面非常有用。例如,一个SIP电话可能想要呼叫分机4094的另一个电话。尽管电话可以通过某种神奇的方式将4094转换为IP地址或位置,但它通常只是将其呼叫请求发送到自己的SIP代理。SIP代理的工作是了解“4094”的真正含义:那是电话吗?一个auto-attendant系统?也许是几部电话同时响起?

我们通常认为电话是有数字地址的。在SIP中,端站具有标识它的SIP URI (URL的一种形式),并在SIP协议中使用。因为电话通常有数字键盘,所以电话负责将您所拨打的号码(如分机4094)转换为SIP URL(如SIP:4094@sip.ilabs.interop.net)。您可以在我们关于“ENUM”的白皮书中了解更多关于SIP uri、传统电话号码、DNS和IP地址如何相互作用的信息。

下图显示了一个涉及双方(Alice和Bob)及其SIP代理服务器(Atlanta和Biloxi)的SIP对话框。在本例中,SIP消息被大量缩写以显示流量流。

虽然这里的图表显示,一旦Alice承认Bob已经拿起了电话,代理就不参与SIP协议,但并不是每个呼叫都以这种方式工作。代理可能选择“停留在”对话中,甚至在呼叫连接之后,以提供一些呼叫中间功能,如会议服务或会计。请注意,即使代理处于呼叫的中间,我们仍然只讨论呼叫的SIP部分——一旦呼叫建立起来,话音流量通常会直接从一个电话转到另一个电话。

SIP中的另一个常见操作称为注册。在我们的示例调用中,这可能是Biloxi代理了解Bob所在位置的方式。注册功能在电话没有静态IP地址的环境中特别有用(例如DHCP环境或当电话与其所有者一起旅行时)。在SIP中,注册服务器可以与代理服务器共存,或者它们可以是不同的系统。Bob也不局限于从单个位置注册。他可以在家里和办公室拥有注册到SIP服务器的SIP电话。然后,代理服务器负责在Bob接到电话时决定哪些电话“响”。对于SIP,这可能意味着选择一个电话来振铃,或者一次振铃所有的电话。

因为SIP用于呼叫控制,所以语音邮件和自动助理等功能不属于SIP协议本身的一部分。相反,它们是由自己发送和接收调用的端点提供的。这意味着基于SIP的VoIP网络与传统电话中的“PBX”没有真正的平行。您可能听说过术语“SIP服务器”或“SIP PBX”用于描述SIP代理服务器,但其功能完全不同。但是,可以将一些传统PBX功能集成到SIP代理服务器中,例如会议功能。例如,作为iLabs演示的一部分测试的Asterisk SIP代理服务器包括语音邮件和自动助理。在其他情况下,例如会议服务器有大量的数字信号处理需求,您可能需要一个单独的专用设备。

为了让您了解SIP有多简单,我们在这里包含了一个SIP消息:Alice的原始INVITE To Bob可能是什么样子。在此消息中,没有显示INVITE的Session Description Protocol (rfc2327)部分;SDP是表示话音流量特性的地方,例如音频编码器的选择。SIP易于阅读的格式使SIP的实现和调试比其他类似协议(如H.323)更容易。

邀请sip: bob@biloxi.com sip / 2.0

通过:SIP / 2.0 / UDP pc33.atlanta.com; = z9hG4bK77ds分支

Max-Forwards: 70

鲍勃:< sip: bob@biloxi.com >

来自:爱丽丝< sip: alice@atlanta.com >;标签= 1928301774

通话身份:a84b4c76e66710@pc33.atlanta.com

CSeq: 314159邀请

联系人:< sip: alice@pc33.atlanta.com >

内容类型:应用程序/ sdp

内容长度:142

下一个:SIP入门

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。
相关:

版权©2004Raybet2

SD-WAN买家指南:向供应商(和您自己)提出的关键问题