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

  

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的协议。它是一种应用层控制协议,广泛应用于VoIP、视频会议和即时消息等多媒体通信系统中。SIP协议组件接口说明文档主要包括SIP协议组件的功能、接口、参数和示例等内容。 SIP协议组件接口包括用户代理客户端(UAC)和用户代理服务器(UAS)两种角色。UAC用于发起会话请求,包括邀请对方参加会话、修改会话参数和终止会话等功能;UAS用于接受并响应会话请求,包括接受邀请、修改参数和结束会话等功能。 SIP协议组件接口的参数包括请求/响应的消息头部和消息体,其中消息头部包括对方的地址、消息类型、会话描述等信息,消息体包括会话数据、媒体类型、编码格式等信息。通过这些参数可以实现多媒体会话的建立、修改和终止等功能。 此外,SIP协议组件接口说明文档中还包括了各种接口的调用示例,通过这些示例可以帮助开发者快速理解和使用SIP协议组件接口。比如,如何发起一个语音通话请求、如何接受语音通话请求、如何结束语音通话等操作。这些示例可以帮助开发者更好地理解SIP协议组件接口的使用方法。 总之,SIP协议组件接口说明文档是开发和集成SIP应用的重要参考资料,通过仔细阅读和理解这些文档,开发者可以更好地利用SIP协议组件实现各种多媒体通信功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪游东戴河

你就是这个世界的唯一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值