zoukankan      html  css  js  c++  java
  • 带鉴权信息的SIP呼叫

    带鉴权信息的SIP呼叫

     

    INVITE sip:1000@192.168.50.34SIP/2.0

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport

    Max-Forwards: 70

    Contact:<sip:1002@192.168.50.32:2445>

    To: <sip:1000@192.168.50.34>

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 1 INVITE

    Allow: INVITE, ACK, CANCEL,OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO

    Content-Type: application/sdp

    Supported: replaces

    User-Agent: Bria Professionalrelease 2.4 stamp 49381

    Content-Length: 596

     

    v=0

    o=- 1 2 IN IP4 192.168.50.32

    s=CounterPath Bria Professional

    c=IN IP4 192.168.50.32

    t=0 0

    m=audio 3564 RTP/AVP 107 119 100106 0 98 8 18 101

    a=alt:1 3 : 3RJcASQD J+MIobg5192.168.50.32 3564

    a=alt:2 2 : 7O4fx9KR Fs3hXCYf192.168.129.1 3564

    a=alt:3 1 : 12zuNFYg Ya4ebcvU192.168.110.1 3564

    a=fmtp:18 annexb=yes

    a=fmtp:101 0-15

    a=rtpmap:107 BV32/16000

    a=rtpmap:119 BV32-FEC/16000

    a=rtpmap:100 SPEEX/16000

    a=rtpmap:106 SPEEX-FEC/16000

    a=rtpmap:98 iLBC/8000

    a=rtpmap:18 G729/8000

    a=rtpmap:101 telephone-event/8000

    a=sendrecv

    a=x-rtp-session-id:56A9F9BE76774F7C962FD8ACDB1B86E1

     

    主叫1000发起一路呼叫,终端向server发送INVITE请求消息

     

    SIP/2.0 407 Proxy Authentication Required

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    To:<sip:1000@192.168.50.34>;tag=043de7350

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 1 INVITE

    Contact:<sip:1000@192.168.50.34:5060>

    Proxy-Authenticate: Digest realm="soft3000",nonce="1dbb0165"

    Content-Length: 0

     

    代理server向终端1000407响应,表示代理server要求终端代理带上鉴权信息。代理server什么情况下回407,首先,用户在注冊时,必须带鉴权的认证消息;其次,server端必须开启呼叫鉴权

     

    ACK sip:1000@192.168.50.34 SIP/2.0

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-244fd550d2729557-1---d8754z-;rport

    To:<sip:1000@192.168.50.34>;tag=043de7350

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 1 ACK

    Content-Length: 0

     

    终端用户对407消息确认,告诉server端,client已经收到

     

    INVITE sip:1000@192.168.50.34SIP/2.0

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport

    Max-Forwards: 70

    Contact: <sip:1002@192.168.50.32:2445>

    To: <sip:1000@192.168.50.34>

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 2 INVITE

    Allow: INVITE, ACK, CANCEL,OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO

    Content-Type: application/sdp

    Proxy-Authorization: Digestusername="1002",realm="soft3000 ",nonce="1dbb0165",uri="sip:1000@192.168.50.34",response="eb3a7e40a4797c2e7b549a6c30d2d091",algorithm=MD5

    Supported: replaces

    User-Agent: Bria Professionalrelease 2.4 stamp 49381

    Content-Length: 596

     

    v=0

    o=- 1 2 IN IP4 192.168.50.32

    s=CounterPath Bria Professional

    c=IN IP4 192.168.50.32

    t=0 0

    m=audio 3564 RTP/AVP 107 119 100106 0 98 8 18 101

    a=alt:1 3 : 3RJcASQD J+MIobg5192.168.50.32 3564

    a=alt:2 2 : 7O4fx9KR Fs3hXCYf 192.168.129.13564

    a=alt:3 1 : 12zuNFYg Ya4ebcvU192.168.110.1 3564

    a=fmtp:18 annexb=yes

    a=fmtp:101 0-15

    a=rtpmap:107 BV32/16000

    a=rtpmap:119 BV32-FEC/16000

    a=rtpmap:100 SPEEX/16000

    a=rtpmap:106 SPEEX-FEC/16000

    a=rtpmap:98 iLBC/8000

    a=rtpmap:18 G729/8000

    a=rtpmap:101 telephone-event/8000

    a=sendrecv

    a=x-rtp-session-id:56A9F9BE76774F7C962FD8ACDB1B86E1

     

    终端1000向代理server又一次发起带鉴权的INVITE消息,鉴权信息详见,Proxy-Authorization头域,兴许的呼叫流程和基本呼叫流程一样。

     

    SIP/2.0 100 Trying

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 2 INVITE

    Contact:<sip:1000@192.168.50.34:5060>

    Content-Length: 0

     

    INVITE sip:1000@192.168.50.32SIP/2.0

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    Contact:<sip:1002@192.168.50.34:5060>

    To: <sip:1000@192.168.50.32>

    Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 238 INVITE

    Max-Forwards: 70

    Supported: timer

    Session-Expires: 90

    Content-Type: application/sdp

    Content-Length: 340

     

    v=0

    o=root 1062270166 1062270166 IN IP4192.168.50.34

    s=session

    c=IN IP4 192.168.50.34

    t=0 0

    m=audio 45294 RTP/AVP 0 8 18 3 114101

    a=rtpmap:0 PCMU/8000

    a=rtpmap:8 PCMA/8000

    a=rtpmap:18 G729/8000

    a=rtpmap:3 GSM/8000

    a=rtpmap:114 AMR/8000

    a=fmtp:114octet-align=1;mode-set=7,0

    a=rtpmap:101 telephone-event/8000

    a=fmtp:101 0-16

     

    SIP/2.0 100 Trying

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To: <sip:1000@192.168.50.32>

    Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 238 INVITE

    Content-Length: 0

     

    SIP/2.0 180 Ringing

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To:<sip:1000@192.168.50.32>;tag=97865811

    Call-ID: 13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 238 INVITE

    Contact:<sip:1000@192.168.50.32:18553>

    Content-Length: 0

     

    SIP/2.0 180 Ringing

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 2 INVITE

    Contact:<sip:1000@192.168.50.34:5060>

    Content-Length: 0

     

    SIP/2.0 200 OK

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To:<sip:1000@192.168.50.32>;tag=97865811

    Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 238 INVITE

    Contact:<sip:1000@192.168.50.32:18553>

    Allow-Events: telephone-event

    Require: timer

    Supported: timer

    Session-Expires: 90;refresher=uac

    Content-Type: application/sdp

    Content-Length: 326

     

    v=0

    o=192.168.50.32 1074907112788190655 IN IP4 192.168.50.32

    s=-

    c=IN IP4 192.168.50.32

    t=0 0

    m=audio 26752 RTP/AVP 0 8 18 3 114101

    a=rtpmap:0 PCMU/8000

    a=rtpmap:8 PCMA/8000

    a=rtpmap:18 G729/8000

    a=rtpmap:3 GSM/8000

    a=rtpmap:114 AMR/8000

    a=fmtp:114 mode-set=0

    a=rtpmap:101 telephone-event/8000

    a=fmtp:101 0-16

     

     

    ACK sip:1000@192.168.50.32:18553SIP/2.0

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To:<sip:1000@192.168.50.32>;tag=97865811

    Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 238 ACK

    Max-Forwards: 70

    Content-Length: 0

     

    SIP/2.0 200 OK

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-344b5a077e1cc11e-1---d8754z-;rport

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    Call-ID: OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 2 INVITE

    Contact:<sip:1000@192.168.50.34:5060>

    Content-Type: application/sdp

    Content-Length: 199

     

    v=0

    o=root 113824166 113824166 IN IP4192.168.50.34

    s=session

    c=IN IP4 192.168.50.34

    t=0 0

    m=audio 41182 RTP/AVP 0 101

    a=rtpmap:0 PCMU/8000

    a=rtpmap:101 telephone-event/8000

    a=fmtp:101 0-16

     

     

    ACK sip:1000@192.168.50.34:5060SIP/2.0

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-bd168751863dd812-1---d8754z-;rport

    Max-Forwards: 70

    Contact: <sip:1002@192.168.50.32:2445>

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 2 ACK

    Proxy-Authorization: Digestusername="1002",realm="ASG Switch",nonce="1dbb0165",uri="sip:1000@192.168.50.34",response="eb3a7e40a4797c2e7b549a6c30d2d091",algorithm=MD5

    User-Agent: Bria Professionalrelease 2.4 stamp 49381

    Content-Length: 0

     

     

    BYE sip:1000@192.168.50.34:5060SIP/2.0

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-61057e021325140c-1---d8754z-;rport

    Max-Forwards: 70

    Contact:<sip:1002@192.168.50.32:2445>

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    Call-ID:OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 3 BYE

    Proxy-Authorization: Digestusername="1002",realm="ASGSwitch",nonce="1dbb0165",uri="sip:1000@192.168.50.34:5060",response="b24a55d3ca4420c406eef5a2797e6411",algorithm=MD5

    User-Agent: Bria Professionalrelease 2.4 stamp 49381

    Reason: SIP;description="UserHung Up"

    Content-Length: 0

     

    SIP/2.0 200 OK

    Via: SIP/2.0/UDP192.168.50.32:2445;branch=z9hG4bK-d8754z-61057e021325140c-1---d8754z-;rport

    From:"1002"<sip:1002@192.168.50.34>;tag=f2698931

    To:<sip:1000@192.168.50.34>;tag=118336ef9

    Call-ID: OTUzZGM2MzQ2ODZkM2Q0NTczOTgxZDhlOWY5MjA3ODU.

    CSeq: 3 BYE

    Contact:<sip:1000@192.168.50.34:5060>

    Content-Length: 0

     

     

    BYE sip:1000@192.168.50.32:18553SIP/2.0

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From: "1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To:<sip:1000@192.168.50.32>;tag=97865811

    Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 239 BYE

    Max-Forwards: 70

    Content-Length: 0

     

    SIP/2.0 200 OK

    Via: SIP/2.0/UDP192.168.50.34:5060;branch=3f50f4d6

    From:"1002"<sip:1002@192.168.50.34>;tag=78e8c5c7

    To:<sip:1000@192.168.50.32>;tag=97865811

    Call-ID:Anta13867544773b5f42984898934a7e8ef6ca@2232a8c0

    CSeq: 239 BYE

    Content-Length: 0

     

    消息流程图

     

    1)  主叫1000发起一路呼叫,终端向server发送INVITE请求消息。

    2)  代理server向终端1000407响应,表示代理server要求终端带上鉴权信息。

    3)  终端1000向server发送INVITE消息,并带上鉴权信息。

    4)  代理server向终端用户1000100Trying响应,表示呼叫已经在处理中。

    5)  代理server向被叫用户1002终端转发INVITE请求消息。

    6)  终端用户1002向代理server回100Trying响应,告知代理server呼叫正在处理。

    7)  被叫终端1002振铃,终端向代理server回180ring响应。

    8)  代理server向终端用户1000转发180ring响应。

    9)  被叫用户1002摘机,终端1002向代理server回200OK响应消息,表示连接成功。

    10)代理server向终端1000转发200OK响应消息。

    11) 终端1000收到200OK消息后,向代理server发送ACK消息进行确认。

    12)终端服务将ACK确认消息转发给代理终端1002

    13)终端10001002通话建立成功。

    14)通话结束,终端1002挂机,并向代理server发送BYE消息。

    15)代理server转发BYE消息至终端1000

    16)终端1000收到BYE消息后,向代理server发送200OK消息。

    17)代理server转发200OK响应消息至终端1002

    18)通话结束。

  • 相关阅读:
    【微信开发之问题集锦】redirect_uri 参数错误
    调度算法之时间片轮转算法
    快速排序算法分析和实现
    单链表(c语言实现)贼详细
    调度算法之最短作业优先算法
    HDU1027
    HDU1753 (大正小数相加)
    HDU 1715 (大数相加,斐波拉契数列)
    HDU 1316 (斐波那契数列,大数相加,大数比较大小)
    HDU1047(多个大数相加)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4391087.html
Copyright © 2011-2022 走看看