IP电话机、视频可视电话通信产品及组网方案

SIP呼叫模式中用户注册信息

时间:2019-10-31 11:21 作者:admin 分享到:
        由于用户的IP地址在以下几种情况下可能会变化:用户是通过ISP提供的动态地址连接,用户是通过DHCP提供地址的LAN连接或用户漫游,在不同的地点登录。为了通 过SIP地址联系到这个用户,SIP网络的注册服务器需要维护一个SIP地址到IP地址的映像。注册服务器的主要功能是接收用户的注册请求。同一个服务器也可以实现其他 SIP功能(如代理服务)。注册服务器需要知道用户的当前地址。
        当用户在一个主机上登录时,客户端发出的第一个请求很可能是REGISTER,用这个请求向服务器提供用户当前的地址信息,以保证SIP会话能到达这个用户,这个请求与 H. 323协议中终端和关守之间的注册请求类似。
图     是一个用户注册的示例
       在该示例中,设Collins已经登录到主机stationl. work, com,他需要告诉系统他当前所在位置,为此,他发送一个REGISTER请求到本地的注册服务器。该消息的格式为:
       C------S: REGISTER sip: register.work.com SIP/2.0
                Via:SIP/2. 0/UDP stationl. work, com
                From:sip:Collins@work. com
                To:s ip:Col1ins @ work.com
                Call-ID:123456@ stationl.work.com
                CSeq:1 REGISTER
                Contact: Sip:
                Collins @ stationl.work.com Expires:7200 Content-Length = 0
       在REGISTER请求消息的起始行中的Via字段包含这个请求当前所占用的路径,客户端将自己的地址“SIP/2. 0 UDP stationl. work, com”插入到这个字段中。同时要注意Via字 段的格式,特别是这个头部所规定的传输协议,其默认值是UDP。From头部字段用来指出 发起这个注册的用户的地址,To头部字段用来指出正在被注册的用户的地址,也即注册服 务器将为这个用户存储其当前所在位置。这里需要注意,To头部字段并不是用来包含注册服务器地址的,注册服务器的地址在请求的起始行的URL中指出。在Contact字段说明了 注册用户当前所在的地址是“Sip:Collins @ stationl. work, com”。
       起始客户端设置“Call-ID:”头部字段,对于某个单独的客户端,所有的REGISTER 请求应使用相同的Call-ID值,为了避免不同的客户端会选择相同的Call-ID值,推荐 Call-ID的语法形式为l〇Cal-id@h〇st,这样就使得Call-ID与本地主机相关。
        REGISTER请求没有包含消息体,因为这个消息不必对会话进行任何描述,因此 Content-Length 字段设置为 0。
        注册服务器收到REGISTER请求后,记录用户的当前地址,确定用户的注册时间, 然后向客户端发送应答消息,该消息的格式为:
         S—C: SIP/2. 0 200 OK
                  Via:SIP/2. 0/UDP stationl. work, com
                  From:sip:Collins@work. com
                  To:s ip:Col1ins @ work.com
                  Call-ID:123456@ stationl.work.com
                  CSeq:1 REGISTER
                  Contact: Sip:
                  Collins @ stationl.work.com
                  Expires:3600
                 Content-Length = 0
        在应答行中的状态码为“200(OK)”,表示注册请求已成功完成。要注意的是应答消息 屮的Via字段、From字段、To字段、Call-ID字段、CSeq字段和Contact字段都是从请求消息 屮复制的。一个应答消息与其相对应的请求消息的CSeq值必须相同。
        在请求消息中.Collins指出以对Collins呼叫请求的SIP消息应该被发送到Sip: collins@stationl. work, com,通过使用Expires头部来请求这个注册的有效期为2个小 时,注册服务器没能满足其请求,把期限压缩到1个小时。注册服务器可以改变某一给定注册有效的时间.,不过,如果注册服务器选择改变的话,它通常只能设置一个比所请求的 时间少的时间,而不可能设置一个比请求的时间多的时间间隔。Expires头部往往以指明为 以秒为单位的整数,也可指明为日期和时间。在指定的时间以秒为单位的情况下,其最大值是注册服务器所能达到的上限值,大约是136年,这个值对于任何应用都是足够的。
       当用户在一个终端注册之后,还可以注册到其他终端上,这种情况下,两个注册都是 起作用的,并且之后对该用户的请求或访问将选路到这两个终端上。当然,在注册第二个位置之前,用户可以取消当前存在的注册,这个过程需要发送另一个REGISTER请求, 请求消息中的地址记录和Contact字段与第一个是相同的,而注册时间间隔指明为0。这 种情况下,REGISTER请求中的头部字段将与第一个REGISTER请求消息的头部相同, 只是CSeq整数值是递增后的值,Expires头部字段的值为0。如果用户打算取消所有的现存注册,那么它将发送一个REGISTER消息,Expires头部字段的值设置为0,并且Contact 头部字段采用通配符“ (星号)。Expires头部的值为0表明它将取消一个注册,“Contact”头部值为表明这个取消请求要应用于所有的关于该用户的联系信息。

版权所有:IP电话:http://www.g3voip.com 转载请注明出处

热销IP电话产品hot products