SIP 注册过程

原创 2015年07月10日 15:43:37
SIP协议包含两种类型的消息,一种是请求行用于发出邀请,而另一种则是状态行,用于标明当前通信的状态。请求行和状态行军包含三部分,其中每一部分以空格隔开,不论是请求行还是状态行均以CRLF换行符结束。在请求行中,三部分内容分别为Method 请求URI和SIP版本号。如下例所示:
Request-Line: REGISTER sip:192.169.1.150 SIP/2.0
在这里方法是REGISTER,也就是注册。空格之后的sip:192.169.1.150则是请求到达的URI目的地址,SIP/2.0则是SIP的版本号。
Status-Line: SIP/2.0 407 Proxy Authentication Required
状态行的例子如上所示,第一个部分和请求行的解释一样被作为SIP的版本号,第二部分则是一个状态码,类似于浏览器访问出现的404;最后一个部分则是对第二部分状态码进行一个简单的解释。
在上面两种行消息之后是消息头部,消息头部的组成也是以文本字符进行编码的。同样的,消息头部的每一个字段都是以CRLF换行作为结尾符。而每一个字段的格式如下:
Via: SIP/2.0/UDP 192.169.1.147:39814;rport;branch=z9hG4bK80051
上面是定义SIP消息头部字段格式的一种示例,冒号前面的是字段的名称,这里表示消息传递出去经过的路径;而第二部分则是传递的使用到的协议——基于UDP的SIP(SIP也可以基于TCP进行实现),第三部分则是起始地址的IP地址和端口号。第四部分的rport告诉服务器,哪里来的消息从哪里发送回去——IP和端口号都不会改变。第五部分则是一个标志ID,标志ID的前七个字母类似于一个魔数用于区别其他的协议。

下面看一个完整的SIP用户和用户代理之间的鉴权认证过程。

Session Initiation Protocol (REGISTER)
    Request-Line: REGISTER sip:192.169.1.150 SIP/2.0
        Method: REGISTER
        Request-URI: sip:192.169.1.150
        [Resent Packet: False]
    Message Header
        Via: SIP/2.0/UDP 192.169.1.147:39814;rport;branch=z9hG4bK80051
        Max-Forwards: 70
        To: <sip:102@192.169.1.150>
            SIP to address: sip:102@192.169.1.150
        From: <sip:102@192.169.1.150>;tag=z9hG4bK17086172
            SIP from address: sip:102@192.169.1.150
            SIP from tag: z9hG4bK17086172
        Call-ID: 281574552997@192.169.1.147
        CSeq: 1 REGISTER
            Sequence Number: 1
            Method: REGISTER
        Contact: <sip:102@192.169.1.147:39814;transport=udp>
            Contact URI: sip:102@192.169.1.147:39814;transport=udp
        Expires: 3600
        User-Agent: Sipdroid/3.6 beta
        Content-Length: 0


Session Initiation Protocol (407)
    Status-Line: SIP/2.0 407 Proxy Authentication Required
        Status-Code: 407
        [Resent Packet: False]
        [Request Frame: 1322]
        [Response Time (ms): 0]
    Message Header
        Via: SIP/2.0/UDP 192.169.1.147:39814;branch=z9hG4bK80051;received=192.169.1.147;rport=39814
        From: <sip:102@192.169.1.150>;tag=z9hG4bK17086172
            SIP from address: sip:102@192.169.1.150
            SIP from tag: z9hG4bK17086172
        To: <sip:102@192.169.1.150>;tag=13d0075e
            SIP to address: sip:102@192.169.1.150
            SIP to tag: 13d0075e
        CSeq: 1 REGISTER
            Sequence Number: 1
            Method: REGISTER
        Call-ID: 281574552997@192.169.1.147
        Allow: ACK, BYE, CANCEL, INFO, INVITE, MESSAGE, NOTIFY, OPTIONS, REFER, SUBSCRIBE
        User-Agent: miniSIPServer V16.0.7 (100 clients) build 20150324
        Proxy-Authenticate: Digest realm="myvoipapp.com",algorithm=MD5,nonce="328E3DAF06BC5374001D626160CB1C21",stale=FALSE
            Authentication Scheme: Digest
            Realm: "myvoipapp.com"
            Algorithm: MD5
            Nonce Value: "328E3DAF06BC5374001D626160CB1C21"
            Stale Flag: FALSE
        Content-Length: 0



