sip协议之注册说明
注册是SIP协议中重要的功能,所谓注册,就是用户A客户端将自己的联系地址告知服务器,以便后续有其它用户呼叫用户A时,服务器能够将呼叫转接到用户A. SIP协议中的联系地址是指由账号、IP/PORT、传输方式等组成的地址记录,也称为URI。
一、注册流程:
二、流程说明
1. 客户端首先发起注册,此时没有鉴权头
2. 服务器返回401进行鉴权
3. 客户端带上鉴权信息Authorization(账号、密码等)再次注册
4. 返回200-OK注册成功
三、常见问题
注(由于实际环境部署和软件实现差异,以下问题分析仅供参考)
1. 403错误
一般是密码不正确
2. 404错误
账号不正确/认证账号不正确
3. 408错误
服务端不响应
4. 500错误
服务端错误
5. 502错误
网络断开
四、消息格式解析
4.1 注册
REGISTER sip:192.168.0.201:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.1.6:5060;rport;branch=z9hG4bKPj7ZkTqtRf1t8qu.gYYoocd.dBk86drsCG
Max-Forwards: 70
From: "1018" <sip:1018@192.168.0.201>;tag=fqEkbfW40BGFRa7XoJlFyIk-.yT7T3Ux
To: "1018" <sip:1018@192.168.0.201>
Call-ID: lcKW6mBcLBx0wngn@192.168.1.6
CSeq: 12990 REGISTER
User-Agent: VoIP
Contact: "1018" <sip:1018@192.168.1.6:5060>
Expires: 3600 注册超时时间
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length: 0
SIP/2.0 401 Unauthorized
v:SIP/2.0/UDP 192.168.1.6:5060;rport=5060;branch=z9hG4bKPj7ZkTqtRf1t8qu.gYYoocd.dBk86drsCG
f:"1018"<sip:1018@192.168.0.201>;tag=fqEkbfW40BGFRa7XoJlFyIk-.yT7T3Ux
t:"1018"<sip:1018@192.168.0.201>;tag=gmpKe30Btr2Zj
i:lcKW6mBcLBx0wngn@192.168.1.6
CSeq:12990 REGISTER
User-Agent:FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBE
k:timer,path,replaces
WWW-Authenticate:Digest realm="192.168.0.201",nonce="fdcf1fa0-a1bf-11ec-834a-51de18a27486",algorithm=MD5,qop="auth"
l:0
REGISTER sip:192.168.0.201:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.1.6:5060;rport;branch=z9hG4bKPjhibPo5KuWptanbOg74iSI50U3Y6DEfGH
Max-Forwards: 70
From: "1018" <sip:1018@192.168.0.201>;tag=fqEkbfW40BGFRa7XoJlFyIk-.yT7T3Ux
To: "1018" <sip:1018@192.168.0.201>
Call-ID: lcKW6mBcLBx0wngn@192.168.1.6
CSeq: 12991 REGISTER
User-Agent: VoIP
Contact: "1018" <sip:1018@192.168.1.6:5060>
Expires: 3600
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Authorization: Digest username="1018", realm="192.168.0.201", nonce="fdcf1fa0-a1bf-11ec-834a-51de18a27486", uri="sip:192.168.0.201:5060;transport=udp", response="b4366d02187cb254adb617367cb7d77f", algorithm=MD5, cnonce="zIhex-YJ-8ChFLOTzhHyp-6raNK96Q06", qop=auth, nc=00000001
Content-Length: 0
SIP/2.0 200 OK
v:SIP/2.0/UDP 192.168.1.6:5060;rport=5060;branch=z9hG4bKPjhibPo5KuWptanbOg74iSI50U3Y6DEfGH
f:"1018"<sip:1018@192.168.0.201>;tag=fqEkbfW40BGFRa7XoJlFyIk-.yT7T3Ux
t:"1018"<sip:1018@192.168.0.201>;tag=HXFcgyHFQ1rje
i:lcKW6mBcLBx0wngn@192.168.1.6
CSeq:12991 REGISTER
m:<sip:1018@192.168.1.6:5060>;expires=600 服务器协商后的超时时间
Date:Sat, 12 Mar 2022 04:50:51 GMT
User-Agent:FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBE
k:timer,path,replaces
l:0
sip协议之注册说明相关推荐
- 安卓平台基于SIP协议实现注册,聊天功能
============问题描述============ 不涉及音频,视频发送,只要实现注册,和聊天功能就行, 网上下了sipdroid的源码,但是XML中配置的<uses-sdk androi ...
- SIP协议(1) - 注册
SIP协议简介 SIP消息的分类: REGISTER 注册请求,上报用户信息,完成号码绑定 INVITE 发起会话请求 CANCEL 取消一个尚未完成的请求,特别针对INVITE ACK 为INVIT ...
- freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程
1. 概述 本文通过tcpdump对真实环境里的软电话的注册.呼叫.挂断流程进行抓包,通过真实的例子学习SIP协议.本文主要包括以下方面: A. 详解软电话的注册时的SIP包和流程图 B. 详解软电话 ...
- wireshark分析SIP协议——注册
SIP 是VOIP目前非常流行的一种协议.有关协议的详细原理参照相关文档. 本文通过wireshark抓包分析SIP user agent(用户代理客户机,uac)与SIPserve之间的交互 ...
- (SIP-1-话机注册)关于IP话机通过SIP协议注册到PBX电话交换机的全过程解析-如何看wireshark中的报文
识别wireshark中各个报文所对应的表示含义 我们以第一个SIP包为例子. 该包发送的场景为:IP话机注册到PBX上所发送的第一个报文.我们点开可以看到,该报文一共被封装了五层.我们都知道TCP/ ...
- 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...
- 基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件l ...
- SIP协议简介(三)之注册(REGISTER)过程
注册服务是另一个常用的SIP操作.登记服务是biloxi.com代理服务器知道Bob当前地址的一个方法.在初始化的时候,或者每隔一段时间,Bob的SIP 电话发送REGISTER消息给biloxi.c ...
- Skype For Business Server 中 SIP协议处理模块的注册
知识准备 SIP 协议 Skype For Business (SFB) Server 基础 MSPL 脚本 SIP协议处理模块注册流程 为自己的SIP模块指定一个URL,这个URL就是以后这个SIP ...
最新文章
- yii2.0使用ActionForm创建表单
- 11MYSQL:慢查询以及优化步骤
- 安装UBUNTU Server 11.10
- python exe文件运行依赖环境_python将py代码文件转换为EXE脱离环境运行
- 【python基础语法】range() 序列类型range
- JavaScript之继承和prototype
- 服务器如何用光盘拷文件材料,云服务器如何挂载光盘
- Java 垃圾回收机制(面试高频问题之一)
- hdu Inverting Cups
- php iconv translit,php iconv translit for removing accents: not working as excepted?
- python制作雕刻软件_Mac动画制作软件——blender for Mac
- 怎么理解——用户不是人
- 基于用户的协同过滤与基于物品的协同过滤比较
- 数字通信系统仿真的MATLAB实现(QPSK)
- 浏览器f12监听element的值和变量的变化
- Word2vec之CBOW 模型
- pic2pdf“存盘出错,请检查目标目录”解决办法
- 玩笑程序“疯”字病毒 感染.exe 专杀方案
- 阿斯顿扩大打算打算大大飒飒是打算打算的
- 【无标题】Java实现进度条代码