带鉴权信息的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% ...
随机推荐
- javascript 自己主动绑定JS callback 的方法函数
自己写的一个javascript 智能绑定callback 而且调用运行的函数.主要用于异步请求的 ajax中: <!DOCTYPE html> <html> <head ...
- 内网穿透神器ngrok(转)
相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- 简单概率dp(期望)-zoj-3640-Help Me Escape
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4808 题目大意: 有n条路,选每条路的概率相等,初始能力值为f,每 ...
- 深入理解 JBoss 7/WildFly Standalone 模式启动过程
概述 JBoss 7/WildFly Standalone 模式启动过程大致例如以下: 启动脚本 standalone.sh 启动 JBoss Modules,JBoss Modules 启动 JBo ...
- C文件操作的语言fgets()
谈fgets(..)功能. 原型 char * fgets(char * s, int n,FILE *stream); 參数: s: 字符型指针.指向存 ...
- Java Web Services (2) - 第2章 启动日志分析
ZHAOFLIU-Mac:dev liuzhaofu$ ./start --seed########################################################## ...
- 在Window和Linux下使用Zthread库
ZThread库是一个开源的跨平台高级面向对象的线性和sycnchronization 库,以运行POSIX 和Win32 系统中的C++程序. ZThread库的主页:http://zthread. ...
- data URI scheme及其应用
data URI scheme通俗的来讲就是将一张图片直接塞到HTML中而不是通过HTTP请求去获取.这样从表面上看会降低一次HTTP的请求,实现了对于网页的优化(只是看了其它一些文章data URI ...
- hdu 3832 Earth Hour (最短路变形)
Earth Hour Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Tota ...