当前位置: 首页 > news >正文

关于 FreeSWITCH mod_sofia 注册过期时间的测试

FreeSWITCH 版本:1.10.12,以下简称 Fs

SIP 终端:Eyebeam 1.5.14.4

Eyebeam 设置注册的过期时间为 30

Fs 设置为 120,下面是详细配置:

<param name="sip-force-expires-max"  value="120"/>
<param name="sip-force-expires-min"  value="120"/>
<param name="sip-force-expires"  value="120"/>

测试结果为:Eyebeam 续注册的时间大约为 110 秒,尊重了 Fs,只提前了一点点

第一次注册请求的日志为:

 recv 547 bytes from udp/[192.168.31.166]:42690 at 11:56:12.650412:
------------------------------------------------------------------------
REGISTER sip:192.168.31.166 SIP/2.0
Via: SIP/2.0/UDP 192.168.31.166:42690;branch=z9hG4bK-d87543-c1699257fe720f17-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:1001@192.168.31.166:42690;rinstance=c3f76577875a4ccd;transport=udp>
To: <sip:1001@192.168.31.166>
From: <sip:1001@192.168.31.166>;tag=1f43d91c
Call-ID: ZjIzNDI3YzE5NTIyMjBhNDUzOWZjOGNlNTg2ZTUzODE.
CSeq: 1 REGISTER
Expires: 30
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: eyeBeam release 1011d stamp 40820
Content-Length: 0

请留意,Expires 为 30,是一个独立的 SIP 头

Fs 回应 200 OK 的日志为:

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.31.166:42690;branch=z9hG4bK-d87543-294609005238a479-1--d87543-;rport=42690
From: <sip:1001@192.168.31.166>;tag=1f43d91c
To: <sip:1001@192.168.31.166>;tag=4aXXDKc0agt6N
Call-ID: ZjIzNDI3YzE5NTIyMjBhNDUzOWZjOGNlNTg2ZTUzODE.
CSeq: 2 REGISTER
Contact: <sip:1001@192.168.31.166:42690;rinstance=c3f76577875a4ccd;transport=udp>;expires=120
Date: Fri, 18 Oct 2024 11:56:12 GMT
User-Agent: FreeSWITCH-mod_sofia/1.10.12-dev-5976~218a00e2e9~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Content-Length: 0

请留意,Fs 回应的 Expires 为 120,Expires  放到了 Contact 的参数里面(这是标准做法)

下面是  Eyebeam 的续注册日志:

recv 800 bytes from udp/[192.168.31.166]:42690 at 11:58:01.158276:
------------------------------------------------------------------------
REGISTER sip:192.168.31.166 SIP/2.0
Via: SIP/2.0/UDP 192.168.31.166:42690;branch=z9hG4bK-d87543-832df92ea024f538-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:1001@192.168.31.166:42690;rinstance=c3f76577875a4ccd;transport=udp>
To: <sip:1001@192.168.31.166>
From: <sip:1001@192.168.31.166>;tag=1f43d91c
Call-ID: ZjIzNDI3YzE5NTIyMjBhNDUzOWZjOGNlNTg2ZTUzODE.
CSeq: 3 REGISTER
Expires: 30
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: eyeBeam release 1011d stamp 40820
Authorization: Digest username="1001",realm="192.168.31.166",nonce="ab6f2109-7bde-4b22-96fd-aec46a6b1f13",uri="sip:192.168.31.166",response="c3db123ada2a70362bdccb9208fa9c69",cnonce="5de6948dfa75d6d5ef669c640866b628",nc=00000002,qop=auth,algorithm=MD5
Content-Length: 0

请注意下面几个信息:

1. Call-ID 是同一个, CSeq 有增加,这明显是续注册请求;同时带了 Authorization 头(认证信息)。如果服务器设置的随机数没有过期,就不用再挑战了,直接回 200 OK

2. 11:58:01 同 11:56:12 之间大致相差 110秒, Eyebeam 尊重 Fs 的选择,而不是固执地使用自己 30 秒的设置

相关文章:

关于 FreeSWITCH mod_sofia 注册过期时间的测试

FreeSWITCH 版本&#xff1a;1.10.12&#xff0c;以下简称 Fs SIP 终端&#xff1a;Eyebeam 1.5.14.4 Eyebeam 设置注册的过期时间为 30 Fs 设置为 120&#xff0c;下面是详细配置&#xff1a; <param name"sip-force-expires-max" value"120"/>…...

【LeetCode:349. 两个数组的交集 + 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

根据语音生成视频33搜帧

33搜帧&#xff0c;是一个能根据语音生成视频的网站&#xff0c;33搜帧 - 视频帧画面搜索引擎 33搜帧是一个使用AI技术构建的视频帧画面搜索引擎&#xff0c;和一般素材平台通过视频标签来搜索视频不同&#xff0c;33搜帧能搜索到视频素材中的每一帧画面&#xff0c;这个功能可…...

目标检测数据集图片及标签同步锐化

在目标检测任务中&#xff0c;数据集的质量直接影响到模型的性能。数据增强作为提升数据集多样性和模型泛化能力的常用手段&#xff0c;在图像处理过程中扮演着重要角色。锐化&#xff08;Sharpening&#xff09;技术是常见的图像增强方法之一&#xff0c;能够突出图像中的细节…...

滚雪球学Redis[6.4讲]:Redis消息队列:构建高效的消息通信与任务调度系统

全文目录&#xff1a; &#x1f389;前言&#x1f6a6;Redis消息队列的使用场景&#x1f433;1. 异步任务处理&#x1f40b;2. 任务调度&#x1f42c;3. 模块解耦 ⚙️实现发布/订阅模型&#x1f41f;️1. 发布者发布消息&#x1f420;2. 订阅者订阅频道&#x1f421;3. 实际应…...

