sip - SIP注册流程
问题描述
要通过 voip 用户拨打电话需要先注册。所以注册是强制性的。我对注册过程有一些基本的了解。用户向服务器发送 REGISTER 请求,标头值过期 30 秒。服务器在收到用户的请求后,它会发送带有过期标头值 120 秒的响应。用户需要在过期报头时间段结束之前或 60 秒之前重新注册。注册完成后,注册服务器将在位置服务器中发送用户的 uri 和位置。所以用户的位置将出现在位置服务器中。如果位置服务器有用户的位置,那么为什么用户需要在时间段结束之前重新注册。并且用户只需要在时间段之前重新注册一次还是多次?用户IP将在位置服务器中存在多长时间?
解决方案
当发送一个有效的 REGISTER 时,SIP 注册器会为该用户创建一个绑定并将其存储为“记录地址”,
这通常至少包含 SIP URI、公共 IP 和它的到期时间,它等于当前时间 + SIP Expires 标头中的时间。这在 RFC 中称为“添加绑定”。
在达到过期时间后,记录地址不再有效,通常会被删除/删除。注册是软状态,除非刷新,否则会过期。
如果在到期时间到达之前收到另一个有效 REGISTER,则 SIP 注册器上的记录地址将刷新以反映新的到期时间。这在 RFC 中称为“刷新绑定”。
所以回答你的问题:
用户IP将在位置服务器中存在多长时间?
直到收到最后一个有效 REGISTER 的时间 + 到达 REGISTER 的到期时间。
并且用户只需要在时间段之前重新注册一次还是多次?用户只需要在绑定过期之前发送另一个有效的 REGISTER 以将绑定作为记录地址保存在那里。
进一步阅读:
推荐阅读
- python - Python-来自用户输入的 GET 请求
- php - 如何从@foreach 传递数据到编辑模式
- vba - Solidworks 宏按钮 - 方法下拉列表为空
- kubernetes - 使用 Prometheus Adapter 来自其他部署的 Kubernetes HPA 自定义指标
- html - 如何将子 div 放在文档的左上角。甚至高于父母的div?
- c# - 当所有骰子掷出相同的数字时,会中断 while 循环
- database - AWS Glue Databrew 上是否有办法平均最后一个有效值和下一个有效值?
- java - 允许“new int[] {0}[0] = 1;”的Java语法是什么 编译?
- java - JPF 模拟给出索引数组边界的错误
- vector - 字体标题中的魔法值错误:clisp 中的 #x0A3B3B3B(预期为 #x00010000 或 #x74727565 或 #x74746366)