注册是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协议之注册说明相关推荐

  1. 安卓平台基于SIP协议实现注册,聊天功能

    ============问题描述============ 不涉及音频,视频发送,只要实现注册,和聊天功能就行, 网上下了sipdroid的源码,但是XML中配置的<uses-sdk androi ...

  2. SIP协议(1) - 注册

    SIP协议简介 SIP消息的分类: REGISTER 注册请求,上报用户信息,完成号码绑定 INVITE 发起会话请求 CANCEL 取消一个尚未完成的请求,特别针对INVITE ACK 为INVIT ...

  3. freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程

    1. 概述 本文通过tcpdump对真实环境里的软电话的注册.呼叫.挂断流程进行抓包,通过真实的例子学习SIP协议.本文主要包括以下方面: A. 详解软电话的注册时的SIP包和流程图 B. 详解软电话 ...

  4. wireshark分析SIP协议——注册

    SIP 是VOIP目前非常流行的一种协议.有关协议的详细原理参照相关文档.     本文通过wireshark抓包分析SIP user agent(用户代理客户机,uac)与SIPserve之间的交互 ...

  5. (SIP-1-话机注册)关于IP话机通过SIP协议注册到PBX电话交换机的全过程解析-如何看wireshark中的报文

    识别wireshark中各个报文所对应的表示含义 我们以第一个SIP包为例子. 该包发送的场景为:IP话机注册到PBX上所发送的第一个报文.我们点开可以看到,该报文一共被封装了五层.我们都知道TCP/ ...

  6. 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...

  7. 基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件l ...

  8. SIP协议简介(三)之注册(REGISTER)过程

    注册服务是另一个常用的SIP操作.登记服务是biloxi.com代理服务器知道Bob当前地址的一个方法.在初始化的时候,或者每隔一段时间,Bob的SIP 电话发送REGISTER消息给biloxi.c ...

  9. Skype For Business Server 中 SIP协议处理模块的注册

    知识准备 SIP 协议 Skype For Business (SFB) Server 基础 MSPL 脚本 SIP协议处理模块注册流程 为自己的SIP模块指定一个URL,这个URL就是以后这个SIP ...

最新文章

  1. yii2.0使用ActionForm创建表单
  2. 11MYSQL:慢查询以及优化步骤
  3. 安装UBUNTU Server 11.10
  4. python exe文件运行依赖环境_python将py代码文件转换为EXE脱离环境运行
  5. 【python基础语法】range() 序列类型range
  6. JavaScript之继承和prototype
  7. 服务器如何用光盘拷文件材料,云服务器如何挂载光盘
  8. Java 垃圾回收机制(面试高频问题之一)
  9. hdu Inverting Cups
  10. php iconv translit,php iconv translit for removing accents: not working as excepted?
  11. python制作雕刻软件_Mac动画制作软件——blender for Mac
  12. 怎么理解——用户不是人
  13. 基于用户的协同过滤与基于物品的协同过滤比较
  14. 数字通信系统仿真的MATLAB实现(QPSK)
  15. 浏览器f12监听element的值和变量的变化
  16. Word2vec之CBOW 模型
  17. pic2pdf“存盘出错,请检查目标目录”解决办法
  18. 玩笑程序“疯”字病毒 感染.exe 专杀方案
  19. 阿斯顿扩大打算打算大大飒飒是打算打算的
  20. 【无标题】Java实现进度条代码

热门文章

  1. 关于移动4G基站定位
  2. iphone5打开移动4G
  3. 2022年的春节假期,消费者们都在如何“花钱”
  4. Java如何创建项目
  5. Wireshark的提示
  6. fpga仿真错误[USF-XSim 62] 'compile' step failed with error(s).
  7. 人活着的目的是什么?
  8. 冰岛警方选中IDEMIA为其提供新的出入境系统
  9. 一名投资客手写MT4爆仓现价
  10. Magento高级产品订阅