《计算机视觉》—— 换脸

效果如下&#xff1a; 完整代码&#xff1a; import cv2 import dlib import numpy as npJAW_POINTS list(range(0, 17)) RIGHT_BROW_POINTS list(range(17, 22)) LEFT_BROW_POINTS list(range(22, 27)) NOSE_POINTS list(range(27, 35)) RIGHT_EYE_POINTS list(range(36…...

【JavaEE初阶】深入透析文件-IO关于文件内容的操作(四种文件流)

前言 &#x1f31f;&#x1f31f;本期讲解关于CAS的补充和JUC中有用的类&#xff0c;这里涉及到高频面试题哦~~~ &#x1f308;上期博客在这里&#xff1a;【JavaEE初阶】文件-IO之实现文件系统的操作如何进行实现-CSDN博客 &#x1f308;感兴趣的小伙伴看一看小编主页&…...

复习:react 中的 refs,怎么使用,有哪些使用场景

在 React 中,refs(引用)是一个重要的特性,它允许开发者直接访问 DOM 元素或者 React 组件的实例。以下是对 React 中 refs 的使用及其使用场景的详细解释: 一、refs 的使用方法 字符串引用 在早期的 React 版本中,可以通过字符串来设置 ref。然而,这种方法已经被废弃,…...

Python OpenCV精讲系列 - 目标检测与识别深入理解(二十)

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;Python OpenCV精讲⚡️⚡️&#x1f496;&#x1f496; 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计&#xff0c;从基础概念入手&#xff0c;逐步深入到图像处理、特征检测、物体识…...

golang中的上下文

背景 在Go语言中&#xff0c;使用context包来管理跨API和进程间的请求生命周期是常见的做法。特别是在涉及到并发编程时&#xff0c;如启动协程&#xff08;goroutine&#xff09;来处理异步任务&#xff0c;正确地传递和监听context变得尤为重要。比如&#xff0c;在gin框架中…...

Navigation2 算法流程

转自 https://zhuanlan.zhihu.com/p/405670882 此文仅作学习笔记 启动流程 在仿真环境中启动导航包的示例程序&#xff0c;执行nav2_bringup/bringup/launch/tb3_simulation_launch.py文件。ROS2的launch文件支持采用python语言来编写以支持更加复杂的功能&#xff0c;本文件…...

OpenAI swarm+ Ollama快速构建本地多智能体服务 - 1. 服务构建教程

OpenAI开源了多智能体编排的工程swarm&#xff0c;今天介绍一下swarm与OLLAMA如何结合使用的教程&#xff0c;在本地构建自己的多智能体服务&#xff0c;并给大家实践演示几个案例。 安装步骤 安装ollama&#xff0c;在官网下载对应操作系统的版本即可&#xff0c;下载后用ol…...

HTB:Wifinetic[WriteUP]

目录 连接至HTB并启动靶机 1.What is the name of the OpenWRT backup file accessible over FTP? 使用nmap对靶机21、22端口进行脚本、服务信息扫描 2.Whats the WiFi password for SSID OpenWRT? 3.Which user reused the WiFi password on thier local account? 4.…...

专业学习|马尔可夫链(概念、变体以及例题)

一、马尔可夫链的概念及组成 &#xff08;一&#xff09;学习资料分享 来源&#xff1a;024-一张图&#xff0c;但讲懂马尔可夫决策过程_哔哩哔哩_bilibili 马尔可夫链提供了一种建模随机过程的方法&#xff0c;具有广泛的应用。在实际问题中&#xff0c;通过转移概率矩阵及初…...

RK3576 安卓SDK编译环境搭建

编译 Android14 对机器的配置要求较高: 建议预留500G存储 多分配CPU和内存 建议使用 Ubuntu 20.04 操作系统或更高版本 sudo apt-get updatesudo apt-get install make gcc sudo apt-get install g++ patchelf gawk texinfo chrpath diffstat binfmt-support sudo apt-get …...

Renesas R7FA8D1BH (Cortex®-M85) 上光电编码器测速功能

目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 硬件架构 2.1 硬件框架结构 2.2 测速功能原理介绍 2.2.1 理论描述 2.2.2 实现原理 2.2.3 系统硬件结构 3 软件实现 3.1 FSP配置项目 3.2 代码实现 3.2.1 初始化函数 3.2.2 功能函数 3.…...

软件测试学习笔记丨Linux三剑客-sed

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32521 一、简介 sed&#xff08;Stream editor&#xff09;是一个功能强大的文本流编辑器&#xff0c;主要用于对文本进行处理和转换。它适用于自动化处理大量的文本数据&#xff0c;能够支持…...

Vue脚手架学习 vue脚手架配置代理、插槽、Vuex使用、路由、ElementUi插件库的使用

目录 1.vue脚手架配置代理 1.1 方法一 1.2 方法二 2.插槽 2.1 默认插槽 2.2 具名插槽 2.3 作用域插槽 3.Vuex 3.1 概念 3.2 何时使用&#xff1f; 3.3 搭建vuex环境 3.4 基本使用 3.5 getters的使用 3.6 四个map方法的使用 3.6.1 mapState方法 3.6.2 mapGetter…...

使用yml文件安装环境时,如何添加conda和pip的镜像源

博客参考 添加conda镜像源 name: NAME channels:- conda-forge- pytorch- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2- defaults depende…...

c语言经典100例

1.字符串转为数字 #include <stdio.h>int strToInt(char *s) {int num0;int sign1;int step1;if (*s -){sign -1;s;}while (*s > 0&&*s < 9){num num*10(*s-0);step 10;s;}return num*sign; }int main() {char a[10] "-1234";char *s a ;pr…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...