带鉴权信息的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
发起一路呼叫,终端向server发送INVITE请求消息
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端必须开启呼叫鉴权
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
消息确认,告诉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
向代理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
消息流程图
发起一路呼叫,终端向server发送INVITE请求消息。
响应,表示代理server要求终端带上鉴权信息。
向server发送INVITE消息,并带上鉴权信息。
回100Trying响应,表示呼叫已经在处理中。
终端转发INVITE请求消息。
向代理server回100Trying响应,告知代理server呼叫正在处理。
振铃,终端向代理server回180ring响应。
转发180ring响应。
向代理server回200OK响应消息,表示连接成功。
转发200OK响应消息。
收到200OK消息后,向代理server发送ACK消息进行确认。
。
通话建立成功。
挂机,并向代理server发送BYE消息。
。
收到BYE消息后,向代理server发送200OK消息。
。
18)通话结束。
带鉴权信息的SIP呼叫的更多相关文章
- 取消mod_sofia的呼叫鉴权
FreeSWITCH中默认的SIP呼叫是要鉴权的,流程如下. 终端 FreeSWITCH A -----Invite------> FS A <----Trying------ FS A ...
- 网关鉴权后下游统一filter获取用户信息
1. 场景描述 最近有点忙,在弄微服务nacos+springcloud gateway这块工作,以前只是简单应用,这次因为要对接10几个系统或者平台,还的鉴权,等后续稍微闲点了,把这块东西总结下. ...
- springcloud zuul shiro网关鉴权并向服务传递用户信息
1.pom文件 <dependencies> <!--eureka客户端--> <dependency> <groupId>org.springfram ...
- 开放平台鉴权以及OAuth2.0介绍
OAuth 2.0 协议 OAuth是一个开发标准,允许用户授权第三方网站或应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的内容. OAuth 2.0 ...
- android 高德地图出现【定位失败key鉴权失败】
如题:android 高德地图出现[定位失败key鉴权失败] 原因:使用的是debug模式下的SHA1,发布的版本正确获取SHA1的方式见: 方法二使用 keytool(jdk自带工具),按照如下步骤 ...
- 自定义分布式RESTful API鉴权机制
微软利用OAuth2为RESTful API提供了完整的鉴权机制,但是可能微软保姆做的太完整了,在这个机制中指定了数据持久化的方法是用EF,而且对于用户.权限等已经进行了封装,对于系统中已经有了自己的 ...
- spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法
spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...
- Mongodb 认证鉴权那点事
[TOC] 一.Mongodb 的权限管理 认识权限管理,说明主要概念及关系 与大多数数据库一样,Mongodb同样提供了一套权限管理机制. 为了体验Mongodb 的权限管理,我们找一台已经安装好的 ...
- apigw鉴权分析(1-2)腾讯开放平台 - 鉴权分析
一.访问入口 http://wiki.open.qq.com/wiki/%E8%85%BE%E8%AE%AF%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0%E7%AC%AC% ...
随机推荐
- gtk+blade+anjuta 的简单实例
gtk+blade+anjuta 的简单实例我的系统 ubuntu 12.04 1> 选择源 不正确会有很多问题,速度慢,找不到安装的软件.163的源就不错 http://mirrors. ...
- HDU 1535 Invitation Cards (POJ 1511)
两次SPFA. 求 来 和 回 的最短路之和. 用Dijkstra+邻接矩阵确实好写+方便交换.可是这个有1000000个点.矩阵开不了. d1[]为 1~N 的最短路. 将全部边的 邻点 交换. d ...
- 关于PHP的内置服务器的使用
今天刚开始正式学习PHP(之前有一点了解),推荐学习的网站是w3school.一开始不知道tomcat服务器不支持PHP脚本,直接把.php文件放到tomcat里面去运行,结果嵌入的php代码段没有什 ...
- Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- Load and Unload
一.前言 在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释). MSDN里关于禁止在DllMain里调用 ...
- ArcSDE当关系查询ArcMap与REST查询结果不一致问题的解决
首先描述来形容什么问题: 周边环境:ArcGIS10.x.Oracle 11g R2,这个问题无关与环境 假设用户使用关联查询(比方一个空间数据与一个属性数据进行关联),在ArcGIS for Des ...
- Objective-c 算术函数和常量代表
不变 常量名 说明 M_PI 圆周率(=π) M_PI_2 圆周率的1/2(=π/2) M_PI_4 圆周率的1/4(=π/4) M_1_PI =1/π M_2_PI =2/π M_E =e M_LO ...
- Android常用开源项目
Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progre ...
- DatePicker的使用
activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- oracle动态注冊參数local_listener
local_listener參数有两种书写格式,提供了不同的功能. 监听文件上,1521和1526port上都有动态监听port. [oracle@dbsv admin]$ cat listener. ...