SIP VOIP 入门

要了解SIP首先要清楚系统是如何定义终端(endpoint)位置的。SIP中使用三种部分以定位一个终端,SIP URI,联络地址和媒体地址。SIP URI用于标识SIP用户,而不是位置,它与电子邮件类似,实际上看起来和电子邮件地址是一样的。典型的SIP URI地址包含电话号码,甚至MAC地址,可能看起来是[email protected],但可能是[email protected]。联系地址反映了你的身份和地址。ATA或IP电话上注册过程中需要联系人的地址,可能是[email protected],其中192.168.1.120就是终端的IP地址。媒体地址用来接收媒体或语音(RTP)和终端可以是相同的192.168.1.120。

注册

启动VoIP的第一步就是注册。SIP注册过程如下:

sip_register

注册过程是指终端发SIP REGISTER请求给VoIP服务提供商(SIP服务器),告诉服务器自身的具体位置,以便当有人请求此用户时服务器能够找到它。该请求中包含了用户的联系人列表。用户注册过程包含三个步骤,首先是用户发送请求,之后SIP服务器将发回指令,要求用户正确相应(一般为要求用户提供有效用户名和密码)的SIP服务器用户验证,验证通过后系统将用户登记在本地的联系人数据库。最后服务器返回200 OK给客户,其中在Contact Header中包含客户的当前联络地址列表。

通过一定周期的注册过程,UA(用户代理,及终端)将所在地址发给SIP服务器,以便当服务器收到针对此终端的INVITE请求时,能够将次请求正确的转发到相应的地址。由于UA已经与服务器完成了认证,再次发送请求时会提供验证信息,服务器则不会发挥一个要求验证的407错误。

SIP用于设置和管理IP网络上的媒体会话(例如最典型的RTP语音流),在请求 – 响应的模式下运作。

通过SIP建立一个通话

SIP =Session Initiation Protocol 会话初始化协议,

sip_call_basic

上述例子是两个SIP端点之间的基本呼叫演示。两个UA之间直接通信,主叫方发送呼叫邀请给被叫方进行通话呼叫。媒体流建立后表示双方开始进行语音会话,两方通话终止后,媒体流也随即停止。