Session Initiation Protocol (REGISTER)
    Request-Line: REGISTER sip:192.169.1.150 SIP/2.0
        Method: REGISTER
        Request-URI: sip:192.169.1.150
        [Resent Packet: False]
    Message Header
        Via: SIP/2.0/UDP 192.169.1.147:39814;rport;branch=z9hG4bK99109
        Max-Forwards: 70
        To: <sip:102@192.169.1.150>
            SIP to address: sip:102@192.169.1.150
        From: <sip:102@192.169.1.150>;tag=z9hG4bK17086172
            SIP from address: sip:102@192.169.1.150
            SIP from tag: z9hG4bK17086172
        Call-ID: 281574552997@192.169.1.147
        CSeq: 2 REGISTER
            Sequence Number: 2
            Method: REGISTER
        Contact: <sip:102@192.169.1.147:39814;transport=udp>
            Contact URI: sip:102@192.169.1.147:39814;transport=udp
        Expires: 3600
        User-Agent: Sipdroid/3.6 beta
        Proxy-Authorization: Digest username="102", realm="myvoipapp.com", nonce="328E3DAF06BC5374001D626160CB1C21", uri="sip:192.169.1.150", algorithm=MD5, response="bdf9504e7f2e0d6c685e57f9eef22f43"
            Authentication Scheme: Digest
            Username: "102"
            Realm: "myvoipapp.com"
            Nonce Value: "328E3DAF06BC5374001D626160CB1C21"
            Authentication URI: "sip:192.169.1.150"
            Algorithm: MD5
            Digest Authentication Response: "bdf9504e7f2e0d6c685e57f9eef22f43"
        Content-Length: 0



Session Initiation Protocol (200)
    Status-Line: SIP/2.0 200 OK
        Status-Code: 200
        [Resent Packet: False]
        [Request Frame: 1324]
        [Response Time (ms): 0]
    Message Header
        Via: SIP/2.0/UDP 192.169.1.147:39814;branch=z9hG4bK99109;received=192.169.1.147;rport=39814
        From: <sip:102@192.169.1.150>;tag=z9hG4bK17086172
            SIP from address: sip:102@192.169.1.150
            SIP from tag: z9hG4bK17086172
        To: <sip:102@192.169.1.150>;tag=55d70430
            SIP to address: sip:102@192.169.1.150
            SIP to tag: 55d70430
        CSeq: 2 REGISTER
            Sequence Number: 2
            Method: REGISTER
        Call-ID: 281574552997@192.169.1.147
        Allow: ACK, BYE, CANCEL, INFO, INVITE, MESSAGE, NOTIFY, OPTIONS, REFER, SUBSCRIBE
        User-Agent: miniSIPServer V16.0.7 (100 clients) build 20150324
        Contact: <sip:102@192.169.1.147:39814;transport=udp>
            Contact URI: sip:102@192.169.1.147:39814;transport=udp
        Expires: 180
        Content-Length: 0

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SIP协议注册流程

1. 注册时,客户端与服务器交互的数据包如下:     1.1 UAC->UAS  UAC向UAS注册,下面是具体注册消息   From字段:指明该REGISTER请求消息由UAS(IP地...

SIP注册过程

SIP的注册过程很容易理解。首先我有一个号码,但我的号码可以移动的话,那服务器如何才能找到我呢?SIP的注册机制将sip终端的位置报告给注册服务器。这里的注册服务器仅仅是一个逻辑角色。并不一定是独立的...

SIP协议-注册过程概述

注册过程 注册过程图 Carol使用记录地址“sip:carol@chicago.com”在SIP注册服务器的chicago.com域注册。chicago.com域的代理服务器将使用Carol的...

SIP注册过程

SIP注册过程如下图所示: SIP 协议中使用了一个构件叫做注册服务器。它不仅能够接收 REGISTER消息请求,还能够将收到的消息包中的信息保存到管理对应域名的定位服务器上面。 SIP 协议具有发...

sip 协议注册过程

  • 2013-04-26 09:15
  • 508KB
  • 下载

注册——SIP学习笔记(六)

注册(Registrations) 注册创建了特定域中定位服务的绑定,该域将记录地址URI和一个或多个联系地址相关联。注册必须发送REGISTER请求给特定类型的UAS——注册服务器(registr...

SIP注册

SIP注册   注册服务为特定地区的位置服务创建绑定关系,这个绑定关系是用来建立包含一个或者多个联系地址的address-of-record URI。因而,当那个地区的proxy接收到一个...

【GBT28181开发:SIP协议实践】之注册流程

由于已经成功搭建好基于eXosip的UAC的开发环境,并且也与SPVMN测试系统交互成功,所以现在开始针对注册、查询等业务进行详细的研究。 今天先研究下设备注册的流程,模拟一个IPC向SPVMN系统注...

SIP呼叫过程

  • 2012-03-21 18:46
  • 1.03MB
  • 下载

SIP中SDP及其RTP的工作过程

  • 2015-11-25 10:18
  • 2.32MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)