比如首先A通过SIP服务器呼叫B的时候,A首先注册到SIP服务器上,注册过程要2次,A发送注册请求给sip服务器,带有REGISTER请求报文,然后sip服务器收到了会回应401 unauthorized 无权限,并携带www-authenticate来方式告诉A要什么样的认证方式和本次的nonce。然后A重新发REGISTER并把nonce和releram和user加密的方式发给sip服务器。服务器收到了后按方式来验证并respose给A,要是回200 ok说明注册成。
包头的from 必须带tag to可以不带tag 下面的是摘自网上的说明。
From字段:指明该REGISTER请求消息由UAS(IP地址:192.169.1.102)控制的UAC发起的。
To字段:指明REGISTER请求接收方的地址。此时REGISTER请求的接收方为IP地址为192.169.1.230的UAS。(这个值和To头域的值相同,除非这个请求是第三方发起的注册请求。)
Call-ID字段:UAC发出的给某个注册服务器(registrar)的所有注册请求都应该有相同的Call-ID头域值。如果相同的客户端用了不同的Call-ID值,注册服务器(registrar)就不能检测是否一个REGISTER请求由于延时的关系导致了故障。
Cseq字段:Cseq值保证了REGISTER请求的正确顺序。一个UA为每一个具备相同的Call-ID的REGISTER请求顺序递增这个Cseq字段。
Contact字段:在REGISTER请求中的Contact字段指明用户可达位置。
Expires字段:表示该登记生存期为600s。
Content-Length字段:表明此请求消息消息体的长度为空,即此消息不带会话描述。